Routing Active Testing Streaming API
Gwida
Introduzzjoni
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.
Konfigurazzjoni tal-API Streaming
Fuqview
Dan il-kapitolu jiddeskrivi kif tikkonfigura l-API Streaming biex tippermetti l-abbonament għal messaġġi ta 'metriċi permezz ta' Kafka.
Hawn taħt se ngħaddu minnu:
- Kif tattiva l-API Streaming
- Kif tikkonfigura lil Kafka biex tisma' lill-klijenti esterni
- Kif tikkonfigura lil Kafka biex tuża ACLs u twaqqaf encryption SSL għall-klijenti msemmija
X'inhu Kafka?
Kafka hija pjattaforma ta’ streaming ta’ avvenimenti li tippermetti qbid f’ħin reali ta’ data mibgħuta minn diversi sorsi ta’ avvenimenti (sensuri, databases, apparat mobbli) fil-forma ta’ flussi ta’ avvenimenti, kif ukoll ħażna dejjiema ta’ dawn in-flussi ta’ avvenimenti għal rkupru u manipulazzjoni aktar tard.
B'Kafka huwa possibbli li timmaniġġja l-istrimjar tal-avvenimenti minn tarf sa tarf b'mod distribwit, skalabbli ħafna, elastiku, tolleranti għall-ħsarat u sigur.
NOTA: 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.
Terminoloġija
- Kafka: Pjattaforma ta' streaming ta' avvenimenti.
- Suġġett Kafka: Ġbir ta’ avvenimenti.
- Abbonat/konsumatur Kafka: Komponent responsabbli għall-irkupru ta' avvenimenti maħżuna f'suġġett Kafka.
- Kafka broker: Server ta' saff ta' ħażna ta' cluster Kafka.
- SSL/TLS: SSL huwa protokoll sikur żviluppat biex tintbagħat informazzjoni b'mod sigur fuq l-Internet. TLS huwa s-suċċessur ta' SSL, introdott fl-1999.
- SASL: Qafas li jipprovdi mekkaniżmi għall-awtentikazzjoni tal-utent, verifika tal-integrità tad-dejta, u kriptaġġ.
- Streaming API subscriber: Component responsible for retrieval of events stored in topics defined in Routing Active Testing and meant for external access.
- Awtorità taċ-Ċertifikati: Entità fdata li toħroġ u tirrevoka ċertifikati taċ-ċavetta pubblika.
- Ċertifikat tal-għeruq tal-Awtorità taċ-Ċertifikat: Ċertifikat taċ-ċavetta pubblika li jidentifika Awtorità taċ-Ċertifikat.
Kif taħdem l-API Streaming
Kif issemma qabel, l-API Streaming tippermetti lill-klijenti esterni biex jirkupraw informazzjoni dwar il-metriċi minn Kafka.
Il-metriċi kollha miġbura mill-Aġenti tat-Test waqt kompitu ta' test jew monitoraġġ jintbagħtu lis-servizz Stream.
Wara fażi ta' pproċessar, is-servizz Stream jippubblika dawk il-metriċi fuq Kafka flimkien ma' metadejta addizzjonali.
Suġġetti 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}.metrics
- Il-messaġġi kollha tal-metriċi għall-kont partikolari huma ppubblikati għal dan is-suġġett
- Ammonti kbar ta' data
- Frekwenza għolja ta 'aġġornament
- paa.public.accounts.{ACCOUNT}.metadata
- Fih metadejta relatata mad-dejta tal-metriċi, pereżempjuample it-test, il-monitor jew l-Aġent tat-Test assoċjat mal-metriċi
- Ammonti żgħar ta' data
- Frekwenza baxxa ta' aġġornament
Jippermettu l-API Streaming
NOTA: These instructions are to be run on the Control Center server using sudor.
Peress li l-API Streaming żżid xi overhead maċ-Ċentru tal-Kontroll, mhix attivata awtomatikament. Biex nippermettu l-API, l-ewwel irridu nippermettu l-pubblikazzjoni tal-metriċi lil Kafka fil-konfigurazzjoni ewlenija file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = Veru
KAFKA_PUBLISH_METADATA_FOR_STREAMS = True
TWISSIJA: L-attivazzjoni ta' din il-karatteristika tista' tħalli impatt fuq il-prestazzjoni taċ-Ċentru ta' Kontroll. Kun żgur li ddimensjonajt l-istanza tiegħek kif xieraq.
Sussegwentement, biex tippermetti t-trażmissjoni ta' dawn il-metriċi għas-suġġetti Kafka korretti:
- /etc/netrounds/metrics.yaml
streaming-api: veru
Biex tattiva u tibda s-servizzi tal-API Streaming, mexxi:
- Is-servizzi sudo ncc jippermettu metriċi timecaledb
- is-servizzi sudo ncc jibdew metriċi timecaledb
Fl-aħħarnett, ibda mill-ġdid is-servizzi:
- Is-servizzi sudo ncc jerġgħu jibdew
NOTA: The KAFKA_PUBLISH_RESOURCES setting has been deprecated. It should be removed from your configuration. Use KAFKA_PUBLISH_METADATA_FOR_STREAMS = True instead.
Verifika li l-API Streaming Jaħdem fiċ-Ċentru tal-Kontroll
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
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 aġġornament
- 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.
Ibdel myaccount bl-isem qasir tal-kont tiegħek (dan huwa dak li tara fiċ-Ċentru tal-Kontroll tiegħek URL):
- esportazzjoni METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- esporta METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Issa għandek tara l-metriċi billi tħaddem dan il-kmand:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Biex view metadata, mexxi l-kmand li ġej (innota li dan mhux se jaġġorna spiss):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
NOTA: 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.
Dan jivverifika li għandna Streaming API li jaħdem minn ġewwa Control Center. Madankollu, x'aktarx li inti interessat li taċċessa d-dejta minn klijent estern minflok. It-taqsima li jmiss tiddeskrivi kif tiftaħ Kafka għal aċċess estern.
Ftuħ Kafka għal Hosts Esterni
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
B'mod awtomatiku Kafka li jaħdem fuq iċ-Ċentru tal-Kontroll huwa kkonfigurat biex jisma' biss fuq localhost għall-użu intern.
Huwa possibbli li tinfetaħ Kafka għal klijenti esterni billi timmodifika s-settings tal-Kafka.
Konnessjoni ma' Kafka: Caveats
ATTENZJONI: Jekk jogħġbok aqra dan bir-reqqa, peress li huwa faċli li tiffaċċja kwistjonijiet ta' konnessjoni ma' Kafka jekk ma fhimtx dawn il-kunċetti.
Fis-setup taċ-Ċentru tal-Kontroll deskritt f'dan id-dokument, hemm biss sensar Kafka wieħed.
Madankollu, innota li sensar Kafka huwa maħsub biex jaħdem bħala parti minn raggruppament Kafka li jista 'jikkonsisti f'ħafna sensara Kafka.
Meta tikkonnettja ma 'sensar Kafka, konnessjoni inizjali hija stabbilita mill-klijent Kafka. Fuq din il-konnessjoni, is-sensar Kafka min-naħa tiegħu se jirritorna lista ta '"semmiegħa reklamati", li hija lista ta' sensara Kafka wieħed jew aktar.
Malli jirċievi din il-lista, il-klijent Kafka se skonnettja, imbagħad jerġa 'jikkonnettja ma' wieħed minn dawn is-semmiegħa reklamati. Is-semmiegħa reklamati għandu jkun fihom hostnames jew indirizzi IP li huma aċċessibbli għall-klijent Kafka, jew il-klijent ma jirnexxilux jikkonnettja.
Jekk tintuża encryption SSL, li tinvolvi ċertifikat SSL li huwa marbut ma' hostname partikolari, huwa saħansitra aktar importanti li l-klijent Kafka jirċievi l-indirizz korrett biex jikkonnettja miegħu, peress li inkella l-konnessjoni tista' tiġi rrifjutata.
Aqra aktar dwar is-semmiegħa ta’ Kafka hawn: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS Encryption
Biex niżguraw li l-klijenti fdati biss jitħallew jaċċessaw Kafka u l-API Streaming, irridu kkonfiguraw dan li ġej:
- Awtentikazzjoni: Il-klijenti jridu jipprovdu username u password permezz ta' konnessjoni sigura SSL/TLS bejn il-klijent u Kafka.
- Awtorizzazzjoni: Klijenti awtentikati jistgħu jwettqu kompiti regolati minn ACLs.
Hawnhekk hawn fuqview:
Biex tifhem bis-sħiħ kif taħdem l-encryption SSL/TLS għal Kafka, jekk jogħġbok irreferi għad-dokumentazzjoni uffiċjali: docs.confluent.io/platform/current/kafka/encryption.html
Ċertifikat SSL/TLS Overview
NOTA: F'din is-subtaqsima se nużaw it-terminoloġija li ġejja:
Ċertifikat: Ċertifikat SSL iffirmat minn Awtorità taċ-Ċertifikati (CA). Kull sensar Kafka għandu wieħed.
Keystore: Il-keystore file li jaħżen iċ-ċertifikat. Il-keystore file fih iċ-ċavetta privata taċ-ċertifikat; għalhekk, jeħtieġ li jinżamm b'mod sigur.
Truststore: A file li jkun fih iċ-ċertifikati fdati CA.
Biex titwaqqaf l-awtentikazzjoni bejn klijent estern u Kafka li qed jaħdem fiċ-Ċentru tal-Kontroll, iż-żewġ naħat għandu jkollhom keystore definit b'ċertifikat relatat iffirmat minn Awtorità taċ-Ċertifikati (CA) flimkien maċ-ċertifikat root CA.
Barra minn hekk, il-klijent irid ikollu wkoll truststore biċ-ċertifikat tal-għeruq CA.
Iċ-ċertifikat tal-għeruq CA huwa komuni għas-sensar Kafka u għall-klijent Kafka.
Ħolqien taċ-Ċertifikati Meħtieġa
Dan huwa kopert fl-“Appendiċi” f’paġna 16.
Kafka Broker SSL/TLS Konfigurazzjoni fiċ-Ċentru tal-Kontroll
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
NOTA: 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 maħżuna fuq disk mal- file estensjoni .jks.
Ladarba jkollok iċ-ċertifikati meħtieġa maħluqa kemm għas-sensar Kafka kif ukoll għall-klijent Kafka disponibbli, tista 'tkompli billi tikkonfigura s-sensar Kafka li qed jaħdem fiċ-Ċentru ta' Kontroll. Trid tkun taf dan li ġej:
- : L-isem tal-ospitant pubbliku taċ-Ċentru ta' Kontroll; dan għandu jkun riżolvut u aċċessibbli mill-klijenti Kafka.
- : Il-password tal-keystore pprovduta meta toħloq iċ-ċertifikat SSL.
- u : Dawn huma l-passwords li trid tissettja għall-utent admin u klijent rispettivament. Innota li tista 'żżid aktar utenti, kif indikat fl-eżample.
Edit or append (with sudo access) the properties below in /etc/kafka/server.properties, inserting the above
variables as shown:
TWISSIJA: Tneħħix PLAINTEXT://localhost:9092; dan se jkisser il-funzjonalità taċ-Ċentru tal-Kontroll peress li s-servizzi interni mhux se jkunu jistgħu jikkomunikaw.
...
# L-indirizzi li jisma 's-sensar Kafka.
semmiegħa=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Dawn huma l-hosts reklamati lura lil kwalunkwe klijent li jgħaqqad.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093
… ####### CUSTOM CONFIG
# KONFIGURAZZJONI SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=xejn
ssl.protocol=TLSv1.2
# Konfigurazzjoni SASL
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule meħtieġa \
username="admin" \
password =" ” \
User:admin=”<admin_pwd>” \
user client=”<client_pwd>”;
# NOTA aktar utenti jistgħu jiġu miżjuda ma 'user_ =
# Awtorizzazzjoni, ixgħel l-ACLs
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
superusers=User:admin
Twaqqif ta' Listi ta' Kontroll ta' Aċċess (ACLs)
Tixgħel ACLs fuq localhost
TWISSIJA: L-ewwel irridu nwaqqfu ACLs għal localhost, sabiex iċ-Ċentru ta 'Kontroll innifsu xorta jkun jista' jaċċessa Kafka. Jekk dan ma jsirx, l-affarijiet jinkisru.
######### Daħliet ACLs għal utenti anonimi
/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 Utent:ANONIM –allow-host 127.0.0.1 –tema '*'
/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 ‘*’
Imbagħad irridu nippermettu ACLs għal aċċess estern ta' qari biss, sabiex utenti esterni jitħallew jaqraw is-suġġetti paa.public.*.
NOTA: Għal aktar kontroll tal-qamħirrum, jekk jogħġbok irreferi għad-dokumentazzjoni uffiċjali Kafka.
######### Entrati ACLs għal utenti esterni
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal Utent:* –operation read –operation description \
–grupp 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal Utent:* –operation read –operation description \
–tema paa.pubbliku. –tip ta' disinn tar-riżorsi prefissat
Ladarba jsir dan, għandek bżonn terġa 'tibda s-servizzi:
Is-servizzi sudo ncc jerġgħu jibdew
Biex tivverifika li klijent jista' jistabbilixxi konnessjoni sigura, mexxi l-kmand li ġej fuq kompjuter klijent estern (mhux fuq is-server taċ-Ċentru tal-Kontroll). Hawn taħt, PUBLIC_HOSTNAME huwa l-isem tal-host taċ-Ċentru tal-Kontroll:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Negozjar mill-ġdid Sikur huwa appoġġjat"
Fl-output tal-kmand għandek tara ċ-ċertifikat tas-server kif ukoll dan li ġej:
Rinegozjar Sikur IS appoġġjat
Biex tiżgura li s-servizzi interni ngħataw aċċess għas-server Kafka, jekk jogħġbok iċċekkja l-ġurnal li ġejfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
Validazzjoni tal-Konnettività tal-Klijent Estern
kafkacat
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq kompjuter klijent (mhux fuq is-server taċ-Ċentru tal-Kontroll).
NOTA: Biex turi l-informazzjoni dwar il-metriċi, kun żgur li mill-inqas monitor wieħed ikun qed jaħdem fiċ-Ċentru tal-Kontroll.
Biex tivverifika u tivvalida l-konnettività bħala klijent estern, huwa possibbli li tuża l-utilità kafkacat li kienet installata fit-taqsima "Verifika li l-API Streaming Jaħdem fiċ-Ċentru ta' Kontroll" f'paġna 4.
Wettaq il-passi li ġejjin:
NOTA: Hawn taħt, CLIENT_USER huwa l-utent speċifikat qabel fil- 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.
Oħloq a file client.properties bil-kontenut li ġej:
security.protocol=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mechanisms=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
fejn
- {PATH_TO_CA_CERT} huwa l-post taċ-ċertifikat tal-għeruq CA użat mis-sensar Kafka
- {CLIENT_USER} u {CLIENT_PASSWORD} huma l-kredenzjali tal-utent għall-klijent.
- Mexxi l-kmand li ġej biex tara l-messaġġ ikkunsmat minn kafkacat:
esportazzjoni KAFKA_FQDN=
esportazzjoni METRICS_TOPIC=paa.public.accounts. .metriċi
kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
fejn {METRICS_TOPIC} huwa l-isem tas-suġġett Kafka bil-prefiss “paa.public.”.
NOTA: Verżjonijiet eqdem ta' kafkacat ma jipprovdux l-għażla -F għall-qari tas-settings tal-klijent minn a file. Jekk qed tuża verżjoni bħal din, trid tipprovdi l-istess settings mil-linja tal-kmand kif muri hawn taħt.
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
Biex tiddibaggja l-konnettività, tista 'tuża l-għażla -d:
Debug komunikazzjonijiet tal-konsumatur
kafkacat -d konsumatur -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Iddibaggja l-komunikazzjonijiet tas-sensar
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Kun żgur li tirreferi għad-dokumentazzjoni għal-librerija tal-klijenti Kafka li qed tintuża, peress li l-proprjetajiet jistgħu jkunu differenti minn dawk fil-client.properties.
Format tal-Messaġġ
The messages used for the metrics and metadata topics are serialized in the Protocol buffers (protobuf)format (see developers.google.com/protocol-buffers). L-iskemi għal dawn il-messaġġi jaderixxu mal-format li ġej:
Metriċi Protobuf Skema
sintassi = "proto3";
importazzjoni “google/protobuf/timestamp.proto”;
pakkett paa.streamingapi;
għażla go_package = ".;paa_streamingapi";
Metriċi tal-messaġġ {
google.protobuf.Timestamp timestamp = 1;
mappa valuri = 2;
int32 stream_id = 3;
}
/**
* Valur metriku jista 'jkun jew numru sħiħ jew float.
*/
messaġġ MetricValue {
wieħed mit-tip {
int64 int_val = 1;
float float_val = 2;
}
}
Metadata Protobuf Schema
sintassi = "proto3";
pakkett paa.streamingapi;
għażla go_package = ".;paa_streamingapi";
Metadata tal-messaġġ {
int32 stream_id = 1;
string stream_name = 2;
mappa tags = 13;
}
Klijent Eżamples
NOTA: Dawn il-kmandi huma maħsuba biex jaħdmu fuq klijent estern, pereżempjuample laptop tiegħek jew simili, u mhux fiċ-Ċentru ta 'Kontroll.
NOTA: Biex tintwera l-informazzjoni tal-metriċi, kun żgur li mill-inqas monitor wieħed ikun qed jaħdem fiċ-Ċentru tal-Kontroll.
It-tarball taċ-Ċentru tal-Kontroll jinkludi l-arkivju paa-streaming-api-client-examples.tar.gz (klijent-eżamples), li fih example script Python li juri kif tuża l-API Streaming.
Installazzjoni u Konfigurazzjoni Klijent Examples
Issib klijent-examples in the Routing Active Testing Control Center folder:
esportazzjoni CC_VERSION=4.6.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-examples*
Biex tinstalla client-examples fuq il-kompjuter klijent estern tiegħek, ipproċedi kif ġej:
# Oħloq direttorju għall-estrazzjoni tal-kontenut tal-klijent examples tarball
mkdir paa-streaming-api-client-examples
# Oħroġ il-kontenut tal-klijent examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Mur fid-direttorju maħluq ġdid
cd paa-streaming-api-client-examples
klijent-examples teħtieġ Docker biex jaħdem. It-tniżżil u l-istruzzjonijiet għall-installazzjoni għal Docker jistgħu jinstabu fuq https://docs.docker.com/engine/install.
Bl-użu tal-Klijent Examples
Il-klijent-examples għodod jistgħu jaħdmu jew fil-mod bażiku jew avvanzat biex jibnu examplejiet ta' kumplessità li tvarja. Fiż-żewġ każijiet, huwa wkoll possibbli li tmexxi l-examples b'konfigurazzjoni file li jkun fih proprjetajiet addizzjonali għal aktar customization tan-naħa tal-klijent.
Modalità Bażika
Fil-modalità bażika, il-metriċi u l-metadata tagħhom huma streamed separatament. Għal dan il-għan, il-klijent jisma 'kull suġġett Kafka disponibbli għal aċċess estern u sempliċement jistampa l-messaġġi riċevuti fuq il-console.
Biex tibda l-eżekuzzjoni tal-eżamples, run:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Biex tittermina l-eżekuzzjoni tal-example, agħfas Ctrl + C. (Jista 'jkun hemm dewmien żgħir qabel ma tieqaf l-eżekuzzjoni minħabba li l-klijent jistenna għal avveniment ta' timeout.)
Modalità Avvanzata
NOTA: Il-metriċi jintwerew biss għall-moniters HTTP li jaħdmu fiċ-Ċentru tal-Kontroll.
L-eżekuzzjoni fil-modalità avvanzata turi l-korrelazzjoni bejn il-metriċi u l-messaġġi tal-metadejta. Dan huwa possibbli grazzi għall-preżenza f'kull messaġġ ta' metriċi ta' qasam ta' stream id li jirreferi għall-messaġġ ta' metadata korrispondenti.
Biex tesegwixxi l-ex avvanzatamples, run:
./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Biex tittermina l-eżekuzzjoni tal-example, agħfas Ctrl + C. (Jista 'jkun hemm dewmien żgħir qabel ma tieqaf l-eżekuzzjoni minħabba li l-klijent jistenna għal avveniment ta' timeout.)
Settings Addizzjonali
Huwa possibbli li tmexxi l-examples b'konfigurazzjoni addizzjonali tal-klijent li juża l- –config-file għażla segwita minn a file isem li fih proprjetajiet fil-forma ċavetta=valur.
./build.sh run-advanced \
–kafka-brokers localhost:9092 \
–kont ACCOUNT_SHORTNAME \
–konfigurazzjoni-file client_config.properties
NOTA: Kollha files referenzjati fil-kmand ta 'hawn fuq għandhom ikunu jinsabu fid-direttorju kurrenti u riferuti bl-użu biss mogħdijiet relattivi. Dan japplika kemm għall--config-file argument u għall-entrati kollha fil-konfigurazzjoni file li jiddeskrivu file postijiet.
Validazzjoni tal-Awtentikazzjoni tal-Klijent Estern
Biex tivvalida l-awtentikazzjoni tal-klijent minn barra ċ-Ċentru tal-Kontroll billi tuża client-examples, wettaq il-passi li ġejjin:
- From the Routing Active Testing Control Center folder, switch to the paa-streaming-api-client-examples folder:
cd paa-streaming-api-client-examples - Ikkopja ċ-ċertifikat root CA ca-cert fid-direttorju kurrenti.
- Oħloq client.properties file bil-kontenut li ġej:
security.protocol=SASL_SSL
ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
fejn {CLIENT_USER} u {CLIENT_PASSWORD} huma l-kredenzjali tal-utent għall-klijent. - Mexxi ex bażikuamples:
esportazzjoni KAFKA_FQDN=
./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
–kont ACCOUNT_SHORTNAME
–konfigurazzjoni-file klijent.propjetajiet
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi. - Mexxi avvanzata examples:
esportazzjoni KAFKA_FQDN=
./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
–kont ACCOUNT_SHORTNAME
–konfigurazzjoni-file klijent.propjetajiet
Appendiċi
F'dan l-appendiċi niddeskrivu kif toħloq:
- a keystore file għall-ħażna taċ-ċertifikat SSL tal-broker Kafka
- truststore file għall-ħażna taċ-ċertifikat tal-għeruq tal-Awtorità taċ-Ċertifikati (CA) użat biex jiffirma ċ-ċertifikat tas-sensar Kafka.
Ħolqien ta 'Ċertifikat ta' Broker Kafka
Il-ħolqien ta' Ċertifikat billi tuża Awtorità taċ-Ċertifikat Reali (Rakkomandat)
Huwa rakkomandat li tikseb ċertifikat SSL reali minn CA fdata.
Ladarba tkun iddeċidejt dwar CA, ikkopja ċ-ċertifikat tal-għeruq CA tagħhom ca-cert file lejn it-triq tiegħek kif muri hawn taħt:
esportazzjoni CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
Oħloq l-Awtorità taċ-Ċertifikat Tiegħek
NOTA: Normalment għandu jkollok iċ-ċertifikat tiegħek iffirmat minn Awtorità taċ-Ċertifikati reali; ara s-subsezzjoni preċedenti. Dak li ġej huwa biss example.
Hawnhekk noħolqu ċ-ċertifikat tal-għeruq tagħna stess tal-Awtorità taċ-Ċertifikati (CA). file validu għal 999 jum (mhux rakkomandat fil-produzzjoni):
# Oħloq direttorju għall-ħażna tas-CA
esportazzjoni CA_PATH=~/my-ca
mkdir ${CA_PATH}
# Iġġenera ċ-ċertifikat CA
openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Ħolqien tal-Klijent Truststore
Issa tista 'toħloq truststore file li fih il-ca-cert iġġenerat hawn fuq. Dan file will be needed by the Kafka client that will access the Streaming API: keytool -keystore kafka.client.truststore.jks \
-alias CARoot \
-importcert -file ${CA_PATH}/ca-cert
Issa li ċ-ċertifikat CA jinsab fil-truststore, il-klijent se jafda kwalunkwe ċertifikat iffirmat miegħu.
Għandek tikkopja l- file kafka.client.truststore.jks f'post magħruf fuq il-kompjuter klijent tiegħek u ppunta lejh fis-settings.
Ħolqien tal-Keystore għall-Kafka Broker
Biex tiġġenera ċ-ċertifikat SSL tal-broker Kafka u mbagħad il-keystore kafka.server.keystore.jks, ipproċedi kif ġej:
Ġenerazzjoni taċ-Ċertifikat 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/privat
export CC_IP=<Control Center IP>
keytool -keystore kafka.server.keystore.jks \
-alias server \
-validità 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.
Oħloq talba għall-iffirmar taċ-ċertifikat u aħżenha fil- file imsejħa cert-server-request:
keytool -keystore kafka.server.keystore.jks \
-alias server \
-certreq \
-file talba-cert-server
Issa għandek tibgħat il- file cert-server-request lill-Awtorità taċ-Ċertifikati (CA) tiegħek jekk qed tuża waħda reali. Huma mbagħad jirritornaw iċ-ċertifikat iffirmat. Aħna se nirreferu għal dan bħala cert-server-firmat hawn taħt.
Iffirmar taċ-Ċertifikat SSL Bl-użu ta 'Ċertifikat CA maħluq minnha stess
NOTA: Għal darb'oħra, l-użu tas-CA tiegħek mhuwiex rakkomandat f'sistema ta 'produzzjoni.
Iffirma ċ-ċertifikat billi tuża l-CA permezz tal- file cert-server-request, li tipproduċi ċ-ċertifikat iffirmat cert-server-signed. Ara isfel; ca-password hija l-password stabbilita meta jinħoloq iċ-ċertifikat CA.
cd /var/ssl/privat
openssl x509 -req \
- -CA ${CA_PATH}/ca-cert \
- -CAkey ${CA_PATH}/ca-key \
- -in cert-server-request \
- -out cert-server-firmat \
- -jiem 999 -CAcreateserial \
- -passin pass:{ca-password}
L-importazzjoni taċ-Ċertifikat Iffirmat fil-Keystore
Importa ċ-ċertifikat tal-għeruq ca-cert fil-keystore:
keytool -keystore kafka.server.keystore.jks \
-alias ca-cert \
-importa \
-file ${CA_PATH}/ca-cert
Importa ċ-ċertifikat iffirmat imsejjaħ cert-server-signed:
keytool -keystore kafka.server.keystore.jks \
-alias server \
-importa \
-file cert-server iffirmat
Il- file kafka.server.keystore.jks għandu jiġi kkupjat f'post magħruf fuq is-server taċ-Ċentru tal-Kontroll, u mbagħad imsemmi f' /etc/kafka/server.properties.
Bl-użu tal-API Streaming
Ġenerali
L-API tal-istreaming iġib kemm id-dejta tat-test kif ukoll dik tal-monitoraġġ. Mhux possibbli li tissemma waħda minn dawn il-kategoriji.
L-API streaming ma jġibx data minn testijiet ibbażati fuq skript (dawk rappreżentati minn rettangolu minflok biċċa jigsaw fil-GUI taċ-Ċentru ta 'Kontroll), bħal testijiet ta' attivazzjoni tas-servizz Ethernet u testijiet ta 'trasparenza.
Ismijiet ta' Topic Kafka
L-ismijiet tas-suġġetti Kafka għall-API streaming huma kif ġej, fejn %s huwa l-isem qasir tal-kont taċ-Ċentru tal-Kontroll (indikat meta jinħoloq il-kont):
kost (
exporterName = “kafka”
metadataTopicTpl = “paa.public.accounts.%s.metadata”
metricsTopicTpl = “paa.public.accounts.%s.metrics”
)
Examples tal-Użu tal-API Streaming
L-examples li jsegwu jinsabu fit-tarball paa-streaming-api-client-examples.tar.gz li jinsab fi ħdan it-tarball taċ-Ċentru tal-Kontroll.
L-ewwel, hemm ex bażikuample turi kif il-metriċi u l-metadata tagħhom huma streamed separatament u sempliċiment jistampa l-messaġġi riċevuti lill-console. Tista' tmexxiha kif ġej:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME There is also a more advanced example fejn il-metriċi u l-messaġġi tal-metadejta huma korrelatati. Uża dan il-kmand biex tħaddem:
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, il-logo Juniper Networks, Juniper, u Junos huma trademarks reġistrati ta’ Juniper Networks, Inc. fl-Istati Uniti u pajjiżi oħra. It-trademarks l-oħra kollha, il-marki tas-servizz, il-marki reġistrati, jew il-marki tas-servizz irreġistrati huma l-proprjetà tas-sidien rispettivi tagħhom. Juniper Networks ma jassumi l-ebda responsabbiltà għal xi ineżattezzi f'dan id-dokument. Juniper Networks jirriżerva d-dritt li jibdel, jimmodifika, jittrasferixxi, jew inkella jirrevedi din il-pubblikazzjoni mingħajr avviż. Copyright © 2025 Juniper Networks,
Inc. Id-drittijiet kollha riżervati.

Dokumenti / Riżorsi
![]() |
JUNIPER NETWORKS Routing Active Testing Solution Brief [pdfGwida għall-Utent Routing Active Testing Solution Brief, Active Testing Solution Brief, Testing Solution Brief, Solution Brief |
