Juniper-logo

Juniper NETWORKS Streaming API SoftwareJuniper-NETWORKS-Streaming-API-Software-product

Enfòmasyon sou pwodwi

Espesifikasyon

  • Non pwodwi: Paragon Active Asirans
  • Vèsyon: 4.1
  • Dat Pibliye: 2023-03-15

Entwodiksyon:
Gid sa a bay enstriksyon sou fason pou ekstrè done ki soti nan Paragon Active Assurance lè l sèvi avèk API difizyon pwodwi a. Kliyan difizyon an ak API enkli nan enstalasyon Paragon Active Assurance, men gen kèk konfigirasyon obligatwa anvan w itilize API a. Pwosesis konfigirasyon an kouvri nan seksyon "Konfigirasyon API Streaming la".

Konfigirasyon API Streaming la:
Etap sa yo dekri pwosesis pou konfigirasyon API difizyon an:

Plis paseview
Kafka se yon platfòm difizyon evènman ki fèt pou kaptire ak estoke done an tan reyèl ki soti nan divès sous. Li pèmèt jesyon evènman yo nan yon fason distribiye, évolutif, toleran ak fay, epi an sekirite. Gid sa a konsantre sou konfigirasyon Kafka pou itilize karakteristik API Streaming nan Paragon Active Assurance Control Center.

Tèminoloji
API Streaming pèmèt kliyan ekstèn yo rekipere enfòmasyon metrik nan Kafka. Metrics Ajan Tès yo kolekte pandan yon tès oswa travay siveyans yo voye bay sèvis Stream la. Apre tretman an, sèvis Stream pibliye mezi sa yo sou Kafka ansanm ak metadata adisyonèl.

Sijè Kafka
API Streaming itilize sijè Kafka pou òganize ak estoke mezi ak metadata. Kafka sijè yo ka kreye ak jere selon kondisyon espesifik.

Pèmèt API Streaming la
Pou pèmèt API Streaming, swiv etap sa yo:

  1. Kouri kòmandman sa yo sou sèvè Sant kontwòl la lè l sèvi avèk sudo:
KAFKA_METRICS_ENABLED = Vrè sèvis sudo ncc pèmèt mezi timescaledb sèvis sudo ncc kòmanse mezi timescaledb sudo ncc sèvis rekòmanse

Verifye ke API Streaming la ap travay nan Sant Kontwòl:
Pou verifye ke w ap resevwa mezi sou sijè Kafka ki kòrèk yo:

  1. Enstale sèvis piblik kafkacat la ak kòmandman sa yo:
    sudo apt-get update
    sudo apt-get install kafkacat
  1. Ranplase "myaccount" ak non kout kont ou nan
    Sant kontwòl URL:
    ekspòte METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    ekspòte METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Kouri lòd sa a pou view metrik:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Remak: Kòmandman ki anwo a pral montre mezi yo.
  2. Pou view metadata, kouri lòd sa a:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Remak: Kòmandman ki anwo a pral montre metadata, men li pa pral mete ajou souvan.

Kliyan Egzamples
Pou kliyan ansyenampak plis enfòmasyon, al gade nan paj 14 nan manyèl itilizatè a.

FAQ (Kesyon yo poze souvan)

  • K: Kisa Paragon Active Assurance ye?
    A: Paragon Active Assurance se yon pwodwi ki bay kapasite siveyans ak tès.
  • K: Ki sa ki Streaming API a?
    A: API Streaming la se yon karakteristik nan Paragon Active Assurance ki pèmèt kliyan ekstèn yo rekipere enfòmasyon metrik nan Kafka.
  • K: Kouman pou mwen aktive API Streaming la?
    A: Pou pèmèt API Streaming la, swiv etap ki endike nan seksyon "Pèmèt API Streaming la" nan manyèl itilizatè a.
  • K: Kouman mwen ka verifye si API Streaming la ap travay?
    A: Ale nan seksyon "Verifikasyon Streaming API a ap travay nan Sant Kontwòl" pou jwenn enstriksyon sou fason pou verifye fonksyonalite Streaming API a.

Entwodiksyon

Gid sa a dekri ki jan yo ekstrè done ki soti nan Paragon Active Assurance atravè API difizyon pwodwi a.
API a ak kliyan difizyon an enkli nan enstalasyon Paragon Active Assurance. Sepandan, yon ti jan nan konfigirasyon nesesè anvan ou ka itilize API a. Sa a kouvri nan "Konfigirasyon API Streaming la" nan paj 1 chapit la.

Plis paseview
Chapit sa a dekri kijan pou konfigirasyon API Streaming la pou pèmèt abònman nan mesaj metrik atravè Kafka.
pr
Anba a nou pral ale nan:

  • Ki jan yo pèmèt API Streaming la
  • Ki jan yo konfigirasyon Kafka pou koute kliyan ekstèn
  • Ki jan yo konfigirasyon Kafka yo sèvi ak ACLs ak mete kanpe SSL chifreman pou kliyan di yo

Ki sa ki Kafka?
Kafka se yon platfòm difizyon evènman ki pèmèt kaptire an tan reyèl done ki soti nan divès sous evènman (detèktè, baz done, aparèy mobil) nan fòm lan nan kouran evènman, osi byen ke estoke dirab nan kouran evènman sa yo pou rekipere pita ak manipilasyon.
Avèk Kafka li posib pou jere evènman difizyon bout-a-fen nan yon fason distribiye, trè évolutif, elastik, toleran ak fay, epi an sekirite.

REMAK: Kafka ka configuré nan plizyè fason diferan e li te fèt pou évolutivité ak sistèm redondants. Dokiman sa a konsantre sèlman sou fason pou konfigirasyon li pou sèvi ak karakteristik API Streaming yo jwenn nan Paragon Active Assurance Control Center. Pou plis konfigirasyon avanse nou refere a dokiman ofisyèl Kafka: kafka.apache.org/26/documentation.html.

Tèminoloji

  • Kafka: Evènman-difizyon platfòm.
  • Kafka sijè: Koleksyon evènman yo.
  • Kafka abònen/konsomatè: Eleman ki responsab pou rekipere evènman ki estoke nan yon sijè Kafka.
  • Kafka koutye: Sèvè kouch depo nan yon gwoup Kafka.
  • SSL/TLS: SSL se yon pwotokòl sekirite devlope pou voye enfòmasyon an sekirite sou entènèt la. TLS se siksesè SSL, ki te prezante an 1999.
  • SASL: Kad ki bay mekanis pou otantifikasyon itilizatè, tcheke entegrite done, ak chifreman.
  • Streaming API abònen: Eleman ki responsab pou rekipere evènman ki estoke nan sijè ki defini nan Paragon Active Assurance ak vle di pou aksè ekstèn.
  • Otorite Sètifika: Yon antite ou fè konfyans ki bay ak anile sètifika kle piblik yo.
  • Sètifika rasin Otorite Sètifika: Sètifika kle piblik ki idantifye yon Otorite Sètifika.

Ki jan API Streaming travay
Kòm mansyone deja, API Streaming pèmèt kliyan ekstèn yo rekipere enfòmasyon sou mezi soti nan Kafka.

Tout paramèt Ajan Tès yo kolekte pandan yon tès oswa travay siveyans yo voye bay sèvis Stream la. Apre yon faz pwosesis, sèvis Stream pibliye mezi sa yo sou Kafka ansanm ak metadone adisyonèl.

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

Sijè Kafka
Kafka gen konsèp nan sijè kote tout done yo pibliye. Nan Paragon Active Assurance gen anpil sijè Kafka sa yo ki disponib; sepandan, se sèlman yon ti gwoup sa yo vle di pou aksè ekstèn.
Chak kont Paragon Active Assurance nan Sant Kontwòl gen de sijè devwe. Anba a, ACCOUNT se non kout kont la:

  • paa.public.accounts.{ACCOUNT}.metrics
    • Tout mesaj mezi pou kont yo bay yo pibliye nan sijè sa a
    • Gwo kantite done
    • Segondè frekans aktyalizasyon
  • paa.public.accounts.{ACCOUNT}.metadata
    • Gen metadata ki gen rapò ak done mezi yo, pou egzanpampse tès, monitè oswa ajan tès ki asosye ak mezi yo
    • Ti kantite done
    • Ba frekans aktyalizasyon

Pèmèt API Streaming la

REMAK: Enstriksyon sa yo dwe kouri sou sèvè Sant Kontwòl lè l sèvi avèk sudo.

Depi API Streaming ajoute kèk anlè nan Sant kontwòl la, li pa pèmèt pa default. Pou pèmèt API a, nou dwe premye pèmèt pibliye metrik nan Kafka nan konfigirasyon prensipal la file:

KAFKA_METRICS_ENABLED = Vrè

AVÈTISMAN: Aktive karakteristik sa a ka afekte pèfòmans Sant Kontwòl. Asire w ke ou te dimansyon egzanp ou kòmsadwa.

Apre sa, pou pèmèt voye mezi sa yo nan sijè Kafka ki kòrèk yo:

streaming-api: vre

Pou pèmèt epi kòmanse sèvis API Streaming yo, kouri:

  • sèvis sudo ncc pèmèt mezi timecaledb
  • sèvis sudo ncc kòmanse echèl b mezi

Finalman, rekòmanse sèvis yo:

  • sudo ncc sèvis rekòmanse

Verifye ke API Streaming la ap travay nan Sant Kontwòl

REMAK: Enstriksyon sa yo dwe kouri sou sèvè Sant Kontwòl la.

Ou kapab kounye a verifye ke w ap resevwa mezi sou sijè Kafka ki kòrèk yo. Pou fè sa, enstale sèvis piblik kafkacat la:

  • sudo apt-get update
  • sudo apt-get install kafkacat

Si w gen yon tès oswa monitè k ap fonksyone nan Sant Kontwòl, ou ta dwe kapab itilize kafkacat pou resevwa paramèt ak metadata sou sijè sa yo.
Ranplase myaccount ak non kout kont ou a (sa a se sa ou wè nan Sant Kontwòl ou a URL):

  • ekspòte METRICS_TOPIC=paa.public.accounts.myaccount.metrics
  • ekspòte METADATA_TOPIC=paa.public.accounts.myaccount.metadata

Ou ta dwe kounye a wè mezi lè w ap kouri lòd sa a:

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

Pou view metadata, kouri lòd sa a (remake ke sa a pa pral mete ajou souvan):

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

REMAK:
kafkacat”Kliyan Egzamples” nan paj 14

Sa a verifye ke nou gen yon API Streaming k ap travay nan Sant Kontwòl. Sepandan, gen plis chans ou enterese nan aksè nan done yo soti nan yon kliyan ekstèn olye. Pwochen seksyon an dekri kijan pou louvri Kafka pou aksè ekstèn.

Ouvèti Kafka pou lame ekstèn yo

REMAK: Enstriksyon sa yo dwe kouri sou sèvè Sant Kontwòl la.

Pa default Kafka kouri sou Sant Kontwòl la configuré pou sèlman koute sou localhost pou itilizasyon entèn. Li posib yo louvri Kafka pou kliyan ekstèn lè w modifye anviwònman Kafka.

Konekte ak Kafka: Opozisyon

ATANSYON: Tanpri, li sa a ak anpil atansyon, paske li fasil pou rankontre pwoblèm koneksyon ak Kafka si ou pa te konprann konsèp sa yo.

Nan konfigirasyon Sant Kontwòl ki dekri nan dokiman sa a, gen sèlman yon sèl koutye Kafka.
Sepandan, sonje ke yon koutye Kafka vle di ke yo kouri kòm yon pati nan yon gwoup Kafka ki ka konpoze de anpil koutye Kafka.
Lè w konekte ak yon koutye Kafka, kliyan Kafka a tabli yon premye koneksyon. Sou koneksyon sa a koutye Kafka nan vire pral retounen yon lis "koute piblisite", ki se yon lis youn oswa plis koutye Kafka.
Lè li resevwa lis sa a, kliyan Kafka a pral dekonekte, epi li pral rekonekte youn nan moun k ap koute yo pibliye sa yo. Moun k ap koute yo pibliye yo dwe genyen non host oswa adrès IP ki aksesib pou kliyan Kafka la, oswa kliyan an pap konekte.
Si yo itilize chifreman SSL, ki enplike yon sètifika SSL ki mare ak yon non host an patikilye, li pi enpòtan toujou pou kliyan Kafka resevwa adrès ki kòrèk la pou konekte, paske otreman koneksyon an ka rejte.
Li plis sou moun k ap koute Kafka isit la: www.confluent.io/blog/kafka-listeners-explained

SSL/TLS chifreman
Pou asire w ke sèlman kliyan ou fè konfyans yo gen dwa jwenn aksè nan Kafka ak Streaming API a, nou dwe konfigirasyon sa ki annapre yo:

  • Otantifikasyon: Kliyan yo dwe bay non itilizatè ak modpas atravè yon koneksyon an sekirite SSL/TLS ant kliyan an ak Kafka.
  • Otorizasyon: Kliyan otantifye ka fè travay reglemante pa ACLs.

Isit la se yon finiview:

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

*) Otantifikasyon non itilizatè/modpas fèt sou yon chanèl SSL-kode

Pou w konprann byen ki jan cryptage SSL/TLS travay pou Kafka, tanpri al gade nan dokiman ofisyèl la: docs.confluent.io/platform/current/kafka/encryption.html

Sètifika SSL/TLS finiview

REMAK: Nan sou-seksyon sa a nou pral itilize tèminoloji sa a:

Sètifika: Yon sètifika SSL ki siyen pa yon Otorite Sètifika (CA). Chak koutye Kafka gen youn.
Keystore: Depo kle a file ki estoke sètifika a. Keystore a file gen kle prive sètifika a; Se poutèt sa, li bezwen kenbe san danje.
Truststore: A file ki gen sètifika CA ou fè konfyans yo.

Pou mete otantifikasyon an ant yon kliyan ekstèn ak Kafka k ap kouri nan Sant Kontwòl, tou de bò yo dwe gen yon keystore defini ak yon sètifika ki gen rapò siyen pa yon Otorite Sètifika (CA) ansanm ak sètifika rasin CA a.
Anplis de sa, kliyan an dwe genyen tou yon truststore ak sètifika rasin CA.
Sètifika rasin CA a komen pou koutye Kafka ak kliyan Kafka.

Kreye Sètifika Obligatwa yo
Sa a kouvri nan "Apendis" nan paj 17.

Kafka Broker SSL/TLS Konfigirasyon nan Sant Kontwòl

REMAK: Enstriksyon sa yo dwe kouri sou sèvè Sant Kontwòl la.

REMAK: Anvan w kontinye, ou dwe kreye keystore a ki gen sètifika SSL la lè w suiv enstriksyon ki nan “Anèks” nan paj 17. Chemen yo mansyone anba a soti nan enstriksyon sa yo.
SSL keystore a se yon file ki estoke sou disk ak la file ekstansyon .jks.

Yon fwa ou gen sètifika obligatwa yo kreye pou tou de koutye Kafka ak kliyan Kafka disponib, ou ka kontinye pa konfigirasyon koutye Kafka kouri nan Sant Kontwòl. Ou bezwen konnen sa ki annapre yo:

  • : non piblik la nan Sant Kontwòl; sa a dwe rezoud ak aksesib pa kliyan Kafka.
  • : Modpas keystore yo bay lè w ap kreye sètifika SSL la.
  • epi : Sa yo se modpas ou vle mete pou itilizatè a admin ak kliyan respektivman. Remake byen ke ou ka ajoute plis itilizatè, jan sa endike nan ansyen anample.

Edite oswa ajoute (ak aksè sudo) pwopriyete ki anba yo nan /etc/kafka/server.properties, mete varyab ki anwo yo jan yo montre:

AVÈTISMAN: Pa retire PLAINTEXT://localhost:9092; sa a pral kraze fonksyonalite Sant kontwòl depi sèvis entèn yo pa yo pral kapab kominike.

  • # Adrès yo ke koutye Kafka koute.
  • koute=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Sa yo se lame yo pibliye tounen nan nenpòt ki kliyan konekte.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
  • ####### CONFIG PERSONNE
  • # SSL KONFIGURASYON
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=okenn
  • ssl.protocol=TLSv1.2
  • # Konfigirasyon SASL
  • sasl.enabled.mechanisms=PLIN
  • non itilizatè = "admin" \
  • modpas =” ”\
  • user_admin=" ”\
  • user_client=" ”;
  • # REMAK ka ajoute plis itilizatè ak user_ =
  • # Otorizasyon, vire sou ACLs
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Itilizatè:admin

Mete kanpe lis kontwòl aksè (ACLs)

Aktive ACL sou localhost

AVÈTISMAN: Nou dwe premye mete ACLs pou localhost, pou Sant Kontwòl li menm ka toujou jwenn aksè nan Kafka. Si sa pa fèt, bagay yo pral kraze.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Itilizatè:ANONIM –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 Itilizatè:ANONIM –allow-host 127.0.0.1 –sijè '*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Itilizatè:ANONIM –allow-host 127.0.0.1 –group '*'

Lè sa a, nou bezwen pèmèt ACL pou aksè ekstèn pou lekti sèlman, pou itilizatè ekstèn yo gen dwa li sijè paa.public.* yo.

### Antre ACL pou itilizatè anonim /usr/lib/kafka/bin/kafka-acls.sh \

REMAK: Pou plis kontwòl amann, tanpri al gade nan dokiman ofisyèl Kafka.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Itilizatè:* –operasyon li –operasyon dekri \ –group 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Itilizatè:* –operation read –operation describe \ –topic paa.public. –resource-pattern-type prefiks

Yon fwa fè ak sa a, ou bezwen rekòmanse sèvis yo:

### Antre ACL pou itilizatè ekstèn /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc sèvis rekòmanse

Pou verifye ke yon kliyan ka etabli yon koneksyon an sekirite, kouri lòd sa a sou yon ekstèn
òdinatè kliyan an (pa sou sèvè Sant Kontwòl la). Anba a, PUBLIC_HOSTNAME se non host Sant kontwòl la:

  • openssl s_client -debug -konekte ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Renegosyasyon an sekirite se sipòte"

Nan pwodiksyon lòd ou ta dwe wè sètifika sèvè a ansanm ak sa ki annapre yo:

  • Renegosyasyon an sekirite SE sipòte

Pou asire w ke sèvis entèn yo te akòde aksè nan sèvè Kafka a, tanpri tcheke jounal sa afiles:

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

Validasyon Koneksyon Kliyan Ekstèn

kafkacat

REMAK: Enstriksyon sa yo dwe kouri sou yon òdinatè kliyan (pa sou sèvè Sant Kontwòl la).
REMAK: Pou montre enfòmasyon mezi, asire w ke omwen yon monitè ap kouri nan Sant Kontwòl.

Pou verifye ak valide koneksyon kòm yon kliyan ekstèn, li posib pou itilize sèvis piblik kafkacat ki te enstale nan seksyon "Verifye ke API Streaming la ap travay nan Sant Kontwòl" nan paj 4.
Fè etap sa yo:

REMAK: Anba a, CLIENT_USER se itilizatè a deja espesifye nan file /etc/kafka/server.properties nan Sant Kontwòl: sètadi, user_client ak modpas la mete la.
Sètifika rasin CA yo itilize pou siyen sètifika SSL bò sèvè a dwe prezan sou kliyan an.

Kreye yon file client.properties ak kontni sa a:

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

kote

  • {PATH_TO_CA_CERT} se kote sètifika rasin CA te itilize pa koutye Kafka.
  • {CLIENT_USER} ak {CLIENT_PASSWORD} se kalifikasyon itilizatè pou kliyan an.

Kouri kòmandman sa a pou wè mesaj kafkacat konsome:

  • ekspòte KAFKA_FQDN=
  • ekspòte METRICS_TOPIC=paa.public.accounts. .metrik
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

kote {METRICS_TOPIC} se non sijè Kafka a ak prefiks "paa.public.".

REMAK: Vèsyon ki pi gran nan kafkacat pa bay opsyon -F pou li anviwònman kliyan yo nan yon file. Si w ap itilize yon vèsyon konsa, ou dwe bay menm paramèt yo nan liy lòd la jan yo montre anba a.

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

Pou debogaj koneksyon an, ou ka itilize opsyon -d:

Debug kominikasyon konsomatè yo
kafkacat -d konsomatè -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Debug kominikasyon koutye
kafkacat -d koutye -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Asire w ke w refere ak dokimantasyon bibliyotèk kliyan Kafka yo itilize a, paske pwopriyete yo ka diferan de sa ki nan client.properties.

Fòma mesaj
Mesaj yo itilize pou paramèt ak metadata sijè yo serialize nan fòma tanpon Pwotokòl (protobuf) (gade developers.google.com/protocol-buffers). Chema yo pou mesaj sa yo respekte fòma sa a:

Metrics Protobuf Schema

  • sentaks = "proto3";
  • enpòte "google/protobuf/timestamp.proto”;
  • pake paa.streamingapi;
  • opsyon go_package = ".;paa_streamingapi";
  • Mezi mesaj {
  • google.protobuf.Timestamp fwaamp = 1;
  • kat jeyografik valè = 2;
  • int32 stream_id = 3;
  • }
  • /**
  • * Yon valè metrik ka swa yon nonb antye relatif oswa yon flote.
  • */
  • mesaj MetricValue {
  • youn nan kalite {
  • int64 int_val = 1;
  • float float_val = 2;
  • }
  • }

Metadata Protobuf Schema

  • sentaks = "proto3";
  • pake paa.streamingapi;
  • opsyon go_package = ".;paa_streamingapi";
  • Metadata mesaj {
  • int32 stream_id = 1;
  • fisèl stream_name = 2;
  • kat jeyografik tags = 13;
  • }

Kliyan Egzamples

REMAK: Kòmandman sa yo gen entansyon kouri sou yon kliyan ekstèn, pou egzanpample laptop ou oswa menm jan an, epi yo pa nan Sant Kontwòl.
REMAK: Pou gen enfòmasyon sou mezi yo parèt, asire w ke omwen yon monitè ap kouri nan Sant Kontwòl.

Tarball Sant Kontwòl la gen ladan achiv paa-streaming-api-client-examples.tar.gz (kliyan-ansyenamples), ki gen yon ansyenample script Python ki montre kijan pou itilize API Streaming la.

Enstale ak Konfigirasyon Kliyan Examples
Ou jwenn kliyan-ansyenamples nan katab Paragon Active Assurance Control Center:

  • ekspòte CC_VERSION=4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-streaming-api-client-examples*

Pou enstale kliyan-ansyenampsou òdinatè ekstèn kliyan ou a, kontinye jan sa a:

  • # Kreye anyè pou ekstrè kontni an nan ansyen kliyan anamples tarball
  • mkdir paa-streaming-api-client-examples
  • # Ekstrè kontni an nan kliyan an ansyenamples tarball
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
  • # Ale nan anyè ki fèk kreye a
  • cd paa-streaming-api-client-examples

kliyan-ansyenamples mande Docker pou kouri. Ou ka jwenn telechajman ak enstriksyon enstalasyon pou Docker nan https://docs.docker.com/engine/install.

Sèvi ak Kliyan Examples
Kliyan-ansyen anamples zouti ka kouri nan swa de baz ou avanse mòd pou konstwi ansyenamples ki gen diferan konpleksite. Nan de ka yo, li posib tou pou kouri ansyen anamples ak yon konfigirasyon file ki gen pwopriyete adisyonèl pou plis personnalisation nan bò kliyan an.

Mòd debaz
Nan mòd debaz, mezi yo ak metadata yo ap difize separeman. Pou sa ka fè, kliyan an koute chak sijè Kafka ki disponib pou aksè ekstèn epi tou senpleman enprime mesaj yo resevwa nan konsole a.
Pou kòmanse ekzekisyon ansyen de bazamples, kouri:

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

kote ACCOUNT_SHORTNAME se non kout kont ou vle jwenn mezi yo.
Pou mete fen nan ekzekisyon ansyen anample, peze Ctrl + C. (Ka gen yon ti reta anvan ekzekisyon an sispann paske kliyan an ap tann pou yon evènman timeout.)

Mòd avanse

REMAK: Paramèt yo parèt sèlman pou monitè HTTP k ap kouri nan Sant Kontwòl.

Egzekisyon nan mòd avanse montre korelasyon ki genyen ant paramèt ak mesaj metadata. Sa a se
posib gras a prezans nan chak mesaj metrik nan yon jaden id kouran ki refere a mesaj metadata ki koresponn lan.
Pou egzekite ansyen an avanseamples, kouri:

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

kote ACCOUNT_SHORTNAME se non kout kont ou vle jwenn mezi yo.
Pou mete fen nan ekzekisyon ansyen anample, peze Ctrl + C. (Ka gen yon ti reta anvan ekzekisyon an sispann paske kliyan an ap tann pou yon evènman timeout.)

Anviwònman adisyonèl
Li posib pou kouri ansyen anamples ak konfigirasyon adisyonèl nan kliyan an lè l sèvi avèk -config-file opsyon ki te swiv pa yon file non ki gen pwopriyete nan fòm kle=valè.

  • build.sh kouri-avanse \
  • –kafka-brokers localhost:9092 \
  • –kont ACCOUNT_SHORTNAME \
  • -konfigirasyon-file client_config.properties

REMAK: Tout fileyo refere yo nan kòmandman an pi wo a dwe lokalize nan anyè aktyèl la ak refere yo itilize sèlman chemen relatif. Sa a aplike tou de nan -config-file agiman ak tout antre nan konfigirasyon an file ki dekri file kote yo ye.

Validasyon Otantifikasyon Kliyan Ekstèn
Pou valide otantifikasyon kliyan an deyò Sant Kontwòl lè l sèvi avèk kliyan-ansyenamples, fè etap sa yo:

Soti nan dosye Paragon Active Assurance Control Center, chanje nan paa-streaming-api-client-ex la.amples folder:

cd paa-streaming-api-client-examples

  • Kopi sètifika rasin CA ca-cert nan anyè aktyèl la.
  • Kreye yon kliyan.properties file ak kontni sa a:

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

kote {CLIENT_USER} ak {CLIENT_PASSWORD} se kalifikasyon itilizatè pou kliyan an.

Kouri ansyen de bazamples:

  • ekspòte KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –kont ACCOUNT_SHORTNAME
  • -konfigirasyon-file kliyan.propriyete

kote ACCOUNT_SHORTNAME se non kout kont ou vle jwenn mezi yo.

Kouri avanse ansyenamples:

  • ekspòte KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –kont ACCOUNT_SHORTNAME
  • -konfigirasyon-file kliyan.propriyete

Apendis

Nan apendis sa a nou dekri kijan pou kreye:

  • yon magazen kle file pou estoke sètifika SSL koutye Kafka a
  • yon truststore file pou estoke sètifika rasin Otorite Sètifika (CA) yo itilize pou siyen sètifika koutye Kafka.

Kreye yon Sètifika Koutye Kafka
Kreye yon Sètifika Sèvi ak yon Otorite Sètifika reyèl (Rekòmande)
Li rekòmande pou w jwenn yon sètifika SSL reyèl nan men yon CA ou fè konfyans.
Yon fwa ou te deside sou yon CA, kopi sètifika rasin CA yo ca-cert file sou pwòp chemen ou jan yo montre anba a:

  • ekspòte CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • cp ca-cert ${CA_PATH}

Kreye Otorite Sètifika Pwòp Ou

REMAK: Nòmalman ou ta dwe gen sètifika ou siyen pa yon Otorite Sètifika reyèl; gade sou-seksyon anvan an. Sa ki swiv se jis yon ansyenample.

Isit la nou kreye pwòp sètifika rasin Otorite Sètifika (CA). file valab pou 999 jou (pa rekòmande nan pwodiksyon):

  • # Kreye yon anyè pou estoke CA a
  • ekspòte CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Jenere sètifika CA a
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -jou 999

Kreye Truststore kliyan an
Koulye a, ou ka kreye yon truststore file ki genyen ca-cert ki te pwodwi pi wo a. Sa a file Kliyan Kafka ki pral gen aksè a Streaming API a pral bezwen:

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

Kounye a ke sètifika CA a nan truststore a, kliyan an pral fè konfyans nenpòt sètifika ki siyen avèk li.
Ou ta dwe kopye a file kafka.client.truststore.jks nan yon kote li te ye sou òdinatè kliyan ou a epi montre li nan anviwònman yo.

Kreye Keystore pou Kafka Broker
Pou jenere sètifika SSL koutye Kafka a epi answit keystore kafka.server.keystore.jks, kontinye jan sa a:

Jenere Sètifika SSL la
Anba a, 999 se kantite jou validite nan magazen kle a, ak FQDN se non an domèn konplètman kalifye nan kliyan an (non lame piblik la nan ne).

REMAK: Li enpòtan pou FQDN a matche ak non host egzak ke kliyan an Kafka pral itilize pou konekte ak Sant Kontwòl la.

  • sudo mkdir -p /var/ssl/private
  • sudo chown -R $USER: /var/ssl/private
  • cd /var/ssl/private
  • ekspòtasyon FQDN = keytool -keystore kafka.server.keystore.jks \
  • – sèvè alyas \
  • - validite 999 \
  • – genkey -keyalg RSA -ext SAN=dns:${FQDN}

Kreye yon demann siyen sètifika epi estoke li nan file yo te rele Cert-server-request:

  • keytool -keystore kafka.server.keystore.jks \
    • – sèvè alyas \
    • – certreq \
    • – file demann sèvè-certifikasyon

Ou ta dwe kounye a voye a file cert-server-request bay Otorite Sètifika ou (CA) si w ap itilize yon sèl reyèl. Lè sa a, yo pral retounen sètifika a siyen. Nou pral refere a sa a kòm sèvè-siyen ki anba a.

Siyen Sètifika SSL la Sèvi ak yon Sètifika CA ki kreye pwòp tèt ou

REMAK: Ankò, itilize pwòp CA ou pa rekòmande nan yon sistèm pwodiksyon.

Siyen sètifika a lè l sèvi avèk CA a pa vle di file cert-server-request, ki pwodui sètifika a siyen cert-server-request. Gade anba a; ca-password se modpas la mete lè w ap kreye sètifika CA a.

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-key \
    • – nan demann sèvè-cert \
    • – soti sèt-sèvè-siyen \
    • – jou 999 -CAcreateserial \
    • – pass pass:{ca-modpas}

Enpòte Sètifika ki siyen an nan Keystore la

Enpòte sètifika rasin ca-cert la nan keystore la:

  • keytool -keystore kafka.server.keystore.jks \
    • – alyas ca-cert \
    • - enpòte \
    • – file ${CA_PATH}/ca-cert

Enpòte sètifika ki siyen an refere yo kòm sèvè-siyen-certifikasyon:

  • keytool -keystore kafka.server.keystore.jks \
    • – sèvè alyas \
    • - enpòte \
    • – file Sèvè-siyen

La file kafka.server.keystore.jks ta dwe kopye nan yon kote li te ye sou sèvè Sant Kontwòl, epi answit refere li nan /etc/kafka/server.properties.

Sèvi ak API Streaming la

NAN SEKSYON SA A

  • Jeneral | 20
  • Non Sijè Kafka | 21
  • Examples nan Sèvi ak API Streaming | 21

Jeneral
API difizyon an pran tou de done tès ak kontwole. Li pa posib pou separe youn nan kategori sa yo.
API difizyon an pa chèche done ki sòti nan tès ki baze sou script (sa yo ki reprezante pa yon rektang olye pou yo yon moso tèt nan entèfas Sant Kontwòl), tankou tès deklanchman sèvis Ethernet ak tès transparans.

Non Sijè Kafka
Non sijè Kafka pou API difizyon an se jan sa a, kote %s se non kout kont Sant Kontwòl (ki endike lè w ap kreye kont la):

  • konst (
  • exporterName = "kafka"
  • metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics" )

Examples nan Sèvi ak API Streaming la
Ansyen anamples ki swiv yo jwenn nan tarball paa-streaming-api-client-examples.tar.gz ki nan Tarball Sant Kontwòl la.
Premyèman, gen yon ansyen debazampli montre kouman metrik yo ak metadata yo difize separeman epi tou senpleman enprime mesaj yo resevwa nan konsole a. Ou ka kouri li jan sa a:

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

Genyen tou yon ansyen ki pi avanseample kote mezi ak metadata mesaj yo korelasyon. Sèvi ak lòd sa a pou kouri li:

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

Ou bezwen sèvi ak sudo pou kouri kòmand Docker tankou sa ki anwo yo. Opsyonèlman, ou ka swiv etap pòs-enstalasyon Linux yo pou kapab kouri kòmandman Docker san sudo. Pou plis detay, ale nan docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logo Juniper Networks, Juniper, ak Junos se mak anrejistre Juniper Networks, Inc. nan Etazini ak lòt peyi. Tout lòt mak, mak sèvis, mak anrejistre, oswa mak sèvis anrejistre se pwopriyete pwopriyetè respektif yo. Juniper Networks pa pran okenn responsablite pou nenpòt ki erè nan dokiman sa a. Juniper Networks rezève dwa pou chanje, modifye, transfere, oswa revize piblikasyon sa a san avètisman. Copyright © 2023 Juniper Networks, Inc. Tout dwa rezève.

Dokiman / Resous

Juniper NETWORKS Streaming API Software [pdfGid Itilizatè
Difizyon lojisyèl API, lojisyèl API, lojisyèl

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *