Routing Active Testing Streaming API
Guida
Introduzione
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.
Configurazione di l'API Streaming
Overview
Stu capitulu descrive cumu cunfigurà l'API Streaming per permette l'abbonamentu à i missaghji di metrica via Kafka.
Quì sottu andemu à traversu:
- Cumu attivà l'API Streaming
- Cumu cunfigurà Kafka per sente i clienti esterni
- Cumu cunfigurà Kafka per utilizà ACL è cunfigurà a criptografia SSL per questi clienti
Cosa hè Kafka?
Kafka hè una piattaforma di streaming d'avvenimenti chì permette a cattura in tempu reale di dati mandati da diverse fonti di l'avvenimenti (sensori, basa di dati, dispositi mobili) in forma di flussi di eventi, è ancu un almacenamentu durabile di sti flussi di eventi per a ricuperazione è a manipulazione più tardi.
Cù Kafka hè pussibule di gestisce l'avvenimentu in streaming end-to-end in una manera distribuita, altamente scalabile, elastica, tolerante à i difetti è sicura.
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.
Terminulugia
- Kafka: piattaforma di streaming di eventi.
- Tema Kafka: Raccolta di avvenimenti.
- Abbonatu Kafka / cunsumadore: Cumpunente rispunsevuli di ricuperazione di l'avvenimenti guardati in un tema Kafka.
- Broker Kafka: Servitore di strata di almacenamiento di un cluster Kafka.
- SSL/TLS: SSL hè un protokollu sicuru sviluppatu per mandà l'infurmazioni in modu sicuru per Internet. TLS hè u successore di SSL, introduttu in 1999.
- SASL: Framework chì furnisce i meccanismi per l'autentificazione di l'utilizatori, a verificazione di l'integrità di e dati è a criptografia.
- Streaming API subscriber: Component responsible for retrieval of events stored in topics defined in Routing Active Testing and meant for external access.
- Autorità di Certificazione: Una entità di fiducia chì emette è revoca certificati di chjave publica.
- Certificate root di l'Autorità di Certificazione: Certificatu di chjave publica chì identifica una Autorità di Certificazione.
Cumu funziona l'API Streaming
Cumu l'annunziava prima, l'API Streaming permette à i clienti esterni di ricuperà l'infurmazioni nantu à e metriche da Kafka.
Tutte e metriche raccolte da l'Agenti di Test durante una prova o un compitu di monitoraghju sò mandati à u serviziu Stream.
Dopu una fase di trasfurmazioni, u serviziu Stream publica queste metriche nantu à Kafka inseme cù metadati supplementari.
Temi di 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
- Tutti i missaghji di metrica per u contu datu sò publicati à questu tema
- Grandi quantità di dati
- Alta frequenza di aghjurnamentu
- paa.public.accounts.{ACCOUNT}.metadata
- Contene metadati ligati à i dati di metrica, per esempiuampu test, monitor o Test Agent assuciatu cù e metriche
- Piccole quantità di dati
- Frequenza di aghjurnamentu bassa
Abilitazione di l'API Streaming
NOTA: These instructions are to be run on the Control Center server using sudor.
Siccomu l'API Streaming aghjusta un pocu di sopra à u Centru di cuntrollu, ùn hè micca attivatu per automaticamente. Per attivà l'API, avemu prima di attivà a publicazione di metriche à Kafka in a cunfigurazione principale file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = Veru
KAFKA_PUBLISH_METADATA_FOR_STREAMS = True
ATTENZIONE: L'attivazione di sta funzione pò influenzà u rendiment di u Centru di Control. Assicuratevi chì avete dimensionatu a vostra istanza in cunseguenza.
In seguitu, per attivà l'invio di queste metriche à i temi Kafka curretti:
- /etc/netrounds/metrics.yaml
streaming-api: veru
Per attivà è avvià i servizii di l'API Streaming, eseguite:
- I servizii sudo ncc attivanu metriche timecaledb
- I servizii di sudo ncc inizianu metriche timecaledb
Infine, riavvia i servizii:
- sudo ncc services restart
NOTA: The KAFKA_PUBLISH_RESOURCES setting has been deprecated. It should be removed from your configuration. Use KAFKA_PUBLISH_METADATA_FOR_STREAMS = True instead.
Verificà chì l'API Streaming Funziona in u Centru di Control
NOTA: Queste struzzioni sò da esse eseguite nantu à u servitore di u Centru di Control.
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 update
- 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.
Sustituisci myaccount cù u nome curtu di u vostru contu (questu hè ciò chì vede in u vostru Centru di cuntrollu URL):
- Esporta METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- export METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Avete avà vede e metriche eseguendu stu cumandamentu:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
À view metadati, eseguite u cumandimu seguitu (nota chì questu ùn serà micca aghjurnatu cusì spessu):
- 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.
Questu verifica chì avemu una API di Streaming chì funziona da u Centru di Control. Tuttavia, assai prubabilmente site interessatu à accede à e dati da un cliente esternu invece. A sezione dopu descrive cumu apre Kafka per accessu esternu.
Apertura di Kafka per l'ospiti esterni
NOTA: Queste struzzioni sò da esse eseguite nantu à u servitore di u Centru di Control.
Per difettu, Kafka in esecuzione nantu à u Centru di cuntrollu hè cunfiguratu per stà à sente solu in u locale host per l'usu internu.
Hè pussibule apre Kafka per i clienti esterni mudificà i paràmetri di Kafka.
Cunnessione cù Kafka: Avvertenze
ATTENZIONE: Per piacè leghjite questu cun cura, postu chì hè faciule d'avè cunnessu cù Kafka se ùn avete micca capitu sti cuncetti.
In a cunfigurazione di u Centru di cuntrollu descritta in stu documentu, ci hè solu un solu broker Kafka.
Tuttavia, nutate chì un broker Kafka hè destinatu à eseguisce cum'è parte di un cluster Kafka chì pò esse cumpostu di parechji brokers Kafka.
Quandu si cunnetta à un broker Kafka, una cunnessione iniziale hè stallata da u cliente Kafka. Nantu à sta cunnessione, u broker Kafka torna à turnà una lista di "ascoltatori annunziati", chì hè una lista di unu o più brokers Kafka.
Dopu avè ricivutu sta lista, u cliente di Kafka si disconnetterà, poi riconnetterà à unu di questi ascoltatori annunziati. L'ascoltatori annunziati deve cuntene nomi d'ospiti o indirizzi IP chì sò accessibili à u cliente Kafka, o u cliente fallarà à cunnette.
Se a criptografia SSL hè aduprata, chì implica un certificatu SSL chì hè ligatu à un nome d'ospitu particulari, hè ancu più impurtante chì u cliente Kafka riceve l'indirizzu currettu per cunnette, postu chì altrimenti a cunnessione pò esse rifiutata.
Leghjite più nantu à i ascoltatori di Kafka quì: www.confluent.io/blog/kafka-listeners-explained
Criptazione SSL/TLS
Per assicurà chì solu i clienti di fiducia sò permessi di accede à Kafka è l'API Streaming, avemu da cunfigurà e seguenti:
- Autentificazione: I clienti devenu furnisce u nome d'utilizatore è a password attraversu una cunnessione sicura SSL / TLS trà u cliente è Kafka.
- Autorizazione: I clienti autentificati ponu realizà attività regulate da ACL.
Eccu un finituview:
Per capisce cumplettamente cumu funziona a criptografia SSL/TLS per Kafka, fate riferimentu à a documentazione ufficiale: docs.confluent.io/platform/current/kafka/encryption.html
Certificatu SSL/TLS sopraview
NOTA: In questa subsezzione useremu a terminologia seguente:
Certificatu: Un certificatu SSL firmatu da una Autorità di Certificazione (CA). Ogni broker Kafka hà unu.
Keystore: U Keystore file chì guarda u certificatu. U keystore file cuntene a chjave privata di u certificatu; dunque, ci vole à esse guardatu sicuru.
Fiduciaria: A file chì cuntene i certificati CA di fiducia.
Per stallà l'autentificazione trà un cliente esternu è Kafka in esecuzione in u Centru di Control, i dui lati devenu avè un magazzinu di chjave definitu cù un certificatu cunnessu firmatu da una Autorità di Certificazione (CA) inseme cù u certificatu root CA.
In più di questu, u cliente deve ancu avè un truststore cù u certificatu root CA.
U certificatu root CA hè cumunu à u broker Kafka è u cliente Kafka.
Creazione di i certificati richiesti
Questu hè trattatu in "Appendice" à a pagina 16.
Kafka Broker SSL / TLS Configuration in Control Center
NOTA: Queste struzzioni sò da esse eseguite nantu à u servitore di u Centru di Control.
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 cullucatu nantu à u discu cù u file estensione .jks.
Una volta chì avete i certificati richiesti creati sia per u broker Kafka sia per u cliente Kafka dispunibule, pudete cuntinuà cunfigurà u broker Kafka in esecuzione in u Centru di Control. Avete bisognu di sapè i seguenti:
- : U nomu publicu di u centru di cuntrollu; questu deve esse risolvibile è accessibile da i clienti Kafka.
- : A password di u keystore furnita quandu crea u certificatu SSL.
- è : Quessi sò e password chì vulete stabilisce per l'amministratore è l'utilizatori di u cliente rispettivamente. Nota chì pudete aghjunghje più utilizatori, cum'è indicatu in l'example.
Edit or append (with sudo access) the properties below in /etc/kafka/server.properties, inserting the above
variables as shown:
ATTENZIONE: Ùn sguassate micca PLAINTEXT://localhost:9092; questu romperà a funziunalità di u Centru di cuntrollu postu chì i servizii internu ùn puderanu micca cumunicà.
…
# L'indirizzi chì u broker Kafka ascolta.
listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Quessi sò l'ospiti annunziati torna à qualsiasi cliente chì si cunnetta.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// : 9093
… ####### CUSTOM CONFIG
# CONFIGURAZIONE SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=nimu
ssl.protocol=TLSv1.2
# Cunfigurazione SASL
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule necessariu \
username="admin" \
password = " "\
User:admin=”<admin_pwd>” \
user client=”<client_pwd>”;
# NOTA più utilizatori ponu esse aghjuntu cù user_ =
# Autorizazione, attivate l'ACL
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
superusers=User:admin
Configurazione di liste di cuntrollu di accessu (ACL)
Attivazione di ACL in localhost
ATTENZIONE: Bisogna prima cunfigurà ACL per localhost, perchè u Centru di Control stessu pò ancu accede à Kafka. S'ellu ùn hè micca fattu, e cose si romperanu.
######### Entrate ACL per utilizatori 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 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 ‘*’
Dopu avemu bisognu di attivà l'ACL per l'accessu di sola lettura esternu, perchè l'utilizatori esterni sò permessi di leghje i temi paa.public.*.
NOTA: Per un cuntrollu più finitu, fate riferimentu à a documentazione ufficiale di Kafka.
######### Entrate ACL per utilizatori esterni
/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 \
-gruppu "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 \
–tema paa.public. -prefissu di tipu di mudellu di risorsa
Una volta fattu questu, avete bisognu di riavvia i servizii:
sudo ncc services restart
Per verificà chì un cliente pò stabilisce una cunnessione sicura, eseguite u cumandimu seguitu nantu à un computer cliente esternu (micca in u servitore di u Centru di Control). Sottu, PUBLIC_HOSTNAME hè u nome d'ospitu di u Centru di Control:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Rinegoziazione sicura hè supportata"
In l'output di u cumandimu duvete vede u certificatu di u servitore è ancu i seguenti:
A renegociazione sicura hè supportata
Per assicurà chì i servizii internu sò stati cuncessi l'accessu à u servitore Kafka, verificate u logu seguentefiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
Validazione di a Connettività Cliente Esterna
kafkacat
NOTA: Queste struzzioni sò da esse eseguite nantu à un computer cliente (micca nantu à u servitore di u Centru di Control).
NOTA: Per visualizà l'infurmazioni di metrica, assicuratevi chì almenu un monitor hè in esecuzione in u Centru di Control.
Per verificà è cunvalidà a cunnessione cum'è un cliente esternu, hè pussibule aduprà l'utilità kafkacat chì hè stata installata in a sezione "Verificà chì l'API Streaming Funziona in u Centru di Control" in a pagina 4.
Eseguite i seguenti passi:
NOTA: Sottu, CLIENT_USER hè l'utilizatore specificatu prima in u 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.
Crea a file client.properties cù u cuntenutu seguente:
security.protocol=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mechanisms=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
induve
- {PATH_TO_CA_CERT} hè u locu di u certificatu root CA utilizatu da u broker Kafka
- {CLIENT_USER} è {CLIENT_PASSWORD} sò i credenziali d'utilizatore per u cliente.
- Eseguite u cumandimu seguitu per vede u messagiu cunsumatu da kafkacat:
export KAFKA_FQDN=
export METRICS_TOPIC=paa.public.accounts. .metriche
kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
induve {METRICS_TOPIC} hè u nome di u tema Kafka cù prefissu "paa.public.".
NOTA: E versioni più vechje di kafkacat ùn furnisce micca l'opzione -F per leghje i paràmetri di u cliente da a file. Sè vo aduprate una tale versione, duvete furnisce i stessi paràmetri da a linea di cummanda cum'è mostratu quì sottu.
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
Per debug a cunnessione, pudete aduprà l'opzione -d:
Debug cumunicazioni di u cunsumadore
kafkacat -d consumer -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Debug cumunicazioni di u broker
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Assicuratevi di riferite à a ducumentazione per a biblioteca di u cliente Kafka in usu, cum'è e proprietà pò esse diffirenti da quelli in client.properties.
Format di messagiu
The messages used for the metrics and metadata topics are serialized in the Protocol buffers (protobuf)format (see developers.google.com/protocol-buffers). I schemi per questi messagi aderiscenu à u formatu seguente:
Schema di Metrics Protobuf
sintassi = "proto3";
impurtà "google/protobuf/timestamp.proto";
pacchettu paa.streamingapi;
opzione go_package = ".;paa_streamingapi";
messagiu Metrics {
google.protobuf.Timestamp volteamp = 1;
mappa valori = 2;
int32 stream_id = 3;
}
/**
* Un valore metricu pò esse un entero o un float.
*/
missaghju MetricValue {
unu di tipu {
int64 int_val = 1;
float float_val = 2;
}
}
Metadata Protobuf Schema
sintassi = "proto3";
pacchettu paa.streamingapi;
opzione go_package = ".;paa_streamingapi";
Metadata di messagiu {
int32 stream_id = 1;
string stream_name = 2;
mappa tags = 13;
}
Client Examples
NOTA: Questi cumandamenti sò destinati à eseguisce nantu à un cliente esternu, per esempiuample u vostru laptop o simili, è micca in u Centru di cuntrollu.
NOTA: Per avè l'infurmazioni di metriche affissate, assicuratevi chì almenu un monitor hè in esecuzione in u Centru di Control.
U tarball di u Centru di Control include l'archiviu paa-streaming-api-client-examples.tar.gz (client-examples), chì cuntene un example script Python chì mostra cumu utilizà l'API Streaming.
Installazione è cunfigurazione Client Examples
Truverete client-examples in the Routing Active Testing Control Center folder:
export CC_VERSION=4.6.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-examples*
Per installà client-examples in u vostru urdinatore di u cliente esternu, procedi cusì:
# Crea un annuariu per estrae u cuntenutu di u cliente examples tarball
mkdir paa-streaming-api-client-examples
# Estrae u cuntenutu di u cliente examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Andate à u cartulare di novu creatu
cd paa-streaming-api-client-examples
cliente-examples richiede Docker per eseguisce. Scaricamentu è struzzioni di installazione per Docker ponu esse truvati à https://docs.docker.com/engine/install.
Utilizendu Client Examples
U cliente-exampl'arnesi pò eseguisce in modu basicu o avanzatu per custruisce example di varia cumplessità. In i dui casi, hè ancu pussibule di eseguisce l'examples cun cunfigurazione file chì cuntene proprietà supplementari per più persunalizazione di u latu di u cliente.
Modu basicu
In u modu basicu, e metriche è i so metadati sò trasmessi separatamente. Per questu scopu, u cliente ascolta ogni tema Kafka dispunibule per l'accessu esternu è simpricimenti stampa i missaghji ricevuti à a cunsola.
Per principià l'esekzione di l'examples, corre:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
induve ACCOUNT_SHORTNAME hè u nome cortu di u contu chì vulete uttene e metriche.
Per finisce l'esekzione di l'example, appughjà Ctrl + C. (Ci pò esse un pocu ritardu prima chì l'esekzione si ferma perchè u cliente aspetta un eventu di timeout.)
Modu Avanzatu
NOTA: I metrici sò visualizati solu per i monitori HTTP chì funzionanu in u Centru di Control.
Esecuzione in modu avanzatu mostra a correlazione trà metrica è messagi di metadata. Questu hè pussibule grazia à a prisenza in ogni missaghju di metrica di un campu d'identità di flussu chì si riferisce à u messagiu di metadata currispundente.
Per eseguisce l'ex avanzataamples, corre:
./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
induve ACCOUNT_SHORTNAME hè u nome cortu di u contu chì vulete uttene e metriche.
Per finisce l'esekzione di l'example, appughjà Ctrl + C. (Ci pò esse un pocu ritardu prima chì l'esekzione si ferma perchè u cliente aspetta un eventu di timeout.)
Impostazioni supplementari
Hè pussibule di eseguisce l'example cù cunfigurazione addiziale di u cliente utilizendu u -config-file opzione seguita da a file nome chì cuntene proprietà in a forma chjave = valore.
./build.sh run-advanced \
–kafka-brokers localhost:9092 \
–actu ACCOUNT_SHORTNAME \
-config-file client_config.properties
NOTA: Tuttu files riferiti in u cumandamentu sopra deve esse situatu in u repertoriu attuale è riferitu cù solu percorsi relative. Questu hè applicà sia à -config-file argumentu è à tutte e voci in a cunfigurazione file chì descrive file lochi.
Validazione di l'autentificazione di u cliente esternu
Per cunvalidà l'autentificazione di u cliente fora di u Centru di cuntrollu usendu client-examples, eseguite i seguenti passi:
- From the Routing Active Testing Control Center folder, switch to the paa-streaming-api-client-examples folder:
cd paa-streaming-api-client-examples - Copia u certificatu root CA ca-cert in u cartulare attuale.
- Crea un client.properties file cù u seguenti cuntenutu:
security.protocol=SASL_SSL
ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
induve {CLIENT_USER} è {CLIENT_PASSWORD} sò i credenziali d'utilizatore per u cliente. - Run basic examples:
export KAFKA_FQDN=
./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
– contu ACCOUNT_SHORTNAME
-config-file cliente.proprietà
induve ACCOUNT_SHORTNAME hè u nome cortu di u contu chì vulete uttene e metriche. - Run avanzata examples:
export KAFKA_FQDN=
./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
– contu ACCOUNT_SHORTNAME
-config-file cliente.proprietà
Appendice
In questu appendice descrivemu cumu creà:
- un magazzinu di chiavi file per almacenà u certificatu SSL di u broker Kafka
- un truststore file per almacenà u certificatu radice di l'Autorità di Certificazione (CA) utilizatu per firmà u certificatu di broker Kafka.
Crià un Certificatu di Broker Kafka
Creazione di un Certificatu Utilizendu una Autorità di Certificatu Reale (Consigliatu)
Hè cunsigliatu di ottene un veru certificatu SSL da una CA di fiducia.
Una volta avete decisu di una CA, copiate u so certificatu di root CA ca-cert file à u vostru propiu caminu cum'è mostra quì sottu:
export CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
Crea a vostra propria autorità di certificazione
NOTA: Normalmente duvete avè u vostru certificatu firmatu da una vera Autorità di Certificazione; vede a subsezione precedente. Ciò chì seguita hè solu un example.
Quì creemu u nostru propiu certificatu di a radica di l'Autorità di Certificazione (CA). file validu per 999 ghjorni (micca cunsigliatu in pruduzzione):
# Crea un cartulare per almacenà u CA
export CA_PATH=~/my-ca
mkdir ${CA_PATH}
# Generate u certificatu CA
openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Creazione di u Client Truststore
Avà pudete creà un truststore file chì cuntene u ca-cert generatu sopra. Questu 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
Avà chì u certificatu CA hè in u truststore, u cliente fiducia in ogni certificatu firmatu cun ellu.
Duvete copià u file kafka.client.truststore.jks à un locu cunnisciutu in u vostru urdinatore cliente è punta à questu in i paràmetri.
Creazione di u Keystore per u Broker Kafka
Per generà u certificatu SSL di u broker Kafka è dopu u keystore kafka.server.keystore.jks, procedi cusì:
Generazione di u Certificatu SSL
Use these commands to generate the SSL certificate. Below, 999 is the number of days of validity of the keystore.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/private
export CC_IP=<Control Center IP>
keytool -keystore kafka.server.keystore.jks \
-server alias \
-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.
Crea una dumanda di firma di certificatu è guardala in u file chjamatu cert-server-request:
keytool -keystore kafka.server.keystore.jks \
-server alias \
-certreq \
-file Cert-server-request
Avete avà da mandà u file cert-server-request à a vostra Autorità di Certificazione (CA) sè vo site cù una vera. Dopu turnaranu u certificatu firmatu. Avemu da riferite à questu cum'è cert-server-signed below.
Firmà u Certificatu SSL Utilizendu un Certificatu CA autocreatu
NOTA: In novu, l'usu di u vostru propiu CA ùn hè micca cunsigliatu in un sistema di produzzione.
Firmà u certificatu utilizendu a CA per mezu di u file cert-server-request, chì produce u certificatu firmatu cert-server-signed. Vede quì sottu; ca-password hè a password stabilita quandu crea u certificatu CA.
cd /var/ssl/private
openssl x509 -req \
- -CA ${CA_PATH}/ca-cert \
- -CAkey ${CA_PATH}/ca-key \
- -in cert-server-request \
- -out cert-server-firmato \
- -ghjorni 999 -CAcreateserial \
- -passin pass:{ca-password}
Importazione di u Certificatu firmatu in u Keystore
Importa u certificatu root ca-cert in u keystore:
keytool -keystore kafka.server.keystore.jks \
-alias ca-cert \
-import\
-file ${CA_PATH}/ca-cert
Importa u certificatu firmatu chjamatu cert-server-signed:
keytool -keystore kafka.server.keystore.jks \
-server alias \
-import\
-file cert-server-firmatu
U file kafka.server.keystore.jks deve esse copiatu in un locu cunnisciutu in u servitore di u Centru di Control, è dopu riferitu in /etc/kafka/server.properties.
Utilizà l'API Streaming
Generale
L'API di streaming recupera i dati di prova è di monitoru. Ùn hè micca pussibule di distingue una di queste categurie.
L'API di streaming ùn piglia micca dati da testi basati in script (quelli rapprisentati da un rettangulu invece di un pezzu di puzzle in a GUI di u Centru di Control), cum'è testi di attivazione di serviziu Ethernet è testi di trasparenza.
Nomi di temi Kafka
I nomi di temi Kafka per l'API di streaming sò i seguenti, induve %s hè u nome curtu di u cuntu di u Centru di cuntrollu (indicatu quandu crea u contu):
cust (
exporterName = "kafka"
metadataTopicTpl = "paa.public.accounts.%s.metadata"
metricsTopicTpl = "paa.public.accounts.%s.metrics"
)
Exampi file di Utilizà l'API Streaming
L'exampli chì seguitanu si trovanu in u tarball paa-streaming-api-client-examples.tar.gz contenute in u tarball di u Centru di Control.
Prima, ci hè un ex basicuample dimustrà cumu e metriche è i so metadati sò trasmessi separatamente è simpricimenti stampate i missaghji ricevuti à a cunsola. Pudete eseguisce cusì:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME There is also a more advanced example induve metrica è messagi di metadata sò correlati. Aduprate stu cumandamentu per eseguisce:
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, u logu di Juniper Networks, Juniper è Junos sò marchi registrati di Juniper Networks, Inc. in i Stati Uniti è in altri paesi. Tutti l'altri marchi, marchi di serviziu, marchi registrati, o marchi di serviziu registrati sò a pruprietà di i so rispettivi pruprietarii. Juniper Networks ùn assume micca a responsabilità per qualsiasi imprecisioni in stu documentu. Juniper Networks si riserva u dirittu di cambià, mudificà, trasferisce, o altrimenti rivisione sta publicazione senza avvisu. Copyright © 2025 Juniper Networks,
Inc. Tutti i diritti riservati.

Documenti / Risorse
![]() |
JUNIPER NETWORKS Routing Active Testing Solution Brief [pdfGuida di l'utente Routing Active Testing Solution Brief, Active Testing Solution Brief, Testing Solution Brief, Solution Brief |
