Junipero-logo

Juniper NETWORKS Streaming API ProgramaroJuniper-NETWORKS-Streaming-API-Software-produkto

Produktaj Informoj

Specifoj

  • Produkta Nomo: Paragon Active Assurance
  • Versio: 4.1
  • Eldonita Dato: 2023-03-15

Enkonduko:
Ĉi tiu gvidilo donas instrukciojn pri kiel ĉerpi datumojn de Paragon Active Assurance per la fluanta API de la produkto. La fluanta kliento kaj API estas inkluzivitaj en la instalado de Paragon Active Assurance, sed iu agordo estas postulata antaŭ ol uzi la API. La agorda procezo estas kovrita en la sekcio "Agordi la Streaming API".

Agordante la Streaming API:
La sekvaj paŝoj skizas la procezon por agordi la streaming-API:

Finiteview
Kafka estas evento-flua platformo dizajnita por realtempa kaptado kaj konservado de datumoj de diversaj fontoj. Ĝi ebligas la administradon de eventofluoj en distribuita, skalebla, mistolerema kaj sekura maniero. Ĉi tiu gvidilo fokusiĝas pri agordo de Kafka por uzi la funkcion de Streaming API en Paragon Active Assurance Control Center.

Terminologio
La Streaming API permesas al eksteraj klientoj preni metrikajn informojn de Kafka. Metrikoj kolektitaj de la Testaj Agentoj dum testa aŭ monitora tasko estas senditaj al la Stream-servo. Post prilaborado, la Stream-servo publikigas ĉi tiujn metrikojn sur Kafka kune kun pliaj metadatenoj.

Kafkaj Temoj
La Streaming API utiligas Kafka-temojn por organizi kaj stoki metrikojn kaj metadatenojn. Kafkaj temoj povas esti kreitaj kaj administritaj laŭ specifaj postuloj.

Ebligante la Streaming API
Por ebligi la Streaming API, sekvu ĉi tiujn paŝojn:

  1. Rulu la sekvajn komandojn sur la servilo de Kontrolcentro uzante sudo:
KAFKA_METRICS_ENABLED = Veraj sudo ncc-servoj ebligas timescaledb-metrikojn sudo-ncc-servojn starti timescaledb-metrikojn sudo ncc-servoj rekomencas

Kontrolante Ke la Streaming API Funkcias en Kontrola Centro:
Por kontroli, ke vi ricevas mezurojn pri la ĝustaj Kafka-temoj:

  1. Instalu la ilon kafkacat per la sekvaj komandoj:
    sudo apt-get ĝisdatigo
    sudo apt-get install kafkacat
  1. Anstataŭigi "myaccount" per la mallonga nomo de via konto en la
    Kontrolcentro URL:
    eksporti METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    eksporti METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Rulu la sekvan komandon al view metriko:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Notu: La supra komando montros la metrikojn.
  2. Al view metadatenoj, rulu la sekvan komandon:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Notu: La supra komando montros metadatenojn, sed ĝi ne ĝisdatiĝos tiel ofte.

Kliento Ekzamples
Por kliento ekzamplesoj kaj pliaj informoj, raportu al paĝo 14 de la uzantmanlibro.

Oftaj Demandoj (Oftaj Demandoj)

  • Q: Kio estas Paragon Active Assurance?
    R: Paragon Active Assurance estas produkto kiu provizas monitorajn kaj testajn kapablojn.
  • Q: Kio estas la Streaming API?
    R: La Streaming API estas trajto en Paragon Active Assurance, kiu ebligas al eksteraj klientoj preni metrikajn informojn de Kafka.
  • Q: Kiel mi ebligas la Streaming API?
    R: Por ebligi la Streaming API, sekvu la paŝojn priskribitajn en la sekcio "Ebligi la Streaming API" de la uzantmanlibro.
  • Q: Kiel mi povas kontroli, ke la Streaming API funkcias?
    R: Rigardu la sekcion "Konfirmante ke la Streaming API Funkcias en Kontrola Centro" por instrukcioj pri kiel kontroli la funkciojn de la Streaming API.

Enkonduko

Ĉi tiu gvidilo priskribas kiel ĉerpi datumojn de Paragon Active Assurance per la fluanta API de la produkto.
La API same kiel la streaming-kliento estas inkluzivitaj en la instalado de Paragon Active Assurance. Tamen necesas iom da agordo antaŭ ol vi povas uzi la API. Ĉi tio estas kovrita en la ĉapitro "Agordi la Streaming API" en paĝo 1.

Finiteview
Ĉi tiu ĉapitro priskribas kiel agordi la Streaming API por permesi abonon al metrikaj mesaĝoj per Kafka.
pr
Malsupre ni trairos:

  • Kiel ebligi la Streaming API
  • Kiel agordi Kafka por aŭskulti eksterajn klientojn
  • Kiel agordi Kafka por uzi ACL-ojn kaj agordi SSL-ĉifradon por menciitaj klientoj

Kio Estas Kafka?
Kafka estas evento-flua platformo kiu permesas realtempan kapton de datumoj senditaj de diversaj okazaĵfontoj (sensiloj, datumbazoj, moveblaj aparatoj) en la formo de eventofluoj, same kiel daŭrema stokado de tiuj eventaj riveretoj por posta rehavigo kaj manipulado.
Kun Kafka eblas administri la eventon-streaming fine-al-finan en distribuita, tre skalebla, elasta, mistolerema kaj sekura maniero.

NOTO: Kafka povas esti agordita en multaj malsamaj manieroj kaj estis dizajnita por skaleblo kaj redundaj sistemoj. Ĉi tiu dokumento fokusiĝas nur pri kiel agordi ĝin por uzi la funkcion de Streaming API trovita en Paragon Active Assurance Control Center. Por pli altnivelaj agordoj ni raportas al la oficiala Kafka dokumentaro: kafka.apache.org/26/documentation.html.

Terminologio

  • Kafka: Event-streaming platformo.
  • Kafka temo: Kolekto de eventoj.
  • Kafka abonanto/konsumanto: Komponanto respondeca por rehavigo de eventoj konservitaj en Kafka temo.
  • Kafka makleristo: Stoka tavolservilo de Kafka areto.
  • SSL/TLS: SSL estas sekura protokolo evoluigita por sendi informojn sekure tra la Interreto. TLS estas la posteulo de SSL, lanĉita en 1999.
  • SASL: Kadro kiu disponigas mekanismojn por uzantaŭtentikigo, datuma integreckontrolado, kaj ĉifrado.
  • Streaming API-abonanto: Komponento respondeca por rehavigo de eventoj stokitaj en temoj difinitaj en Paragon Active Assurance kaj signifita por ekstera aliro.
  • Atestila Aŭtoritato: fidinda ento kiu emisias kaj revokas publikajn ŝlosilajn atestilojn.
  • Atestila Aŭtoritato radika: Atestilo pri publika ŝlosilo kiu identigas Atestilon.

Kiel Funkcias la Streaming API
Kiel antaŭe menciite, la Streaming API permesas al eksteraj klientoj preni informojn pri metrikoj de Kafka.

Ĉiuj metrikoj kolektitaj de la Testaj Agentoj dum testa aŭ monitora tasko estas senditaj al la Stream-servo. Post prilabora fazo, la Stream-servo publikigas tiujn metrikojn sur Kafka kune kun pliaj metadatenoj.

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

Kafkaj Temoj
Kafka havas la koncepton de temoj al kiuj ĉiuj datumoj estas publikigitaj. En Paragon Active Assurance ekzistas multaj tiaj Kafkaj temoj haveblaj; tamen, nur subaro de tiuj estas signifita por ekstera aliro.
Ĉiu Paragon Active Assurance-konto en Kontrolcentro havas du dediĉitajn temojn. Malsupre, KONTO estas la mallonga nomo de konto:

  • paa.public.accounts.{KONTO}.metrics
    • Ĉiuj metrikaj mesaĝoj por la donita konto estas publikigitaj al ĉi tiu temo
    • Grandaj kvantoj da datumoj
    • Alta ofteco de ĝisdatigo
  • paa.public.accounts.{KONTO}.metadatumoj
    • Enhavas metadatenojn rilatajn al la metrikaj datumoj, ekzample la testo, monitoro aŭ Testa Agento asociita kun la metrikoj
    • Malgrandaj kvantoj da datumoj
    • Malalta ofteco de ĝisdatigo

Ebligante la Streaming API

NOTO: Ĉi tiuj instrukcioj estas rulotaj en la servilo de Kontrolcentro uzante sudo.

Ĉar la Streaming API aldonas iom da ŝarĝo al la Kontrolcentro, ĝi ne estas ebligita defaŭlte. Por ebligi la API, ni unue devas ebligi eldonadon de metrikoj al Kafka en la ĉefa agordo file:

KAFKA_METRICS_ENABLED = Vera

AVERTO: Ebligi ĉi tiun funkcion povus influi la rendimenton de la Kontrolcentro. Certiĝu, ke vi dimensiis vian ekzemplon laŭe.

Poste, por ebligi plusendon de ĉi tiuj metrikoj al la ĝustaj Kafka-temoj:

streaming-api: vera

Por ebligi kaj komenci la Streaming API-servojn, rulu:

  • sudo ncc-servoj ebligas timescaledb-metrikojn
  • sudo ncc-servoj komenciĝas timescaledb metrikoj

Fine, rekomencu la servojn:

  • sudo ncc-servoj rekomencas

Kontrolante Ke la Streaming API Funkcias en Kontrola Centro

NOTO: Ĉi tiuj instrukcioj estas rulotaj sur la servilo de Kontrolcentro.

Vi nun povas kontroli, ke vi ricevas mezurojn pri la ĝustaj temoj de Kafka. Por fari tion, instalu la ilon kafkacat:

  • sudo apt-get ĝisdatigo
  • sudo apt-get install kafkacat

Se vi havas teston aŭ monitoron funkciantan en Kontrolcentro, vi devus povi uzi kafkacat por ricevi metrikojn kaj metadatumojn pri ĉi tiuj temoj.
Anstataŭigi mian konton per la mallonga nomo de via konto (ĉi tio estas kion vi vidas en via Kontrolcentro URL):

  • eksporti METRICS_TOPIC=paa.public.accounts.myaccount.metrics
  • eksporti METADATA_TOPIC=paa.public.accounts.myaccount.metadata

Vi nun devus vidi metrikojn rulante ĉi tiun komandon:

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e

Al view metadatenoj, rulu la sekvan komandon (notu, ke ĉi tio ne ĝisdatiĝos tiel ofte):

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

NOTO:
kafkacat”Kliento Examples ”sur paĝo 14

Ĉi tio kontrolas, ke ni havas funkciantan Streaming API de ene de Kontrolcentro. Tamen, plej verŝajne vi interesiĝas aliri la datumojn de ekstera kliento anstataŭe. La sekva sekcio priskribas kiel malfermi Kafka por ekstera aliro.

Malfermo de Kafka por Eksteraj Gastigantoj

NOTO: Ĉi tiuj instrukcioj estas rulotaj sur la servilo de Kontrolcentro.

Defaŭlte Kafka funkcianta en la Kontrolcentro estas agordita por aŭskulti nur ĉe loka gastiganto por interna uzo. Eblas malfermi Kafka por eksteraj klientoj modifante Kafka-agordojn.

Konekto al Kafka: Avertoj

ATENTU: Bonvolu legi ĉi tion atente, ĉar estas facile renkonti problemojn pri konekto kun Kafka se vi ne komprenis ĉi tiujn konceptojn.

En la agordo de Kontrola Centro priskribita en ĉi tiu dokumento, ekzistas nur unu sola Kafka makleristo.
Tamen, notu, ke Kafka makleristo estas intencita funkcii kiel parto de Kafka areto, kiu povas konsisti el multaj Kafka makleristoj.
Konektante al Kafka makleristo, komenca ligo estas starigita de la Kafka-kliento. Super ĉi tiu rilato la Kafka makleristo siavice resendos liston de "reklamitaj aŭskultantoj", kiu estas listo de unu aŭ pluraj Kafka makleristoj.
Ricevinte ĉi tiun liston, la Kafka-kliento malkonektos, poste rekonektos al unu el ĉi tiuj anoncitaj aŭskultantoj. La anoncitaj aŭskultantoj devas enhavi gastigajn nomojn aŭ IP-adresojn, kiuj estas alireblaj por la Kafka-kliento, aŭ la kliento malsukcesos konektiĝi.
Se SSL-ĉifrado estas uzata, kun SSL-atestilo, kiu estas ligita al aparta gastnomo, estas eĉ pli grave, ke la Kafka-kliento ricevas la ĝustan adreson por konektiĝi, ĉar alie la konekto povas esti malakceptita.
Legu pli pri Kafka-aŭskultantoj ĉi tie: www.confluent.io/blog/kafka-listeners-explained

SSL/TLS Ĉifrado
Por certigi, ke nur fidindaj klientoj rajtas aliri Kafka kaj la Streaming API, ni devas agordi la jenon:

  • Aŭtentikigo: Klientoj devas provizi uzantnomon kaj pasvorton per SSL/TLS sekura konekto inter la kliento kaj Kafka.
  • Rajtigo: Aŭtentikigitaj klientoj povas plenumi taskojn reguligitajn de ACLs.

Jen finiĝoview:

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

*) Uzantnomo/pasvorta aŭtentigo farita sur SSL-ĉifrita kanalo

Por plene kompreni kiel funkcias la ĉifrado SSL/TLS por Kafka, bonvolu raporti al la oficiala dokumentaro: docs.confluent.io/platform/current/kafka/encryption.html

SSL/TLS Atestilo Finisview

NOTO: En ĉi tiu subfako ni uzos la jenan terminologion:

Atestilo: SSL-atestilo subskribita de Atestila Aŭtoritato (CA). Ĉiu Kafka makleristo havas unu.
Ŝlosilvendejo: La ŝlosilvendejo file kiu konservas la atestilon. La ŝlosilvendejo file enhavas la privatan ŝlosilon de la atestilo; tial, ĝi devas esti konservita sekure.
Truststore: A file enhavanta la fidindajn CA-atestojn.

Por agordi la aŭtentikigon inter ekstera kliento kaj Kafka funkcianta en Kontrolcentro, ambaŭ flankoj devas havi ŝlosilvendejon difinitan kun rilata atestilo subskribita de Atestila Aŭtoritato (CA) kune kun la CA radika atestilo.
Aldone al ĉi tio, la kliento ankaŭ devas havi truststore kun la CA radika atestilo.
La radika atestilo de CA estas komuna al la Kafka makleristo kaj Kafka-kliento.

Kreante la Bezonatajn Atestojn
Ĉi tio estas kovrita en la "Apendico" sur paĝo 17.

Kafka Broker SSL/TLS-Agordo en Kontrolcentro

NOTO: Ĉi tiuj instrukcioj estas rulotaj sur la servilo de Kontrolcentro.

NOTO: Antaŭ ol daŭrigi, vi devas krei la ŝlosilvendejon kiu enhavas la SSL-atestilon sekvante la instrukciojn en la "Apendico" sur paĝo 17. La vojoj menciitaj sube venas de ĉi tiuj instrukcioj.
La SSL-ŝlosilvendejo estas a file stokita sur disko kun la file etendo .jks.

Post kiam vi havas la bezonatajn atestojn kreitajn por kaj la Kafka makleristo kaj la Kafka kliento disponeblaj, vi povas daŭrigi per agordo de la Kafka makleristo funkcianta en Kontrolcentro. Vi devas scii la jenajn:

  • : La publika gastiga nomo de Kontrolcentro; ĉi tio devas esti solvebla kaj alirebla de Kafka klientoj.
  • : La ŝlosilvendeja pasvorto provizita dum kreado de la SSL-atestilo.
  • kaj : Ĉi tiuj estas la pasvortoj, kiujn vi volas agordi por la administranto kaj kliento-uzanto respektive. Notu, ke vi povas aldoni pli da uzantoj, kiel indikite en la ekzample.

Redaktu aŭ aldonu (kun sudo-aliro) la ĉi-subajn ecojn en /etc/kafka/server.properties, enigante la suprajn variablojn kiel montrite:

AVERTO: Ne forigu PLAINTEXT://localhost:9092; ĉi tio rompos la funkciecon de Kontrolcentro ĉar internaj servoj ne povos komuniki.

  • # La adresoj, kiujn la Kafka makleristo aŭskultas.
  • aŭskultantoj=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Ĉi tiuj estas la gastigantoj reklamitaj reen al iu ajn kliento konektanta.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// : 9093…
  • ####### PERSONA AgorDO
  • # SSL-AgorDO
  • ssl.endpoint.identigo.algoritmo=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=neniu
  • ssl.protocol=TLSv1.2
  • # SASL-agordo
  • sasl.enabled.mechanisms=PLENA
  • salutnomo="administranto" \
  • pasvorto=” ” \
  • uzanto_admin=" ” \
  • uzanto_kliento=" ”;
  • # NOTO pliaj uzantoj povas esti aldonitaj kun user_ =
  • # Rajtigo, ŝaltu ACL-ojn
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Uzanto:administranto

Agordo de Alirkontrolaj Listoj (ACLs)

Ŝaltante ACL-ojn ĉe loka gastiganto

AVERTO: Ni unue devas agordi ACL-ojn por loka gastiganto, por ke Kontrolcentro mem ankoraŭ povu aliri Kafka. Se ĉi tio ne estas farita, aferoj rompiĝos.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Uzanto:ANONIMA –allow-host 127.0.0.1 –areto
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Uzanto:ANONIMA –allow-host 127.0.0.1 –temo '*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Uzanto:ANONIMA –allow-host 127.0.0.1 –grupo '*'

Ni tiam devas ebligi ACL-ojn por ekstera nurlegebla aliro, tiel ke eksteraj uzantoj rajtas legi la temojn de paa.public.*.

### ACLs-enskriboj por anonimaj uzantoj /usr/lib/kafka/bin/kafka-acls.sh \

NOTO: Por pli delikata kontrolo, bonvolu raporti al la oficiala Kafka dokumentaro.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Uzanto:* –operacio legi –operacio priskribi \ –grupo 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Uzanto:* –operacio legi –operacio priskribi \ –temon paa.publiko. –rimedo-ŝablono-tipo prefiksita

Post tio ĉi, vi devas rekomenci la servojn:

### ACLs-enskriboj por eksteraj uzantoj /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc-servoj rekomencas

Por kontroli, ke kliento povas establi sekuran konekton, rulu la sekvan komandon sur ekstera
klienta komputilo (ne sur la servilo de Kontrolcentro). Malsupre, PUBLIC_HOSTNAME estas la Gastnomo de Kontrolcentro:

  • openssl s_client -debug -konekti ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Sekura Retraktado ESTAS subtenata"

En la komanda eligo vi devus vidi la servilan atestilon same kiel la jenajn:

  • Sekura Retraktado ESTAS subtenata

Por certigi, ke internaj servoj ricevis aliron al la Kafka-servilo, bonvolu kontroli la sekvan protokolonfiles:

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

Validigante Eksteran Klienta Konektebleco

kafkacat

NOTO: Ĉi tiuj instrukcioj estas rulotaj en klienta komputilo (ne sur la servilo de Kontrolcentro).
NOTO: Por montri mezurajn informojn, certigu, ke almenaŭ unu monitoro funkcias en Kontrolcentro.

Por kontroli kaj validigi konekteblecon kiel ekstera kliento, eblas uzi la ilon kafkacat kiu estis instalita en la sekcio "Konfirmante ke la Streaming API Funkcias en Kontrola Centro" sur paĝo 4.
Faru la sekvajn paŝojn:

NOTO: Malsupre, CLIENT_USER estas la uzanto antaŭe specifita en la file /etc/kafka/server.properties en Kontrolcentro: nome uzanto_kliento kaj la pasvorton tie fiksitan.
La CA radika atestilo uzata por subskribi la servilan flankon SSL-atestilon devas ĉeesti sur la kliento.

Kreu a file client.properties kun la sekva enhavo:

  • security.protocol=SASL_SSL
  • ssl.ca.location={PATH_TO_CA_CERT}
  • sasl.mechanisms=PLAIN
  • sasl.username={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

kie

  • {PATH_TO_CA_CERT} estas la loko de la CA radika atestilo uzata de la Kafka makleristo
  • {CLIENT_USER} kaj {CLIENT_PASSWORD} estas la uzantaj akreditaĵoj por la kliento.

Rulu la sekvan komandon por vidi la mesaĝon konsumitan de kafkacat:

  • eksporti KAFKA_FQDN=
  • eksporti METRICS_TOPIC=paa.public.accounts. .metriko
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

kie {METRICS_TOPIC} estas la nomo de la Kafka temo kun prefikso “paa.public.”.

NOTO: Pli malnovaj versioj de kafkacat ne provizas la opcion -F por legi la klientajn agordojn de a file. Se vi uzas tian version, vi devas provizi la samajn agordojn de la komandlinio kiel montrite sube.

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={KLIENT_PASSWORD} \
  • t ${METRICS_TOPIC} -C -e

Por sencimigi la konekteblecon, vi povas uzi la opcion -d:

Sencimigi konsumantajn komunikadojn
kafkacat -d konsumanto -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Sencimigi makleristajn komunikadojn
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Nepre referu al la dokumentado por la uzata klientbiblioteko Kafka, ĉar la propraĵoj povas diferenci de tiuj en client.properties.

Mesaĝa Formato
La mesaĝoj uzitaj por la metrikoj kaj metadatumoj-temoj estas seriigitaj en la Protokola bufroj (protobuf) formato (vidu developers.google.com/protocol-buffers). La skemoj por ĉi tiuj mesaĝoj aliĝas al la sekva formato:

Metriko Protobuf-Skemo

  • sintakso = “proto3”;
  • importi "google/protobuf/timestamp.proto”;
  • pako paa.streamingapi;
  • opcio go_package = ".;paa_streamingapi";
  • mesaĝo Metriko {
  • google.protobuf.Timestamp timestamp = 1;
  • mapo valoroj = 2;
  • int32 fluo_id = 3;
  • }
  • /**
  • * Metrika valoro povas esti aŭ entjero aŭ flosilo.
  • */
  • mesaĝo MetricValue {
  • unu el tipo {
  • int64 int_val = 1;
  • float float_val = 2;
  • }
  • }

Metadatenoj Protobuf-Skemo

  • sintakso = “proto3”;
  • pako paa.streamingapi;
  • opcio go_package = ".;paa_streamingapi";
  • mesaĝo Metadatumoj {
  • int32 fluo_id = 1;
  • ĉeno fluo_nomo = 2;
  • mapo tags = 13;
  • }

Kliento Ekzamples

NOTO: Ĉi tiuj komandoj estas intencitaj ruliĝi sur ekstera kliento, ekzamplevu vian tekkomputilon aŭ similan, kaj ne en Kontrolcentro.
NOTO: Por montri informojn pri mezuriloj, certigu, ke almenaŭ unu monitoro funkcias en Kontrolcentro.

La Tarbulo de Kontrolcentro inkluzivas la arkivon paa-streaming-api-client-examples.tar.gz (kliento-ekzamples), kiu enhavas ekzample Python-skripto montranta kiel uzi la Streaming API.

Instalado kaj Agordo de Kliento Ekzamples
Vi trovas kliento-eksamples en la dosierujo de Paragon Active Assurance Control Center:

  • eksporti CC_VERSION=4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-streaming-api-client-eksamples*

Por instali kliento-ekzamples sur via ekstera klienta komputilo, procedu jene:

  • # Krei dosierujon por ĉerpi la enhavon de la kliento ekzamples tarball
  • mkdir paa-streaming-api-client-eksamples
  • # Eltiru la enhavon de la kliento ekzamples tarball
  • tar xzf paa-streaming-api-client-eksamples.tar.gz -C paa-streaming-api-client-examples
  • # Iru al la lastatempe kreita dosierujo
  • cd paa-streaming-api-client-eksamples

kliento-eksamples postulas Docker funkcii. Elŝutoj kaj instalinstrukcioj por Docker troveblas ĉe https://docs.docker.com/engine/install.

Uzante Kliento Ekzamples
La kliento-eksamples iloj povas funkcii en aŭ baza aŭ altnivela reĝimo por konstrui ekzampiloj de diversa komplekseco. En ambaŭ kazoj, ankaŭ eblas ruli la eksamples kun agordo file enhavante pliajn ecojn por plia personigo de la klienta flanko.

Baza Reĝimo
En baza reĝimo, la metrikoj kaj iliaj metadatenoj estas elsenditaj aparte. Tiucele, la kliento aŭskultas ĉiun Kafka-temon disponeblan por ekstera aliro kaj simple presas la ricevitajn mesaĝojn al la konzolo.
Por komenci ekzekuton de la baza ekzamples, kuru:

  • build.sh run-basic –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME

kie ACCOUNT_SHORTNAME estas la mallonga nomo de la konto de kiu vi volas ricevi la metrikojn.
Ĉesigi la ekzekuton de la eksample, premu Ctrl + C. (Eble estas iometa prokrasto antaŭ ol la ekzekuto ĉesas ĉar la kliento atendas tempon de tempodaŭro.)

Altnivela Reĝimo

NOTO: Metrikoj estas montrataj nur por HTTP-ekranoj kurantaj en Kontrolcentro.

Ekzekuto en altnivela reĝimo montras la korelacion inter mezuroj kaj metadatumoj. Ĉi tio estas
ebla danke al la ĉeesto en ĉiu metrika mesaĝo de fluo id-kampo kiu rilatas al la responda metadatuma mesaĝo.
Por ekzekuti la altnivelan ekzamples, kuru:

  • build.sh run-advanced –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME

kie ACCOUNT_SHORTNAME estas la mallonga nomo de la konto de kiu vi volas ricevi la metrikojn.
Ĉesigi la ekzekuton de la eksample, premu Ctrl + C. (Eble estas iometa prokrasto antaŭ ol la ekzekuto ĉesas ĉar la kliento atendas tempon de tempodaŭro.)

Pliaj Agordoj
Eblas ruli la eksampili kun plia agordo de la kliento uzante la -config-file opcio sekvata de a file nomo enhavanta ecojn en la formo ŝlosilo=valoro.

  • build.sh run-advanced \
  • –kafka-brokers localhost:9092 \
  • –konto ACCOUNT_SHORTNAME \
  • -agordo-file client_config.properties

NOTO: Ĉiuj files referencitaj en la supra komando devas troviĝi en la nuna dosierujo kaj referencitaj uzante nur relativajn vojojn. Ĉi tio validas ambaŭ por la -config-file argumento kaj al ĉiuj enskriboj en la agordo file tio priskribas file lokoj.

Validigante Eksteran Klienta Aŭtentigo
Por validigi klientan aŭtentigon de ekster la Kontrolcentro per kliento-eksamples, faru la sekvajn paŝojn:

El la dosierujo de Paragon Active Assurance Control Center, ŝanĝu al la paa-streaming-api-client-examples dosierujo:

cd paa-streaming-api-client-eksamples

  • Kopiu la CA radika atestilo ca-cert en la nunan dosierujon.
  • Krei klienton.properties file kun la jena enhavo:

security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

kie {CLIENT_USER} kaj {CLIENT_PASSWORD} estas la uzantkreditaĵoj por la kliento.

Kuru baza ekzamples:

  • eksporti KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –konto ACCOUNT_SHORTNAME
  • -agordo-file kliento.propraĵoj

kie ACCOUNT_SHORTNAME estas la mallonga nomo de la konto de kiu vi volas ricevi la metrikojn.

Kuru altnivelan eksamples:

  • eksporti KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –konto ACCOUNT_SHORTNAME
  • -agordo-file kliento.propraĵoj

Apendico

En ĉi tiu apendico ni priskribas kiel krei:

  • ŝlosilvendejo file por konservi la Kafka-broker SSL-atestilon
  • kuratoro file por stokado de la radika atestilo de Atestila Aŭtoritato (CA) uzata por subskribi la Kafka maklerist-atestilon.

Kreante Kafka Broker-Atestilon
Krei Atestilon Uzante Veran Atestilon (Rekomendita)
Oni rekomendas, ke vi ricevu veran SSL-atestilon de fidinda CA.
Post kiam vi decidis pri CA, kopiu ilian CA-radikan atestilon ca-cert file al via propra vojo kiel montrite sube:

  • eksporti CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • cp ca-cert ${CA_PATH}

Kreu Vian Atestitan Aŭtoritaton

NOTO: Normale vi devus havi vian atestilon subskribita de vera Atestila Aŭtoritato; vidu la antaŭan subfakon. Kio sekvas estas nur eksample.

Ĉi tie ni kreas nian propran radikan atestilon de Atestila Aŭtoritato (CA). file valida dum 999 tagoj (ne rekomendita en produktado):

  • # Kreu dosierujon por stoki CA
  • eksporti CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Generu la CA-atestilon
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -tagoj 999

Kreante la Klienta Truststore
Nun vi povas krei fidindejon file kiu enhavas la ca-cert generitan supre. Ĉi tio file estos bezonata de la Kafka-kliento, kiu aliros la Streaming API:

  • keytool -keystore kafka.client.truststore.jks \
    • kaŝnomo CARoot \
    • importcert -file ${CA_PATH}/ca-cert

Nun kiam la CA-atestilo estas en la fidisto, la kliento fidos ajnan atestilon subskribitan per ĝi.
Vi devus kopii la file kafka.client.truststore.jks al konata loko sur via klienta komputilo kaj montru ĝin en la agordoj.

Kreante la Ŝlosilvendejon por la Kafka Makleristo
Por generi la SSL-atestilon de Kafka-broker kaj poste la ŝlosilvendejon kafka.server.keystore.jks, procedu jene:

Generante la SSL-Atestilon
Malsupre, 999 estas la nombro da tagoj de valideco de la ŝlosilvendejo, kaj FQDN estas la plene kvalifikita domajna nomo de la kliento (publika gastiga nomo de la nodo).

NOTO: Gravas, ke la FQDN kongruas kun la ĝusta gastiga nomo, kiun la Kafka-kliento uzos por konekti al la Kontrolcentro.

  • sudo mkdir -p /var/ssl/private
  • sudo chown -R $USER: /var/ssl/private
  • cd /var/ssl/private
  • eksporti FQDN= keytool -keystore kafka.server.keystore.jks \
  • – kaŝnomo-servilo \
  • – valideco 999 \
  • – genkey -keyalg RSA -ext SAN=dns:${FQDN}

Kreu peton de subskribo de atestilo kaj konservu ĝin en la file nomita cert-server-request:

  • keytool -keystore kafka.server.keystore.jks \
    • – kaŝnomo-servilo \
    • – certreq \
    • – file cert-servilo-peto

Vi nun devus sendi la file cert-server-request al via Atestila Aŭtoritato (CA) se vi uzas veran. Ili tiam resendos la subskribitan atestilon. Ni nomos ĉi tion cert-servilo-subskribita sube.

Subskribante la SSL-Atestilon Uzante Memkreitan CA-Atestilon

NOTO: Denove, uzi vian propran CA ne estas rekomendita en produktadsistemo.

Subskribu la atestilon uzante la CA per la file cert-server-request, kiu produktas la subskribitan atestilon cert-server-signed. Vidu sube; ca-pasvorto estas la pasvorto fiksita dum kreado de la CA-atestilo.

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAŝlosilo ${CA_PATH}/ca-ŝlosilo \
    • – en cert-servilo-peto \
    • – ekster cert-servilo-subskribita \
    • – tagoj 999 -CAcreateserial \
    • – pasinpaso:{ca-pasvorto}

Importi la Subskribitan Atestilon en la Ŝlosilvendejon

Importu la radikan atestilon ca-cert en la ŝlosilvendejon:

  • keytool -keystore kafka.server.keystore.jks \
    • – kaŝnomo ca-cert \
    • – importi \
    • – file ${CA_PATH}/ca-cert

Importu la subskribitan atestilon nomatan cert-server-signed:

  • keytool -keystore kafka.server.keystore.jks \
    • – kaŝnomo-servilo \
    • – importi \
    • – file cert-servilo-subskribita

La file kafka.server.keystore.jks estu kopiita al konata loko sur la servilo de Kontrolcentro, kaj poste referencata en /etc/kafka/server.properties.

Uzante la Streaming API

EN ĈI ĈI SEKCIO

  • Ĝenerala | 20
  • Kafka Temaj Nomoj | 21
  • Examples de Uzado de la Streaming API | 21

Generalo
La streaming-API ricevas kaj testajn kaj monitorajn datumojn. Ne eblas distingi unu el ĉi tiuj kategorioj.
La fluanta API ne alportas datumojn de skripto-bazitaj testoj (tiuj reprezentitaj per rektangulo anstataŭe de pugilpeco en la Kontrolcentro GUI), kiel ekzemple Ethernet-servaj aktivigaj testoj kaj travideblecoj.

Kafka Temaj Nomoj
La Kafka-temaj nomoj por la fluanta API estas kiel sekvas, kie %s estas la mallonga nomo de la konto de Kontrolcentro (indikita dum kreado de la konto):

  • konstante (
  • eksportantonomo = "kafka"
  • metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )

Examples de Uzado de la Streaming API
La eksamples kiuj sekvas troviĝas en la tarball paa-streaming-api-client-examples.tar.gz enhavita ene de la kontrolcentro tarball.
Unue, estas baza eksample pruvante kiel la metrikoj kaj iliaj metadatenoj estas elsenditaj aparte kaj simple presi la ricevitajn mesaĝojn al la konzolo. Vi povas ruli ĝin jene:

  • sudo ./build.sh run-basic –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME

Estas ankaŭ pli progresinta eksample kie mezuroj kaj metadatumoj estas korelaciitaj. Uzu ĉi tiun komandon por ruli ĝin:

  • sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME

Vi devas uzi sudo por ruli Docker-komandojn kiel la supre. Laŭvole, vi povas sekvi la postinstalajn paŝojn de Linukso por povi ruli Docker-komandojn sen sudo. Por detaloj, iru al docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, la emblemo de Juniper Networks, Juniper kaj Junos estas registritaj varmarkoj de Juniper Networks, Inc. en Usono kaj aliaj landoj. Ĉiuj aliaj varmarkoj, servmarkoj, registritaj markoj aŭ registritaj servmarkoj estas la posedaĵo de iliaj respektivaj posedantoj. Juniper Networks prenas neniun respondecon pri iuj eraroj en ĉi tiu dokumento. Juniper Networks rezervas la rajton ŝanĝi, modifi, translokigi aŭ alimaniere revizii ĉi tiun publikaĵon sen avizo. Kopirajto © 2023 Juniper Networks, Inc. Ĉiuj rajtoj rezervitaj.

Dokumentoj/Rimedoj

Juniper NETWORKS Streaming API Programaro [pdf] Uzantogvidilo
Streaming API Programaro, API Programaro, Programaro

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *