Juniper NETWORKS logoStreaming API Gid
Pibliye
2023-07-07
LAGE
4.2

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.

Konfigirasyon API Streaming 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

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 Aktif Asirans - Kijan Streaming API la ap travaySijè 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 la 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:

  • /etc/netrounds/netrounds.conf

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:

  • /etc/netrounds/metrics.yaml

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
Juniper NETWORKS Streaming API Asirans Aktif - Senbòl 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/TLSEncryptage
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 Active Assurance - Kijan Streaming API la ap travay 1*) 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 siyen pa yon Otorite Sètifika (CA). Chak koutye Kafka gen youn.
Keystore: Keystore 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:
Juniper NETWORKS Streaming API Asirans Aktif - Senbòl 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
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule obligatwa \
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
Juniper NETWORKS Streaming API Asirans Aktif - Senbòl AVÈTISMAN: Nou dwe premye mete kanpe ACL pou localhost, pou Sant Kontwòl li menm ka toujou jwenn aksè nan Kafka. Si sa pa fèt, bagay yo pral kraze.

######### Antre ACL pou itilizatè anonim
/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 –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.
REMAK: Pou plis kontwòl amann, tanpri al gade nan dokiman ofisyèl Kafka.

######### Antre ACL pou itilizatè ekstèn yo
/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 \
-Gwoup '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 \
–sijè paa.public. –resource-pattern-type prefiks

Yon fwa fè ak sa a, ou bezwen rekòmanse sèvis yo:
sudo ncc sèvis rekòmanse
Pou verifye ke yon kliyan ka etabli yon koneksyon an sekirite, kouri lòd sa a sou yon òdinatè kliyan ekstèn (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={KLIENT_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.2.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 run-advanced \
–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-clientex laamples 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 \
-alias 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 \
-alyas sèvè \
-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 \
-alyas sèvè \
-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 \
-out cert-server-siyen \
-jou 999 -CAcreateserial \
-passin pass:{ca-password}

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 \
-alias 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 \
-alyas sèvè \
-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

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.

Juniper NETWORKS logo

Dokiman / Resous

Juniper NETWORKS Streaming API Asirans Aktif [pdfGid Itilizatè
Streaming API Aktif Asirans, API Aktif Asirans, Aktif Asirans, Asirans

Referans

Kite yon kòmantè

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