Logo Juniper NETWORKSPandhuan API Streaming
Diterbitake
2023-07-07
RELEASE
4.2

Pambuka

Pandhuan iki nerangake carane ngekstrak data saka Paragon Active Assurance liwat API streaming produk.
API uga klien streaming kalebu ing instalasi Paragon Active Assurance.
Nanging, sawetara konfigurasi dibutuhake sadurunge sampeyan bisa nggunakake API. Iki dijamin ing "Konfigurasi API Streaming" ing kaca 1 bab.

Konfigurasi Streaming API

Swaraview
Bab iki njlèntrèhaké cara ngatur API Streaming kanggo ngidini langganan pesen metrik liwat Kafka.
pr
Ing ngisor iki kita bakal ngliwati:

  • Carane ngaktifake Streaming API
  • Cara ngatur Kafka kanggo ngrungokake klien eksternal
  • Carane ngatur Kafka kanggo nggunakake ACLs lan nyetel enkripsi SSL kanggo klien ngandika

Kafka minangka platform streaming acara sing ngidini njupuk data wektu nyata sing dikirim saka macem-macem sumber acara (sensor, basis data, piranti seluler) ing wangun stream acara, uga nyimpen awet saka aliran acara iki kanggo njupuk maneh lan manipulasi.
Kanthi Kafka, sampeyan bisa ngatur acara streaming end-to-end kanthi cara sing disebarake, skalabel, elastis, tahan kesalahan, lan aman.
CATETAN: Kafka bisa dikonfigurasi kanthi macem-macem cara lan dirancang kanggo skalabilitas lan sistem sing berlebihan. Dokumen iki mung fokus ing carane ngatur kanggo nggunakake fitur Streaming API ditemokaké ing Paragon Active Assurance Control Center. Kanggo persiyapan sing luwih maju, deleng dokumentasi Kafka resmi: kafka.apache.org/26/documentation.html.

Terminologi

  • Kafka: Platform streaming acara.
  • Topik Kafka: Koleksi acara.
  • Pelanggan / konsumen Kafka: Komponen sing tanggung jawab kanggo njupuk acara sing disimpen ing topik Kafka.
  • Broker Kafka: Server lapisan panyimpenan saka kluster Kafka.
  • SSL/TLS: SSL minangka protokol aman sing dikembangake kanggo ngirim informasi kanthi aman liwat Internet. TLS minangka penerus SSL, dikenalaké ing taun 1999.
  • SASL: Kerangka sing nyedhiyakake mekanisme kanggo otentikasi pangguna, mriksa integritas data, lan enkripsi.
  • Pelanggan API Streaming: Komponen sing tanggung jawab kanggo njupuk acara sing disimpen ing topik sing ditetepake ing Paragon Active Assurance lan ditrapake kanggo akses eksternal.
  • Otoritas Sertifikat: Entitas dipercaya sing ngetokake lan mbatalake sertifikat kunci umum.
  • Sertifikat ROOT Certificate Authority: Sertifikat kunci umum sing ngenali Otoritas Sertifikat.

Carane Streaming API Works
Kaya sing wis kasebut sadurunge, API Streaming ngidini klien eksternal njupuk informasi babagan metrik saka Kafka.
Kabeh metrik sing diklumpukake dening Agen Tes sajrone tugas tes utawa ngawasi dikirim menyang layanan Stream.
Sawise tahap pangolahan, layanan Stream nerbitake metrik kasebut ing Kafka bebarengan karo metadata tambahan.Juniper NETWORKS Streaming API Active Assurance - Cara Kerja Streaming APITopik Kafka
Kafka duwe konsep topik sing kabeh data diterbitake. Ing Paragon Active Assurance ana akeh topik Kafka sing kasedhiya; Nanging, mung subset kasebut kanggo akses eksternal.
Saben akun Paragon Active Assurance ing Pusat Kontrol duwe rong topik khusus. Ing ngisor iki, AKUN minangka jeneng singkat akun:

  • paa.public.accounts.{ACCOUNT}.metrics
  • Kabeh pesen metrik kanggo akun tartamtu diterbitake kanggo topik iki
  • Jumlah gedhe saka data
  • Frekuensi nganyari dhuwur
  • paa.public.accounts.{ACCOUNT}.metadata
  • Ngandhut metadata sing ana gandhengane karo data metrik, contoneample test, monitor utawa Test Agent gadhah metrik
  • Jumlah cilik saka data
  • Frekuensi nganyari kurang

Ngaktifake Streaming API
CATETAN: Pandhuan kasebut kudu ditindakake ing server Pusat Kontrol nggunakake sudo.
Wiwit Streaming API nambah sawetara overhead menyang Control Center, iku ora diaktifake minangka standar. Kanggo ngaktifake API, kita kudu ngaktifake penerbitan metrik menyang Kafka ing konfigurasi utama file:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = Bener
WARNING: Ngaktifake fitur iki bisa nyebabake kinerja Pusat Kontrol. Priksa manawa sampeyan wis dimension instance sampeyan.
Sabanjure, kanggo ngaktifake terusake metrik kasebut menyang topik Kafka sing bener:

  • /etc/netrounds/metrics.yaml

streaming-api: bener
Kanggo ngaktifake lan miwiti layanan Streaming API, bukak:
Layanan sudo ncc ngaktifake metrik timescaledb
Layanan sudo ncc miwiti metrik timescaledb
Pungkasan, miwiti maneh layanan:
layanan sudo ncc diwiwiti maneh
Verifikasi manawa API Streaming Makarya ing Pusat Kontrol
CATETAN: Pandhuan kasebut kudu ditindakake ing server Pusat Kontrol.
Sampeyan saiki bisa verifikasi yen sampeyan nampa metrik babagan topik Kafka sing bener. Kanggo nindakake, instal utilitas kafkacat:
sudo apt-get nganyari
sudo apt-get nginstal kafkacat
Yen sampeyan duwe tes utawa monitor sing mlaku ing Pusat Kontrol, sampeyan kudu bisa nggunakake kafkacat kanggo nampa metrik lan metadata babagan topik kasebut.
Ganti akunku nganggo jeneng singkat akun sampeyan (iki sing sampeyan deleng ing Pusat Kontrol URL):
ekspor METRICS_TOPIC=paa.public.accounts.myaccount.metrics
ngekspor METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Sampeyan saiki kudu ndeleng metrik kanthi mbukak printah iki:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Kanggo view metadata, jalanake printah ing ngisor iki (cathetan yen iki ora bakal dianyari kanthi kerep):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
CATETAN:
kafkacat”Klien Examples ”ing kaca 14
Iki verifikasi manawa kita duwe API Streaming sing bisa digunakake saka Pusat Kontrol. Nanging, paling kamungkinan sampeyan kasengsem ing ngakses data saka klien external tinimbang. Bagean sabanjure nerangake carane mbukak Kafka kanggo akses eksternal.
Mbukak Kafka kanggo Host Eksternal
CATETAN: Pandhuan kasebut kudu ditindakake ing server Pusat Kontrol.
Kanthi gawan, Kafka sing mlaku ing Pusat Kontrol dikonfigurasi mung ngrungokake localhost kanggo panggunaan internal.
Sampeyan bisa mbukak Kafka kanggo klien eksternal kanthi ngowahi setelan Kafka.
Nyambung menyang Kafka: Caveats
Juniper NETWORKS Streaming API Aktif Assurance - Simbol AWAS: Waca iki kanthi ati-ati, amarga gampang nemoni masalah sambungan karo Kafka yen sampeyan durung ngerti konsep kasebut.
Ing persiyapan Pusat Kontrol sing diterangake ing dokumen iki, mung ana siji broker Kafka.
Nanging, elinga yen makelar Kafka dimaksudake minangka bagean saka klompok Kafka sing bisa uga kalebu akeh makelar Kafka.
Nalika nyambungake menyang makelar Kafka, sambungan wiwitan digawe dening klien Kafka. Liwat sambungan iki, broker Kafka bakal ngasilake dhaptar "pendengar sing diiklanake", yaiku dhaptar siji utawa luwih makelar Kafka.
Nalika nampa dhaptar iki, klien Kafka bakal medhot sambungan, banjur nyambung maneh menyang salah sawijining pamireng sing diiklanake. Pamireng sing diiklanake kudu ngemot jeneng host utawa alamat IP sing bisa diakses dening klien Kafka, utawa klien bakal gagal nyambung.
Yen enkripsi SSL digunakake, nglibatno SSL certificate kang disambungake menyang hostname tartamtu, iku malah luwih penting sing klien Kafka nampa alamat sing bener kanggo nyambung menyang, amarga yen sambungan bisa ditolak.
Waca liyane babagan pamireng Kafka ing kene: www.confluent.io/blog/kafka-listeners-explained
Enkripsi SSL/TLSE
Kanggo mesthekake mung klien sing dipercaya sing diidini ngakses Kafka lan API Streaming, kita kudu ngatur ing ngisor iki:

  • Otentikasi: Klien kudu menehi jeneng pangguna lan sandhi liwat sambungan aman SSL/TLS antarane klien lan Kafka.
  • Wewenang: Klien sing wis dikonfirmasi bisa nindakake tugas sing diatur dening ACL.

Punika rampungview:
Juniper NETWORKS Streaming API Active Assurance - Cara Kerja Streaming API 1*) Otentikasi jeneng pangguna/sandi ditindakake ing saluran sing dienkripsi SSL

Kanggo mangerteni kanthi lengkap cara enkripsi SSL/TLS kanggo Kafka, waca dokumentasi resmi: docs.confluent.io/platform/current/kafka/encryption.html
Sertifikat SSL/TLSview
CATETAN: Ing bagean iki kita bakal nggunakake terminologi ing ngisor iki:
Sertifikat: Sertifikat SSL sing ditandatangani dening Certificate Authority (CA). Saben makelar Kafka duwe siji.
Keystore: Toko kunci file sing nyimpen sertifikat. Toko kunci file ngemot kunci pribadi sertifikat; mulane kudu dijaga kanthi aman.
Toko Amanah: A file ngemot sertifikat CA sing dipercaya.
Kanggo nyiyapake otentikasi antarane klien eksternal lan Kafka sing mlaku ing Pusat Kontrol, loro-lorone kudu duwe keystore sing ditetepake karo sertifikat sing ana gandhengane sing ditandatangani dening Certificate Authority (CA) bebarengan karo sertifikat ROOT CA.
Saliyane iki, klien uga kudu duwe truststore karo sertifikat ROOT CA.
Sertifikat ROOT CA umum kanggo broker Kafka lan klien Kafka.
Nggawe Sertifikat sing Dibutuhake
Iki katutup ing "Lampiran" ing kaca 17.
Konfigurasi SSL/TLS Broker Kafka ing Pusat Kontrol
CATETAN: Pandhuan iki kudu ditindakake ing server Pusat Kontrol.
CATETAN: Sadurunge nerusake, sampeyan kudu nggawe keystore sing ngemot sertifikat SSL kanthi nuruti pandhuan ing "Lampiran" ing kaca 17. Path kasebut ing ngisor iki asale saka pandhuan kasebut.
Keystore SSL yaiku a file disimpen ing disk karo file extension .jks.
Yen sampeyan duwe sertifikat sing dibutuhake digawe kanggo broker Kafka lan klien Kafka kasedhiya, sampeyan bisa nerusake kanthi ngonfigurasi broker Kafka sing mlaku ing Pusat Kontrol. Sampeyan kudu ngerti ing ngisor iki:

  • : Jeneng umum saka Pusat Kontrol; iki kudu ditanggulangi lan diakses dening klien Kafka.
  • : Sandi keystore sing diwenehake nalika nggawe sertifikat SSL.
  • lan : Iki minangka sandhi sing pengin disetel kanggo pangguna admin lan klien. Elinga yen sampeyan bisa nambah pangguna liyane, kaya sing dituduhake ing example.

Owahi utawa tambahake (kanthi akses sudo) properti ing ngisor iki ing /etc/kafka/server.properties, lebokake variabel ing ndhuwur kaya sing ditampilake:
Juniper NETWORKS Streaming API Aktif Assurance - Simbol PÈNGET: Aja mbusak PLAINTEXT: // localhost: 9092; iki bakal break fungsi Control Center wiwit layanan internal ora bakal bisa kanggo komunikasi.


# Alamat sing dirungokake broker Kafka.
listeners=PLAINTEXT: // localhost: 9092, SASL_SSL: // 0.0.0.0: 9093
# Iki minangka host sing diiklanake maneh menyang klien sing nyambung.
advertised.listeners=PLAINTEXT: // localhost: 9092, SASL_SSL: // :9093

###### KONFIG CUSTOM
# KONFIGURASI SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.sandi=
ssl.key.sandi=
ssl.client.auth=ora ana
ssl.protocol=TLSv1.2
# Konfigurasi SASL
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
kudune kudu \
username=”admin” \
sandi =” ”\
pangguna_admin=" ”\
pangguna_klien =” ”;
# CATETAN luwih akeh pangguna bisa ditambah karo user_ =
# Wewenang, nguripake ACLs
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=Panganggo:admin

Nggawe Daftar Kontrol Akses (ACL)
Nguripake ACL ing localhost
Juniper NETWORKS Streaming API Aktif Assurance - Simbol WARNING: Kita kudu nyiyapake ACL kanggo localhost, supaya Pusat Kontrol dhewe isih bisa ngakses Kafka. Yen iki ora rampung, iku bakal break.

######## Entri ACLs kanggo pangguna anonim
/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 –cluster
/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 –group '*'

Kita banjur kudu ngaktifake ACLs kanggo akses maca-mung external, supaya kedhaftar external diijini kanggo maca topik paa.public.*.
CATETAN: Kanggo kontrol sing luwih apik, waca dokumentasi resmi Kafka.

######## Entri ACLs kanggo pangguna njaba
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operation read –operation describe \
-grup 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operation read –operation describe \
–topik paa.umum. –resource-pola-jinis awalan

Sawise rampung iki, sampeyan kudu miwiti maneh layanan:
layanan sudo ncc diwiwiti maneh
Kanggo verifikasi manawa klien bisa nggawe sambungan sing aman, jalanake printah ing ngisor iki ing komputer klien eksternal (ora ing server Pusat Kontrol). Ing ngisor iki, PUBLIC_HOSTNAME minangka jeneng host Pusat Kontrol:
openssl s_client -debug -nyambung ${PUBLIC_HOSTNAME}: 9093 -tls1_2 | grep "Secure Renegotiation IS didhukung"
Ing output printah sampeyan kudu ndeleng sertifikat server uga ing ngisor iki:
Aman Renegotiation IS didhukung
Kanggo mesthekake yen layanan internal wis diwenehi akses menyang server Kafka, priksa log ing ngisor ikifiles:

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

Validasi Konektivitas Klien Eksternal
kafkacat
CATETAN: Pandhuan kasebut kudu ditindakake ing komputer klien (ora ing server Pusat Kontrol).
CATETAN: Kanggo nampilake informasi metrik, priksa manawa paling ora siji monitor mlaku ing Pusat Kontrol.
Kanggo verifikasi lan validasi konektivitas minangka klien eksternal, sampeyan bisa nggunakake utilitas kafkacat sing wis diinstal ing bagean "Verifikasi manawa API Streaming Makarya ing Pusat Kontrol" ing kaca 4.
Tindakake langkah ing ngisor iki:
CATETAN: Ing ngisor iki, CLIENT_USER minangka pangguna sing sadurunge kasebut ing file /etc/kafka/server.properties ing Control Center: yaiku, user_client lan sandhi disetel ana.
Sertifikat ROOT CA sing digunakake kanggo mlebu sertifikat SSL sisih server kudu ana ing klien.

  • Nggawe a file client.properties kanthi isi ing ngisor iki:

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

  • {PATH_TO_CA_CERT} minangka lokasi sertifikat root CA sing digunakake dening broker Kafka
  • {CLIENT_USER} lan {CLIENT_PASSWORD} minangka kredensial pangguna kanggo klien.
  • Jalanake printah ing ngisor iki kanggo ndeleng pesen sing dikonsumsi dening kafkacat:

ngekspor KAFKA_FQDN=
ekspor METRICS_TOPIC=paa.public.accounts. .metrik
kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
{METRICS_TOPIC} minangka jeneng topik Kafka kanthi awalan "paa.public.".

CATETAN: Versi lawas saka kafkacat ora menehi pilihan -F kanggo maca setelan klien saka a file. Yen sampeyan nggunakake versi kuwi, sampeyan kudu nyedhiyani setelan padha saka baris printah minangka kapacak ing ngisor iki.

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
Kanggo debug konektivitas, sampeyan bisa nggunakake opsi -d:

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

Priksa manawa sampeyan ngrujuk menyang dokumentasi kanggo perpustakaan klien Kafka sing digunakake, amarga properti bisa beda karo sing ana ing client.properties.
Format Pesen
Pesen sing digunakake kanggo metrik lan topik metadata disusun ing format buffer Protokol (protobuf). developers.google.com/protocol-buffers). Skema kanggo pesen kasebut manut format ing ngisor iki:

Skema Protobuf Metrik

sintaks = "proto3";
ngimpor "google/protobuf/timestamp.proto”;
paket paa.streamingapi;
pilihan go_package = ".;paa_streamingapi";
pesen Metrik {
google.protobuf.Timestamp kapingamp = 1;
peta angka = 2;
int32 stream_id = 3;
}
/**
* Nilai metrik bisa dadi integer utawa float.
*/
pesen MetricValue {
salah siji jinis {
int64 int_val = 1;
float float_val = 2;
}
}

Skema Protobuf Metadata

sintaks = "proto3";
paket paa.streamingapi;
pilihan go_package = ".;paa_streamingapi";
pesen Metadata {
int32 stream_id = 1;
string stream_name = 2;
peta tags = 13;
}

Klien Examples

CATETAN: Printah iki dimaksudaké kanggo mbukak ing klien external, kanggo Example laptop utawa padha, lan ora ing Control Center.
CATETAN: Supaya informasi metrik ditampilake, priksa manawa paling ora siji monitor mlaku ing Pusat Kontrol.
Tarball Pusat Kontrol kalebu arsip paa-streaming-api-client-examples.tar.gz (klien-examples), sing ngandhut example script Python nuduhake carane nggunakake API Streaming.
Nginstal lan Konfigurasi Klien Examples
Sampeyan nemokake klien-examples ing folder Paragon Active Assurance Control Center:

ngekspor CC_VERSION=4.2.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-klien-examples*
Kanggo nginstal client-examples ing komputer klien eksternal sampeyan, tindakake ing ngisor iki:
# Gawe direktori kanggo ngekstrak konten klienamples tarball
mkdir paa-streaming-api-client-examples
# Ekstrak konten klien examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Pindhah menyang direktori sing mentas digawe
cd paa-streaming-api-client-examples
klien-examples mbutuhake Docker kanggo mbukak. Download lan instruksi instalasi kanggo Docker bisa ditemokake ing https://docs.docker.com/engine/install.

Nggunakake Klien Examples
Klien-examples alat bisa mbukak ing salah siji mode dhasar utawa majeng kanggo mbangun Examples saka macem-macem kerumitan. Ing kasus loro, iku uga bisa kanggo mbukak mantanamples karo konfigurasi file ngemot properti tambahan kanggo kustomisasi luwih saka sisih klien.
Mode dhasar
Ing mode dhasar, metrik lan metadata kasebut dialirake kanthi kapisah. Kanggo tujuan iki, klien ngrungokake saben topik Kafka sing kasedhiya kanggo akses eksternal lan mung nyithak pesen sing ditampa menyang konsol.
Kanggo miwiti eksekusi ex dhasaramples, mlaku:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ngendi ACCOUNT_SHORTNAME minangka jeneng singkat saka akun sing pengin sampeyan entuk metrik.
Kanggo mungkasi eksekusi mantanample, pencet Ctrl + C. (Bisa uga ana wektu tundha sethithik sadurunge eksekusi mandheg amarga klien ngenteni acara wektu entek.)
Mode Lanjut
CATETAN: Metrik ditampilake mung kanggo monitor HTTP sing mlaku ing Pusat Kontrol.
Eksekusi ing mode lanjut nuduhake korélasi antarane metrik lan pesen metadata. Iki bisa uga amarga ana ing saben pesen metrik kolom id stream sing nuduhake pesen metadata sing cocog.
Kanggo nglakokaké ex majengamples, mlaku:
./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ngendi ACCOUNT_SHORTNAME minangka jeneng singkat saka akun sing pengin sampeyan entuk metrik.
Kanggo mungkasi eksekusi mantanample, pencet Ctrl + C. (Bisa uga ana wektu tundha sethithik sadurunge eksekusi mandheg amarga klien ngenteni acara wektu entek.)
Setelan tambahan
Iku bisa kanggo mbukak mantanamples karo konfigurasi tambahan saka klien nggunakake –config-file pilihan ngiring dening a file jeneng sing ngemot properti ing tombol formulir = nilai.
./build.sh run-advanced \
–kafka-brokers localhost:9092 \
–akun ACCOUNT_SHORTNAME \
–konfigurasi-file client_config.properties

CATETAN: Kabeh files referensi ing printah ndhuwur kudu dumunung ing direktori saiki lan diarani mung nggunakake path relatif. Iki ditrapake kanggo -config-file argumen lan kanggo kabeh entri ing konfigurasi file sing nggambarake file panggonan.
Validasi Otentikasi Klien Eksternal
Kanggo validasi otentikasi klien saka njaba Pusat Kontrol nggunakake klien-examples, tindakake langkah ing ngisor iki:

  • Saka folder Paragon Active Assurance Control Center, pindhah menyang paa-streaming-api-clientexampfolder kasebut:
    cd paa-streaming-api-client-examples
  • Salin sertifikat root CA ca-cert menyang direktori saiki.
  • Nggawe klien.properti file kanthi isi ing ngisor iki:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=PLAIN
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD}
    {CLIENT_USER} lan {CLIENT_PASSWORD} minangka kredensial pangguna kanggo klien.
  • Run dhasar examples:
    ngekspor KAFKA_FQDN=
    ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
    –akun ACCOUNT_SHORTNAME
    –konfigurasi-file klien.properti
    ngendi ACCOUNT_SHORTNAME minangka jeneng singkat saka akun sing pengin sampeyan entuk metrik.
  • Run maju examples:
    ngekspor KAFKA_FQDN=
    ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
    –akun ACCOUNT_SHORTNAME
    –konfigurasi-file klien.properti

Lampiran
Ing lampiran iki kita nerangake carane nggawe:

  • toko kunci file kanggo nyimpen sertifikat SSL broker Kafka
  • toko amanah file kanggo nyimpen Certificate Authority (CA) sertifikat ROOT digunakake kanggo mlebu certificate broker Kafka.

Nggawe Sertifikat Broker Kafka
Nggawe Sertifikat Nggunakake Otoritas Sertifikat Nyata (Disaranake)
Disaranake sampeyan entuk sertifikat SSL nyata saka CA sing dipercaya.
Yen sampeyan wis mutusaké ing CA, nyalin CA ROOT certificate ca-cert file menyang dalan sampeyan dhewe kaya sing ditampilake ing ngisor iki:
ngekspor CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
Nggawe Otoritas Sertifikat Panjenengan
CATETAN: Biasane sampeyan kudu duwe sertifikat sing ditandatangani dening Otoritas Sertifikat sing nyata; ndeleng subbagean sadurunge. Sing ngisor iki mung mantanample.
Ing kene kita nggawe sertifikat root Certificate Authority (CA) dhewe file valid kanggo 999 dina (ora dianjurake ing produksi):
# Gawe direktori kanggo nyimpen CA
ngekspor CA_PATH=~/my-ca
mkdir ${CA_PATH}
# Gawe sertifikat CA
openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

Nggawe Truststore Klien
Saiki sampeyan bisa nggawe truststore file sing ngemot ca-cert kui ndhuwur. Iki file bakal dibutuhake dening klien Kafka sing bakal ngakses Streaming API:

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

Saiki sertifikat CA ana ing toko amanah, klien bakal ngandelake sertifikat sing ditandatangani.
Sampeyan kudu nyalin file kafka.client.truststore.jks menyang lokasi sing dikenal ing komputer klien lan arahake menyang setelan kasebut.
Nggawe Keystore kanggo Broker Kafka
Kanggo ngasilake sertifikat SSL broker Kafka banjur keystore kafka.server.keystore.jks, tindakake kaya ing ngisor iki:
Nggawe Sertifikat SSL
Ing ngisor iki, 999 minangka jumlah dina validitas keystore, lan FQDN minangka jeneng domain klien sing mumpuni (jeneng host umum saka simpul).
CATETAN: Penting yen FQDN cocog karo jeneng host sing bakal digunakake klien Kafka kanggo nyambung menyang Pusat Kontrol.
sudo mkdir -p /var/ssl/private
sudo chown -R $ USER: /var/ssl/private
cd /var/ssl/pribadi
ekspor FQDN =
keytool -keystore kafka.server.keystore.jks \
-alias server\
- validitas 999 \
-genkey -keyalg RSA -ext SAN=dns:${FQDN}
Nggawe panjalukan tandha sertifikat lan simpen ing file jenenge cert-server-request:
keytool -keystore kafka.server.keystore.jks \
-alias server\
-certreq\
-file panjalukan-server-cert

Sampeyan saiki kudu ngirim file cert-server-request menyang Certificate Authority (CA) yen sampeyan nggunakake sing asli. Dheweke banjur bakal ngasilake sertifikat sing ditandatangani. Kita bakal nyebut iki minangka cert-server-signed ing ngisor iki.
Mlebu Sertifikat SSL Nggunakake Sertifikat CA sing digawe dhewe
CATETAN: Maneh, nggunakake CA dhewe ora dianjurake ing sistem produksi.
Tandha sertifikat nggunakake CA kanthi file cert-server-request, sing ngasilake sertifikat sing ditandatangani cert-server-signed. Deleng ing ngisor iki; ca-sandi iku sandi disetel nalika nggawe certificate CA.

cd /var/ssl/pribadi
openssl x509 -req \
-CA ${CA_PATH}/ca-cert \
-CAkey ${CA_PATH}/ca-key \
-ing cert-server-request \
-metu sertifikat-server-signed \
-dina 999 -CAcreateserial \
-passin pass: {ca-sandi}

Ngimpor Sertifikat sing Ditandatangani menyang Keystore
Ngimpor sertifikat root ca-cert menyang keystore:
keytool -keystore kafka.server.keystore.jks \
-alias ca-cert \
-impor \
-file ${CA_PATH}/ca-cert
Impor sertifikat sing ditandatangani diarani minangka tandha-server-sertifikat:
keytool -keystore kafka.server.keystore.jks \
-alias server\
-impor \
-file cert-server-signed
Ing file kafka.server.keystore.jks kudu disalin menyang lokasi sing dikenal ing server Control Center, banjur diarani ing /etc/kafka/server.properties.

Nggunakake Streaming API

Umum
API streaming njupuk data tes lan monitor. Sampeyan ora bisa milih salah siji saka kategori kasebut.
API streaming ora njupuk data saka tes adhedhasar skrip (sing diwakili dening persegi dowo tinimbang potongan jigsaw ing GUI Pusat Kontrol), kayata tes aktivasi layanan Ethernet lan tes transparansi.

Jeneng Topik Kafka
Jeneng topik Kafka kanggo streaming API kaya ing ngisor iki, ing ngendi %s minangka jeneng cendhak akun Pusat Kontrol (dituduhake nalika nggawe akun):

const (
exporterName = "kafka"
metadataTopicTpl = "paa.public.accounts.%s.metadata"
metricsTopicTpl = "paa.public.accounts.%s.metrics"
)

Examples saka Nggunakake Streaming API
mantanamples sing nderek ditemokake ing tarball paa-streaming-api-klien-examples.tar.gz sing ana ing tarball Pusat Kontrol.
Kaping pisanan, ana mantan dhasarample nuduhake carane metrik lan metadata sing stream kapisah lan mung print pesen ditampa menyang console. Sampeyan bisa mbukak kaya ing ngisor iki:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Ana uga mantan sing luwih majuamping ngendi metrik lan pesen metadata ana hubungane. Gunakake printah iki kanggo mbukak:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Sampeyan kudu nggunakake sudo kanggo mbukak perintah Docker kayata ing ndhuwur. Opsional, sampeyan bisa ngetutake langkah-langkah pasca instalasi Linux supaya bisa mbukak perintah Docker tanpa sudo. Kanggo rincian, pindhah menyang docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logo Juniper Networks, Juniper, lan Junos minangka merek dagang kadhaptar saka Juniper Networks, Inc. ing Amerika Serikat lan negara liyane. Kabeh merek dagang liyane, merek layanan, merek kadhaptar, utawa merek layanan sing kadhaptar minangka properti sing nduweni. Juniper Networks ora tanggung jawab kanggo akurasi ing dokumen iki. Juniper Networks nduweni hak kanggo ngganti, ngowahi, nransfer, utawa ngowahi publikasi iki tanpa kabar. Hak cipta © 2023 Juniper Networks, Inc. Kabeh hak dilindhungi undhang-undhang.

Logo Juniper NETWORKS

Dokumen / Sumber Daya

Juniper NETWORKS Streaming API Aktif Assurance [pdf] Pandhuan pangguna
Streaming API Active Assurance, API Active Assurance, Active Assurance, Assurance

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *