Logo Juniper

Perangkat Lunak API Streaming JARINGAN JuniperProduk-Perangkat Lunak-API-Juniper-NETWORKS-Streaming

Informasi Produk

Spesifikasi

  • Nama Produk: Jaminan Aktif Paragon
  • Versi: 4.1
  • Tanggal Diterbitkan: 2023-03-15

Perkenalan:
Panduan ini memberikan petunjuk tentang cara mengekstrak data dari Paragon Active Assurance menggunakan API streaming produk. Klien streaming dan API disertakan dalam instalasi Paragon Active Assurance, namun beberapa konfigurasi diperlukan sebelum menggunakan API. Proses konfigurasi dibahas di bagian “Mengonfigurasi API Streaming”.

Mengonfigurasi API Streaming:
Langkah-langkah berikut menguraikan proses untuk mengonfigurasi API streaming:

Lebihview
Kafka adalah platform streaming acara yang dirancang untuk pengambilan dan penyimpanan data secara real-time dari berbagai sumber. Hal ini memungkinkan pengelolaan aliran peristiwa dengan cara yang terdistribusi, terukur, toleran terhadap kesalahan, dan aman. Panduan ini berfokus pada konfigurasi Kafka untuk memanfaatkan fitur Streaming API di Paragon Active Assurance Control Center.

Terminologi
Streaming API memungkinkan klien eksternal mengambil informasi metrik dari Kafka. Metrik yang dikumpulkan oleh Agen Pengujian selama tugas pengujian atau pemantauan dikirim ke layanan Stream. Setelah pemrosesan, layanan Stream menerbitkan metrik ini di Kafka bersama dengan metadata tambahan.

Topik Kafka
Streaming API menggunakan topik Kafka untuk mengatur dan menyimpan metrik dan metadata. Topik Kafka dapat dibuat dan dikelola sesuai dengan kebutuhan spesifik.

Mengaktifkan API Streaming
Untuk mengaktifkan Streaming API, ikuti langkah-langkah berikut:

  1. Jalankan perintah berikut di server Pusat Kontrol menggunakan sudo:
KAFKA_METRICS_ENABLED = Layanan sudo ncc yang benar mengaktifkan metrik skala waktu layanan sudo ncc memulai metrik skala waktu sudo layanan ncc dimulai ulang

Memverifikasi Bahwa Streaming API Berfungsi di Pusat Kontrol:
Untuk memverifikasi bahwa Anda menerima metrik pada topik Kafka yang benar:

  1. Instal utilitas kafkacat dengan perintah berikut:
    sudo apt-get perbarui
    sudo apt-get install kafkacat
  1. Ganti “myaccount” dengan nama pendek akun Anda di
    Pusat Kontrol URL:
    ekspor METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    ekspor METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Jalankan perintah berikut untuk view metrik:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Catatan: Perintah di atas akan menampilkan metrik.
  2. Ke view metadata, jalankan perintah berikut:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Catatan: Perintah di atas akan menampilkan metadata, tetapi tidak akan sering diperbarui.

Klien Exampsedikit
Untuk klien mantanampfile dan informasi lebih lanjut, lihat halaman 14 panduan pengguna.

FAQ (Pertanyaan yang Sering Diajukan)

  • T: Apa yang dimaksud dengan Paragon Active Assurance?
    A: Paragon Active Assurance adalah produk yang menyediakan kemampuan pemantauan dan pengujian.
  • T: Apa itu API Streaming?
    J: Streaming API adalah fitur di Paragon Active Assurance yang memungkinkan klien eksternal mengambil informasi metrik dari Kafka.
  • T: Bagaimana cara mengaktifkan Streaming API?
    J: Untuk mengaktifkan Streaming API, ikuti langkah-langkah yang diuraikan di bagian “Mengaktifkan Streaming API” di panduan pengguna.
  • T: Bagaimana cara memverifikasi bahwa Streaming API berfungsi?
    J: Lihat bagian “Memverifikasi Bahwa API Streaming Berfungsi di Pusat Kontrol” untuk petunjuk tentang cara memverifikasi fungsionalitas API Streaming.

Perkenalan

Panduan ini menjelaskan cara mengekstrak data dari Paragon Active Assurance melalui API streaming produk.
API serta klien streaming disertakan dalam instalasi Paragon Active Assurance. Namun, diperlukan sedikit konfigurasi sebelum Anda dapat menggunakan API. Hal ini tercakup dalam “Mengonfigurasi API Streaming” di halaman 1 bab.

Lebihview
Bab ini menjelaskan cara mengonfigurasi API Streaming untuk memungkinkan berlangganan pesan metrik melalui Kafka.
pr
Di bawah ini kita akan melalui:

  • Cara mengaktifkan Streaming API
  • Cara mengonfigurasi Kafka untuk mendengarkan klien eksternal
  • Cara mengonfigurasi Kafka untuk menggunakan ACL dan menyiapkan enkripsi SSL untuk klien tersebut

Apa itu Kafka?
Kafka adalah platform streaming peristiwa yang memungkinkan pengambilan data secara real-time yang dikirim dari berbagai sumber peristiwa (sensor, database, perangkat seluler) dalam bentuk aliran peristiwa, serta penyimpanan yang tahan lama dari aliran peristiwa ini untuk pengambilan dan manipulasi nanti.
Dengan Kafka dimungkinkan untuk mengelola event streaming end-to-end dengan cara yang terdistribusi, sangat terukur, elastis, toleran terhadap kesalahan, dan aman.

CATATAN: Kafka dapat dikonfigurasi dengan berbagai cara dan dirancang untuk skalabilitas dan sistem redundan. Dokumen ini hanya berfokus pada cara mengonfigurasinya untuk menggunakan fitur Streaming API yang terdapat di Paragon Active Assurance Control Center. Untuk pengaturan lebih lanjut kami mengacu pada dokumentasi resmi Kafka: kafka.apache.org/26/documentation.html.

Terminologi

  • Kafka: Platform streaming acara.
  • Topik Kafka: Kumpulan acara.
  • Pelanggan/konsumen Kafka: Komponen yang bertanggung jawab atas pengambilan peristiwa yang disimpan dalam topik Kafka.
  • Pialang Kafka: Server lapisan penyimpanan dari kluster Kafka.
  • SSL/TLS: SSL adalah protokol aman yang dikembangkan untuk mengirimkan informasi secara aman melalui Internet. TLS adalah penerus dari SSL, diperkenalkan pada tahun 1999.
  • SASL: Framework yang menyediakan mekanisme untuk autentikasi pengguna, pemeriksaan integritas data, dan enkripsi.
  • Pelanggan streaming API: Komponen yang bertanggung jawab atas pengambilan peristiwa yang disimpan dalam topik yang ditentukan di Paragon Active Assurance dan ditujukan untuk akses eksternal.
  • Otoritas Sertifikat: Entitas tepercaya yang menerbitkan dan mencabut sertifikat kunci publik.
  • Sertifikat akar Otoritas Sertifikat: Sertifikat kunci publik yang mengidentifikasi Otoritas Sertifikat.

Cara Kerja Streaming API
Seperti disebutkan sebelumnya, API Streaming memungkinkan klien eksternal untuk mengambil informasi tentang metrik dari Kafka.

Semua metrik yang dikumpulkan oleh Agen Pengujian selama tugas pengujian atau pemantauan dikirim ke layanan Stream. Setelah fase pemrosesan, layanan Stream menerbitkan metrik tersebut di Kafka bersama dengan metadata tambahan.

Juniper-JARINGAN-Streaming-API-Perangkat Lunak- (1)

Topik Kafka
Kafka memiliki konsep topik yang semua datanya dipublikasikan. Di Paragon Active Assurance ada banyak topik Kafka yang tersedia; namun, hanya sebagian darinya yang dimaksudkan untuk akses eksternal.
Setiap akun Paragon Active Assurance di Control Center memiliki dua topik khusus. Di bawah, AKUN adalah nama pendek akun:

  • paa.public.accounts.{ACCOUNT}.metrik
    • Semua pesan metrik untuk akun tertentu dipublikasikan ke topik ini
    • Data dalam jumlah besar
    • Frekuensi pembaruan tinggi
  • paa.public.accounts.{ACCOUNT}.metadata
    • Berisi metadata yang terkait dengan data metrik, misalnyaample tes, monitor, atau Agen Tes yang terkait dengan metrik
    • Sejumlah kecil data
    • Frekuensi pembaruan rendah

Mengaktifkan API Streaming

CATATAN: Instruksi ini harus dijalankan di server Pusat Kontrol menggunakan sudo.

Karena Streaming API menambahkan beberapa overhead ke Pusat Kontrol, ini tidak diaktifkan secara default. Untuk mengaktifkan API, pertama-tama kita harus mengaktifkan publikasi metrik ke Kafka di konfigurasi utama file:

KAFKA_METRICS_ENABLED = Benar

PERINGATAN: Mengaktifkan fitur ini dapat memengaruhi kinerja Pusat Kontrol. Pastikan Anda telah mengukur instans Anda dengan tepat.

Selanjutnya, untuk mengaktifkan penerusan metrik ini ke topik Kafka yang benar:

streaming-api: benar

Untuk mengaktifkan dan memulai layanan API Streaming, jalankan:

  • layanan sudo ncc mengaktifkan metrik skala waktu
  • layanan sudo ncc memulai metrik skala waktu

Terakhir, mulai ulang layanan:

  • Layanan sudo ncc dimulai ulang

Memverifikasi Bahwa API Streaming Berfungsi di Pusat Kontrol

CATATAN: Instruksi ini harus dijalankan di server Pusat Kontrol.

Anda sekarang dapat memverifikasi bahwa Anda menerima metrik pada topik Kafka yang benar. Untuk melakukannya, instal utilitas kafkacat:

  • sudo apt-get perbarui
  • sudo apt-get install kafkacat

Jika Anda menjalankan pengujian atau monitor di Pusat Kontrol, Anda seharusnya dapat menggunakan kafkacat untuk menerima metrik dan metadata tentang topik ini.
Ganti myaccount dengan nama pendek akun Anda (ini yang Anda lihat di Pusat Kontrol URL):

  • ekspor METRICS_TOPIC=paa.public.accounts.myaccount.metrics
  • ekspor METADATA_TOPIC=paa.public.accounts.myaccount.metadata

Anda sekarang akan melihat metrik dengan menjalankan perintah ini:

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e

Ke view metadata, jalankan perintah berikut (perhatikan bahwa ini tidak akan sering diperbarui):

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

CATATAN:
kafkacat”Klien Examples” pada halaman 14

Ini memverifikasi bahwa kami memiliki API Streaming yang berfungsi dari dalam Pusat Kontrol. Namun, kemungkinan besar Anda tertarik untuk mengakses data dari klien eksternal. Bagian selanjutnya menjelaskan cara membuka Kafka untuk akses eksternal.

Membuka Kafka untuk Host Eksternal

CATATAN: Instruksi ini harus dijalankan di server Pusat Kontrol.

Secara default Kafka yang berjalan di Pusat Kontrol dikonfigurasi untuk hanya mendengarkan di localhost untuk penggunaan internal. Dimungkinkan untuk membuka Kafka untuk klien eksternal dengan memodifikasi pengaturan Kafka.

Menghubungkan ke Kafka: Peringatan

PERINGATAN: Harap baca ini dengan saksama, karena mudah mengalami masalah koneksi dengan Kafka jika Anda belum memahami konsep ini.

Dalam pengaturan Pusat Kontrol yang dijelaskan dalam dokumen ini, hanya ada satu broker Kafka.
Namun, perhatikan bahwa broker Kafka dimaksudkan untuk dijalankan sebagai bagian dari cluster Kafka yang mungkin terdiri dari banyak broker Kafka.
Saat terhubung ke broker Kafka, koneksi awal disiapkan oleh klien Kafka. Melalui hubungan ini broker Kafka pada gilirannya akan mengembalikan daftar “pendengar iklan”, yang merupakan daftar dari satu atau lebih broker Kafka.
Saat menerima daftar ini, klien Kafka akan memutuskan sambungan, lalu menyambung kembali ke salah satu pendengar yang diiklankan ini. Pendengar yang diiklankan harus berisi nama host atau alamat IP yang dapat diakses oleh klien Kafka, atau klien akan gagal terhubung.
Jika enkripsi SSL digunakan, melibatkan sertifikat SSL yang terkait dengan nama host tertentu, yang lebih penting adalah klien Kafka menerima alamat yang benar untuk terhubung, karena jika tidak, koneksi dapat ditolak.
Baca lebih lanjut tentang pendengar Kafka di sini: www.confluent.io/blog/kafka-listeners-explained

Enkripsi SSL/TLS
Untuk memastikan hanya klien tepercaya yang diizinkan mengakses Kafka dan API Streaming, kita harus mengonfigurasi hal berikut:

  • Autentikasi: Klien harus memberikan nama pengguna dan kata sandi melalui koneksi aman SSL/TLS antara klien dan Kafka.
  • Otorisasi: Klien yang diautentikasi dapat melakukan tugas yang diatur oleh ACL.

Berikut ini adalah contohnyaview:

Juniper-JARINGAN-Streaming-API-Perangkat Lunak- (2)

*) Otentikasi nama pengguna/kata sandi dilakukan pada saluran terenkripsi SSL

Untuk memahami sepenuhnya cara kerja enkripsi SSL/TLS untuk Kafka, silakan merujuk ke dokumentasi resmi: docs.confluent.io/platform/current/kafka/encryption.html

Sertifikat SSL/TLS Berakhirview

CATATAN: Dalam subbab ini kita akan menggunakan terminologi berikut:

Sertifikat: Sertifikat SSL yang ditandatangani oleh Certificate Authority (CA). Setiap broker Kafka punya satu.
Penyimpanan kunci: Penyimpanan kunci file yang menyimpan sertifikat. Toko kunci file berisi kunci privat sertifikat; oleh karena itu, perlu disimpan dengan aman.
Toko Kepercayaan: A file berisi sertifikat CA tepercaya.

Untuk menyiapkan autentikasi antara klien eksternal dan Kafka yang berjalan di Pusat Kontrol, kedua belah pihak harus memiliki keystore yang ditentukan dengan sertifikat terkait yang ditandatangani oleh Otoritas Sertifikat (CA) bersama dengan sertifikat akar CA.
Selain itu, klien juga harus memiliki truststore dengan sertifikat root CA.
Sertifikat root CA umum untuk broker Kafka dan klien Kafka.

Membuat Sertifikat yang Diperlukan
Hal ini tercakup dalam “Lampiran” di halaman 17.

Konfigurasi SSL/TLS Kafka Broker di Pusat Kontrol

CATATAN: Instruksi ini harus dijalankan di server Pusat Kontrol.

CATATAN: Sebelum melanjutkan, Anda harus membuat keystore yang berisi sertifikat SSL dengan mengikuti petunjuk di “Lampiran” di halaman 17. Jalur yang disebutkan di bawah berasal dari petunjuk ini.
Keystore SSL adalah a file disimpan pada disk dengan file ekstensi .jks.

Setelah Anda memiliki sertifikat yang diperlukan untuk broker Kafka dan klien Kafka, Anda dapat melanjutkan dengan mengonfigurasi broker Kafka yang berjalan di Pusat Kontrol. Anda perlu mengetahui hal berikut:

  • : Nama host publik dari Control Center; ini harus dapat diselesaikan dan diakses oleh klien Kafka.
  • : Kata sandi keystore yang diberikan saat membuat sertifikat SSL.
  • Dan : Ini adalah kata sandi yang ingin Anda tetapkan untuk masing-masing pengguna admin dan klien. Perhatikan bahwa Anda dapat menambahkan lebih banyak pengguna, seperti yang ditunjukkan pada contohampsaya.

Edit atau tambahkan (dengan akses sudo) properti di bawah ini di /etc/kafka/server.properties, masukkan variabel di atas seperti yang ditunjukkan:

PERINGATAN: Jangan hapus PLAINTEXT://localhost:9092; ini akan merusak fungsionalitas Pusat Kontrol karena layanan internal tidak akan dapat berkomunikasi.

  • # Alamat yang didengarkan oleh broker Kafka.
  • pendengar=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Ini adalah host yang diiklankan kembali ke klien mana pun yang terhubung.
  • diiklankan.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### KONFIGURASI KUSTOM
  • # KONFIGURASI SSL
  • ssl.endpoint.identifikasi.algoritma=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=tidak ada
  • ssl.protokol=TLSv1.2
  • # Konfigurasi SASL
  • sasl.enabled.mechanisms=POSAL
  • nama pengguna=”admin” \
  • kata sandi=” ” \
  • pengguna_admin=” ” \
  • klien_pengguna=” ”;
  • # CATATAN lebih banyak pengguna dapat ditambahkan dengan user_ =
  • # Otorisasi, nyalakan ACL
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Pengguna:admin

Menyiapkan Daftar Kontrol Akses (ACL)

Mengaktifkan ACL di localhost

PERINGATAN: Pertama-tama kita harus menyiapkan ACL untuk localhost, agar Pusat Kontrol itu sendiri masih dapat mengakses Kafka. Jika ini tidak dilakukan, semuanya akan rusak.

  • –otorisasi kafka.security.authorizer.AclAuthorizer \
  • –properti pembuat zookeeper.connect=localhost:2181 \
  • –tambahkan –izinkan-pengguna utama: ANONYMOUS –izinkan-host 127.0.0.1 –cluster
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –otorisasi kafka.security.authorizer.AclAuthorizer \
  • –properti pembuat zookeeper.connect=localhost:2181 \
  • –tambahkan –izinkan-pengguna utama: ANONYMOUS –izinkan-host 127.0.0.1 –topik '*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –otorisasi kafka.security.authorizer.AclAuthorizer \
  • –properti pembuat zookeeper.connect=localhost:2181 \
  • –tambahkan –izinkan-pengguna utama: ANONYMOUS –izinkan-host 127.0.0.1 –grup '*'

Kemudian kita perlu mengaktifkan ACL untuk akses baca-saja eksternal, sehingga pengguna eksternal diizinkan untuk membaca topik paa.public.*.

### Entri ACL untuk pengguna anonim /usr/lib/kafka/bin/kafka-acls.sh \

CATATAN: Untuk kontrol yang lebih detail, silakan merujuk ke dokumentasi resmi Kafka.

  • –otorisasi kafka.security.authorizer.AclAuthorizer \
  • –properti pembuat zookeeper.connect=localhost:2181 \
  • –tambahkan –izinkan Pengguna Utama:* –operasi baca –operasi jelaskan \ –grup 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –otorisasi kafka.security.authorizer.AclAuthorizer \
  • –properti pembuat zookeeper.connect=localhost:2181 \
  • –tambahkan –izinkan Pengguna Utama:* –operasi baca –operasi jelaskan \ –topik paa.publik. –awalan tipe pola sumber daya

Setelah selesai dengan ini, Anda perlu me-restart layanan:

### Entri ACL untuk pengguna eksternal /usr/lib/kafka/bin/kafka-acls.sh \
  • Layanan sudo ncc dimulai ulang

Untuk memverifikasi bahwa klien dapat membuat sambungan aman, jalankan perintah berikut pada eksternal
komputer klien (bukan di server Pusat Kontrol). Di bawah, PUBLIC_HOSTNAME adalah nama host Pusat Kontrol:

  • openssl s_client -debug -sambungkan ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Secure Renegosiasi IS didukung"

Dalam keluaran perintah, Anda akan melihat sertifikat server serta yang berikut ini:

  • IS Renegosiasi Aman didukung

Untuk memastikan bahwa layanan internal telah diberikan akses ke server Kafka, periksa log berikutfiles:

  • /var/log/kafka/server.log
  • /var/log/kafka/kafka-authorizer.log

Memvalidasi Konektivitas Klien Eksternal

kucing kafka

CATATAN: Instruksi ini harus dijalankan di komputer klien (bukan di server Pusat Kontrol).
CATATAN: Untuk menampilkan informasi metrik, pastikan setidaknya satu monitor berjalan di Pusat Kontrol.

Untuk memverifikasi dan memvalidasi konektivitas sebagai klien eksternal, Anda dapat menggunakan utilitas kafkacat yang diinstal di bagian “Memverifikasi Bahwa API Streaming Berfungsi di Pusat Kontrol” di halaman 4.
Lakukan langkah-langkah berikut:

CATATAN: Di bawah, CLIENT_USER adalah pengguna yang sebelumnya ditentukan di file /etc/kafka/server.properties di Pusat Kontrol: yaitu user_client dan kata sandi yang disetel di sana.
Sertifikat root CA yang digunakan untuk menandatangani sertifikat SSL sisi server harus ada di klien.

Membuat sebuah file client.properties dengan konten berikut:

  • keamanan.protokol=SASL_SSL
  • ssl.ca.location={PATH_TO_CA_CERT}
  • sasl.mechanisms=POLOS
  • sasl.nama pengguna={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

Di mana

  • {PATH_TO_CA_CERT} adalah lokasi sertifikat akar CA yang digunakan oleh broker Kafka
  • {CLIENT_USER} dan {CLIENT_PASSWORD} adalah kredensial pengguna untuk klien.

Jalankan perintah berikut untuk melihat pesan yang dikonsumsi oleh kafkacat:

  • ekspor KAFKA_FQDN=
  • ekspor METRICS_TOPIC=paa.public.accounts. .metrik
  • kafkacat -b ${KAFKA_FQDN}:9093 -F klien.properti -t ${METRICS_TOPIC} -C -e

dengan {METRICS_TOPIC} adalah nama topik Kafka dengan awalan “paa.public.”.

CATATAN: Versi kafkacat yang lebih lama tidak menyediakan opsi -F untuk membaca pengaturan klien dari a file. Jika Anda menggunakan versi seperti itu, Anda harus memberikan pengaturan yang sama dari baris perintah seperti yang ditunjukkan di bawah ini.

kafkacat -b ${KAFKA_FQDN}:9093 \

  • X keamanan.protokol=SASL_SSL \
  • X ssl.ca.location={PATH_TO_CA_CERT} \
  • X sasl.mekanisme=PLAIN \
  • X sasl.nama pengguna={CLIENT_USER} \
  • X sasl.kata sandi={CLIENT_PASSWORD} \
  • t ${METRICS_TOPIC} -C -e

Untuk men-debug konektivitas, Anda dapat menggunakan opsi -d:

Debug komunikasi konsumen
kafkacat -d konsumen -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Debug komunikasi broker
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Pastikan untuk merujuk ke dokumentasi untuk pustaka klien Kafka yang digunakan, karena propertinya mungkin berbeda dari properti klien.

Format Pesan
Pesan yang digunakan untuk topik metrik dan metadata diserialkan dalam format buffer Protokol (protobuf) (lihat developer.google.com/protocol-buffers). Skema untuk pesan ini mengikuti format berikut:

Metrik Skema Protobuf

  • sintaks = “proto3”;
  • impor “google/protobuf/timestamp.proto”;
  • paket paa.streamingapi;
  • opsi go_package = “.;paa_streamingapi”;
  • Metrik pesan {
  • google.protobuf.Waktunyaamp waktuamp = 1;
  • peta nilai = 2;
  • int32 stream_id = 3;
  • }
  • /**
  • * Nilai metrik dapat berupa bilangan bulat atau float.
  • */
  • pesan MetricValue {
  • salah satu tipe {
  • int64 int_val = 1;
  • mengapung float_val = 2;
  • }
  • }

Skema Metadata Protobuf

  • sintaks = “proto3”;
  • paket paa.streamingapi;
  • opsi go_package = “.;paa_streamingapi”;
  • Metadata pesan {
  • int32 stream_id = 1;
  • string nama_aliran = 2;
  • peta tags = 13;
  • }

Klien Exampsedikit

CATATAN: Perintah-perintah ini dimaksudkan untuk dijalankan pada klien eksternal, misalnyaample laptop Anda atau sejenisnya, dan bukan di Pusat Kontrol.
CATATAN: Agar informasi metrik ditampilkan, pastikan setidaknya satu monitor berjalan di Pusat Kontrol.

Tarbal Pusat Kontrol menyertakan arsip paa-streaming-api-client-examples.tar.gz (klien-examples), yang berisi example skrip Python yang menunjukkan cara menggunakan Streaming API.

Menginstal dan Mengkonfigurasi Klien Exampsedikit
Anda menemukan klien-exampfile di folder Paragon Active Assurance Control Center:

  • ekspor CC_VERSION=4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-streaming-api-client-example*

Untuk menginstal client-exampfile di komputer klien eksternal Anda, lanjutkan sebagai berikut:

  • # Buat direktori untuk mengekstraksi konten ex klienamples tarbal
  • mkdir paa-streaming-api-client-exampsedikit
  • # Ekstrak konten ex klienamples tarbal
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-exampsedikit
  • # Buka direktori yang baru dibuat
  • cd paa-streaming-api-client-exampsedikit

klien-mantanamples membutuhkan Docker untuk dijalankan. Unduhan dan instruksi instalasi untuk Docker dapat ditemukan di https://docs.docker.com/engine/install.

Menggunakan Klien Exampsedikit
Mantan klienampalat file dapat berjalan dalam mode dasar atau lanjutan untuk membangun exampfile dengan kompleksitas yang berbeda-beda. Dalam kedua kasus, juga dimungkinkan untuk menjalankan exampfile dengan konfigurasi file berisi properti tambahan untuk penyesuaian lebih lanjut dari sisi klien.

Mode Dasar
Dalam mode dasar, metrik dan metadatanya dialirkan secara terpisah. Untuk tujuan ini, klien mendengarkan setiap topik Kafka yang tersedia untuk akses eksternal dan cukup mencetak pesan yang diterima ke konsol.
Untuk memulai eksekusi ex dasaramples, jalankan:

  • build.sh run-basic –kafka-brokers localhost:9092 –akun ACCOUNT_SHORTNAME

di mana ACCOUNT_SHORTNAME adalah nama pendek akun yang ingin Anda dapatkan metriknya.
Untuk menghentikan eksekusi example, tekan Ctrl + C. (Mungkin ada sedikit penundaan sebelum eksekusi berhenti karena klien menunggu peristiwa timeout.)

Mode Lanjutan

CATATAN: Metrik hanya ditampilkan untuk monitor HTTP yang berjalan di Pusat Kontrol.

Eksekusi dalam mode lanjutan menunjukkan korelasi antara metrik dan pesan metadata. Ini
dimungkinkan berkat kehadiran bidang id aliran di setiap pesan metrik yang merujuk ke pesan metadata terkait.
Untuk menjalankan ex tingkat lanjutamples, jalankan:

  • build.sh run-advanced –kafka-brokers localhost:9092 –akun ACCOUNT_SHORTNAME

di mana ACCOUNT_SHORTNAME adalah nama pendek akun yang ingin Anda dapatkan metriknya.
Untuk menghentikan eksekusi example, tekan Ctrl + C. (Mungkin ada sedikit penundaan sebelum eksekusi berhenti karena klien menunggu peristiwa timeout.)

Pengaturan Tambahan
Dimungkinkan untuk menjalankan mantanample dengan konfigurasi tambahan dari klien menggunakan –config-file pilihan diikuti oleh a file nama yang berisi properti dalam bentuk key=value.

  • build.sh jalankan-lanjutan \
  • –kafka-broker localhost:9092 \
  • –akun ACCOUNT_SHORTNAME \
  • –konfigurasi-file client_config.properti

CATATAN: Semua files yang direferensikan dalam perintah di atas harus ditempatkan di direktori saat ini dan dirujuk hanya menggunakan jalur relatif. Ini berlaku baik untuk –config-file argumen dan ke semua entri dalam konfigurasi file yang menggambarkan file lokasi.

Memvalidasi Autentikasi Klien Eksternal
Untuk memvalidasi autentikasi klien dari luar Control Center menggunakan client-examples, lakukan langkah-langkah berikut:

Dari folder Paragon Active Assurance Control Center, alihkan ke folder paa-streaming-api-client-exampfolder file:

cd paa-streaming-api-client-exampsedikit

  • Salin ca-cert sertifikat root CA ke direktori saat ini.
  • Buat client.properties file dengan isi sebagai berikut:

security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=POLOS
sasl.nama pengguna={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

dengan {CLIENT_USER} dan {CLIENT_PASSWORD} adalah kredensial pengguna untuk klien.

Jalankan contoh dasarampsedikit:

  • ekspor KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –akun ACCOUNT_SHORTNAME
  • –konfigurasi-file klien.properti

di mana ACCOUNT_SHORTNAME adalah nama pendek akun yang ingin Anda dapatkan metriknya.

Jalankan ex lanjutanampsedikit:

  • ekspor KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –akun ACCOUNT_SHORTNAME
  • –konfigurasi-file klien.properti

Lampiran

Dalam lampiran ini kami menjelaskan cara membuat:

  • sebuah toko kunci file untuk menyimpan sertifikat SSL broker Kafka
  • toko kepercayaan file untuk menyimpan sertifikat root Certificate Authority (CA) yang digunakan untuk menandatangani sertifikat broker Kafka.

Membuat Sertifikat Pialang Kafka
Membuat Sertifikat Menggunakan Otoritas Sertifikat Asli (Disarankan)
Anda disarankan untuk mendapatkan sertifikat SSL asli dari CA tepercaya.
Setelah Anda memutuskan CA, salin ca-cert sertifikat root CA mereka file ke jalur Anda sendiri seperti yang ditunjukkan di bawah ini:

  • ekspor CA_PATH=~/ca-saya
  • mkdir ${CA_PATH}
  • cp ca-sertifikat ${CA_PATH}

Buat Otoritas Sertifikat Anda Sendiri

CATATAN: Biasanya Anda harus memiliki sertifikat yang ditandatangani oleh Otoritas Sertifikat asli; lihat subbab sebelumnya. Berikut ini hanyalah mantanampsaya.

Di sini kami membuat sertifikat root Certificate Authority (CA) kami sendiri file berlaku selama 999 hari (tidak direkomendasikan dalam produksi):

  • # Buat direktori untuk menyimpan CA
  • ekspor CA_PATH=~/ca-saya
  • mkdir ${CA_PATH}
  • # Hasilkan sertifikat CA
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -hari 999

Membuat Klien Truststore
Sekarang Anda dapat membuat toko kepercayaan file yang berisi ca-cert yang dihasilkan di atas. Ini file akan dibutuhkan oleh klien Kafka yang akan mengakses API Streaming:

  • alat kunci -keystore kafka.client.truststore.jks \
    • alias CARoot\
    • sertifikat impor -file ${CA_PATH}/ca-cert

Sekarang sertifikat CA ada di truststore, klien akan mempercayai sertifikat apa pun yang ditandatangani dengannya.
Anda harus menyalin file kafka.client.truststore.jks ke lokasi yang diketahui di komputer klien Anda dan arahkan ke sana di pengaturan.

Membuat Keystore untuk Kafka Broker
Untuk menghasilkan sertifikat SSL broker Kafka dan kemudian keystore kafka.server.keystore.jks, lakukan sebagai berikut:

Membuat Sertifikat SSL
Di bawah, 999 adalah jumlah hari validitas keystore, dan FQDN adalah nama domain klien yang memenuhi syarat (nama host publik dari node).

CATATAN: FQDN harus cocok dengan nama host persis yang akan digunakan klien Kafka untuk terhubung ke Pusat Kontrol.

  • sudo mkdir -p /var/ssl/private
  • sudo chown -R $USER: /var/ssl/private
  • cd /var/ssl/private
  • ekspor FQDN= alat kunci -keystore kafka.server.keystore.jks \
  • – server alias\
  • – validitas 999\
  • – genkey -keyalg RSA -ext SAN=dns:${FQDN}

Buat permintaan penandatanganan sertifikat dan simpan di file bernama cert-server-request:

  • alat kunci -keystore kafka.server.keystore.jks \
    • – server alias\
    • – sertifikat \
    • – file permintaan-server-sertifikat

Anda sekarang harus mengirim file cert-server-request ke Otoritas Sertifikat (CA) Anda jika Anda menggunakan yang asli. Mereka kemudian akan mengembalikan sertifikat yang ditandatangani. Kami akan merujuk ini sebagai cert-server-signed di bawah ini.

Menandatangani Sertifikat SSL Menggunakan Sertifikat CA Buatan Sendiri

CATATAN: Sekali lagi, menggunakan CA Anda sendiri tidak disarankan dalam sistem produksi.

Tandatangani sertifikat menggunakan CA melalui file cert-server-request, yang menghasilkan sertifikat bertanda tangan cert-server-signed. Lihat di bawah; ca-password adalah kata sandi yang ditetapkan saat membuat sertifikat CA.

  • cd /var/ssl/pribadi openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – Kunci CA ${CA_PATH}/kunci-ca \
    • – dalam permintaan-server-sertifikat \
    • – keluar sertifikat-server-ditandatangani \
    • – hari 999 -CAcreateserial \
    • – pass masuk:{ca-password}

Mengimpor Sertifikat yang Ditandatangani ke dalam Keystore

Impor sertifikat root ca-cert ke dalam keystore:

  • alat kunci -keystore kafka.server.keystore.jks \
    • – alias ca-sertifikat \
    • – impor\
    • – file ${CA_PATH}/ca-cert

Impor sertifikat yang ditandatangani yang disebut sebagai sertifikat-server-ditandatangani:

  • alat kunci -keystore kafka.server.keystore.jks \
    • – server alias\
    • – impor\
    • – file sertifikat-server-ditandatangani

Itu file kafka.server.keystore.jks harus disalin ke lokasi yang diketahui di server Pusat Kontrol, dan kemudian dirujuk di /etc/kafka/server.properties.

Menggunakan Streaming API

DI BAGIAN INI

  • Umum | 20
  • Nama Topik Kafka | 21
  • Exampfile Menggunakan Streaming API | 21

Umum
API streaming mengambil data pengujian dan monitor. Tidak mungkin memilih salah satu dari kategori ini.
API streaming tidak mengambil data dari pengujian berbasis skrip (yang diwakili oleh persegi panjang alih-alih potongan jigsaw di GUI Pusat Kontrol), seperti pengujian aktivasi layanan Ethernet dan pengujian transparansi.

Nama Topik Kafka
Nama topik Kafka untuk API streaming adalah sebagai berikut, dengan %s adalah nama pendek akun Pusat Kontrol (ditunjukkan saat membuat akun):

  • konstanta (
  • Nama Eksportir = “kafka”
  • metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )

Exampfile Menggunakan Streaming API
Sang mantanample yang mengikuti ditemukan di tarball paa-streaming-api-client-examples.tar.gz terdapat di dalam tarbal Pusat Kontrol.
Pertama, ada mantan dasarample mendemonstrasikan bagaimana metrik dan metadatanya dialirkan secara terpisah dan cukup mencetak pesan yang diterima ke konsol. Anda dapat menjalankannya sebagai berikut:

  • sudo ./build.sh run-basic –kafka-broker localhost:9092 –account ACCOUNT_SHORTNAME

Ada juga mantan yang lebih majuampfile di mana metrik dan pesan metadata berkorelasi. Gunakan perintah ini untuk menjalankannya:

  • sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –akun ACCOUNT_SHORTNAME

Anda perlu menggunakan sudo untuk menjalankan perintah Docker seperti di atas. Secara opsional, Anda dapat mengikuti langkah-langkah pasca instalasi Linux untuk dapat menjalankan perintah Docker tanpa sudo. Untuk detailnya, kunjungi docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logo Juniper Networks, Juniper, dan Junos adalah merek dagang terdaftar milik Juniper Networks, Inc. di Amerika Serikat dan negara-negara lain. Semua merek dagang, merek layanan, merek terdaftar, atau merek layanan terdaftar lainnya adalah milik pemiliknya masing-masing. Juniper Networks tidak bertanggung jawab atas ketidakakuratan apa pun dalam dokumen ini. Juniper Networks berhak mengubah, memodifikasi, mentransfer, atau merevisi publikasi ini tanpa pemberitahuan. Hak cipta © 2023 Juniper Networks, Inc. Semua hak dilindungi undang-undang.

Dokumen / Sumber Daya

Perangkat Lunak API Streaming JARINGAN Juniper [Bahasa Indonesia:] Panduan Pengguna
Perangkat Lunak API Streaming, Perangkat Lunak API, Perangkat Lunak

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *