JARINGAN JUNIPER - logoRouting Active Testing Streaming API
Memandu

Perkenalan

This guide describes how to extract data from Routing Active Testing via the product’s streaming API.
The API as well as the streaming client are included in the Routing Active Testing installation. However, a bit of configuration is needed before you can use the API. This is covered in the “Configuring the Streaming API” on page 1 chapter.
Mengonfigurasi API Streaming

Lebihview

Bab ini menjelaskan cara mengonfigurasi API Streaming untuk memungkinkan berlangganan pesan metrik melalui Kafka.
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 can be configured in many different ways and was designed for scalability and redundant systems. This document focuses only on how to configure it to make use of the Streaming API feature found in Routing Active Testing Control Center. For more advanced setups we refer to the official Kafka documentation: 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.
  • Streaming API subscriber: Component responsible for retrieval of events stored in topics defined in Routing Active Testing and meant for external access.
  • 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.
Topik Kafka
Kafka has the concept of topics to which all data is published. In Routing Active Testing there are many such Kafka topics available; however, only a subset of these are meant for external access.
Each Routing Active Testing account in Control Center has two dedicated topics. Below, ACCOUNT is the account short name:

  • 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: These instructions are to be run on the Control Center server using sudor.
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:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = Benar
KAFKA_PUBLISH_METADATA_FOR_STREAMS = True

Ikon Peringatan Listrik 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:

  • /etc/netrounds/metrics.yaml

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

CATATAN: The KAFKA_PUBLISH_RESOURCES setting has been deprecated. It should be removed from your configuration. Use KAFKA_PUBLISH_METADATA_FOR_STREAMS = True instead.
Memverifikasi Bahwa API Streaming Berfungsi di Pusat Kontrol
CATATAN: Instruksi ini harus dijalankan di server Pusat Kontrol.
You can now verify that you are receiving metrics on the correct Kafka topics. To do so, install the Kafka cat utility:

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

If you have a test or monitor running in Control Center, you should be able to use Kafka cat to receive metrics and metadata on these topics.
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: This is just a sanity check to make sure things are being published correctly. The data you see being published will be in binary form, which kafkacat will not decode by default. For properly subscribing to these topics, please see the “Client Examples” on page 13 section.
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
Ikon 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:

  • Otentikasi: 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:
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 Otoritas Sertifikat (CA). Setiap broker Kafka memilikinya.
Penyimpanan kunci: Penyimpanan kunci file yang menyimpan sertifikat. Toko kunci file berisi kunci privat sertifikat; oleh karena itu, perlu disimpan dengan aman.
Toko Amanah: 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 16.
Konfigurasi SSL/TLS Kafka Broker di Pusat Kontrol
CATATAN: Instruksi ini harus dijalankan di server Pusat Kontrol.
CATATAN: Before continuing, you must create the keystone which contains the SSL certificate by following the instructions in the “Appendix” on page 16. The paths mentioned below come from these instructions. The SSL keystore is 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 or append (with sudo access) the properties below in /etc/kafka/server.properties, inserting the above
variables as shown:
Ikon Peringatan Listrik 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
… ####### CUSTOM CONFIG
# 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
pendengar.nama.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
diperlukan waktu lama \
nama pengguna=”admin” \
kata sandi=” ” \
User:admin=”<admin_pwd>” \
user client=”<client_pwd>”;
# CATATAN lebih banyak pengguna dapat ditambahkan dengan user_ =
# Otorisasi, nyalakan ACL
pengotorisasi.kelas.nama=kafka.keamanan.pengotorisasi.AclAuthorizer
superusers=User:admin
Menyiapkan Daftar Kontrol Akses (ACL)
Mengaktifkan ACL di localhost
Ikon Peringatan Listrik  PERINGATAN: Pertama-tama kita harus menyiapkan ACL untuk localhost, sehingga Pusat Kontrol itu sendiri masih dapat mengakses Kafka. Jika ini tidak dilakukan, semuanya akan rusak.
######### Entri ACL untuk pengguna anonim
/usr/lib/kafka/bin/kafka-acls.sh \
–otorisasi kafka.security.authorizer.AclAuthorizer \
–properti pembuat zookeeper.connect=localhost:2181 \
–add –allow-principal User: ANONYMOUS –allow-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 \
–add –allow-principal User: ANONYMOUS –allow-host 127.0.0.1 –group ‘*’
Kemudian kita perlu mengaktifkan ACL untuk akses baca-saja eksternal, sehingga pengguna eksternal diizinkan untuk membaca topik paa.public.*.
CATATAN: Untuk kontrol yang lebih halus, silakan merujuk ke dokumentasi resmi Kafka.
######### Entri ACL untuk pengguna eksternal
/usr/lib/kafka/bin/kafka-acls.sh \
–otorisasi kafka.security.authorizer.AclAuthorizer \
–properti pembuat zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operasi baca –operasi uraikan \
–grup 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–otorisasi kafka.security.authorizer.AclAuthorizer \
–properti pembuat zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operasi baca –operasi uraikan \
–topik paa.publik. –resource-pattern-type diawali
Setelah selesai dengan ini, Anda perlu me-restart layanan:
Layanan sudo ncc dimulai ulang
Untuk memverifikasi bahwa klien dapat membuat sambungan aman, jalankan perintah berikut ini di komputer klien eksternal (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 in Control Center: namely, user_client and the password set there. The CA root certificate used to sign the server side SSL certificate must be present on the client.
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.mechanisms=POLOS \
-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
The messages used for the metrics and metadata topics are serialized in the Protocol buffers (protobuf)format (see 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-examples in the Routing Active Testing Control Center folder:
ekspor CC_VERSION=4.6.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 di setiap pesan metrik dari bidang id aliran yang mengacu pada pesan metadata yang sesuai.
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:

  • From the Routing Active Testing Control Center folder, switch to the 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:
    keamanan.protokol=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 jalankan-dasar –kafka-broker ${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 jalankan-lanjutan –kafka-broker ${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 will be needed by the Kafka client that will access the Streaming API: keytool -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
Use these commands to generate the SSL certificate. Below, 999 is the number of days of validity of the keystore.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/private
export CC_IP=<Control Center IP>
alat kunci -keystore kafka.server.keystore.jks \
-server alias\
-validitas 999\
-genkey -keyalg RSA -ext SAN=ip:${CC_IP}
To verify the SSL certificate, you can use the following command:
keytool -v -list -keystore kafka.server.keystore.jks -alias server
You should ensure that the port 9093 is accessible from external clients.
Buat permintaan penandatanganan sertifikat dan simpan di file bernama cert-server-request:
alat kunci -keystore kafka.server.keystore.jks \
-server alias\
-certreq \
-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/private
membuka x509 -permintaan \

  • -CA ${CA_PATH}/ca-sertifikat \
  • -Kunci CA ${CA_PATH}/kunci-ca \
  • -dalam permintaan-server-sertifikat \
  • -keluar sertifikat-server-ditandatangani \
  • -hari 999 -CAcreateserial \
  • -passin pass:{ca-kata sandi}

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

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-brokers localhost:9092 –account ACCOUNT_SHORTNAME There is also a more advanced exampfile di mana metrik dan pesan metadata berkorelasi. Gunakan perintah ini untuk menjalankannya:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME You need to use sudo to run Docker commands such as the ones above. Optionally, you can follow the Linux post-installation steps to be able to run Docker commands without sudo. For details, go to docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, logo Juniper Networks, Juniper, dan Junos adalah merek dagang terdaftar Juniper Networks, Inc. di Amerika Serikat dan negara lain. Semua merek dagang, merek layanan, merek terdaftar, atau merek layanan terdaftar lainnya adalah milik dari 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 © 2025 Juniper Networks,
Inc. Semua hak dilindungi undang-undang.

JARINGAN JUNIPER - logo

Dokumen / Sumber Daya

JUNIPER NETWORKS Routing Active Testing Solution Brief [Bahasa Indonesia:] Panduan Pengguna
Routing Active Testing Solution Brief, Active Testing Solution Brief, Testing Solution Brief, Solution Brief

Referensi

Tinggalkan komentar

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