Logoja e RRJETAVE dëllinjëUdhëzuesi i transmetimit API
Publikuar
2023-07-07
LIRIMI
4.2

Hyrje

Ky udhëzues përshkruan se si të nxirren të dhëna nga Paragon Active Assurance nëpërmjet API-së së transmetimit të produktit.
API si dhe klienti i transmetimit përfshihen në instalimin e Paragon Active Assurance.
Sidoqoftë, nevojitet pak konfigurim përpara se të përdorni API-në. Kjo mbulohet në kapitullin "Konfigurimi i API-së së transmetimit" në faqen 1.

Konfigurimi i API-së së transmetimit

Mbiview
Ky kapitull përshkruan se si të konfiguroni API-në e transmetimit për të lejuar abonimin në mesazhet metrikë nëpërmjet Kafkës.
pr
Më poshtë do të kalojmë:

  • Si të aktivizoni API-në e transmetimit
  • Si të konfiguroni Kafka për të dëgjuar klientët e jashtëm
  • Si të konfiguroni Kafkën që të përdorë ACL dhe të konfiguroni enkriptimin SSL për klientët e përmendur

Kafka është një platformë transmetimi ngjarjesh që lejon kapjen në kohë reale të të dhënave të dërguara nga burime të ndryshme ngjarjesh (sensorë, baza të të dhënave, pajisje celulare) në formën e transmetimeve të ngjarjeve, si dhe ruajtjen e qëndrueshme të këtyre transmetimeve të ngjarjeve për rikthim dhe manipulim të mëvonshëm.
Me Kafka është e mundur të menaxhohet transmetimi i ngjarjeve nga fundi në fund në një mënyrë të shpërndarë, shumë të shkallëzuar, elastike, tolerante ndaj gabimeve dhe të sigurt.
SHËNIM: Kafka mund të konfigurohet në shumë mënyra të ndryshme dhe është projektuar për shkallëzueshmëri dhe sisteme të tepërta. Ky dokument fokusohet vetëm në mënyrën se si ta konfiguroni atë për të përdorur veçorinë Streaming API që gjendet në Paragon Active Assurance Control Center. Për konfigurime më të avancuara i referohemi dokumentacionit zyrtar të Kafkës: kafka.apache.org/26/documentation.html.

Terminologjia

  • Kafka: Platforma e transmetimit të ngjarjeve.
  • Tema e Kafkës: Koleksion ngjarjesh.
  • Abonenti/konsumatori Kafka: Komponenti përgjegjës për rikthimin e ngjarjeve të ruajtura në një temë Kafka.
  • Ndërmjetësi Kafka: Serveri i shtresës së ruajtjes së një grupi Kafka.
  • SSL/TLS: SSL është një protokoll i sigurt i zhvilluar për dërgimin e informacionit në mënyrë të sigurt përmes internetit. TLS është pasardhësi i SSL, i prezantuar në 1999.
  • SASL: Kornizë që ofron mekanizma për vërtetimin e përdoruesit, kontrollin e integritetit të të dhënave dhe enkriptimin.
  • Abonenti i transmetimit të API: Komponenti përgjegjës për rikthimin e ngjarjeve të ruajtura në temat e përcaktuara në Paragon Active Assurance dhe të destinuara për akses të jashtëm.
  • Autoriteti i Certifikatës: Një ent i besuar që lëshon dhe revokon certifikatat e çelësit publik.
  • Certifikata rrënjësore e Autoritetit të Certifikatës: Certifikata e çelësit publik që identifikon një Autoritet Certifikues.

Si funksionon API-ja e transmetimit
Siç u përmend më parë, API Streaming u lejon klientëve të jashtëm të marrin informacione rreth matjeve nga Kafka.
Të gjitha metrikat e mbledhura nga agjentët e testimit gjatë një detyre testimi ose monitorimi dërgohen në shërbimin Stream.
Pas një faze përpunimi, shërbimi Stream publikon ato metrika në Kafka së bashku me meta të dhëna shtesë.Juniper NETWORKS Streaming API Active Assurance - Si funksionon API-ja e transmetimitTemat e Kafkës
Kafka ka konceptin e temave për të cilat publikohen të gjitha të dhënat. Në Paragon Active Assurance ka shumë tema të tilla të Kafkës në dispozicion; megjithatë, vetëm një nëngrup prej tyre janë të destinuara për akses të jashtëm.
Çdo llogari Paragon Active Assurance në Qendrën e Kontrollit ka dy tema të dedikuara. Më poshtë, ACCOUNT është emri i shkurtër i llogarisë:

  • paa.public.accounts.{ACCOUNT}.metrics
  • Të gjitha mesazhet metrikë për llogarinë e dhënë publikohen në këtë temë
  • Sasi të mëdha të dhënash
  • Frekuencë e lartë e përditësimit
  • paa.public.accounts.{ACCOUNT}.metadata
  • Përmban meta të dhëna që lidhen me të dhënat matëse, p.shample testin, monitorin ose agjentin e testimit të lidhur me metrikat
  • Sasi të vogla të dhënash
  • Frekuencë e ulët e përditësimit

Aktivizimi i API-së së transmetimit
SHËNIM: Këto udhëzime duhet të ekzekutohen në serverin e Qendrës së Kontrollit duke përdorur sudo.
Meqenëse API Streaming shton disa shpenzime në Qendrën e Kontrollit, ai nuk aktivizohet si parazgjedhje. Për të aktivizuar API-në, fillimisht duhet të mundësojmë publikimin e metrikës në Kafka në konfigurimin kryesor file:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = E vërtetë
PARALAJMËRIM: Aktivizimi i kësaj veçorie mund të ndikojë në performancën e Qendrës së Kontrollit. Sigurohuni që ta keni dimensionuar shembullin tuaj në përputhje me rrethanat.
Më pas, për të mundësuar përcjelljen e këtyre metrikave në temat e sakta të Kafkës:

  • /etc/netrounds/metrics.yaml

streaming-api: e vërtetë
Për të aktivizuar dhe nisur shërbimet e API të transmetimit, ekzekutoni:
Shërbimet sudo ncc mundësojnë metrikën timescaledb
Shërbimet sudo ncc nisin metrikën timescaledb
Më në fund, rinisni shërbimet:
Rinisja e shërbimeve sudo ncc
Verifikimi që API-ja e transmetimit funksionon në Qendrën e Kontrollit
SHËNIM: Këto udhëzime duhet të ekzekutohen në serverin e Qendrës së Kontrollit.
Tani mund të verifikoni që po merrni metrikë për temat e sakta të Kafkës. Për ta bërë këtë, instaloni programin kafkacat:
sudo apt-get përditësim
sudo apt-get instalo kafkacat
Nëse keni një test ose monitor që funksionon në Qendrën e Kontrollit, duhet të jeni në gjendje të përdorni kafkacat për të marrë metrika dhe meta të dhëna për këto tema.
Zëvendësoni llogarinë time me emrin e shkurtër të llogarisë tuaj (kjo është ajo që shihni në Qendrën tuaj të Kontrollit URL):
eksportoni METRICS_TOPIC=paa.public.accounts.myaccount.metrics
eksportoni METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Tani duhet të shihni matjet duke ekzekutuar këtë komandë:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
te view metadata, ekzekutoni komandën e mëposhtme (vini re se kjo nuk do të përditësohet aq shpesh):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
SHËNIM:
kafkacat”Klienti Examples ”në faqen 14
Kjo verifikon që ne kemi një API të transmetimit që funksionon brenda Qendrës së Kontrollit. Sidoqoftë, ka shumë të ngjarë që ju jeni të interesuar të aksesoni të dhënat nga një klient i jashtëm. Seksioni tjetër përshkruan se si të hapet Kafka për akses të jashtëm.
Hapja e Kafkës për pritësit e jashtëm
SHËNIM: Këto udhëzime duhet të ekzekutohen në serverin e Qendrës së Kontrollit.
Si parazgjedhje, Kafka që funksionon në Qendrën e Kontrollit është konfiguruar të dëgjojë vetëm në localhost për përdorim të brendshëm.
Është e mundur të hapet Kafka për klientët e jashtëm duke modifikuar cilësimet e Kafkës.
Lidhja me Kafkën: Vërejtje
Juniper NETWORKS Streaming API Active Assurance - Simbols KUJDES: Ju lutemi lexoni këtë me kujdes, pasi është e lehtë të hasni në çështje të lidhjes me Kafkën nëse nuk i keni kuptuar këto koncepte.
Në konfigurimin e Qendrës së Kontrollit të përshkruar në këtë dokument, ekziston vetëm një ndërmjetës i vetëm Kafka.
Megjithatë, vini re se një ndërmjetës Kafka është menduar të funksionojë si pjesë e një grupi Kafka i cili mund të përbëhet nga shumë ndërmjetës Kafka.
Kur lidheni me një ndërmjetës Kafka, një lidhje fillestare krijohet nga klienti Kafka. Në lidhje me këtë, ndërmjetësi i Kafkës nga ana e tij do të kthejë një listë të "dëgjuesve të reklamuar", e cila është një listë e një ose më shumë ndërmjetësve të Kafkës.
Me marrjen e kësaj liste, klienti Kafka do të shkëputet dhe më pas do të rilidhet me një nga këta dëgjues të reklamuar. Dëgjuesit e reklamuar duhet të përmbajnë emra pritës ose adresa IP që janë të aksesueshme për klientin Kafka, ose klienti nuk do të lidhet.
Nëse përdoret enkriptimi SSL, që përfshin një certifikatë SSL e cila është e lidhur me një emër të caktuar pritës, është edhe më e rëndësishme që klienti Kafka të marrë adresën e saktë për t'u lidhur, pasi përndryshe lidhja mund të refuzohet.
Lexoni më shumë rreth dëgjuesve të Kafkës këtu: www.confluent.io/blog/kafka-listeners-explained
Kriptimi SSL/TLSE
Për t'u siguruar që vetëm klientët e besuar lejohen të kenë akses në Kafka dhe Streaming API, duhet të konfigurojmë sa vijon:

  • Vërtetimi: Klientët duhet të japin emrin e përdoruesit dhe fjalëkalimin përmes një lidhjeje të sigurt SSL/TLS midis klientit dhe Kafka.
  • Autorizimi: Klientët e vërtetuar mund të kryejnë detyra të rregulluara nga ACL.

Këtu është një fundview:
Juniper NETWORKS Streaming API Active Assurance - Si funksionon API Streaming 1*) Autentifikimi i emrit të përdoruesit/fjalëkalimit kryhet në një kanal të koduar me SSL

Për të kuptuar plotësisht se si funksionon kriptimi SSL/TLS për Kafka, ju lutemi referojuni dokumentacionit zyrtar: docs.confluent.io/platform/current/kafka/encryption.html
Certifikata SSL/TLS ka përfunduarview
SHËNIM: Në këtë nënseksion ne do të përdorim terminologjinë e mëposhtme:
Certifikata: Një certifikatë SSL e nënshkruar nga një Autoritet Certifikues (CA). Çdo ndërmjetës i Kafkës ka një.
Keystore: Keystore file që ruan certifikatën. Dyqani i çelësave file përmban çelësin privat të certifikatës; prandaj, duhet të mbahet në mënyrë të sigurt.
Truststore: A file që përmban certifikatat e besuara CA.
Për të konfiguruar vërtetimin ndërmjet një klienti të jashtëm dhe Kafkës që funksionon në Qendrën e Kontrollit, të dyja palët duhet të kenë një dyqan çelësash të përcaktuar me një certifikatë përkatëse të nënshkruar nga një Autoritet Certifikues (CA) së bashku me certifikatën rrënjë CA.
Përveç kësaj, klienti duhet të ketë gjithashtu një dyqan besimi me certifikatën rrënjë CA.
Certifikata rrënjësore CA është e zakonshme për ndërmjetësin Kafka dhe klientin Kafka.
Krijimi i certifikatave të nevojshme
Kjo mbulohet në "Shtojcën" në faqen 17.
Konfigurimi i Kafka Broker SSL/TLS në Qendrën e Kontrollit
SHËNIM: Këto udhëzime duhet të ekzekutohen në serverin e Qendrës së Kontrollit.
SHËNIM: Përpara se të vazhdoni, duhet të krijoni dyqanin e çelësave që përmban certifikatën SSL duke ndjekur udhëzimet në "Shtojca" në faqen 17. Shtigjet e përmendura më poshtë vijnë nga këto udhëzime.
Ruajtja e çelësave SSL është një file të ruajtura në disk me file shtrirje .jks.
Pasi të keni të disponueshme certifikatat e kërkuara si për ndërmjetësin Kafka ashtu edhe për klientin Kafka, mund të vazhdoni duke konfiguruar ndërmjetësin Kafka që funksionon në Qendrën e Kontrollit. Ju duhet të dini sa vijon:

  • : Emri publik i hostit të Qendrës së Kontrollit; kjo duhet të jetë e zgjidhshme dhe e aksesueshme nga klientët e Kafkës.
  • : Fjalëkalimi i ruajtjes së çelësave i dhënë gjatë krijimit të certifikatës SSL.
  • dhe : Këto janë fjalëkalimet që dëshironi të vendosni respektivisht për përdoruesit e administratorit dhe klientit. Vini re se mund të shtoni më shumë përdorues, siç tregohet në ishample.

Ndrysho ose shto (me akses sudo) vetitë më poshtë në /etc/kafka/server.properties, duke futur variablat e mësipërm siç tregohet:
Juniper NETWORKS Streaming API Active Assurance - Simbols PARALAJMËRIM: Mos e hiqni PLAINTEXT://localhost:9092; kjo do të prishë funksionimin e Qendrës së Kontrollit pasi shërbimet e brendshme nuk do të jenë në gjendje të komunikojnë.


# Adresat që dëgjon ndërmjetësi Kafka.
dëgjues=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Këto janë hostet e reklamuara përsëri për çdo klient që lidhet.
reklamuar.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093

####### KONFIGIMI I CUSTOM
# KONFIGURIMI SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.çelësi.fjalëkalimi=
ssl.client.auth=asnjë
ssl.protocol=TLSv1.2
# Konfigurimi SASL
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule kërkohet \
emri i përdoruesit=”admin” \
fjalëkalimi=” "\
user_admin=” "\
përdorues_klient=” ”;
# SHËNIM më shumë përdorues mund të shtohen me user_ =
# Autorizim, aktivizoni ACL-të
autorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=Përdoruesi:admin

Konfigurimi i listave të kontrollit të aksesit (ACL)
Aktivizimi i ACL-ve në localhost
Juniper NETWORKS Streaming API Active Assurance - Simbols PARALAJMËRIM: Së pari duhet të konfigurojmë ACL-të për localhost, në mënyrë që vetë Qendra e Kontrollit të mund të hyjë ende në Kafka. Nëse kjo nuk bëhet, gjërat do të prishen.

######### hyrje në ACL për përdoruesit anonimë
/usr/lib/kafka/bin/kafka-acls.sh \
–autorizer kafka.security.authorizer.AclAuthorizer \
–autorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –cluster
/usr/lib/kafka/bin/kafka-acls.sh \
–autorizer kafka.security.authorizer.AclAuthorizer \
–autorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –tema '*'
/usr/lib/kafka/bin/kafka-acls.sh \
–autorizer kafka.security.authorizer.AclAuthorizer \
–autorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –group '*'

Më pas duhet të aktivizojmë ACL-të për akses të jashtëm vetëm për lexim, në mënyrë që përdoruesit e jashtëm të lejohen të lexojnë temat paa.public.*.
SHËNIM: Për kontroll më të imët, ju lutemi referojuni dokumentacionit zyrtar të Kafkës.

######### hyrje në ACL për përdoruesit e jashtëm
/usr/lib/kafka/bin/kafka-acls.sh \
–autorizer kafka.security.authorizer.AclAuthorizer \
–autorizer-properties zookeeper.connect=localhost:2181 \
–shto –lejo-përdoruesi kryesor:* –operacioni lexim –operacioni përshkruajë \
- grupi 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–autorizer kafka.security.authorizer.AclAuthorizer \
–autorizer-properties zookeeper.connect=localhost:2181 \
–shto –lejo-përdoruesi kryesor:* –operacioni lexim –operacioni përshkruajë \
–tema paa.publike. –burim-pattern-lloj i parashtesuar

Pasi të keni përfunduar me këtë, duhet të rinisni shërbimet:
Rinisja e shërbimeve sudo ncc
Për të verifikuar që një klient mund të krijojë një lidhje të sigurt, ekzekutoni komandën e mëposhtme në një kompjuter të jashtëm të klientit (jo në serverin e Qendrës së Kontrollit). Më poshtë, PUBLIC_HOSTNAME është emri i hostit të Qendrës së Kontrollit:
openssl s_client -debug -lidh ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Rinegocimi i sigurt IS mbështetet"
Në daljen e komandës duhet të shihni certifikatën e serverit si dhe sa vijon:
Rinegocimi i Sigurt IS mbështetet
Për t'u siguruar që shërbimeve të brendshme u është dhënë akses në serverin Kafka, ju lutemi kontrolloni regjistrin e mëposhtëmfiles:

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

Verifikimi i lidhjes së klientit të jashtëm
kafkacat
SHËNIM: Këto udhëzime duhet të ekzekutohen në një kompjuter klient (jo në serverin e Qendrës së Kontrollit).
SHËNIM: Për të shfaqur informacionin e metrikës, sigurohuni që të paktën një monitor të funksionojë në Qendrën e Kontrollit.
Për të verifikuar dhe vërtetuar lidhjen si një klient i jashtëm, është e mundur të përdorni programin kafkacat i cili është instaluar në seksionin "Verifikimi që API i transmetimit funksionon në Qendrën e Kontrollit" në faqen 4.
Kryeni hapat e mëposhtëm:
SHËNIM: Më poshtë, CLIENT_USER është përdoruesi i specifikuar më parë në file /etc/kafka/server.properties në Control Center: domethënë user_client dhe fjalëkalimi i vendosur atje.
Certifikata rrënjësore CA e përdorur për të nënshkruar certifikatën SSL në anën e serverit duhet të jetë e pranishme në klient.

  • Krijo një file klient.veti me përmbajtjen e mëposhtme:

siguria.protocol=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mekanizmat=FASHT
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
ku

  • {PATH_TO_CA_CERT} është vendndodhja e certifikatës së rrënjës CA të përdorur nga ndërmjetësi Kafka
  • {CLIENT_USER} dhe {CLIENT_PASSWORD} janë kredencialet e përdoruesit për klientin.
  • Drejtoni komandën e mëposhtme për të parë mesazhin e konsumuar nga kafkacat:

eksport KAFKA_FQDN=
eksportoni METRICS_TOPIC=paa.public.accounts. .metrika
kafkacat -b ${KAFKA_FQDN}:9093 -F klient.properties -t ${METRICS_TOPIC} -C -e
ku {METRICS_TOPIC} është emri i temës Kafka me parashtesë “paa.public.”.

SHËNIM: Versionet e vjetra të kafkacat nuk ofrojnë opsionin -F për leximin e cilësimeve të klientit nga a file. Nëse jeni duke përdorur një version të tillë, duhet të siguroni të njëjtat cilësime nga linja e komandës siç tregohet më poshtë.

kafkacat -b ${KAFKA_FQDN}:9093 \
-X security.protocol=SASL_SSL \
-X ssl.ca.location={PATH_TO_CA_CERT} \
-X sasl.mekanizmat=PLAIN \
-X sasl.username={CLIENT_USER} \
-X sasl.password={CLIENT_PASSWORD} \
-t ${METRICS_TOPIC} -C -e
Për të korrigjuar lidhjen, mund të përdorni opsionin -d:

Korrigjimi i komunikimeve të konsumatorëve
kafkacat -d konsumator -b ${KAFKA_FQDN}:9093 -F klient.properties -t ${METRICS_TOPIC} -C -e
# Debugoni komunikimet e ndërmjetësit
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F klient.properties -t ${METRICS_TOPIC} -C -e

Sigurohuni t'i referoheni dokumentacionit për bibliotekën e klientit Kafka në përdorim, pasi vetitë mund të ndryshojnë nga ato të klientit.properties.
Formati i mesazhit
Mesazhet e përdorura për metrikat dhe temat e meta të dhënave janë të serializuara në formatin Protocol buffers (protobuf) (shih developers.google.com/protocol-buffers). Skemat për këto mesazhe i përmbahen formatit të mëposhtëm:

Skema e Metrikës Protobuf

sintaksë = “proto3”;
importoni “google/protobuf/timestamp.proto”;
paketa paa.streamingapi;
opsion go_package = “.;paa_streamingapi”;
Metrika e mesazhit {
google.protobuf.Timestamp kohëamp = 1;
harta vlerat = 2;
int32 stream_id = 3;
}
/**
* Një vlerë metrike mund të jetë ose një numër i plotë ose një notues.
*/
mesazh MetricValue {
nje i llojit {
int64 int_val = 1;
float float_val = 2;
}
}

Skema e meta të dhënave Protobuf

sintaksë = “proto3”;
paketa paa.streamingapi;
opsion go_package = “.;paa_streamingapi”;
Të dhënat meta të mesazhit {
int32 stream_id = 1;
emri i rrjedhës së vargut = 2;
harta tags = 13;
}

Klienti Examples

SHËNIM: Këto komanda synohen të ekzekutohen në një klient të jashtëm, p.shample laptop ose të ngjashme, dhe jo në Control Center.
SHËNIM: Për të shfaqur informacionin e metrikës, sigurohuni që të paktën një monitor të funksionojë në Qendrën e Kontrollit.
Tarball i Qendrës së Kontrollit përfshin arkivin paa-streaming-api-client-examples.tar.gz (klient-examples), i cili përmban një ishample skript Python që tregon se si të përdoret API Streaming.
Instalimi dhe konfigurimi i klientit Examples
Ju gjeni klient-ishampnë dosjen Paragon Active Assurance Control Center:

eksportoni CC_VERSION=4.2.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-examples*
Për të instaluar klient-exampnë kompjuterin tuaj të jashtëm të klientit, veproni si më poshtë:
# Krijo direktori për nxjerrjen e përmbajtjes së klientit p.shamples tarball
mkdir paa-transmetim-api-klient-examples
# Ekstraktoni përmbajtjen e klientit examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Shkoni te drejtoria e krijuar rishtazi
cd paa-transmetim-api-client-examples
klient-ishamples kërkon që Docker të ekzekutohet. Shkarkimet dhe udhëzimet e instalimit për Docker mund të gjenden në https://docs.docker.com/engine/install.

Përdorimi i klientit Examples
Klienti-ishamples tools mund të funksionojë ose në modalitetin bazë ose të avancuar për të ndërtuar exampme kompleksitet të ndryshëm. Në të dyja rastet, është gjithashtu e mundur për të drejtuar ishamples me një konfigurim file që përmban veçori shtesë për personalizim të mëtejshëm të anës së klientit.
Modaliteti bazë
Në modalitetin bazë, metrikat dhe meta të dhënat e tyre transmetohen veçmas. Për këtë qëllim, klienti dëgjon çdo temë Kafka të disponueshme për akses të jashtëm dhe thjesht printon mesazhet e marra në tastierë.
Për të filluar ekzekutimin e p.shamples, vraponi:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ku ACCOUNT_SHORTNAME është emri i shkurtër i llogarisë nga e cila dëshironi të merrni matjet.
Për të ndërprerë ekzekutimin e ishample, shtypni Ctrl + C. (Mund të ketë një vonesë të vogël përpara se ekzekutimi të ndalojë sepse klienti pret për një ngjarje të afatit.)
Modaliteti i avancuar
SHËNIM: Metrikat shfaqen vetëm për monitorët HTTP që funksionojnë në Qendrën e Kontrollit.
Ekzekutimi në modalitetin e avancuar tregon korrelacionin midis metrikës dhe mesazheve të meta të dhënave. Kjo është e mundur falë pranisë në çdo mesazh metrikë të një fushe identifikimi të transmetimit që i referohet mesazhit përkatës të meta të dhënave.
Për të ekzekutuar ish të avancuaramples, vraponi:
./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ku ACCOUNT_SHORTNAME është emri i shkurtër i llogarisë nga e cila dëshironi të merrni matjet.
Për të ndërprerë ekzekutimin e ishample, shtypni Ctrl + C. (Mund të ketë një vonesë të vogël përpara se ekzekutimi të ndalojë sepse klienti pret për një ngjarje të afatit.)
Cilësimet shtesë
Është e mundur për të drejtuar ishamples me konfigurim shtesë të klientit duke përdorur –config-file opsion i ndjekur nga a file emri që përmban vetitë në formën key=value.
./build.sh run-advanced \
–kafka-brokers localhost:9092 \
–llogaria ACCOUNT_SHORTNAME \
-konfigurim-file klient_config.vetitë

SHËNIM: Të gjitha files të referuara në komandën e mësipërme duhet të vendosen në drejtorinë aktuale dhe të referohen duke përdorur vetëm shtigje relative. Kjo vlen si për -config-file argument dhe për të gjitha hyrjet në konfigurim file që përshkruajnë file vendndodhjet.
Verifikimi i vërtetimit të jashtëm të klientit
Për të vërtetuar vërtetimin e klientit nga jashtë Qendrës së Kontrollit duke përdorur klient-examples, kryeni hapat e mëposhtëm:

  • Nga dosja Paragon Active Assurance Control Center, kaloni në paa-streaming-api-clientexampdosja les:
    cd paa-transmetim-api-client-examples
  • Kopjoni certifikatën rrënjë CA ca-cert në drejtorinë aktuale.
  • Krijo një klient.vetitë file me përmbajtjen e mëposhtme:
    siguria.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mekanizmi=FASHT
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD}
    ku {CLIENT_USER} dhe {CLIENT_PASSWORD} janë kredencialet e përdoruesit për klientin.
  • Drejtoni p.shamples:
    eksport KAFKA_FQDN=
    ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
    –llogaria ACCOUNT_SHORTNAME
    -konfigurim-file klienti.veti
    ku ACCOUNT_SHORTNAME është emri i shkurtër i llogarisë nga e cila dëshironi të merrni matjet.
  • Drejtoni të avancuara ishamples:
    eksport KAFKA_FQDN=
    ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
    –llogaria ACCOUNT_SHORTNAME
    -konfigurim-file klienti.veti

Shtojca
Në këtë shtojcë ne përshkruajmë se si të krijojmë:

  • një dyqan çelësash file për ruajtjen e certifikatës SSL të ndërmjetësit Kafka
  • një dyqan besimi file për ruajtjen e certifikatës rrënjësore të Autoritetit të Certifikatës (CA) e përdorur për të nënshkruar certifikatën e ndërmjetësit Kafka.

Krijimi i një Certifikate të Brokerit Kafka
Krijimi i një certifikate duke përdorur një autoritet të vërtetë certifikimi (rekomandohet)
Rekomandohet që të merrni një certifikatë të vërtetë SSL nga një CA e besuar.
Pasi të keni vendosur për një CA, kopjoni certifikatën e tyre rrënjësore të CA-së file në rrugën tuaj siç tregohet më poshtë:
eksportoni CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
Krijoni Autoritetin tuaj të Certifikatës
SHËNIM: Normalisht duhet ta keni certifikatën tuaj të nënshkruar nga një Autoritet i vërtetë Certifikatash; shih nënseksionin e mëparshëm. Ajo që vijon është vetëm një ishample.
Këtu ne krijojmë certifikatën tonë rrënjësore të Autoritetit të Certifikatës (CA). file e vlefshme për 999 ditë (nuk rekomandohet në prodhim):
# Krijoni një direktori për ruajtjen e CA
eksportoni CA_PATH=~/my-ca
mkdir ${CA_PATH}
# Gjeneroni certifikatën CA
openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -ditë 999

Krijimi i dyqanit të besimit të klientit
Tani mund të krijoni një dyqan besimi file që përmban ca-certin e gjeneruar më sipër. Kjo file do t'i nevojiten klientit Kafka që do të hyjë në API të Streaming:

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

Tani që certifikata CA është në ruajtjen e besimit, klienti do t'i besojë çdo certifikate të nënshkruar me të.
Ju duhet të kopjoni file kafka.client.truststore.jks në një vendndodhje të njohur në kompjuterin tuaj të klientit dhe drejtojeni atë te cilësimet.
Krijimi i dyqanit të çelësave për ndërmjetësin Kafka
Për të gjeneruar certifikatën SSL të ndërmjetësit Kafka dhe më pas dyqanin e çelësave kafka.server.keystore.jks, veproni si më poshtë:
Gjenerimi i certifikatës SSL
Më poshtë, 999 është numri i ditëve të vlefshmërisë së ruajtjes së çelësave, dhe FQDN është emri i domain-it plotësisht i kualifikuar i klientit (emri i hostit publik i nyjës).
SHËNIM: Është e rëndësishme që FQDN të përputhet me emrin e saktë të hostit që klienti Kafka do të përdorë për t'u lidhur me Qendrën e Kontrollit.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/private
eksportoni FQDN=
keytool -keystore kafka.server.keystore.jks \
-server alias \
-vlefshmëria 999 \
-genkey -keyalg RSA -ext SAN=dns:${FQDN}
Krijoni një kërkesë për nënshkrimin e certifikatës dhe ruajeni atë në file me emrin server-cert-kërkesa:
keytool -keystore kafka.server.keystore.jks \
-server alias \
-certreq \
-file certifikatë-server-kërkesë

Tani duhet të dërgoni file server-çertifikatë-kërkesë për Autoritetin tuaj të Certifikatës (CA) nëse jeni duke përdorur një të vërtetë. Më pas ata do të kthejnë certifikatën e nënshkruar. Ne do t'i referohemi kësaj si të nënshkruar nga serveri i certifikatës më poshtë.
Nënshkrimi i certifikatës SSL duke përdorur një certifikatë CA të krijuar vetë
SHËNIM: Përsëri, përdorimi i CA-së tuaj nuk rekomandohet në një sistem prodhimi.
Nënshkruani certifikatën duke përdorur AK-në me anë të file certifikatë-server-kërkesë, e cila prodhon certifikatën e nënshkruar Cert-server-signed. Shikoni më poshtë; ca-password është fjalëkalimi i vendosur gjatë krijimit të certifikatës CA.

cd /var/ssl/private
openssl x509 -req \
-CA ${CA_PATH}/ca-cert \
-Çelësi CA ${CA_PATH}/ca-key \
-në ​​kërkesë-server-certifikatë \
-jashtë certifikimit të nënshkruar nga serveri \
-ditët 999 -CAkrijueseseriale \
-passin pass:{ca-password}

Importimi i Certifikatës së Nënshkruar në Keystore
Importoni certifikatën rrënjësore të ca-cert në dyqanin e çelësave:
keytool -keystore kafka.server.keystore.jks \
-alias ca-cert \
-import \
-file ${CA_PATH}/ca-cert
Importoni certifikatën e nënshkruar të referuar si certifikatën e nënshkruar nga serveri:
keytool -keystore kafka.server.keystore.jks \
-server alias \
-import \
-file certifikatë-server-nënshkruar
Të file kafka.server.keystore.jks duhet të kopjohet në një vendndodhje të njohur në serverin e Qendrës së Kontrollit dhe më pas të referohet në /etc/kafka/server.properties.

Duke përdorur API-në e transmetimit

Gjeneral
API-ja e transmetimit merr të dhënat e testimit dhe monitorimit. Nuk është e mundur të veçohet një nga këto kategori.
API-ja e transmetimit nuk merr të dhëna nga testet e bazuara në skript (ato të përfaqësuara nga një drejtkëndësh në vend të një pjese bashkim pjesësh figure në GUI të Qendrës së Kontrollit), të tilla si testet e aktivizimit të shërbimit Ethernet dhe testet e transparencës.

Emrat e temave të Kafkës
Emrat e temave Kafka për API-në e transmetimit janë si më poshtë, ku %s është emri i shkurtër i llogarisë së Qendrës së Kontrollit (tregohet kur krijoni llogarinë):

konst (
emri i eksportuesit = "kafka"
metadataTopicTpl = "paa.public.accounts.%s.metadata"
metricsTopicTpl = "paa.public.accounts.%s.metrics"
)

Exampdisa nga përdorimi i API-së së transmetimit
Ishampato që vijojnë gjenden në tarball paa-streaming-api-client-examples.tar.gz të përfshira në tarball të Qendrës së Kontrollit.
Së pari, ekziston një ish bazëampduke demonstruar se si metrikat dhe meta të dhënat e tyre transmetohen veçmas dhe thjesht printoni mesazhet e marra në tastierë. Mund ta ekzekutoni si më poshtë:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Ekziston edhe një ish më i avancuarampku ndërlidhen metrikat dhe mesazhet e meta të dhënave. Përdorni këtë komandë për ta ekzekutuar atë:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Ju duhet të përdorni sudo për të ekzekutuar komandat Docker si ato të mësipërme. Opsionale, mund të ndiqni hapat pas instalimit të Linux për të qenë në gjendje të ekzekutoni komandat Docker pa sudo. Për detaje, shkoni te docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logoja e Juniper Networks, Juniper dhe Junos janë marka tregtare të regjistruara të Juniper Networks, Inc. në Shtetet e Bashkuara dhe vende të tjera. Të gjitha markat e tjera tregtare, markat e shërbimit, markat e regjistruara ose markat e regjistruara të shërbimit janë pronë e pronarëve të tyre përkatës. Juniper Networks nuk mban asnjë përgjegjësi për ndonjë pasaktësi në këtë dokument. Juniper Networks rezervon të drejtën për të ndryshuar, modifikuar, transferuar ose ndryshe rishikuar këtë publikim pa paralajmërim. E drejta e autorit © 2023 Juniper Networks, Inc. Të gjitha të drejtat e rezervuara.

Logoja e RRJETAVE dëllinjë

Dokumentet / Burimet

Juniper NETWORKS Streaming API Active Assurance [pdfUdhëzuesi i përdoruesit
Streaming API Active Assurance, API Active Assurance, Active Assurance, Assurance

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *