Logo Juniper

Perisian API Penstriman Juniper NETWORKSJuniper-NETWORKS-Streaming-API-Software-product

Maklumat Produk

Spesifikasi

  • Nama Produk: Paragon Active Assurance
  • Versi: 4.1
  • Tarikh Diterbitkan: 2023-03-15

pengenalan:
Panduan ini menyediakan arahan tentang cara mengekstrak data daripada Paragon Active Assurance menggunakan API penstriman produk. Pelanggan penstriman dan API disertakan dalam pemasangan Paragon Active Assurance, tetapi beberapa konfigurasi diperlukan sebelum menggunakan API. Proses konfigurasi diliputi dalam bahagian "Mengkonfigurasi API Penstriman".

Mengkonfigurasi API Penstriman:
Langkah berikut menggariskan proses untuk mengkonfigurasi API penstriman:

Berakhirview
Kafka ialah platform penstriman acara yang direka untuk menangkap dan menyimpan data masa nyata daripada pelbagai sumber. Ia membolehkan pengurusan strim acara secara teragih, berskala, bertolak ansur dengan kesalahan dan selamat. Panduan ini menumpukan pada mengkonfigurasi Kafka untuk menggunakan ciri API Penstriman dalam Pusat Kawalan Jaminan Aktif Paragon.

Terminologi
API Penstriman membenarkan pelanggan luar mendapatkan maklumat metrik daripada Kafka. Metrik yang dikumpul oleh Ejen Ujian semasa tugasan ujian atau pemantauan dihantar ke perkhidmatan Strim. Selepas pemprosesan, perkhidmatan Strim menerbitkan metrik ini pada Kafka bersama-sama dengan metadata tambahan.

Topik Kafka
API Penstriman menggunakan topik Kafka untuk mengatur dan menyimpan metrik dan metadata. Topik Kafka boleh dibuat dan diurus mengikut keperluan khusus.

Mendayakan API Penstriman
Untuk mendayakan API Penstriman, ikuti langkah berikut:

  1. Jalankan arahan berikut pada pelayan Pusat Kawalan menggunakan sudo:
KAFKA_METRICS_ENABLED = Perkhidmatan sudo ncc benar mendayakan metrik timescaledb perkhidmatan sudo ncc memulakan metrik timescaledb perkhidmatan sudo ncc dimulakan semula

Mengesahkan Bahawa API Penstriman Berfungsi dalam Pusat Kawalan:
Untuk mengesahkan bahawa anda menerima metrik pada topik Kafka yang betul:

  1. Pasang utiliti kafkacat dengan arahan berikut:
    sudo apt-get kemas kini
    sudo apt-get install kafkacat
  1. Gantikan "myaccount" dengan nama pendek akaun anda dalam
    Pusat Kawalan URL:
    eksport METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    eksport METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Jalankan arahan berikut untuk view metrik:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Nota: Perintah di atas akan memaparkan metrik.
  2. Kepada view metadata, jalankan arahan berikut:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Nota: Perintah di atas akan memaparkan metadata, tetapi ia tidak akan dikemas kini dengan kerap.

Klien Cthamples
Untuk bekas pelangganamples dan maklumat lanjut, rujuk halaman 14 manual pengguna.

Soalan Lazim (Soalan Lazim)

  • S: Apakah Paragon Active Assurance?
    J: Paragon Active Assurance ialah produk yang menyediakan keupayaan pemantauan dan ujian.
  • S: Apakah API Penstriman?
    J: API Penstriman ialah ciri dalam Jaminan Aktif Paragon yang membolehkan pelanggan luar mendapatkan maklumat metrik daripada Kafka.
  • S: Bagaimanakah cara saya mendayakan API Penstriman?
    J: Untuk mendayakan API Penstriman, ikut langkah yang digariskan dalam bahagian "Mendayakan API Penstriman" pada manual pengguna.
  • S: Bagaimanakah saya boleh mengesahkan bahawa API Penstriman berfungsi?
    J: Rujuk bahagian "Mengesahkan Bahawa API Penstriman Berfungsi di Pusat Kawalan" untuk mendapatkan arahan tentang cara mengesahkan kefungsian API Penstriman.

pengenalan

Panduan ini menerangkan cara mengekstrak data daripada Paragon Active Assurance melalui API penstriman produk.
API serta klien penstriman disertakan dalam pemasangan Paragon Active Assurance. Walau bagaimanapun, sedikit konfigurasi diperlukan sebelum anda boleh menggunakan API. Ini diliputi dalam "Mengkonfigurasi API Penstriman" pada halaman 1 bab.

Berakhirview
Bab ini menerangkan cara mengkonfigurasi API Penstriman untuk membenarkan melanggan mesej metrik melalui Kafka.
pr
Di bawah ini kita akan melalui:

  • Bagaimana untuk mendayakan API Penstriman
  • Bagaimana untuk mengkonfigurasi Kafka untuk mendengar pelanggan luar
  • Cara mengkonfigurasi Kafka untuk menggunakan ACL dan menyediakan penyulitan SSL untuk pelanggan tersebut

Apa Itu Kafka?
Kafka ialah platform penstriman acara yang membenarkan penangkapan masa nyata data yang dihantar daripada pelbagai sumber acara (sensor, pangkalan data, peranti mudah alih) dalam bentuk strim acara, serta penyimpanan tahan lama aliran acara ini untuk mendapatkan semula dan manipulasi kemudian.
Dengan Kafka adalah mungkin untuk mengurus penstriman acara dari hujung ke hujung dalam cara yang teragih, sangat berskala, elastik, tahan kesalahan dan selamat.

NOTA: Kafka boleh dikonfigurasikan dalam pelbagai cara dan direka bentuk untuk kebolehskalaan dan sistem berlebihan. Dokumen ini hanya memfokuskan pada cara mengkonfigurasinya untuk menggunakan ciri API Penstriman yang terdapat dalam Pusat Kawalan Jaminan Aktif Paragon. Untuk persediaan yang lebih lanjut, kami merujuk kepada dokumentasi Kafka rasmi: kafka.apache.org/26/documentation.html.

Terminologi

  • Kafka: Platform penstriman acara.
  • Topik Kafka: Koleksi acara.
  • Pelanggan/pengguna Kafka: Komponen yang bertanggungjawab untuk mendapatkan semula acara yang disimpan dalam topik Kafka.
  • Broker Kafka: Pelayan lapisan storan bagi kluster Kafka.
  • SSL/TLS: SSL ialah protokol selamat yang dibangunkan untuk menghantar maklumat dengan selamat melalui Internet. TLS ialah pengganti SSL, yang diperkenalkan pada tahun 1999.
  • SASL: Rangka kerja yang menyediakan mekanisme untuk pengesahan pengguna, semakan integriti data dan penyulitan.
  • Pelanggan API Penstriman: Komponen yang bertanggungjawab untuk mendapatkan semula acara yang disimpan dalam topik yang ditakrifkan dalam Jaminan Aktif Paragon dan dimaksudkan untuk akses luaran.
  • Pihak Berkuasa Sijil: Entiti dipercayai yang mengeluarkan dan membatalkan sijil kunci awam.
  • Sijil akar Pihak Berkuasa Sijil: Sijil kunci awam yang mengenal pasti Pihak Berkuasa Sijil.

Cara API Penstriman Berfungsi
Seperti yang dinyatakan sebelum ini, API Penstriman membenarkan pelanggan luar mendapatkan maklumat tentang metrik daripada Kafka.

Semua metrik yang dikumpul oleh Ejen Ujian semasa tugasan ujian atau pemantauan dihantar ke perkhidmatan Strim. Selepas fasa pemprosesan, perkhidmatan Strim menerbitkan metrik tersebut di Kafka bersama-sama dengan metadata tambahan.

Juniper-NETWORKS-Streaming-API-Perisian- (1)

Topik Kafka
Kafka mempunyai konsep topik yang semua data diterbitkan. Dalam Jaminan Aktif Paragon terdapat banyak topik Kafka seperti itu tersedia; walau bagaimanapun, hanya subset daripada ini dimaksudkan untuk akses luaran.
Setiap akaun Paragon Active Assurance dalam Pusat Kawalan mempunyai dua topik khusus. Di bawah, AKAUN ialah nama ringkas akaun:

  • paa.akaun awam.{AKAUN}.metrik
    • Semua mesej metrik untuk akaun yang diberikan diterbitkan untuk topik ini
    • Jumlah data yang besar
    • Kekerapan kemas kini yang tinggi
  • paa.public.accounts.{ACCOUNT}.metadata
    • Mengandungi metadata yang berkaitan dengan data metrik, contohnyaampujian, monitor atau Ejen Ujian yang dikaitkan dengan metrik
    • Jumlah data yang kecil
    • Kekerapan kemas kini rendah

Mendayakan API Penstriman

NOTA: Arahan ini akan dijalankan pada pelayan Pusat Kawalan menggunakan sudo.

Memandangkan API Penstriman menambahkan beberapa overhed ke Pusat Kawalan, ia tidak didayakan secara lalai. Untuk mendayakan API, kami mesti terlebih dahulu mendayakan penerbitan metrik kepada Kafka dalam konfigurasi utama file:

KAFKA_METRICS_ENABLED = Benar

AMARAN: Mendayakan ciri ini mungkin memberi kesan kepada prestasi Pusat Kawalan. Pastikan anda telah mendimensi tika anda dengan sewajarnya.

Seterusnya, untuk membolehkan pemajuan metrik ini kepada topik Kafka yang betul:

streaming-api: benar

Untuk mendayakan dan memulakan perkhidmatan API Penstriman, jalankan:

  • perkhidmatan sudo ncc mendayakan metrik timescaledb
  • perkhidmatan sudo ncc memulakan metrik timescaledb

Akhir sekali, mulakan semula perkhidmatan:

  • perkhidmatan sudo ncc dimulakan semula

Mengesahkan Bahawa API Penstriman Berfungsi dalam Pusat Kawalan

NOTA: Arahan ini akan dijalankan pada pelayan Pusat Kawalan.

Anda kini boleh mengesahkan bahawa anda menerima metrik pada topik Kafka yang betul. Untuk berbuat demikian, pasang utiliti kafkacat:

  • sudo apt-get kemas kini
  • sudo apt-get install kafkacat

Jika anda menjalankan ujian atau monitor dalam Pusat Kawalan, anda seharusnya boleh menggunakan kafkacat untuk menerima metrik dan metadata mengenai topik ini.
Gantikan akaun saya dengan nama pendek akaun anda (inilah yang anda lihat dalam Pusat Kawalan anda URL):

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

Anda kini harus melihat metrik dengan menjalankan arahan ini:

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

Kepada view metadata, jalankan arahan berikut (perhatikan bahawa ini tidak akan dikemas kini sekerap):

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

NOTA:
kafkacat” Klien Cthamples ”di halaman 14

Ini mengesahkan bahawa kami mempunyai API Penstriman yang berfungsi dari dalam Pusat Kawalan. Walau bagaimanapun, kemungkinan besar anda berminat untuk mengakses data daripada pelanggan luaran. Bahagian seterusnya menerangkan cara membuka Kafka untuk akses luaran.

Membuka Kafka untuk Hos Luar

NOTA: Arahan ini akan dijalankan pada pelayan Pusat Kawalan.

Secara lalai Kafka yang berjalan di Pusat Kawalan dikonfigurasikan untuk hanya mendengar pada localhost untuk kegunaan dalaman. Anda boleh membuka Kafka untuk pelanggan luaran dengan mengubah suai tetapan Kafka.

Menyambung ke Kafka: Kaveat

PERHATIAN: Sila baca ini dengan teliti, kerana mudah untuk menghadapi masalah sambungan dengan Kafka jika anda tidak memahami konsep ini.

Dalam persediaan Pusat Kawalan yang diterangkan dalam dokumen ini, hanya terdapat satu broker Kafka.
Walau bagaimanapun, ambil perhatian bahawa broker Kafka dimaksudkan untuk dijalankan sebagai sebahagian daripada kelompok Kafka yang mungkin terdiri daripada banyak broker Kafka.
Apabila menyambung kepada broker Kafka, sambungan awal disediakan oleh pelanggan Kafka. Dalam hubungan ini, broker Kafka pula akan mengembalikan senarai "pendengar yang diiklankan", yang merupakan senarai satu atau lebih broker Kafka.
Apabila menerima senarai ini, pelanggan Kafka akan memutuskan sambungan, kemudian menyambung semula kepada salah satu daripada pendengar yang diiklankan ini. Pendengar yang diiklankan mesti mengandungi nama hos atau alamat IP yang boleh diakses oleh pelanggan Kafka, atau pelanggan akan gagal untuk menyambung.
Jika penyulitan SSL digunakan, melibatkan sijil SSL yang terikat pada nama hos tertentu, adalah lebih penting lagi bahawa klien Kafka menerima alamat yang betul untuk disambungkan, kerana jika tidak sambungan mungkin ditolak.
Baca lebih lanjut mengenai pendengar Kafka di sini: www.confluent.io/blog/kafka-listeners-explained

Penyulitan SSL/TLS
Untuk memastikan hanya pelanggan yang dipercayai dibenarkan mengakses Kafka dan API Penstriman, kami mesti mengkonfigurasi perkara berikut:

  • Pengesahan: Pelanggan mesti memberikan nama pengguna dan kata laluan melalui sambungan selamat SSL/TLS antara pelanggan dan Kafka.
  • Keizinan: Pelanggan yang disahkan boleh melaksanakan tugas yang dikawal oleh ACL.

Di sini tamatview:

Juniper-NETWORKS-Streaming-API-Perisian- (2)

*) Pengesahan nama pengguna/kata laluan dilakukan pada saluran yang disulitkan SSL

Untuk memahami sepenuhnya cara penyulitan SSL/TLS berfungsi untuk Kafka, sila rujuk dokumentasi rasmi: docs.confluent.io/platform/current/kafka/encryption.html

Sijil SSL/TLS Tamatview

NOTA: Dalam subseksyen ini kita akan menggunakan istilah berikut:

Sijil: Sijil SSL yang ditandatangani oleh Pihak Berkuasa Sijil (CA). Setiap broker Kafka mempunyai satu.
Kedai kunci: Kedai kunci file yang menyimpan sijil. Kedai kunci file mengandungi kunci peribadi sijil; oleh itu, ia perlu disimpan dengan selamat.
Kedai amanah: A file mengandungi sijil CA yang dipercayai.

Untuk menyediakan pengesahan antara pelanggan luaran dan Kafka yang dijalankan dalam Pusat Kawalan, kedua-dua pihak mesti mempunyai stor kunci yang ditakrifkan dengan sijil berkaitan yang ditandatangani oleh Pihak Berkuasa Sijil (CA) bersama-sama dengan sijil akar CA.
Di samping itu, pelanggan juga mesti mempunyai kedai amanah dengan sijil akar CA.
Sijil akar CA adalah perkara biasa kepada broker Kafka dan pelanggan Kafka.

Mencipta Sijil yang Diperlukan
Ini diliputi dalam “Lampiran” di muka surat 17.

Konfigurasi SSL/TLS Broker Kafka dalam Pusat Kawalan

NOTA: Arahan ini akan dijalankan pada pelayan Pusat Kawalan.

NOTA: Sebelum meneruskan, anda mesti mencipta stor kunci yang mengandungi sijil SSL dengan mengikut arahan dalam "Lampiran" pada halaman 17. Laluan yang dinyatakan di bawah datang daripada arahan ini.
Stor kunci SSL ialah a file disimpan pada cakera dengan file sambungan .jks.

Setelah anda mempunyai sijil yang diperlukan untuk kedua-dua broker Kafka dan pelanggan Kafka tersedia, anda boleh meneruskan dengan mengkonfigurasi broker Kafka yang berjalan di Pusat Kawalan. Anda perlu tahu perkara berikut:

  • : Nama hos awam Pusat Kawalan; ini mesti boleh diselesaikan dan boleh diakses oleh pelanggan Kafka.
  • : Kata laluan stor kunci yang diberikan semasa membuat sijil SSL.
  • dan : Ini ialah kata laluan yang anda mahu tetapkan untuk pengguna pentadbir dan pelanggan masing-masing. Ambil perhatian bahawa anda boleh menambah lebih ramai pengguna, seperti yang ditunjukkan dalam bekasample.

Edit atau tambahkan (dengan akses sudo) sifat di bawah dalam /etc/kafka/server.properties, masukkan pembolehubah di atas seperti yang ditunjukkan:

AMARAN: Jangan alih keluar PLAINTEXT://localhost:9092; ini akan memecahkan fungsi Pusat Kawalan kerana perkhidmatan dalaman tidak akan dapat berkomunikasi.

  • # Alamat yang didengari oleh broker Kafka.
  • pendengar=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Ini ialah hos yang diiklankan kembali kepada mana-mana pelanggan yang menyambung.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### KONFIG TERSUAI
  • # KONFIGURASI SSL
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=tiada
  • ssl.protocol=TLSv1.2
  • # Konfigurasi SASL
  • sasl.enabled.mechanisms=PLAIN
  • username=”admin” \
  • kata laluan=” ” \
  • admin_pengguna=” ” \
  • pengguna_klien=” ”;
  • # NOTA lebih banyak pengguna boleh ditambah dengan pengguna_ =
  • # Keizinan, hidupkan ACL
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin

Menyediakan Senarai Kawalan Akses (ACL)

Menghidupkan ACL pada localhost

AMARAN: Kita mesti menyediakan ACL untuk localhost dahulu, supaya Pusat Kawalan itu sendiri masih boleh mengakses Kafka. Jika ini tidak dilakukan, keadaan akan rosak.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –tambah –benarkan-pengguna utama:ANONYMOUS –allow-host 127.0.0.1 –kluster
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –topic '*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –kumpulan '*'

Kami kemudiannya perlu mendayakan ACL untuk akses baca sahaja luaran, supaya pengguna luaran dibenarkan membaca topik paa.public.*.

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

NOTA: Untuk kawalan yang lebih terperinci, sila rujuk dokumentasi rasmi Kafka.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –tambah –benarkan-pengguna utama:* –operasi dibaca –operasi huraikan \ –kumpulan 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –tambah –benarkan-pengguna utama:* –operasi dibaca –operasi huraikan \ –topik paa.awam. –jenis-corak sumber diawalan

Setelah selesai dengan ini, anda perlu memulakan semula perkhidmatan:

### Entri ACL untuk pengguna luaran /usr/lib/kafka/bin/kafka-acls.sh \
  • perkhidmatan sudo ncc dimulakan semula

Untuk mengesahkan bahawa pelanggan boleh mewujudkan sambungan selamat, jalankan arahan berikut pada luaran
komputer klien (bukan pada pelayan Pusat Kawalan). Di bawah, PUBLIC_HOSTNAME ialah nama hos Pusat Kawalan:

  • openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Perundingan Semula Selamat IS disokong"

Dalam output arahan anda harus melihat sijil pelayan serta yang berikut:

  • Rundingan Semula Selamat IS disokong

Untuk memastikan perkhidmatan dalaman telah diberikan akses kepada pelayan Kafka, sila semak log berikutfiles:

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

Mengesahkan Ketersambungan Pelanggan Luaran

kafkacat

NOTA: Arahan ini akan dijalankan pada komputer klien (bukan pada pelayan Pusat Kawalan).
NOTA: Untuk memaparkan maklumat metrik, pastikan sekurang-kurangnya satu monitor berjalan dalam Pusat Kawalan.

Untuk mengesahkan dan mengesahkan ketersambungan sebagai pelanggan luaran, adalah mungkin untuk menggunakan utiliti kafkacat yang telah dipasang dalam bahagian "Mengesahkan Bahawa API Penstriman Berfungsi dalam Pusat Kawalan" pada halaman 4.
Lakukan langkah berikut:

NOTA: Di bawah, CLIENT_USER ialah pengguna yang dinyatakan sebelum ini dalam file /etc/kafka/server.properties dalam Pusat Kawalan: iaitu, pengguna_klien dan kata laluan yang ditetapkan di sana.
Sijil akar CA yang digunakan untuk menandatangani sijil SSL bahagian pelayan mesti ada pada klien.

Buat a file client.properties dengan kandungan berikut:

  • security.protocol=SASL_SSL
  • ssl.ca.location={PATH_TO_CA_CERT}
  • sasl.mechanisms=PLAIN
  • sasl.username={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

di mana

  • {PATH_TO_CA_CERT} ialah lokasi sijil akar CA yang digunakan oleh broker Kafka
  • {CLIENT_USER} dan {CLIENT_PASSWORD} ialah bukti kelayakan pengguna untuk pelanggan.

Jalankan arahan berikut untuk melihat mesej yang digunakan oleh kafkacat:

  • eksport KAFKA_FQDN=
  • eksport METRICS_TOPIC=paa.public.accounts. .metrik
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

dengan {METRICS_TOPIC} ialah nama topik Kafka dengan awalan "paa.public".

NOTA: Versi lama kafkacat tidak menyediakan pilihan -F untuk membaca tetapan klien daripada a file. Jika anda menggunakan versi sedemikian, anda mesti menyediakan tetapan yang sama dari baris arahan seperti yang ditunjukkan di bawah.

kafkacat -b ${KAFKA_FQDN}:9093 \

  • X security.protocol=SASL_SSL \
  • X ssl.ca.location={PATH_TO_CA_CERT} \
  • X sasl.mechanisms=PLAIN \
  • X sasl.username={CLIENT_USER} \
  • X sasl.password={CLIENT_PASSWORD} \
  • t ${METRICS_TOPIC} -C -e

Untuk nyahpepijat sambungan, anda boleh menggunakan pilihan -d:

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

Pastikan anda merujuk kepada dokumentasi untuk pustaka klien Kafka yang sedang digunakan, kerana sifat mungkin berbeza daripada yang ada dalam client.properties.

Format Mesej
Mesej yang digunakan untuk topik metrik dan metadata disiri dalam format penampan Protokol (protobuf) (lihat developers.google.com/protocol-buffers). Skema untuk mesej ini mematuhi format berikut:

Skema Protobuf Metrik

  • sintaks = "proto3";
  • import “google/protobuf/timestamp.proto”;
  • pakej paa.streamingapi;
  • pilihan go_package = “.;paa_streamingapi”;
  • mesej Metrik {
  • google.protobuf.Timestamp masaamp = 1;
  • peta nilai = 2;
  • int32 stream_id = 3;
  • }
  • /**
  • * Nilai metrik boleh sama ada integer atau apungan.
  • */
  • mesej MetricValue {
  • salah satu jenis {
  • int64 int_val = 1;
  • float float_val = 2;
  • }
  • }

Skema Protobuf Metadata

  • sintaks = "proto3";
  • pakej paa.streamingapi;
  • pilihan go_package = “.;paa_streamingapi”;
  • mesej Metadata {
  • int32 stream_id = 1;
  • rentetan stream_name = 2;
  • peta tags = 13;
  • }

Klien Cthamples

NOTA: Perintah ini bertujuan untuk dijalankan pada klien luaran, contohnyaampletakkan komputer riba anda atau yang serupa, dan bukan dalam Pusat Kawalan.
NOTA: Untuk memaparkan maklumat metrik, pastikan sekurang-kurangnya satu monitor berjalan dalam Pusat Kawalan.

Tarball Pusat Kawalan termasuk arkib paa-streaming-api-client-examples.tar.gz (client-examples), yang mengandungi bekasampSkrip Python yang menunjukkan cara menggunakan API Penstriman.

Memasang dan Mengkonfigurasi Klien Cthamples
Anda mencari bekas pelangganamples dalam folder Pusat Kawalan Jaminan Aktif Paragon:

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

Untuk memasang klien-examples pada komputer pelanggan luaran anda, teruskan seperti berikut:

  • # Buat direktori untuk mengekstrak kandungan klien examples tarball
  • mkdir paa-streaming-api-client-examples
  • # Ekstrak kandungan klien examples tarball
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
  • # Pergi ke direktori yang baru dibuat
  • cd paa-streaming-api-client-examples

pelanggan-examples memerlukan Docker untuk dijalankan. Muat turun dan arahan pemasangan untuk Docker boleh didapati di https://docs.docker.com/engine/install.

Menggunakan Client Examples
Bekas pelangganamples tools boleh dijalankan sama ada dalam mod asas atau lanjutan untuk membina exampkerumitan yang berbeza-beza. Dalam kedua-dua kes, ia juga mungkin untuk menjalankan bekasamples dengan konfigurasi file mengandungi sifat tambahan untuk penyesuaian lanjut bahagian pelanggan.

Mod Asas
Dalam mod asas, metrik dan metadatanya distrim secara berasingan. Untuk tujuan ini, pelanggan mendengar setiap topik Kafka yang tersedia untuk akses luaran dan hanya mencetak mesej yang diterima ke konsol.
Untuk memulakan pelaksanaan ex asasamples, jalankan:

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

dengan ACCOUNT_SHORTNAME ialah nama pendek akaun yang anda ingin dapatkan metrik.
Untuk menamatkan pelaksanaan bekasample, tekan Ctrl + C. (Mungkin terdapat sedikit kelewatan sebelum pelaksanaan dihentikan kerana pelanggan menunggu acara tamat masa.)

Mod Lanjutan

NOTA: Metrik dipaparkan hanya untuk monitor HTTP yang berjalan dalam Pusat Kawalan.

Pelaksanaan dalam mod lanjutan menunjukkan korelasi antara metrik dan mesej metadata. Ini adalah
mungkin terima kasih kepada kehadiran dalam setiap mesej metrik medan id aliran yang merujuk kepada mesej metadata yang sepadan.
Untuk melaksanakan ex lanjutanamples, jalankan:

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

dengan ACCOUNT_SHORTNAME ialah nama pendek akaun yang anda ingin dapatkan metrik.
Untuk menamatkan pelaksanaan bekasample, tekan Ctrl + C. (Mungkin terdapat sedikit kelewatan sebelum pelaksanaan dihentikan kerana pelanggan menunggu acara tamat masa.)

Tetapan Tambahan
Ia adalah mungkin untuk menjalankan bekasamples dengan konfigurasi tambahan klien menggunakan –config-file pilihan diikuti dengan a file nama yang mengandungi sifat dalam bentuk kunci=nilai.

  • build.sh run-advanced \
  • –kafka-brokers localhost:9092 \
  • –akaun ACCOUNT_SHORTNAME \
  • –config-file client_config.properties

NOTA: Semua files yang dirujuk dalam arahan di atas mesti terletak dalam direktori semasa dan dirujuk hanya menggunakan laluan relatif. Ini terpakai kepada kedua-dua –config-file hujah dan kepada semua entri dalam konfigurasi file yang menerangkan file lokasi.

Mengesahkan Pengesahan Pelanggan Luaran
Untuk mengesahkan pengesahan pelanggan dari luar Pusat Kawalan menggunakan klien-examples, lakukan langkah berikut:

Daripada folder Pusat Kawalan Jaminan Aktif Paragon, tukar kepada paa-streaming-api-client-exampfolder les:

cd paa-streaming-api-client-examples

  • Salin sijil akar CA ca-cert ke dalam direktori semasa.
  • Buat klien.properties file dengan kandungan berikut:

security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

dengan {CLIENT_USER} dan {CLIENT_PASSWORD} ialah bukti kelayakan pengguna untuk pelanggan.

Jalankan ex asasamples:

  • eksport KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –akaun ACCOUNT_SHORTNAME
  • –config-file klien.harta benda

dengan ACCOUNT_SHORTNAME ialah nama pendek akaun yang anda ingin dapatkan metrik.

Jalankan bekas lanjutanamples:

  • eksport KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –akaun ACCOUNT_SHORTNAME
  • –config-file klien.harta benda

Lampiran

Dalam lampiran ini kami menerangkan cara membuat:

  • sebuah kedai kunci file untuk menyimpan sijil SSL broker Kafka
  • sebuah kedai amanah file untuk menyimpan sijil akar Certificate Authority (CA) yang digunakan untuk menandatangani sijil broker Kafka.

Mencipta Sijil Broker Kafka
Mencipta Sijil Menggunakan Pihak Berkuasa Sijil Sebenar (Disyorkan)
Anda disyorkan agar mendapatkan sijil SSL sebenar daripada CA yang dipercayai.
Sebaik sahaja anda membuat keputusan mengenai CA, salin sijil akar CA mereka ca-cert file ke laluan anda sendiri seperti yang ditunjukkan di bawah:

  • eksport CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • cp ca-cert ${CA_PATH}

Cipta Pihak Berkuasa Sijil Anda Sendiri

NOTA: Biasanya anda harus mempunyai sijil anda ditandatangani oleh Pihak Berkuasa Sijil sebenar; lihat subseksyen sebelumnya. Yang seterusnya hanyalah bekasample.

Di sini kami mencipta sijil akar Certificate Authority (CA) kami sendiri file sah selama 999 hari (tidak disyorkan dalam pengeluaran):

  • # Buat direktori untuk menyimpan CA
  • eksport CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Jana sijil CA
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

Mencipta Kedai Amanah Pelanggan
Kini anda boleh membuat kedai amanah file yang mengandungi sijil-ca yang dijana di atas. ini file akan diperlukan oleh pelanggan Kafka yang akan mengakses API Penstriman:

  • keytool -keystore kafka.client.truststore.jks \
    • alias CARoot \
    • importcert -file ${CA_PATH}/ca-cert

Memandangkan sijil CA berada di kedai amanah, pelanggan akan mempercayai mana-mana sijil yang ditandatangani dengannya.
Anda harus menyalin file kafka.client.truststore.jks ke lokasi yang diketahui pada komputer pelanggan anda dan tuding kepadanya dalam tetapan.

Mencipta Keystore untuk Broker Kafka
Untuk menjana sijil SSL broker Kafka dan kemudian kedai utama kafka.server.keystore.jks, teruskan seperti berikut:

Menjana Sijil SSL
Di bawah, 999 ialah bilangan hari kesahihan stor kunci dan FQDN ialah nama domain pelanggan yang layak sepenuhnya (nama hos awam nod).

NOTA: Adalah penting bahawa FQDN sepadan dengan nama hos yang tepat yang akan digunakan oleh pelanggan Kafka untuk menyambung ke Pusat Kawalan.

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

Buat permintaan menandatangani sijil dan simpannya dalam file dinamakan permintaan-pelayan-perakuan:

  • keytool -keystore kafka.server.keystore.jks \
    • – pelayan alias \
    • – certreq \
    • – file permintaan-pelayan-sijil

Anda kini perlu menghantar file permintaan-pelayan-sijil kepada Pihak Berkuasa Sijil (CA) anda jika anda menggunakan yang sebenar. Mereka kemudiannya akan memulangkan sijil yang ditandatangani. Kami akan merujuk kepada ini sebagai sijil-server-signed di bawah.

Menandatangani Sijil SSL Menggunakan Sijil CA yang dibuat sendiri

NOTA: Sekali lagi, menggunakan CA anda sendiri tidak disyorkan dalam sistem pengeluaran.

Tandatangan sijil menggunakan CA melalui file cert-server-request, yang menghasilkan sijil yang ditandatangani sijil-server-signed. Lihat di bawah; ca-password ialah kata laluan yang ditetapkan semasa membuat sijil CA.

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-key \
    • – dalam permintaan-pelayan-sijil \
    • – ditandatangani pelayan sijil \
    • – hari 999 -CAcreateserial \
    • – passin pass:{ca-password}

Mengimport Sijil yang Ditandatangani ke dalam Keystore

Import sijil akar ca-cert ke dalam stor kunci:

  • keytool -keystore kafka.server.keystore.jks \
    • – alias ca-cert \
    • – import \
    • – file ${CA_PATH}/ca-cert

Import sijil yang ditandatangani yang dirujuk sebagai ditandatangani oleh pelayan-sijil:

  • keytool -keystore kafka.server.keystore.jks \
    • – pelayan alias \
    • – import \
    • – file ditandatangani pelayan sijil

The file kafka.server.keystore.jks hendaklah disalin ke lokasi yang diketahui pada pelayan Pusat Kawalan, dan kemudian dirujuk dalam /etc/kafka/server.properties.

Menggunakan API Penstriman

DALAM BAHAGIAN INI

  • Am | 20
  • Nama Topik Kafka | 21
  • Examples daripada Menggunakan API Penstriman | 21

Umum
API penstriman mengambil kedua-dua data ujian dan pantau. Tidak mungkin untuk memilih salah satu daripada kategori ini.
API penstriman tidak mengambil data daripada ujian berasaskan skrip (yang diwakili oleh segi empat tepat dan bukannya kepingan jigsaw dalam GUI Pusat Kawalan), seperti ujian pengaktifan perkhidmatan Ethernet dan ujian ketelusan.

Nama Topik Kafka
Nama topik Kafka untuk API penstriman adalah seperti berikut, dengan %s ialah nama pendek akaun Pusat Kawalan (ditunjukkan semasa membuat akaun):

  • const (
  • nama pengeksport = "kafka"
  • metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )

Examples daripada Menggunakan API Penstriman
bekas ituamples yang berikut terdapat dalam tarball paa-streaming-api-client-examples.tar.gz yang terkandung dalam tarball Pusat Kawalan.
Pertama, terdapat bekas asasampmenunjukkan cara metrik dan metadatanya distrim secara berasingan dan hanya mencetak mesej yang diterima ke konsol. Anda boleh menjalankannya seperti berikut:

  • sudo ./build.sh run-basic –kafka-brokers localhost:9092 –akaun ACCOUNT_SHORTNAME

Terdapat juga bekas yang lebih majuamptempat metrik dan mesej metadata dikaitkan. Gunakan arahan ini untuk menjalankannya:

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

Anda perlu menggunakan sudo untuk menjalankan arahan Docker seperti yang di atas. Secara pilihan, anda boleh mengikuti langkah pasca pemasangan Linux untuk dapat menjalankan arahan Docker tanpa sudo. Untuk butiran, pergi ke docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logo Juniper Networks, Juniper dan Junos ialah tanda dagangan berdaftar Juniper Networks, Inc. di Amerika Syarikat dan negara lain. Semua tanda dagangan lain, tanda perkhidmatan, tanda berdaftar atau tanda perkhidmatan berdaftar adalah hak milik pemilik masing-masing. Juniper Networks tidak bertanggungjawab untuk sebarang ketidaktepatan dalam dokumen ini. Juniper Networks berhak untuk menukar, mengubah suai, memindahkan, atau sebaliknya menyemak semula penerbitan ini tanpa notis. Hak Cipta © 2023 Juniper Networks, Inc. Semua hak terpelihara.

Dokumen / Sumber

Perisian API Penstriman Juniper NETWORKS [pdf] Panduan Pengguna
Perisian API Penstriman, Perisian API, Perisian

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *