Inženirska preprostost
Streaming API Guide
Uvod
Ta priročnik opisuje, kako pridobiti podatke iz Paragon Active Assurance prek API-ja za pretakanje izdelka.
API in odjemalec za pretakanje sta vključena v namestitev Paragon Active Assurance.
Pred uporabo API-ja pa je potrebna nekaj konfiguracije. To je zajeto v poglavju »Konfiguriranje API-ja za pretakanje« na strani 1.
konecview
V tem poglavju je opisano, kako konfigurirati Streaming API, da omogoči naročanje na metrična sporočila prek Kafke.
Spodaj bomo šli skozi:
- Kako omogočiti Streaming API
- Kako konfigurirati Kafko za poslušanje zunanjih odjemalcev
- Kako konfigurirati Kafko za uporabo ACL-jev in nastaviti šifriranje SSL za omenjene odjemalce
Kaj je Kafka?
Kafka je platforma za pretakanje dogodkov, ki omogoča sprotni zajem podatkov, poslanih iz različnih virov dogodkov (senzorjev, baz podatkov, mobilnih naprav) v obliki tokov dogodkov, kot tudi trajno shranjevanje teh tokov dogodkov za kasnejše iskanje in manipulacijo.
S Kafko je mogoče upravljati pretakanje dogodkov od konca do konca na porazdeljen, visoko razširljiv, elastičen, odporen na napake in varen način.
OPOMBA: Kafka se lahko konfigurira na veliko različnih načinov in je bil zasnovan za razširljivost in redundantne sisteme. Ta dokument se osredotoča samo na to, kako ga konfigurirati za uporabo funkcije Streaming API, ki jo najdete v Paragon Active Assurance Control Center. Za naprednejše nastavitve se sklicujemo na uradno dokumentacijo Kafka: kafka.apache.org/26/documentation.html.
Terminologija
- Kafka: Platforma za pretakanje dogodkov.
- Kafka tema: Zbirka dogodkov.
- Naročnik/potrošnik Kafke: komponenta, odgovorna za pridobivanje dogodkov, shranjenih v temi Kafka.
- Posrednik Kafka: strežnik pomnilniške plasti gruče Kafka.
- SSL/TLS: SSL je varen protokol, razvit za varno pošiljanje informacij prek interneta. TLS je naslednik SSL, uvedenega leta 1999.
- SASL: Ogrodje, ki zagotavlja mehanizme za preverjanje pristnosti uporabnikov, preverjanje celovitosti podatkov in šifriranje.
- Naročnik API-ja za pretakanje: komponenta, odgovorna za pridobivanje dogodkov, shranjenih v temah, definiranih v Paragon Active Assurance in namenjenih zunanjemu dostopu.
- Overitelj potrdil: Zaupanja vreden subjekt, ki izda in prekliče potrdila javnih ključev.
- Korensko potrdilo overitelja potrdil: Potrdilo javnega ključa, ki identificira overitelja potrdil.
Kako deluje API za pretakanje
Kot smo že omenili, Streaming API omogoča zunanjim odjemalcem, da pridobijo informacije o meritvah iz Kafke.
Vse metrike, ki jih zberejo testni agenti med testom ali nalogo spremljanja, se pošljejo v storitev Stream.
Po fazi obdelave storitev Stream objavi te meritve na Kafki skupaj z dodatnimi metapodatki.

Teme Kafke
Kafka ima koncept tem, na katere so objavljeni vsi podatki. V Paragon Active Assurance je na voljo veliko takih Kafkinih tem; vendar je samo podmnožica teh namenjena zunanjemu dostopu.
Vsak račun Paragon Active Assurance v Nadzornem centru ima dve namenski temi. Spodaj je ACCOUNT kratko ime računa:
- paa.javni.računi.{RAČUN}.metrike
- Vsa sporočila o meritvah za dani račun so objavljena v tej temi
- Velike količine podatkov
- Visoka frekvenca posodabljanja
- paa.public.accounts.{ACCOUNT}.metadata
- Vsebuje metapodatke, povezane z metričnimi podatki, nprample test, monitor ali testni agent, povezan z metriko
- Majhne količine podatkov
- Nizka frekvenca posodabljanja
Omogočanje API-ja za pretakanje
OPOMBA: Ta navodila je treba izvajati na strežniku Nadzornega centra z uporabo sudo.
Ker API za pretakanje nadzornemu centru doda nekaj dodatnih stroškov, ni privzeto omogočen. Če želite omogočiti API, moramo najprej omogočiti objavo meritev v Kafki v glavni konfiguraciji file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = Res
OPOZORILO: Omogočanje te funkcije lahko vpliva na delovanje nadzornega centra. Prepričajte se, da ste svoj primerek ustrezno dimenzionirali.
Nato omogočite posredovanje teh meritev v pravilne Kafkine teme: - /etc/netrounds/metrics.yaml
streaming-api: res
Če želite omogočiti in zagnati storitve Streaming API, zaženite:
storitve sudo ncc omogočijo meritve timescaledb storitve sudo ncc zaženejo meritve timescaledb
Na koncu znova zaženite storitve:
ponovni zagon storitev sudo ncc
Preverjanje, ali API za pretakanje deluje v Nadzornem centru
OPOMBA: Ta navodila je treba izvesti na strežniku Nadzornega centra.
Zdaj lahko preverite, ali prejemate metrike o pravilnih temah Kafke. Če želite to narediti, namestite pripomoček kafkacat:
sudo apt-get posodobite sudo apt-get namestite kafkacat
Če imate test ali monitor, ki teče v Nadzornem centru, bi morali imeti možnost, da uporabite kafkacat za prejemanje meritev in metapodatkov o teh temah.
Zamenjajte moj račun s kratkim imenom vašega računa (to vidite v svojem Nadzornem centru URL):
izvoz METRICS_TOPIC=paa.public.accounts.myaccount.metrics
izvoz METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Zdaj bi morali videti meritve, če zaženete ta ukaz:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Za view metapodatkov, zaženite naslednji ukaz (upoštevajte, da se to ne bo posodabljalo tako pogosto):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
OPOMBA:
kafkacat”Client Examples" na strani 14
To potrjuje, da imamo v Nadzornem centru delujoč API za pretakanje. Vendar vas najverjetneje namesto tega zanima dostop do podatkov iz zunanjega odjemalca. Naslednji razdelek opisuje, kako odpreti Kafko za zunanji dostop.
Odpiranje Kafke za zunanje gostitelje
OPOMBA: Ta navodila je treba izvesti na strežniku Nadzornega centra.
Privzeto je Kafka, ki se izvaja v Nadzornem centru, konfigurirana tako, da posluša le lokalnega gostitelja za interno uporabo.
Kafko je mogoče odpreti za zunanje odjemalce s spreminjanjem nastavitev Kafke.
Povezovanje s Kafko: opozorila
POZOR: Prosimo, da to natančno preberete, saj lahko zlahka naletite na težave s povezavo s Kafko, če ne razumete teh konceptov.
V nastavitvi Nadzornega centra, opisani v tem dokumentu, obstaja samo en posrednik Kafka.
Vendar upoštevajte, da naj bi posrednik Kafka deloval kot del grozda Kafka, ki je lahko sestavljen iz številnih posrednikov Kafka.
Pri povezovanju s posrednikom Kafka začetno povezavo vzpostavi odjemalec Kafka. Prek te povezave posrednik Kafka vrne seznam »oglašenih poslušalcev«, ki je seznam enega ali več posrednikov Kafka.
Ko prejme ta seznam, bo odjemalec Kafka prekinil povezavo in se nato znova povezal z enim od teh oglaševanih poslušalcev. Oglašeni poslušalci morajo vsebovati imena gostiteljev ali naslove IP, ki so dostopni odjemalcu Kafka, sicer se odjemalec ne bo mogel povezati.
Če se uporablja šifriranje SSL, ki vključuje potrdilo SSL, ki je vezano na določeno ime gostitelja, je še toliko bolj pomembno, da odjemalec Kafka prejme pravilen naslov za povezavo, saj je sicer lahko povezava zavrnjena.
Več o poslušalcih Kafke preberite tukaj: www.confluent.io/blog/kafka-listeners-explained
Šifriranje SSL/TLS
Da zagotovimo, da imajo samo zaupanja vredni odjemalci dovoljen dostop do Kafke in API-ja za pretakanje, moramo konfigurirati naslednje:
- Avtentikacija: Stranke morajo posredovati uporabniško ime in geslo prek varne povezave SSL/TLS med stranko in Kafko.
- Pooblastilo: Preverjeni odjemalci lahko izvajajo naloge, ki jih urejajo ACL.
Tukaj je konecview:

*) Preverjanje pristnosti uporabniškega imena/gesla, izvedeno na kanalu, šifriranem s SSL
Če želite v celoti razumeti, kako deluje šifriranje SSL/TLS za Kafko, si oglejte uradno dokumentacijo: docs.confluent.io/platform/current/kafka/encryption.html
Potrdilo SSL/TLS je končanoview
OPOMBA: V tem pododdelku bomo uporabili naslednjo terminologijo:
Certifikat: SSL certifikat, ki ga podpiše overitelj potrdil (CA). Vsak posrednik Kafka ima enega.
Shramba ključev: Shramba ključev file ki hrani potrdilo. Shramba ključev file vsebuje zasebni ključ potrdila; zato ga je treba varno hraniti.
Truststore: A file ki vsebuje zaupanja vredna potrdila CA.
Za nastavitev preverjanja pristnosti med zunanjim odjemalcem in Kafko, ki se izvaja v Nadzornem centru, morata imeti obe strani definirano shrambo ključev s povezanim potrdilom, ki ga podpiše overitelj potrdil (CA), skupaj s korenskim potrdilom CA.
Poleg tega mora imeti odjemalec tudi skrbniško shrambo s korenskim potrdilom CA.
Korensko potrdilo CA je skupno posredniku Kafka in odjemalcu Kafka.
Ustvarjanje zahtevanih potrdil
To je zajeto v “Dodatek” na strani 17.
Kafka Broker Konfiguracija SSL/TLS v Nadzornem centru
OPOMBA: Ta navodila je treba izvesti na strežniku Nadzornega centra.
OPOMBA: Preden nadaljujete, morate ustvariti shrambo ključev, ki vsebuje potrdilo SSL, tako da sledite navodilom v “Dodatku” na strani 17. Spodaj omenjene poti izhajajo iz teh navodil.
Shramba ključev SSL je a file shranjeno na disku z file razširitev .jks.
Ko imate na voljo zahtevana potrdila, ustvarjena za posrednika Kafka in odjemalca Kafka, lahko nadaljujete s konfiguracijo posrednika Kafka, ki se izvaja v Nadzornem centru. Vedeti morate naslednje:
- : javno ime gostitelja nadzornega centra; to mora biti rešljivo in dostopno strankam Kafke.
- : Geslo shrambe ključev, ki je bilo podano ob ustvarjanju potrdila SSL.
- in : To sta gesli, ki ju želite nastaviti za skrbnika oziroma odjemalca.
Upoštevajte, da lahko dodate več uporabnikov, kot je navedeno v prample.
Uredite ali dodajte (z dostopom sudo) spodnje lastnosti v /etc/kafka/server.properties in vstavite zgornje spremenljivke, kot je prikazano:
OPOZORILO: Ne odstranjujte PLAINTEXT://localhost:9092 ; to bo prekinilo funkcionalnost nadzornega centra, saj notranje storitve ne bodo mogle komunicirati.
…# Naslovi, ki jih posrednik Kafka posluša.
poslušalci=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# To so gostitelji, ki se oglašajo nazaj kateremu koli odjemalcu, ki se povezuje.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### KONFIG
# KONFIGURACIJA SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=brez
ssl.protocol=TLSv1.2
# Konfiguracija SASL sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo je potrebno dule \ uporabniško ime=”admin” \ geslo=” ” \ user_admin=” ” \ user_client=” ”; # OPOMBA: več uporabnikov je mogoče dodati z user_ =
# Avtorizacija, vklop ACL-jev authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Uporabnik:admin
Nastavitev seznamov za nadzor dostopa (ACL)
Vklop ACL-jev na lokalnem gostitelju
OPOZORILO: Najprej moramo nastaviti ACL-je za lokalnega gostitelja, tako da lahko Control Center sam še vedno dostopa do Kafke. Če tega ne storite, se bodo stvari zlomile.
######### Vnosi ACL za anonimne uporabnike
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –cluster
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal Uporabnik:ANONYMOUS –allow-host 127.0.0.1 –topic '*'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –group '*'
Nato moramo omogočiti ACL-je za zunanji dostop samo za branje, tako da lahko zunanji uporabniki berejo teme paa.public.*.
OPOMBA: Za bolj natančen nadzor si oglejte uradno dokumentacijo Kafka.
######### Vnosi ACL za zunanje uporabnike
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operation read –operation describe \–skupina 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operation read –operation describe \
–tema paa.public. –resource-pattern-type predpono
Ko končate s tem, morate znova zagnati storitve:
ponovni zagon storitev sudo ncc
Če želite preveriti, ali lahko odjemalec vzpostavi varno povezavo, zaženite naslednji ukaz na zunanjem odjemalskem računalniku (ne na strežniku Nadzornega centra). Spodaj je PUBLIC_HOSTNAME ime gostitelja nadzornega centra:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep »Varno ponovno pogajanje JE podprto«
V izhodu ukaza bi morali videti potrdilo strežnika in naslednje:
Varno ponovno pogajanje JE podprto
Če želite zagotoviti, da je notranjim storitvam odobren dostop do strežnika Kafka, preverite naslednji dnevnikfiles:
Preverjanje povezljivosti zunanjega odjemalca
kafkacat
OPOMBA: Ta navodila je treba izvesti na odjemalskem računalniku (ne na strežniku Nadzornega centra).
OPOMBA: Za prikaz podatkov o meritvah zagotovite, da se v Nadzornem centru izvaja vsaj en monitor.
Za preverjanje in preverjanje povezljivosti kot zunanjega odjemalca je mogoče uporabiti pripomoček kafkacat, ki je bil nameščen v razdelku »Preverjanje, ali API za pretakanje deluje v nadzornem središču« na strani 4.
Izvedite naslednje korake:
OPOMBA: Spodaj je CLIENT_USER uporabnik, ki je bil predhodno naveden v file /etc/kafka/server.properties in
Nadzorni center: in sicer user_client in tam nastavljeno geslo.
Korensko potrdilo CA, ki se uporablja za podpisovanje potrdila SSL na strani strežnika, mora biti prisotno v odjemalcu.
- Ustvari a file client.properties z naslednjo vsebino:
security.protocol=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mechanisms=NAVADEN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD} kje
• {PATH_TO_CA_CERT} je lokacija korenskega potrdila CA, ki ga uporablja posrednik Kafka
• {CLIENT_USER} in {CLIENT_PASSWORD} sta uporabniški poverilnici za odjemalca.
• Zaženite naslednji ukaz, da si ogledate sporočilo, ki ga porabi kafkacat:
izvoz KAFKA_FQDN=
izvoz METRICS_TOPIC=paa.public.accounts. .metrics
kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
kjer je {METRICS_TOPIC} ime teme Kafka s predpono “paa.public.”.
OPOMBA: Starejše različice kafkacat ne nudijo možnosti -F za branje nastavitev odjemalca iz a file. Če uporabljate takšno različico, morate v ukazni vrstici zagotoviti enake nastavitve, kot je prikazano spodaj.
kafkacat -b ${KAFKA_FQDN}:9093 \
-X security.protocol=SASL_SSL \
-X ssl.ca.location={PATH_DO_CA_CERT} \
-X sasl.mechanisms=PLAIN \
-X sasl.username={CLIENT_USER} \
-X sasl.password={CLIENT_PASSWORD} \
-t ${METRICS_TOPIC} -C -e
Za odpravljanje napak v povezljivosti lahko uporabite možnost -d:
Odpravljanje napak v komunikaciji s potrošniki
kafkacat -d potrošnik -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Komunikacija posrednika za odpravljanje napak
kafkacat -d posrednik -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Ne pozabite prebrati dokumentacije za knjižnico odjemalca Kafka, ki je v uporabi, saj se lastnosti lahko razlikujejo od tistih v client.properties.
Oblika sporočila
Sporočila, ki se uporabljajo za teme meritev in metapodatkov, so serializirana v obliki medpomnilnikov protokola (protobuf) (glejte developers.google.com/protocol-buffers). Sheme za ta sporočila so v naslednji obliki:
Metrična shema Protobuf
sintaksa = “proto3”; uvozite »google/protobuf/timestamp.proto”; paket paa.streamingapi; možnost go_package = “.;paa_streamingapi”; sporočilo Meritve { google.protobuf.Timestamp časamp = 1; zemljevid vrednosti = 2; int32 meritev_id = 3; } /** * Metrična vrednost je lahko celo število ali plavajoče število. */
sporočilo MetricValue { oneof type { int64 int_val = 1; float float_val = 2; }}
Shema metapodatkov Protobuf
sintaksa = “proto3”; paket paa.streamingapi; možnost go_package = “.;paa_streamingapi”; metapodatki sporočila { int32 izmerjeni_id = 1; niz merilno_ime = 2; zemljevid tags = 13; }
Stranka Examples
OPOMBA: Ti ukazi so namenjeni izvajanju na zunanjem odjemalcu, nprampprenosni računalnik ali podobno, in ne v Nadzornem centru.
OPOMBA: Če želite prikazati informacije o meritvah, zagotovite, da se v Nadzornem centru izvaja vsaj en monitor.
Tarball Control Center vključuje arhiv paa-streaming-api-client-examples.tar.gz (odjemalec-examples), ki vsebuje example skript Python, ki prikazuje, kako uporabljati API za pretakanje.
Namestitev in konfiguracija odjemalca Examples
Najdete bivšo strankoampdatoteke v mapi Paragon Active Assurance Control Center:
izvoz CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examples*
Za namestitev client-exampdatotek na vašem zunanjem odjemalskem računalniku, nadaljujte na naslednji način:
# Ustvari imenik za ekstrahiranje vsebine odjemalca npramples tarball mkdir paa-streaming-api-client-examples
# Ekstrahirajte vsebino odjemalca npramples tarball tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Pojdite v novo ustvarjeni imenik cd paa-streaming-api-client-examples client-examples za zagon potrebuje Docker. Prenose in navodila za namestitev za Docker lahko najdete na https://docs.docker.com/engine/install.
Uporaba Client Examples
Stranka-bivšaamples orodja se lahko izvajajo v osnovnem ali naprednem načinu za gradnjo exampgradiva različnih zahtevnosti. V obeh primerih je možno voditi tudi exampdatoteke s konfiguracijo file ki vsebuje dodatne lastnosti za nadaljnje prilagajanje odjemalske strani.
Osnovni način V osnovnem načinu se metrike in njihovi metapodatki pretakajo ločeno. V ta namen odjemalec posluša vsako Kafkino temo, ki je na voljo za zunanji dostop, in prejeta sporočila preprosto natisne na konzolo.
Za začetek izvajanja osnovnega exampdatoteke, zaženite: ./build.sh run-basic –kafka-brokers localhost:9092 –account_ACCOUNT_SHORTNAME
kjer je ACCOUNT_SHORTNAME kratko ime računa, iz katerega želite pridobiti meritve.
Za prekinitev izvršbe prample, pritisnite Ctrl + C. (Morda pride do rahle zamude, preden se izvajanje ustavi, ker odjemalec čaka na dogodek časovne omejitve.)
Napredni način
OPOMBA: Meritve so prikazane samo za monitorje HTTP, ki se izvajajo v Nadzornem centru.
Izvajanje v naprednem načinu prikazuje korelacijo med metrikami in metapodatkovnimi sporočili. To je mogoče zaradi prisotnosti v vsakem sporočilu metrike polja id toka, ki se nanaša na ustrezno metapodatkovno sporočilo.
Za izvedbo napredne eksamples, zaženite: ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME, kjer je ACCOUNT_SHORTNAME kratko ime računa, iz katerega želite pridobiti meritve.
Za prekinitev izvršbe prample, pritisnite Ctrl + C. (Morda pride do rahle zamude, preden se izvajanje ustavi, ker odjemalec čaka na dogodek časovne omejitve.)
Dodatne nastavitve
Možno je voditi exampz dodatno konfiguracijo odjemalca z uporabo –config-file možnost, ki ji sledi a file ime, ki vsebuje lastnosti v obliki ključ=vrednost.
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file client_config.properties
OPOMBA: Vse files, na katere se sklicuje zgornji ukaz, se mora nahajati v trenutnem imeniku in se nanašati samo z uporabo relativnih poti. To velja tako za –config-file argument in na vse vnose v konfiguraciji file ki opisujejo file lokacije.
Preverjanje pristnosti zunanjega odjemalca
Za preverjanje pristnosti odjemalca izven nadzornega centra z uporabo client-examples, izvedite naslednje korake:
- Iz mape Paragon Active Assurance Control Center preklopite na paa-streaming-api-clientexampmapa les:
cd paa-streaming-api-client-examples - Kopirajte korensko potrdilo CA ca-cert v trenutni imenik.
- Ustvarite client.properties file z naslednjo vsebino:
security.protocol=SASL_SSL
ssl.ca.location=ca-cert
sasl.mechanism=NAVADEN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
kjer sta {CLIENT_USER} in {CLIENT_PASSWORD} uporabniški poverilnici za odjemalca. - Zaženite osnovni examples:
izvoz KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –account ACCOUNT_SHORTNAME
–config-file client.properties, kjer je ACCOUNT_SHORTNAME kratko ime računa, iz katerega želite pridobiti meritve. - Zaženite napredni examples:
izvoz KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –account ACCOUNT_SHORTNAME–config-file client.properties
Dodatek
V tem dodatku opisujemo, kako ustvariti:
- shramba ključev file za shranjevanje SSL certifikata Kafka broker
- skrbniška trgovina file za shranjevanje korenskega potrdila overitelja potrdil (CA), ki se uporablja za podpisovanje potrdila posrednika Kafka.
Ustvarjanje potrdila Kafka Broker
Ustvarjanje potrdila s pravim overiteljem potrdil (priporočeno)
Priporočljivo je, da pridobite pravi SSL certifikat od zaupanja vrednega CA.
Ko se odločite za CA, kopirajte njihov korenski certifikat CA-cert file na svojo pot, kot je prikazano spodaj:
izvoz CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
Ustvarite lastnega overitelja potrdil
OPOMBA: Običajno mora vaše potrdilo podpisati pravi overitelj potrdil; glejte prejšnji pododdelek. Sledi samo bivšiample.
Tukaj ustvarimo lastno korensko potrdilo overitelja potrdil (CA). file velja 999 dni (ni priporočljivo v proizvodnji):
# Ustvarite imenik za shranjevanje izvoza CA_PATH=~/my-ca mkdir ${CA_PATH}
# Ustvari potrdilo CA openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Ustvarjanje shrambe zaupanja strank
Zdaj lahko ustvarite shrambo zaupanja file ki vsebuje ca-cert, ustvarjen zgoraj. to file bo potreboval odjemalec Kafka, ki bo dostopal do API-ja za pretakanje:
keytool -keystore kafka.client.truststore.jks \ -alias CARoot \ -importcert -file ${CA_PATH}/ca-cert
Zdaj, ko je potrdilo CA v shrambi zaupanja, bo odjemalec zaupal vsem potrdilom, podpisanim z njim.
Moral bi kopirati file kafka.client.truststore.jks na znano lokacijo v vašem odjemalskem računalniku in pokažite nanjo v nastavitvah.
Ustvarjanje shrambe ključev za posrednika Kafka
Če želite ustvariti potrdilo SSL posrednika Kafka in nato shrambo ključev kafka.server.keystore.jks, nadaljujte na naslednji način:
Ustvarjanje SSL potrdila
Spodaj je 999 število dni veljavnosti shrambe ključev, FQDN pa je popolnoma kvalificirano ime domene odjemalca (javno gostiteljsko ime vozlišča).
OPOMBA: Pomembno je, da se FQDN ujema z natančnim imenom gostitelja, ki ga bo odjemalec Kafka uporabil za povezavo z nadzornim centrom. sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private cd /var/ssl/private export FQDN=
keytool -keystore kafka.server.keystore.jks \ -alias server \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
Ustvarite zahtevo za podpisovanje potrdila in jo shranite v file imenovana cert-server-request:
keytool -keystore kafka.server.keystore.jks \ -alias server \ -certreq \ -file cert-server-request
Zdaj bi morali poslati file cert-server-request svojemu overitelju potrdil (CA), če uporabljate pravega. Nato bodo vrnili podpisano potrdilo. Spodaj bomo to imenovali cert-server-signed. Podpisovanje potrdila SSL s potrdilom CA, ki ste ga ustvarili sami
OPOMBA: Še enkrat, uporaba lastnega CA ni priporočljiva v produkcijskem sistemu. Podpišite potrdilo s CA s pomočjo file cert-server-request, ki ustvari podpisano potrdilo cert-server-signed. Glej spodaj; ca-geslo je geslo, nastavljeno pri ustvarjanju potrdila CA.
cd /var/ssl/private openssl x509 -req \ -CA ${CA_PATH}/ca-cert \ -CAkey ${CA_PATH}/ca-key \ -in cert-server-request \ -out cert-server-signed \ -days 999 -CAcreateserial \ -passin pass:{ca-geslo}
Uvoz podpisanega potrdila v shrambo ključev
Uvozite korensko potrdilo ca-cert v shrambo ključev:
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
Uvozite podpisano potrdilo, imenovano cert-server-signed:
keytool -keystore kafka.server.keystore.jks \ -alias server \ -import \ -file cert-server-podpisan
The file kafka.server.keystore.jks je treba kopirati na znano lokacijo na strežniku Nadzornega centra in nato navesti v /etc/kafka/server.properties.
Uporaba API-ja za pretakanje
Splošno
API za pretakanje pridobi testne in nadzorne podatke. Ene od teh kategorij ni mogoče izpostaviti.
API za pretakanje ne pridobiva podatkov iz testov, ki temeljijo na skriptih (tistih, ki so predstavljeni s pravokotnikom namesto kosom sestavljanke v GUI Control Center), kot so testi aktiviranja storitve Ethernet in testi preglednosti.
Imena tem Kafke
Imena tem Kafka za pretočni API so naslednja, kjer je %s kratko ime kontrolnika
Središčni račun (naveden ob ustvarjanju računa):
const (exporterName = “kafka”metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics”)
Exampo uporabi API-ja za pretakanje
BivšiampDatoteke, ki sledijo, se nahajajo v datoteki tarball paa-streaming-api-client-examples.tar.gz v arhivu nadzornega centra.
Prvič, obstaja osnovni example prikazuje, kako se metrike in njihovi metapodatki pretakajo ločeno in preprosto natisnejo prejeta sporočila na konzolo. Zaženete ga lahko na naslednji način: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Obstaja tudi naprednejši example, kjer so metrike in sporočila metapodatkov povezani. Za zagon uporabite ta ukaz:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME Za izvajanje ukazov Docker, kot so zgornji, morate uporabiti sudo. Po želji lahko sledite korakom po namestitvi Linuxa, da boste lahko izvajali ukaze Docker brez sudo.
Za podrobnosti pojdite na docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, logotip Juniper Networks, Juniper in Junos so registrirane blagovne znamke družbe Juniper Networks, Inc. v Združenih državah in drugih državah. Vse druge blagovne znamke, storitvene znamke, registrirane znamke ali registrirane storitvene znamke so last njihovih lastnikov. Juniper Networks ne prevzema nobene odgovornosti za morebitne netočnosti v tem dokumentu. Juniper Networks si pridržuje pravico, da to publikacijo brez predhodnega obvestila spremeni, spremeni, prenese ali kako drugače revidira. Avtorske pravice © 2022 Juniper Networks, Inc. Vse pravice pridržane.

Dokumenti / Viri
![]() |
Juniper Streaming API [pdf] Uporabniški priročnik API za pretakanje, API |




