Juniper NETWORKS Streaming API Software
Informazzjoni dwar il-Prodott
Speċifikazzjonijiet
- Isem tal-Prodott: Assigurazzjoni attiva Paragon
- Verżjoni: 4.1
- Data tal-Pubblikazzjoni: 2023-03-15
Introduzzjoni:
Din il-gwida tipprovdi struzzjonijiet dwar kif tiġi estratta dejta minn Paragon Active Assurance billi tuża l-API tal-istreaming tal-prodott. Il-klijent tal-istreaming u l-API huma inklużi fl-installazzjoni tal-Paragon Active Assurance, iżda hija meħtieġa xi konfigurazzjoni qabel tuża l-API. Il-proċess ta 'konfigurazzjoni huwa kopert fit-taqsima "Konfigurazzjoni tal-API Streaming".
Konfigurazzjoni tal-API Streaming:
Il-passi li ġejjin jiddeskrivu l-proċess biex jiġi kkonfigurat l-API tal-istreaming:
Fuqview
Kafka hija pjattaforma ta' streaming ta' avvenimenti mfassla għall-qbid u l-ħażna f'ħin reali ta' data minn sorsi varji. Jippermetti l-ġestjoni tal-flussi tal-avvenimenti b'mod distribwit, skalabbli, tolleranti għall-ħsarat u sikur. Din il-gwida tiffoka fuq il-konfigurazzjoni ta' Kafka biex tuża l-karatteristika Streaming API f'Paragon Active Assurance Control Center.
Terminoloġija
L-API Streaming tippermetti lill-klijenti esterni biex jirkupraw l-informazzjoni tal-metriċi minn Kafka. Il-metriċi miġbura mill-Aġenti tat-Test waqt kompitu ta' test jew monitoraġġ jintbagħtu lis-servizz Stream. Wara l-ipproċessar, is-servizz Stream jippubblika dawn il-metriċi fuq Kafka flimkien ma 'metadejta addizzjonali.
L-API Streaming tutilizza suġġetti Kafka biex torganizza u taħżen metriċi u metadejta. Is-suġġetti Kafka jistgħu jinħolqu u jiġu ġestiti skont rekwiżiti speċifiċi.
Jippermettu l-API Streaming
Biex tattiva l-API Streaming, segwi dawn il-passi:
- Mexxi l-kmandi li ġejjin fuq is-server taċ-Ċentru tal-Kontroll billi tuża sudo:
KAFKA_METRICS_ENABLED = Is-servizzi ta' sudo ncc veri jattivaw il-metriċi ta' timescaledb is-servizzi ta' sudo ncc jibdew il-metriċi ta' timescaledb is-servizzi ta' sudo ncc jerġgħu jibdew
Verifika li l-API Streaming Jaħdem fiċ-Ċentru tal-Kontroll:
Biex tivverifika li qed tirċievi metriċi dwar is-suġġetti Kafka korretti:
- Installa l-utilità kafkacat bil-kmandi li ġejjin:
sudo apt-get aġġornament
sudo apt-get install kafkacat
- Ibdel "myaccount" bl-isem qasir tal-kont tiegħek fil-
Ċentru ta' Kontroll URL:
esportazzjoni METRICS_TOPIC=paa.public.accounts.myaccount.metrics
esporta METADATA_TOPIC=paa.public.accounts.myaccount.metadata
- Mexxi l-kmand li ġej biex view metriċi:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Nota: Il-kmand ta 'hawn fuq se juri l-metriċi. - Biex view metadata, mexxi l-kmand li ġej:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
Nota: Il-kmand ta' hawn fuq se juri metadejta, iżda mhux se jaġġorna daqshekk ta' spiss.
Klijent Eżamples
Għall-klijent exampu aktar informazzjoni, irreferi għal paġna 14 tal-manwal tal-utent.
FAQ (Mistoqsijiet Frekwenti)
- Q: X'inhi Paragon Active Assurance?
A: Paragon Active Assurance huwa prodott li jipprovdi kapaċitajiet ta 'monitoraġġ u ttestjar. - Q: X'inhu l-API Streaming?
A: L-API Streaming hija karatteristika f'Paragon Active Assurance li tippermetti lill-klijenti esterni jirkupraw l-informazzjoni tal-metriċi minn Kafka. - Q: Kif nista' nippermetti l-API Streaming?
A: Biex tippermetti l-API Streaming, segwi l-passi deskritti fit-taqsima "Attivazzjoni tal-API Streaming" tal-manwal tal-utent. - Q: Kif nista' nivverifika li l-API Streaming qed taħdem?
A: Irreferi għat-taqsima “Verifika li l-API Streaming Jaħdem fiċ-Ċentru ta’ Kontroll” għal struzzjonijiet dwar kif tivverifika l-funzjonalità tal-API Streaming.
Introduzzjoni
Din il-gwida tiddeskrivi kif tiġi estratta dejta minn Paragon Active Assurance permezz tal-istreaming API tal-prodott.
L-API kif ukoll il-klijent tal-istreaming huma inklużi fl-installazzjoni ta' Paragon Active Assurance. Madankollu, hija meħtieġa ftit ta 'konfigurazzjoni qabel ma tkun tista' tuża l-API. Dan huwa kopert fil-"Konfigurazzjoni tal-API Streaming" f'paġna 1 kapitolu.
Fuqview
Dan il-kapitolu jiddeskrivi kif tikkonfigura l-API Streaming biex tippermetti l-abbonament għal messaġġi ta 'metriċi permezz ta' Kafka.
pr
Hawn taħt se ngħaddu minnu:
- Kif tattiva l-API Streaming
- Kif tikkonfigura lil Kafka biex tisma' lill-klijenti esterni
- Kif tikkonfigura lil Kafka biex tuża ACLs u twaqqaf encryption SSL għall-klijenti msemmija
X'inhu Kafka?
Kafka hija pjattaforma ta’ streaming ta’ avvenimenti li tippermetti qbid f’ħin reali ta’ data mibgħuta minn diversi sorsi ta’ avvenimenti (sensuri, databases, apparat mobbli) fil-forma ta’ flussi ta’ avvenimenti, kif ukoll ħażna dejjiema ta’ dawn in-flussi ta’ avvenimenti għal rkupru u manipulazzjoni aktar tard.
B'Kafka huwa possibbli li timmaniġġja l-istrimjar tal-avvenimenti minn tarf sa tarf b'mod distribwit, skalabbli ħafna, elastiku, tolleranti għall-ħsarat u sigur.
NOTA: Kafka jista 'jiġi kkonfigurat f'ħafna modi differenti u kien iddisinjat għal iskalabbiltà u sistemi żejda. Dan id-dokument jiffoka biss fuq kif tikkonfigurah biex tagħmel użu mill-karatteristika Streaming API li tinsab fiċ-Ċentru ta' Kontroll ta' l-Assigurazzjoni Attiva ta' Paragon. Għal setups aktar avvanzati nirreferu għad-dokumentazzjoni uffiċjali Kafka: kafka.apache.org/26/documentation.html.
Terminoloġija
- Kafka: Pjattaforma ta' streaming ta' avvenimenti.
- Suġġett Kafka: Ġbir ta’ avvenimenti.
- Abbonat/konsumatur Kafka: Komponent responsabbli għall-irkupru ta' avvenimenti maħżuna f'suġġett Kafka.
- Kafka broker: Server ta' saff ta' ħażna ta' cluster Kafka.
- SSL/TLS: SSL huwa protokoll sikur żviluppat biex tintbagħat informazzjoni b'mod sigur fuq l-Internet. TLS huwa s-suċċessur ta' SSL, introdott fl-1999.
- SASL: Qafas li jipprovdi mekkaniżmi għall-awtentikazzjoni tal-utent, verifika tal-integrità tad-dejta, u kriptaġġ.
- Abbonat ta' Streaming API: Komponent responsabbli għall-irkupru ta' avvenimenti maħżuna f'suġġetti definiti f'Paragon Active Assurance u maħsuba għal aċċess estern.
- Awtorità taċ-Ċertifikati: Entità fdata li toħroġ u tirrevoka ċertifikati taċ-ċavetta pubblika.
- Ċertifikat tal-għeruq tal-Awtorità taċ-Ċertifikat: Ċertifikat taċ-ċavetta pubblika li jidentifika Awtorità taċ-Ċertifikat.
Kif taħdem l-API Streaming
Kif issemma qabel, l-API Streaming tippermetti lill-klijenti esterni biex jirkupraw informazzjoni dwar il-metriċi minn Kafka.
Il-metriċi kollha miġbura mill-Aġenti tat-Test waqt kompitu ta' test jew monitoraġġ jintbagħtu lis-servizz Stream. Wara fażi ta' pproċessar, is-servizz Stream jippubblika dawk il-metriċi fuq Kafka flimkien ma' metadejta addizzjonali.
Suġġetti Kafka
Kafka għandu l-kunċett ta’ suġġetti li għalihom tiġi ppubblikata d-dejta kollha. F'Paragon Active Assurance hemm ħafna suġġetti Kafka bħal dawn disponibbli; madankollu, subsett biss minn dawn huma maħsuba għal aċċess estern.
Kull kont ta' Paragon Active Assurance fiċ-Ċentru ta' Kontroll għandu żewġ suġġetti ddedikati. Hawn taħt, ACCOUNT huwa l-isem qasir tal-kont:
- paa.public.accounts.{ACCOUNT}.metrics
- Il-messaġġi kollha tal-metriċi għall-kont partikolari huma ppubblikati għal dan is-suġġett
- Ammonti kbar ta' data
- Frekwenza għolja ta 'aġġornament
- paa.public.accounts.{ACCOUNT}.metadata
- Fih metadejta relatata mad-dejta tal-metriċi, pereżempjuample it-test, il-monitor jew l-Aġent tat-Test assoċjat mal-metriċi
- Ammonti żgħar ta' data
- Frekwenza baxxa ta' aġġornament
Jippermettu l-API Streaming
NOTA: Dawn l-istruzzjonijiet għandhom jitmexxew fuq is-server taċ-Ċentru tal-Kontroll billi tuża sudo.
Peress li l-API Streaming żżid xi overhead maċ-Ċentru tal-Kontroll, mhix attivata awtomatikament. Biex nippermettu l-API, l-ewwel irridu nippermettu l-pubblikazzjoni tal-metriċi lil Kafka fil-konfigurazzjoni ewlenija file:
KAFKA_METRICS_ENABLED = Veru
TWISSIJA: L-attivazzjoni ta' din il-karatteristika tista' tħalli impatt fuq il-prestazzjoni taċ-Ċentru ta' Kontroll. Kun żgur li ddimensjonajt l-istanza tiegħek kif xieraq.
Sussegwentement, biex tippermetti t-trażmissjoni ta' dawn il-metriċi għas-suġġetti Kafka korretti:
streaming-api: veru
Biex tattiva u tibda s-servizzi tal-API Streaming, mexxi:
- Is-servizzi sudo ncc jippermettu metriċi timecaledb
- is-servizzi sudo ncc jibdew metriċi timecaledb
Fl-aħħarnett, ibda mill-ġdid is-servizzi:
- Is-servizzi sudo ncc jerġgħu jibdew
Verifika li l-API Streaming Jaħdem fiċ-Ċentru tal-Kontroll
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
Issa tista' tivverifika li qed tirċievi metriċi dwar is-suġġetti Kafka korretti. Biex tagħmel dan, installa l-utilità kafkacat:
- sudo apt-get aġġornament
- sudo apt-get install kafkacat
Jekk għandek test jew monitor qed jaħdem fiċ-Ċentru ta' Kontroll, għandek tkun tista' tuża kafkacat biex tirċievi metriċi u metadejta dwar dawn is-suġġetti.
Ibdel myaccount bl-isem qasir tal-kont tiegħek (dan huwa dak li tara fiċ-Ċentru tal-Kontroll tiegħek URL):
- esportazzjoni METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- esporta METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Issa għandek tara l-metriċi billi tħaddem dan il-kmand:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Biex view metadata, mexxi l-kmand li ġej (innota li dan mhux se jaġġorna spiss):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
NOTA:
kafkacat”Klijent Eżamples ”f’paġna 14
Dan jivverifika li għandna Streaming API li jaħdem minn ġewwa Control Center. Madankollu, x'aktarx li inti interessat li taċċessa d-dejta minn klijent estern minflok. It-taqsima li jmiss tiddeskrivi kif tiftaħ Kafka għal aċċess estern.
Ftuħ Kafka għal Hosts Esterni
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
B'mod awtomatiku Kafka li jaħdem fuq iċ-Ċentru tal-Kontroll huwa kkonfigurat biex jisma' biss fuq localhost għall-użu intern. Huwa possibbli li tinfetaħ Kafka għal klijenti esterni billi timmodifika s-settings tal-Kafka.
Konnessjoni ma' Kafka: Caveats
ATTENZJONI: Jekk jogħġbok aqra dan bir-reqqa, peress li huwa faċli li tiffaċċja kwistjonijiet ta' konnessjoni ma' Kafka jekk ma fhimtx dawn il-kunċetti.
Fis-setup taċ-Ċentru tal-Kontroll deskritt f'dan id-dokument, hemm biss sensar Kafka wieħed.
Madankollu, innota li sensar Kafka huwa maħsub biex jaħdem bħala parti minn raggruppament Kafka li jista 'jikkonsisti f'ħafna sensara Kafka.
Meta tikkonnettja ma 'sensar Kafka, konnessjoni inizjali hija stabbilita mill-klijent Kafka. Fuq din il-konnessjoni, is-sensar Kafka min-naħa tiegħu se jirritorna lista ta '"semmiegħa reklamati", li hija lista ta' sensara Kafka wieħed jew aktar.
Malli jirċievi din il-lista, il-klijent Kafka se skonnettja, imbagħad jerġa 'jikkonnettja ma' wieħed minn dawn is-semmiegħa reklamati. Is-semmiegħa reklamati għandu jkun fihom hostnames jew indirizzi IP li huma aċċessibbli għall-klijent Kafka, jew il-klijent ma jirnexxilux jikkonnettja.
Jekk tintuża encryption SSL, li tinvolvi ċertifikat SSL li huwa marbut ma' hostname partikolari, huwa saħansitra aktar importanti li l-klijent Kafka jirċievi l-indirizz korrett biex jikkonnettja miegħu, peress li inkella l-konnessjoni tista' tiġi rrifjutata.
Aqra aktar dwar is-semmiegħa ta’ Kafka hawn: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS Encryption
Biex niżguraw li l-klijenti fdati biss jitħallew jaċċessaw Kafka u l-API Streaming, irridu kkonfiguraw dan li ġej:
- Awtentikazzjoni: Il-klijenti għandhom jipprovdu username u password permezz ta' konnessjoni sigura SSL/TLS bejn il-klijent u Kafka.
- Awtorizzazzjoni: Klijenti awtentikati jistgħu jwettqu kompiti regolati minn ACLs.
Hawnhekk hawn fuqview:
*) Awtentikazzjoni tal-username/password mwettqa fuq kanal ikkodifikat SSL
Biex tifhem bis-sħiħ kif taħdem l-encryption SSL/TLS għal Kafka, jekk jogħġbok irreferi għad-dokumentazzjoni uffiċjali: docs.confluent.io/platform/current/kafka/encryption.html
Ċertifikat SSL/TLS Overview
NOTA: F'din is-subtaqsima se nużaw it-terminoloġija li ġejja:
Ċertifikat: Ċertifikat SSL iffirmat minn Awtorità taċ-Ċertifikati (CA). Kull sensar Kafka għandu wieħed.
Keystore: Il-keystore file li jaħżen iċ-ċertifikat. Il-keystore file fih iċ-ċavetta privata taċ-ċertifikat; għalhekk, jeħtieġ li jinżamm b'mod sigur.
Truststore: A file li jkun fih iċ-ċertifikati fdati CA.
Biex titwaqqaf l-awtentikazzjoni bejn klijent estern u Kafka li qed jaħdem fiċ-Ċentru tal-Kontroll, iż-żewġ naħat għandu jkollhom keystore definit b'ċertifikat relatat iffirmat minn Awtorità taċ-Ċertifikati (CA) flimkien maċ-ċertifikat root CA.
Barra minn hekk, il-klijent irid ikollu wkoll truststore biċ-ċertifikat tal-għeruq CA.
Iċ-ċertifikat tal-għeruq CA huwa komuni għas-sensar Kafka u għall-klijent Kafka.
Ħolqien taċ-Ċertifikati Meħtieġa
Dan huwa kopert fl-“Appendiċi” f’paġna 17.
Kafka Broker SSL/TLS Konfigurazzjoni fiċ-Ċentru tal-Kontroll
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
NOTA: Qabel ma tkompli, trid toħloq il-keystore li fih iċ-ċertifikat SSL billi ssegwi l-istruzzjonijiet fl-“Appendiċi” f’paġna 17. Il-mogħdijiet imsemmija hawn taħt ġejjin minn dawn l-istruzzjonijiet.
Il-keystore SSL huwa a file maħżuna fuq disk mal- file estensjoni .jks.
Ladarba jkollok iċ-ċertifikati meħtieġa maħluqa kemm għas-sensar Kafka kif ukoll għall-klijent Kafka disponibbli, tista 'tkompli billi tikkonfigura s-sensar Kafka li qed jaħdem fiċ-Ċentru ta' Kontroll. Trid tkun taf dan li ġej:
- : L-isem tal-ospitant pubbliku taċ-Ċentru ta' Kontroll; dan għandu jkun riżolvut u aċċessibbli mill-klijenti Kafka.
- : Il-password tal-keystore pprovduta meta toħloq iċ-ċertifikat SSL.
- u : Dawn huma l-passwords li trid tissettja għall-utent admin u klijent rispettivament. Innota li tista 'żżid aktar utenti, kif indikat fl-eżample.
Editja jew ehmeż (b'aċċess sudo) il-proprjetajiet hawn taħt f'/etc/kafka/server.properties, daħħal il-varjabbli ta' hawn fuq kif muri:
TWISSIJA: Tneħħix PLAINTEXT://localhost:9092; dan se jkisser il-funzjonalità taċ-Ċentru tal-Kontroll peress li s-servizzi interni mhux se jkunu jistgħu jikkomunikaw.
- …
- # L-indirizzi li jisma 's-sensar Kafka.
- semmiegħa=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
- # Dawn huma l-hosts reklamati lura lil kwalunkwe klijent li jgħaqqad.
- advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
- ####### KONFIG PERSONALIZZATA
- # KONFIGURAZZJONI SSL
- ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks - ssl.keystore.password=
- ssl.key.password=
- ssl.client.auth=xejn
- ssl.protocol=TLSv1.2
- # Konfigurazzjoni SASL
- sasl.enabled.mechanisms=PLAIN
- username="admin" \
- password =" ” \
- user_admin=" ” \
- user_client=" ”;
- # NOTA aktar utenti jistgħu jiġu miżjuda ma 'user_ =
- # Awtorizzazzjoni, ixgħel l-ACLs
- authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Utent:admin
Twaqqif ta' Listi ta' Kontroll ta' Aċċess (ACLs)
Tixgħel ACLs fuq localhost
TWISSIJA: L-ewwel irridu nwaqqfu ACLs għal localhost, sabiex iċ-Ċentru ta 'Kontroll innifsu xorta jkun jista' jaċċessa Kafka. Jekk dan ma jsirx, l-affarijiet jinkisru.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Utent: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 Utent:ANONIM –allow-host 127.0.0.1 –tema '*'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Utent:ANONIM –allow-host 127.0.0.1 –grupp '*'
Imbagħad irridu nippermettu ACLs għal aċċess estern ta' qari biss, sabiex utenti esterni jitħallew jaqraw is-suġġetti paa.public.*.
### Daħliet ACLs għal utenti anonimi /usr/lib/kafka/bin/kafka-acls.sh \
NOTA: Għal aktar kontroll tal-qamħirrum, jekk jogħġbok irreferi għad-dokumentazzjoni uffiċjali Kafka.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Utent:* –operazzjoni qari –operazzjoni jiddeskrivi \ –grupp 'NCC'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Utent:* –operation read –operation describe \ –topic paa.public. –tip ta' disinn tar-riżorsi prefissat
Ladarba jsir dan, għandek bżonn terġa 'tibda s-servizzi:
### Daħliet ACLs għal utenti esterni /usr/lib/kafka/bin/kafka-acls.sh \
- Is-servizzi sudo ncc jerġgħu jibdew
Biex tivverifika li klijent jista 'jwaqqaf konnessjoni sigura, ħaddem il-kmand li ġej fuq estern
kompjuter klijent (mhux fuq is-server taċ-Ċentru tal-Kontroll). Hawn taħt, PUBLIC_HOSTNAME huwa l-isem tal-host taċ-Ċentru tal-Kontroll:
- openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Negozjar mill-ġdid Sikur huwa appoġġjat"
Fl-output tal-kmand għandek tara ċ-ċertifikat tas-server kif ukoll dan li ġej:
- Rinegozjar Sikur IS appoġġjat
Biex tiżgura li s-servizzi interni ngħataw aċċess għas-server Kafka, jekk jogħġbok iċċekkja l-ġurnal li ġejfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
Validazzjoni tal-Konnettività tal-Klijent Estern
kafkacat
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq kompjuter klijent (mhux fuq is-server taċ-Ċentru tal-Kontroll).
NOTA: Biex turi l-informazzjoni tal-metriċi, kun żgur li mill-inqas monitor wieħed ikun qed jaħdem fiċ-Ċentru tal-Kontroll.
Biex tivverifika u tivvalida l-konnettività bħala klijent estern, huwa possibbli li tuża l-utilità kafkacat li kienet installata fit-taqsima "Verifika li l-API Streaming Jaħdem fiċ-Ċentru ta' Kontroll" f'paġna 4.
Wettaq il-passi li ġejjin:
NOTA: Hawn taħt, CLIENT_USER huwa l-utent speċifikat qabel fil- file /etc/kafka/server.properties fiċ-Ċentru tal-Kontroll: jiġifieri, user_client u l-password stabbiliti hemmhekk.
Iċ-ċertifikat root CA użat biex jiffirma ċ-ċertifikat SSL tan-naħa tas-server għandu jkun preżenti fuq il-klijent.
Oħloq a file client.properties bil-kontenut li ġej:
- security.protocol=SASL_SSL
- ssl.ca.location={PATH_TO_CA_CERT}
- sasl.mechanisms=PLAIN
- sasl.username={CLIENT_USER}
- sasl.password={CLIENT_PASSWORD}
fejn
- {PATH_TO_CA_CERT} huwa l-post taċ-ċertifikat tal-għeruq CA użat mis-sensar Kafka
- {CLIENT_USER} u {CLIENT_PASSWORD} huma l-kredenzjali tal-utent għall-klijent.
Mexxi l-kmand li ġej biex tara l-messaġġ ikkunsmat minn kafkacat:
- esportazzjoni KAFKA_FQDN=
- esportazzjoni METRICS_TOPIC=paa.public.accounts. .metriċi
- kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
fejn {METRICS_TOPIC} huwa l-isem tas-suġġett Kafka bil-prefiss “paa.public.”.
NOTA: Verżjonijiet eqdem ta' kafkacat ma jipprovdux l-għażla -F għall-qari tas-settings tal-klijent minn a file. Jekk qed tuża verżjoni bħal din, trid tipprovdi l-istess settings mil-linja tal-kmand kif muri hawn taħt.
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
Biex tiddibaggja l-konnettività, tista 'tuża l-għażla -d:
Debug komunikazzjonijiet tal-konsumatur
kafkacat -d konsumatur -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Iddibaggja l-komunikazzjonijiet tas-sensar
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Kun żgur li tirreferi għad-dokumentazzjoni għal-librerija tal-klijenti Kafka li qed tintuża, peress li l-proprjetajiet jistgħu jkunu differenti minn dawk fil-client.properties.
Format tal-Messaġġ
Il-messaġġi użati għas-suġġetti tal-metriċi u tal-metadejta huma serjalizzati fil-format ta' buffers tal-Protokoll (protobuf) (ara developers.google.com/protocol-buffers). L-iskemi għal dawn il-messaġġi jaderixxu mal-format li ġej:
Metriċi Protobuf Skema
- sintassi = "proto3";
- importazzjoni “google/protobuf/timestamp.proto”;
- pakkett paa.streamingapi;
- għażla go_package = ".;paa_streamingapi";
- Metriċi tal-messaġġ {
- google.protobuf.Timestamp timestamp = 1;
- mappa valuri = 2;
- int32 stream_id = 3;
- }
- /**
- * Valur metriku jista 'jkun jew numru sħiħ jew float.
- */
- messaġġ MetricValue {
- wieħed mit-tip {
- int64 int_val = 1;
- float float_val = 2;
- }
- }
Metadata Protobuf Schema
- sintassi = "proto3";
- pakkett paa.streamingapi;
- għażla go_package = ".;paa_streamingapi";
- Metadata tal-messaġġ {
- int32 stream_id = 1;
- string stream_name = 2;
- mappa tags = 13;
- }
Klijent Eżamples
NOTA: Dawn il-kmandi huma maħsuba biex jaħdmu fuq klijent estern, pereżempjuample laptop tiegħek jew simili, u mhux fiċ-Ċentru ta 'Kontroll.
NOTA: Biex tintwera l-informazzjoni tal-metriċi, kun żgur li mill-inqas monitor wieħed ikun qed jaħdem fiċ-Ċentru tal-Kontroll.
It-tarball taċ-Ċentru tal-Kontroll jinkludi l-arkivju paa-streaming-api-client-examples.tar.gz (klijent-eżamples), li fih example script Python li juri kif tuża l-API Streaming.
Installazzjoni u Konfigurazzjoni Klijent Examples
Issib klijent-examples fil-folder taċ-Ċentru tal-Kontroll tal-Assigurazzjoni Attiva Paragon:
- esportazzjoni CC_VERSION=4.1.0
- cd ./paa-control-center_${CC_VERSION}
- ls paa-streaming-api-client-examples*
Biex tinstalla client-examples fuq il-kompjuter klijent estern tiegħek, ipproċedi kif ġej:
- # Oħloq direttorju għall-estrazzjoni tal-kontenut tal-klijent examples tarball
- mkdir paa-streaming-api-client-examples
- # Oħroġ il-kontenut tal-klijent examples tarball
- tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
- # Mur fid-direttorju maħluq ġdid
- cd paa-streaming-api-client-examples
klijent-examples teħtieġ Docker biex jaħdem. It-tniżżil u l-istruzzjonijiet għall-installazzjoni għal Docker jistgħu jinstabu fuq https://docs.docker.com/engine/install.
Bl-użu tal-Klijent Examples
Il-klijent-examples għodod jistgħu jaħdmu jew fil-mod bażiku jew avvanzat biex jibnu examplejiet ta' kumplessità li tvarja. Fiż-żewġ każijiet, huwa wkoll possibbli li tmexxi l-examples b'konfigurazzjoni file li jkun fih proprjetajiet addizzjonali għal aktar customization tan-naħa tal-klijent.
Modalità Bażika
Fil-modalità bażika, il-metriċi u l-metadata tagħhom huma streamed separatament. Għal dan il-għan, il-klijent jisma 'kull suġġett Kafka disponibbli għal aċċess estern u sempliċement jistampa l-messaġġi riċevuti fuq il-console.
Biex tibda l-eżekuzzjoni tal-eżamples, run:
- build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Biex tittermina l-eżekuzzjoni tal-example, agħfas Ctrl + C. (Jista 'jkun hemm dewmien żgħir qabel ma tieqaf l-eżekuzzjoni minħabba li l-klijent jistenna għal avveniment ta' timeout.)
Modalità Avvanzata
NOTA: Il-metriċi jintwerew biss għal monitors HTTP li jaħdmu fiċ-Ċentru tal-Kontroll.
L-eżekuzzjoni fil-modalità avvanzata turi l-korrelazzjoni bejn il-metriċi u l-messaġġi tal-metadejta. Dan hu
possibbli grazzi għall-preżenza f'kull messaġġ tal-metriċi ta' qasam tal-id tal-fluss li jirreferi għall-messaġġ tal-metadata korrispondenti.
Biex tesegwixxi l-ex avvanzatamples, run:
- build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Biex tittermina l-eżekuzzjoni tal-example, agħfas Ctrl + C. (Jista 'jkun hemm dewmien żgħir qabel ma tieqaf l-eżekuzzjoni minħabba li l-klijent jistenna għal avveniment ta' timeout.)
Settings Addizzjonali
Huwa possibbli li tmexxi l-examples b'konfigurazzjoni addizzjonali tal-klijent li juża l- –config-file għażla segwita minn a file isem li fih proprjetajiet fil-forma ċavetta=valur.
- build.sh run-advanced \
- –kafka-brokers localhost:9092 \
- –kont ACCOUNT_SHORTNAME \
- –konfigurazzjoni-file client_config.properties
NOTA: Kollha files referenzjati fil-kmand ta 'hawn fuq għandhom ikunu jinsabu fid-direttorju kurrenti u riferuti bl-użu biss mogħdijiet relattivi. Dan japplika kemm għall--config-file argument u għall-entrati kollha fil-konfigurazzjoni file li jiddeskrivu file postijiet.
Validazzjoni tal-Awtentikazzjoni tal-Klijent Estern
Biex tivvalida l-awtentikazzjoni tal-klijent minn barra ċ-Ċentru tal-Kontroll billi tuża client-examples, wettaq il-passi li ġejjin:
Mill-folder taċ-Ċentru tal-Kontroll tal-Assigurazzjoni Attiva Paragon, aqleb għall-paa-streaming-api-client-examples folder:
cd paa-streaming-api-client-examples
- Ikkopja ċ-ċertifikat root CA ca-cert fid-direttorju kurrenti.
- Oħloq client.properties file bil-kontenut li ġej:
security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
fejn {CLIENT_USER} u {CLIENT_PASSWORD} huma l-kredenzjali tal-utent għall-klijent.
Mexxi ex bażikuamples:
- esportazzjoni KAFKA_FQDN=
- build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
- –kont ACCOUNT_SHORTNAME
- –konfigurazzjoni-file klijent.propjetajiet
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Mexxi avvanzata examples:
- esportazzjoni KAFKA_FQDN=
- build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
- –kont ACCOUNT_SHORTNAME
- –konfigurazzjoni-file klijent.propjetajiet
Appendiċi
F'dan l-appendiċi niddeskrivu kif toħloq:
- a keystore file għall-ħażna taċ-ċertifikat SSL tal-broker Kafka
- truststore file għall-ħażna taċ-ċertifikat tal-għeruq tal-Awtorità taċ-Ċertifikati (CA) użat biex jiffirma ċ-ċertifikat tas-sensar Kafka.
Ħolqien ta 'Ċertifikat ta' Broker Kafka
Il-ħolqien ta' Ċertifikat billi tuża Awtorità taċ-Ċertifikat Reali (Rakkomandat)
Huwa rakkomandat li tikseb ċertifikat SSL reali minn CA fdata.
Ladarba tkun iddeċidejt dwar CA, ikkopja ċ-ċertifikat tal-għeruq CA tagħhom ca-cert file lejn it-triq tiegħek kif muri hawn taħt:
- esportazzjoni CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- cp ca-cert ${CA_PATH}
Oħloq l-Awtorità taċ-Ċertifikat Tiegħek
NOTA: Normalment għandu jkollok iċ-ċertifikat tiegħek iffirmat minn Awtorità taċ-Ċertifikati reali; ara s-subsezzjoni preċedenti. Dak li ġej huwa biss example.
Hawnhekk noħolqu ċ-ċertifikat tal-għeruq tagħna stess tal-Awtorità taċ-Ċertifikati (CA). file validu għal 999 jum (mhux rakkomandat fil-produzzjoni):
- # Oħloq direttorju għall-ħażna tas-CA
- esportazzjoni CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- # Iġġenera ċ-ċertifikat CA
- openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Ħolqien tal-Klijent Truststore
Issa tista 'toħloq truststore file li fih il-ca-cert iġġenerat hawn fuq. Dan file se jkun meħtieġ mill-klijent Kafka li se jaċċessa l-API Streaming:
- keytool -keystore kafka.client.truststore.jks \
- alias CARoot \
- ċertifikat ta' importazzjoni -file ${CA_PATH}/ca-cert
Issa li ċ-ċertifikat CA jinsab fil-truststore, il-klijent se jafda kwalunkwe ċertifikat iffirmat miegħu.
Għandek tikkopja l- file kafka.client.truststore.jks f'post magħruf fuq il-kompjuter klijent tiegħek u ppunta lejh fis-settings.
Ħolqien tal-Keystore għall-Kafka Broker
Biex tiġġenera ċ-ċertifikat SSL tal-broker Kafka u mbagħad il-keystore kafka.server.keystore.jks, ipproċedi kif ġej:
Ġenerazzjoni taċ-Ċertifikat SSL
Hawn taħt, 999 huwa n-numru ta 'jiem ta' validità tal-keystore, u FQDN huwa l-isem tad-dominju kwalifikat bis-sħiħ tal-klijent (l-isem tal-ospitant pubbliku tan-node).
NOTA: Huwa importanti li l-FQDN jaqbel mal-hostname eżatt li l-klijent Kafka se juża biex jgħaqqad maċ-Ċentru tal-Kontroll.
- sudo mkdir -p /var/ssl/private
- sudo chown -R $USER: /var/ssl/private
- cd /var/ssl/privat
- esportazzjoni FQDN= keytool -keystore kafka.server.keystore.jks \
- – alias server \
- – validità 999 \
- – genkey -keyalg RSA -ext SAN=dns:${FQDN}
Oħloq talba għall-iffirmar taċ-ċertifikat u aħżenha fil- file imsejħa cert-server-request:
- keytool -keystore kafka.server.keystore.jks \
- – alias server \
- – certreq \
- – file talba-cert-server
Issa għandek tibgħat il- file cert-server-request lill-Awtorità taċ-Ċertifikati (CA) tiegħek jekk qed tuża waħda reali. Huma mbagħad jirritornaw iċ-ċertifikat iffirmat. Aħna se nirreferu għal dan bħala cert-server-firmat hawn taħt.
Iffirmar taċ-Ċertifikat SSL Bl-użu ta 'Ċertifikat CA maħluq minnha stess
NOTA: Għal darb'oħra, l-użu tas-CA tiegħek mhux rakkomandat f'sistema ta' produzzjoni.
Iffirma ċ-ċertifikat billi tuża l-CA permezz tal- file cert-server-request, li tipproduċi ċ-ċertifikat iffirmat cert-server-signed. Ara isfel; ca-password hija l-password stabbilita meta jinħoloq iċ-ċertifikat CA.
- cd /var/ssl/private openssl x509 -req \
- – CA ${CA_PATH}/ca-cert \
- – CAkey ${CA_PATH}/ca-key \
- – f'cert-server-request \
- – barra cert-server-firmat \
- – jiem 999 -CAcreateserial \
- – pass pass:{ca-password}
L-importazzjoni taċ-Ċertifikat Iffirmat fil-Keystore
Importa ċ-ċertifikat tal-għeruq ca-cert fil-keystore:
- keytool -keystore kafka.server.keystore.jks \
- – alias ca-cert \
- - importa \
- – file ${CA_PATH}/ca-cert
Importa ċ-ċertifikat iffirmat imsejjaħ cert-server-signed:
- keytool -keystore kafka.server.keystore.jks \
- – alias server \
- - importa \
- – file cert-server iffirmat
Il- file kafka.server.keystore.jks għandu jiġi kkupjat f'post magħruf fuq is-server taċ-Ċentru tal-Kontroll, u mbagħad imsemmi f' /etc/kafka/server.properties.
Bl-użu tal-API Streaming
F’DIN IT-TAQSIMA
- Ġenerali | 20
- Ismijiet ta' Topic Kafka | 21
- Examples ta 'Użu tal-API Streaming | 21
Ġenerali
L-API tal-istreaming iġib kemm id-dejta tat-test kif ukoll dik tal-monitoraġġ. Mhux possibbli li tissemma waħda minn dawn il-kategoriji.
L-API streaming ma jġibx data minn testijiet ibbażati fuq skript (dawk rappreżentati minn rettangolu minflok biċċa jigsaw fil-GUI taċ-Ċentru ta 'Kontroll), bħal testijiet ta' attivazzjoni tas-servizz Ethernet u testijiet ta 'trasparenza.
Ismijiet ta' Topic Kafka
L-ismijiet tas-suġġetti Kafka għall-API streaming huma kif ġej, fejn %s huwa l-isem qasir tal-kont taċ-Ċentru tal-Kontroll (indikat meta jinħoloq il-kont):
- kost (
- exporterName = “kafka”
- metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )
Examples tal-Użu tal-API Streaming
L-examples li jsegwu jinsabu fit-tarball paa-streaming-api-client-examples.tar.gz li jinsab fi ħdan it-tarball taċ-Ċentru tal-Kontroll.
L-ewwel, hemm ex bażikuample turi kif il-metriċi u l-metadata tagħhom huma streamed separatament u sempliċiment jistampa l-messaġġi riċevuti lill-console. Tista' tmexxiha kif ġej:
- sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Hemm ukoll ex aktar avvanzatample fejn il-metriċi u l-messaġġi tal-metadejta huma korrelatati. Uża dan il-kmand biex tħaddem:
- sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Għandek bżonn tuża sudo biex tmexxi kmandi Docker bħal dawk ta 'hawn fuq. B'għażla, tista' ssegwi l-passi ta' wara l-installazzjoni tal-Linux biex tkun tista' tħaddem il-kmandi ta' Docker mingħajr sudo. Għad-dettalji, mur fuq docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, il-logo Juniper Networks, Juniper, u Junos huma trademarks reġistrati ta’ Juniper Networks, Inc. fl-Istati Uniti u pajjiżi oħra. It-trademarks l-oħra kollha, il-marki tas-servizz, il-marki reġistrati, jew il-marki tas-servizz irreġistrati huma l-proprjetà tas-sidien rispettivi tagħhom. Juniper Networks ma jassumi l-ebda responsabbiltà għal xi ineżattezzi f'dan id-dokument. Juniper Networks jirriżerva d-dritt li jibdel, jimmodifika, jittrasferixxi, jew inkella jirrevedi din il-pubblikazzjoni mingħajr avviż. Copyright © 2023 Juniper Networks, Inc. Id-drittijiet kollha riżervati.
Dokumenti / Riżorsi
![]() |
Juniper NETWORKS Streaming API Software [pdfGwida għall-Utent Streaming API Software, API Software, Software |