Juniper-logo

Juniper NETWORKS Streaming API SoftwareJuniper-NETWORKS-Streaming-API-Software-prodottu

Informazione di u produttu

Specificazioni

  • Nome di u produttu: Paragon Active Assurance
  • Versione: 4.1
  • Data di Publicazione : 2023-03-15

Introduzione:
Questa guida furnisce struzzioni nantu à cumu estrarre dati da Paragon Active Assurance utilizendu l'API di streaming di u produttu. U cliente di streaming è l'API sò inclusi in l'installazione di Paragon Active Assurance, ma una certa cunfigurazione hè necessaria prima di utilizà l'API. U prucessu di cunfigurazione hè coperto in a sezione "Configurazione di l'API Streaming".

Configurazione di l'API Streaming:
I seguenti passi descrizanu u prucessu per cunfigurà l'API di streaming:

Overview
Kafka hè una piattaforma di streaming di eventi pensata per a cattura è u almacenamentu in tempu reale di dati da diverse fonti. Permette a gestione di flussi di eventi in una manera distribuita, scalabile, tolerante à i difetti è sicura. Questa guida si concentra nantu à a cunfigurazione di Kafka per utilizà a funzione Streaming API in Paragon Active Assurance Control Center.

Terminulugia
L'API Streaming permette à i clienti esterni di ricuperà l'infurmazioni metriche da Kafka. I metrici cullati da l'Agenti di Test durante una prova o un compitu di monitoraghju sò mandati à u serviziu Stream. Dopu a trasfurmazioni, u serviziu Stream publica queste metriche nantu à Kafka cù metadati supplementari.

Temi di Kafka
L'API Streaming utilizza temi Kafka per urganizà è almacenà metriche è metadati. I temi di Kafka ponu esse creati è gestionati secondu esigenze specifiche.

Abilitazione di l'API Streaming
Per attivà l'API Streaming, seguite questi passi:

  1. Eseguite i seguenti cumandamenti nantu à u servitore di u Centru di Control cù sudo:
KAFKA_METRICS_ENABLED = I veri servizii sudo ncc attivanu e metriche timecaledb i servizii sudo ncc cumincianu a metrica sudo ncc sudo ncc riavvia

Verificà chì l'API Streaming Funziona in u Centru di Control:
Per verificà chì ricevi metriche nantu à i temi Kafka curretti:

  1. Installa l'utilità kafkacat cù i seguenti cumandamenti:
    sudo apt-get update
    sudo apt-get install kafkacat
  1. Sustituisce "myaccount" cù u nome cortu di u vostru contu in u
    Centru di cuntrollu URL:
    Esporta METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    export METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Eseguite u cumandimu seguitu à view metrica:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Nota: U cumandimu supra vi mostrarà e metriche.
  2. À view metadata, eseguite u cumandimu seguente:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Nota: U cumandamentu di sopra vi mostra metadata, ma ùn aghjurnà più freti.

Client Examples
Per u cliente exampe ulteriori informazioni, riferite a pagina 14 del manuale d'uso.

FAQ (Domande Frequenti)

  • Q: Cosa hè Paragon Active Assurance?
    A: Paragon Active Assurance hè un pruduttu chì furnisce capacità di monitoraghju è teste.
  • Q: Chì ghjè l'API Streaming?
    A: L'API Streaming hè una funzione in Paragon Active Assurance chì permette à i clienti esterni di ricuperà l'infurmazioni metriche da Kafka.
  • Q: Cumu attivà l'API Streaming?
    A: Per attivà l'API Streaming, seguite i passi descritti in a sezione "Abilitazione di l'API Streaming" di u manuale d'utilizatore.
  • Q: Cumu possu verificà chì l'API Streaming funziona?
    A: Consultate a sezione "Verificà chì l'API Streaming Funziona in u Centru di Control" per struzzioni nantu à cumu verificà a funziunalità di l'API Streaming.

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.

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

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 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-Software- (1)

Temi 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:

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:

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

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.
  • Auturizazione: I clienti autentificati ponu esse realizatu attività regulate da ACL.

Eccu un finituview:

Juniper-NETWORKS-Streaming-API-Software- (2)

*) Autentificazione di u nome d'utilizatore / password realizata nantu à un canale criptatu SSL

Per capisce cumplettamente cumu funziona a crittografia 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 magazzinu di chiavi file chì guarda u certificatu. U keystore file cuntene a chjave privata di u certificatu; dunque, ci vole à esse guardatu sicuru.
Truststore: 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:

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
  • 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=Utilizatore: amministratore

Configurazione di liste di cuntrollu di accessu (ACL)

Attivazione di ACL in localhost

AVVERTENZA: Avemu da prima cunfigurà l'ACL per l'host local, in modu chì u Centru di Control stessu pò ancu accede à Kafka. S'ellu ùn hè micca fattu, e cose si romperanu.

  • –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.*.

### Entrate ACL per utilizatori anonimi /usr/lib/kafka/bin/kafka-acls.sh \

NOTA: Per un cuntrollu più finitu, fate riferimentu à a documentazione ufficiale di Kafka.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operation read –operation describe \ –group '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 \ –topic paa.public. -prefissu di tipu di mudellu di risorsa

Una volta fattu questu, avete bisognu di riavvia i servizii:

### Entrate ACL per utilizatori esterni /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc services restart

Per verificà chì un cliente pò stabilisce una cunnessione sicura, eseguite u cumandimu seguitu in un esternu
computer client (micca nantu à 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 cuntrollu.

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.1.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ò affissati solu per i monitori HTTP in esecuzione in u Centru di Control.

Esecuzione in modu avanzatu mostra a correlazione trà metrica è messagi di metadata. Què hè
pussibule grazia à a prisenza in ogni missaghju metrica di un campu d'identificazione di flussu chì si riferisce à u missaghju 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: Tutti 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-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 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 \
  • - servitore 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 \
    • - servitore 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, aduprà 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 \
    • - fora cert-server-firmatu \
    • – ghjorni 999 -CAcreateserial \
    • – pass 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 \
    • - impurtà \
    • – file ${CA_PATH}/ca-cert

Importa u certificatu firmatu chjamatu cert-server-signed:

  • keytool -keystore kafka.server.keystore.jks \
    • - servitore alias \
    • - impurtà \
    • – 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

IN STA SECTION

  • generale | 20
  • Nomi di temi Kafka | 21
  • Examples di Utilizà l'API Streaming | 21

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.

Documenti / Risorse

Juniper NETWORKS Streaming API Software [pdfGuida di l'utente
Streaming API Software, API Software, Software

Referenze

Lascia un cumentu

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