Logo Juniper NETWORKSStreaming API Guide
Publicatu
2023-07-07
LIBERA
4.2

Introduzione

Questa guida descrive cumu estrarre dati da Paragon Active Assurance via l'API di streaming di u produttu.
L'API è u cliente di streaming sò inclusi in l'installazione di Paragon Active Assurance.
Tuttavia, un pocu di cunfigurazione hè necessariu prima di pudè utilizà l'API. Questu hè trattatu in u "Configurazione di l'API Streaming" in a pagina 1 capitulu.

Configurazione di l'API Streaming

Overview
Stu capitulu descrive cumu cunfigurà l'API Streaming per permette l'abbonamentu à i missaghji di metrica via Kafka.
pr
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

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 pò esse cunfiguratu in parechje manere diffirenti è hè statu cuncepitu per scalabilità è sistemi redundante. Stu documentu si focalizeghja solu nantu à cumu si cunfigurà per aduprà a funzione Streaming API truvata in Paragon Active Assurance Control Center. Per configurazioni più avanzate, riferemu à a documentazione ufficiale di Kafka: 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.
  • Abbonatu Streaming API: Componente rispunsevuli di ricuperazione di l'avvenimenti almacenati in temi definiti in Paragon Active Assurance è destinatu à l'accessu esternu.
  • 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.Juniper NETWORKS Streaming API Assicuranza attiva - Cumu funziona l'API StreamingTemi di Kafka
Kafka hà u cuncettu di temi à quale tutti i dati sò publicati. In Paragon Active Assurance ci sò parechji temi di Kafka dispunibili; in ogni modu, solu un subset di questi sò destinati à l'accessu esternu.
Ogni contu Paragon Active Assurance in Control Center hà dui temi dedicati. Sottu, ACCOUNT hè u nome brevi di u contu:

  • 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: Queste struzzioni sò da esse eseguite nantu à u servitore di u Centru di Control cù sudo.
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
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
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.
Pudete avà verificà chì avete ricevutu metriche nantu à i temi Kafka curretti. Per fà quessa, installate l'utilità kafkacat:
sudo apt-get update
sudo apt-get install kafkacat
Se tenete una prova o un monitor in esecuzione in u Centru di Control, duvete esse capace di utilizà kafkacat per riceve metriche è metadata nantu à questi temi.
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:
kafkacat"Client Examples" à a pagina 14
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
Juniper NETWORKS Streaming API Assicuranza attiva - Simbuli 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
SSL/TLSEncryption
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:
Juniper NETWORKS Streaming API Active Assurance - Cumu funziona l'API Streaming 1*) Autentificazione di u nome d'utilizatore / password realizata nantu à un canale criptatu SSL

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 subsezione 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 17.
Kafka Broker SSL / TLS Configuration in Control Center
NOTA: Queste struzzioni sò da esse eseguite nantu à u servitore di u Centru di Control.
NOTA: Prima di cuntinuà, duvete creà u magazzinu di chjave chì cuntene u certificatu SSL seguendu l'istruzzioni in l'"Appendice" in a pagina 17. I percorsi citati quì sottu venenu da sti struzzioni.
U keystore SSL hè 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.

Edite o aghjunghje (cù l'accessu sudo) e proprietà sottu in /etc/kafka/server.properties, inserisce e variàbili sopra cum'è mostra:
Juniper NETWORKS Streaming API Assicuranza attiva - Simbuli ATTENZIONE: Ùn sguassate 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 = " "\
user_client = " ";
# NOTA più utilizatori ponu esse aghjuntu cù user_ =
# Autorizazione, attivate l'ACL
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=Usuariu: amministratore

Configurazione di liste di cuntrollu di accessu (ACL)
Attivazione di ACL in localhost
Juniper NETWORKS Streaming API Assicuranza attiva - Simbuli 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 –gruppu '*'

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: vale à dì, user_client è a password stabilita quì.
U certificatu root CA utilizatu per firmà u certificatu SSL di u servitore deve esse presente nantu à u cliente.

  • 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
I missaghji utilizati per i temi di metrica è di metadati sò serializzati in u formatu di buffer di Protocol (protobuf) (vede 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 u cartulare Paragon Active Assurance Control Center:

export CC_VERSION=4.2.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:

  • Da u cartulare Paragon Active Assurance Control Center, cambia à u paa-streaming-api-clientexamples 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 serà necessariu da u cliente Kafka chì accede à l'API Streaming:

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
Sottu, 999 hè u nùmeru di ghjorni di validità di u keystore, è FQDN hè u nome di duminiu cumplettamente qualificatu di u cliente (nome d'ospite publicu di u node).
NOTA: Hè impurtante chì u FQDN currisponde à u nome d'ospitu esatta chì u cliente Kafka aduprà per cunnette à u Centru di Control.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/private
export FQDN =
keytool -keystore kafka.server.keystore.jks \
-server alias \
-validità 999 \
-genkey -keyalg RSA -ext SAN=dns:${FQDN}
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
Ci hè ancu un ex più avanzatuample induve metrica è messagi di metadata sò correlati. Aduprate stu cumandamentu per eseguisce:
sudo ./build.sh run-advanced -kafka-brokers localhost:9092 -account ACCOUNT_SHORTNAME
Avete bisognu di utilizà sudo per eseguisce cumandamenti Docker cum'è quelli sopra. Opcionalmente, pudete seguità i passi post-installazione di Linux per esse capace di eseguisce cumandamenti Docker senza sudo. Per i dettagli, vai à 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 © 2023 Juniper Networks, Inc. Tutti i diritti riservati.

Logo Juniper NETWORKS

Documenti / Risorse

Juniper NETWORKS Streaming API Active Assurance [pdfGuida di l'utente
Streaming API Active Assurance, API Active Assurance, Active Assurance, Assurance

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *