Kadagio logotipasInžinerinis paprastumas
Srautinio perdavimo API vadovas

Įvadas

Šiame vadove aprašoma, kaip iš Paragon Active Assurance išgauti duomenis per produkto srautinio perdavimo API.
API ir srautinio perdavimo klientas yra įtraukti į „Paragon Active Assurance“ diegimą.
Tačiau prieš naudojant API reikia šiek tiek konfigūruoti. Tai aprašyta skyriuje „Srautinio perdavimo API konfigūravimas“ 1 puslapyje.

Baigėsiview

Šiame skyriuje aprašoma, kaip sukonfigūruoti srautinio perdavimo API, kad būtų galima prenumeruoti metrikos pranešimus per Kafka.
Žemiau apžvelgsime:

  • Kaip įjungti srautinio perdavimo API
  • Kaip sukonfigūruoti „Kafka“ klausytis išorinių klientų
  • Kaip sukonfigūruoti Kafka naudoti ACL ir nustatyti SSL šifravimą minėtiems klientams

Kas yra Kafka?

„Kafka“ yra įvykių srautinio perdavimo platforma, leidžianti realiuoju laiku užfiksuoti duomenis, siunčiamus iš įvairių įvykių šaltinių (daviklių, duomenų bazių, mobiliųjų įrenginių) įvykių srautų pavidalu, taip pat patvariai saugoti šiuos įvykių srautus, kad vėliau būtų galima juos atkurti ir manipuliuoti.
Su Kafka galima valdyti įvykių srautinį perdavimą nuo galo iki galo paskirstytu, labai keičiamo dydžio, elastingu, atspariu gedimams ir saugiu būdu.
PASTABA: „Kafka“ galima konfigūruoti įvairiais būdais ir buvo sukurta mastelio keitimui ir perteklinėms sistemoms. Šiame dokumente dėmesys sutelkiamas tik į tai, kaip jį sukonfigūruoti, kad būtų galima naudoti srautinio perdavimo API funkciją, esančią Paragon Active Assurance Control Center. Išplėstesnių sąrankų ieškome oficialioje Kafka dokumentacijoje: kafka.apache.org/26/documentation.html.

Terminija

  • Kafka: įvykių srautinio perdavimo platforma.
  • Kafkos tema: Renginių kolekcija.
  • „Kafka“ prenumeratorius / vartotojas: komponentas, atsakingas už įvykių, saugomų „Kafka“ temoje, paiešką.
  • Kafka brokeris: Kafka klasterio saugyklos sluoksnio serveris.
  • SSL/TLS: SSL yra saugus protokolas, sukurtas saugiam informacijos siuntimui internetu. TLS yra SSL įpėdinis, pristatytas 1999 m.
  • SASL: sistema, teikianti vartotojo autentifikavimo, duomenų vientisumo tikrinimo ir šifravimo mechanizmus.
  • Srautinio perdavimo API prenumeratorius: komponentas, atsakingas už įvykių, saugomų Paragon Active Assurance apibrėžtose temose ir skirtų išorinei prieigai, nuskaitymą.
  • Sertifikatų institucija: patikimas subjektas, išduodantis ir atšaukiantis viešojo rakto sertifikatus.
  • Sertifikato institucijos šakninis sertifikatas: viešojo rakto sertifikatas, identifikuojantis sertifikavimo įstaigą.

Kaip veikia srautinio perdavimo API

Kaip minėta anksčiau, srautinio perdavimo API leidžia išoriniams klientams gauti informaciją apie metriką iš Kafka.
Visa metrika, kurią testavimo agentai surinko atliekant bandymą ar stebėjimo užduotį, siunčiama į srauto paslaugą.
Pasibaigus apdorojimo etapui, „Stream“ paslauga paskelbia šią metriką „Kafka“ kartu su papildomais metaduomenimis.

Juniper Streaming API

Kafkos temos

Kafka turi temų, kurioms skelbiami visi duomenys, koncepciją. Paragon Active Assurance yra daug tokių Kafkos temų; tačiau tik dalis jų yra skirta išorinei prieigai.
Kiekviena Paragon Active Assurance paskyra valdymo centre turi dvi specialias temas. Toliau ACCOUNT yra trumpasis paskyros pavadinimas:

  • paa.public.accounts.{ACCOUNT}.metrics
  • Šioje temoje skelbiami visi nurodytos paskyros metrikos pranešimai
  • Dideli duomenų kiekiai
  • Didelis atnaujinimo dažnis
  • paa.public.accounts.{ACCOUNT}.metadata
  • Yra metaduomenų, susijusių su metrikos duomenimis, pvzampsu metrika susietą testą, monitorių arba testavimo agentą
  • Maži duomenų kiekiai
  • Žemas atnaujinimo dažnis

Srautinio perdavimo API įgalinimas

PASTABA: Šios instrukcijos turi būti vykdomos valdymo centro serveryje naudojant sudo.
Kadangi srautinio perdavimo API valdymo centrui prideda šiek tiek papildomų išlaidų, ji nėra įjungta pagal numatytuosius nustatymus. Norėdami įjungti API, pirmiausia turime įgalinti metrikos paskelbimą Kafka pagrindinėje konfigūracijoje file:

  • /etc/netrounds/netrounds.conf
    KAFKA_METRICS_ENABLED = Tiesa
    ĮSPĖJIMAS: Šios funkcijos įjungimas gali paveikti Valdymo centro našumą. Įsitikinkite, kad atitinkamai nustatėte egzemplioriaus matmenis.
    Toliau, norėdami įgalinti šios metrikos persiuntimą į tinkamas Kafkos temas:
  • /etc/netrounds/metrics.yaml
    streaming-api: tiesa

Norėdami įjungti ir paleisti srautinio perdavimo API paslaugas, paleiskite:
sudo ncc paslaugos įgalinti timescaledb metriką sudo ncc paslaugos paleisti timescaledb metriką
Galiausiai iš naujo paleiskite paslaugas:
sudo ncc paslaugos paleidžiamos iš naujo

Valdymo centre patikrinimas, ar srautinio perdavimo API veikia

PASTABA: Šios instrukcijos turi būti vykdomos valdymo centro serveryje.
Dabar galite patikrinti, ar gaunate metriką tinkamomis Kafkos temomis. Norėdami tai padaryti, įdiekite kafkacat paslaugų programą:
sudo apt-get naujinimas sudo apt-get install kafkacat
Jei valdymo centre veikia bandymas arba monitorius, turėtumėte turėti galimybę naudoti kafkacat, kad gautumėte metriką ir metaduomenis šiomis temomis.
Pakeiskite mano paskyrą trumpuoju savo paskyros pavadinimu (tai matote valdymo centre URL):
eksportuoti METRICS_TOPIC=paa.public.accounts.myaccount.metrics
eksportuoti METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Dabar turėtumėte pamatyti metriką vykdydami šią komandą:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Į view metaduomenis, paleiskite šią komandą (atminkite, kad ji nebus atnaujinama taip dažnai):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
PASTABA:
kafkacat“Klientas Examples“ 14 puslapyje
Tai patvirtina, kad valdymo centre turime veikiančią srautinio perdavimo API. Tačiau greičiausiai jus domina prieiga prie duomenų iš išorinio kliento. Kitame skyriuje aprašoma, kaip atidaryti Kafka išorinei prieigai.

„Kafka“ atidarymas išoriniams šeimininkams

PASTABA: Šios instrukcijos turi būti vykdomos valdymo centro serveryje.
Pagal numatytuosius nustatymus „Kafka“, veikianti valdymo centre, yra sukonfigūruota klausytis tik „localhost“ vidiniam naudojimui.
Pakeitus Kafka nustatymus, galima atidaryti Kafka išoriniams klientams.
Prisijungimas prie Kafka: įspėjimai
THE OUTDOOR PLUS TOP serijos Fire Pit jungčių rinkiniai ir įdėklai – 1 piktograma ATSARGIAI:
Atidžiai perskaitykite tai, nes nesunku susidurti su ryšio su Kafka problemomis, jei šių sąvokų nesupratote.
Šiame dokumente aprašytoje valdymo centro sąrankoje yra tik vienas „Kafka“ tarpininkas.
Tačiau atminkite, kad „Kafka“ brokeris turi veikti kaip „Kafka“ klasterio, kurį gali sudaryti daug „Kafka“ brokerių, dalis.
Kai prisijungiate prie Kafka brokerio, pradinį ryšį nustato Kafka klientas. Šiuo ryšiu Kafka brokeris savo ruožtu pateiks „reklamuojamų klausytojų“ sąrašą, kuris yra vieno ar kelių Kafka brokerių sąrašas.
Gavęs šį sąrašą, Kafka klientas atsijungs, tada vėl prisijungs prie vieno iš šių reklamuojamų klausytojų. Reklamuojamuose klausytojuose turi būti Kafka klientui prieinami prieglobos pavadinimai arba IP adresai, kitaip klientui nepavyks prisijungti.
Jei naudojamas SSL šifravimas, apimantis SSL sertifikatą, susietą su konkrečiu pagrindinio kompiuterio pavadinimu, dar svarbiau, kad Kafka klientas gautų teisingą adresą, prie kurio galėtų prisijungti, nes kitu atveju ryšys gali būti atmestas.
Daugiau apie Kafkos klausytojus skaitykite čia: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS šifravimas
Norėdami įsitikinti, kad tik patikimi klientai gali pasiekti Kafka ir Streaming API, turime sukonfigūruoti:

  • Autentifikavimas: klientai turi pateikti vartotojo vardą ir slaptažodį per saugų SSL/TLS ryšį tarp kliento ir „Kafka“.
  • Autorizacija: Autentifikuoti klientai gali atlikti ACL reguliuojamas užduotis.
    Čia yra pabaigaview:

Juniper Streaming API – pav

*) Vartotojo vardo / slaptažodžio autentifikavimas atliktas SSL šifruotame kanale
Norėdami visiškai suprasti, kaip Kafka veikia SSL/TLS šifravimas, žr. oficialią dokumentaciją: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS sertifikatas pasibaigęsview
PASTABA: Šiame poskyryje vartosime šią terminiją:
Sertifikatas: SSL sertifikatas, pasirašytas sertifikavimo institucijos (CA). Kiekvienas Kafka brokeris turi vieną.
Raktų saugykla: Raktų saugykla file kuriame saugomas sertifikatas. Raktų saugykla file yra sertifikato privatusis raktas; todėl jį reikia saugiai laikyti.
Patikima parduotuvė: A file kuriame yra patikimi CA sertifikatai.
Norint nustatyti autentifikavimą tarp išorinio kliento ir „Kafka“, veikiančio valdymo centre, abi pusės turi turėti raktų saugyklą, apibrėžtą su susijusiu sertifikatu, pasirašytu sertifikavimo institucijos (CA), kartu su CA šakniniu sertifikatu.
Be to, klientas taip pat turi turėti patikimą saugyklą su CA šakniniu sertifikatu.
CA šakninis sertifikatas yra bendras „Kafka“ brokeriui ir „Kafka“ klientui.
Reikalingų sertifikatų sukūrimas
Tai aprašyta „Priede“ 17 puslapyje.
Kafka Broker SSL/TLS konfigūracija valdymo centre
PASTABA: Šios instrukcijos turi būti vykdomos valdymo centro serveryje.
PASTABA: Prieš tęsdami, turite sukurti raktų saugyklą, kurioje yra SSL sertifikatas, vadovaudamiesi instrukcijomis, pateiktomis „Priedas“ 17 puslapyje. Toliau nurodyti keliai yra iš šių instrukcijų.
SSL raktų saugykla yra a file saugomi diske kartu su file plėtinys .jks.
Kai turėsite reikiamus sertifikatus, sukurtus ir Kafka brokeriui, ir Kafka klientui, galite tęsti konfigūruodami Kafka brokerį, veikiantį Valdymo centre. Turite žinoti šiuos dalykus:

  • : Valdymo centro viešasis kompiuterio pavadinimas; tai turi būti išspręsta ir pasiekiama Kafka klientams.
  • : raktų saugyklos slaptažodis, pateiktas kuriant SSL sertifikatą.
  • ir : Tai yra slaptažodžiai, kuriuos norite nustatyti atitinkamai administratoriui ir kliento vartotojui.
    Atminkite, kad galite pridėti daugiau vartotojų, kaip nurodyta pvzample.
    Redaguokite arba pridėkite (su sudo prieiga) toliau pateiktas ypatybes /etc/kafka/server.properties, įterpdami aukščiau nurodytus kintamuosius, kaip parodyta:

Elektros šoko piktograma ĮSPĖJIMAS: Nepašalinti PLAINTEXT://localhost:9092 ; tai sulaužys Valdymo centro funkcionalumą, nes vidinės paslaugos negalės susisiekti.
…# Adresai, kurių Kafkos brokeris klauso.
klausytojai=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Tai yra prieglobos, reklamuojamos bet kuriam prisijungiančiam klientui.
reklamuota.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### TINKINTA KONFIG
# SSL KONFIGŪRACIJA
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=nėra
ssl.protocol=TLSv1.2
# SASL konfigūracija sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo dule reikalingas \ username=”admin” \ password=” ”\ user_admin=” ”\ user_client=” “; # PASTABA daugiau vartotojų galima pridėti naudojant user_ =
# Autorizacija, įjunkite ACL authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin
Prieigos valdymo sąrašų (ACL) nustatymas
ACL įjungimas „localhost“.
Elektros šoko piktograma ĮSPĖJIMAS: Pirmiausia turime nustatyti „localhost“ ACL, kad pats valdymo centras vis tiek galėtų pasiekti „Kafka“. Jei tai nebus padaryta, viskas suges.
######### ACL įrašai anoniminiams vartotojams
/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 User:ANONYMOUS –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 User:ANONYMOUS –allow-host 127.0.0.1 –group '*'
Tada turime įjungti ACL išorinei tik skaitymo prieigai, kad išoriniams vartotojams būtų leista skaityti paa.public.* temas.
PASTABA: Norėdami gauti tikslesnio valdymo, žr. oficialią Kafka dokumentaciją.
######### ACL įrašai išoriniams vartotojams
/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 description \–group '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 description \
–tema paa.vieša. – išteklių modelio tipo priešdėlis
Atlikę tai, turite iš naujo paleisti paslaugas:
sudo ncc paslaugos paleidžiamos iš naujo
Norėdami patikrinti, ar klientas gali užmegzti saugų ryšį, paleiskite šią komandą išoriniame kliento kompiuteryje (ne valdymo centro serveryje). Žemiau PUBLIC_HOSTNAME yra valdymo centro prieglobos pavadinimas:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep „Palaikomas saugus pakartotinis derėjimasis“
Komandos išvestyje turėtumėte pamatyti serverio sertifikatą ir šiuos dalykus:
Palaikomas saugus pakartotinis derybas
Norėdami įsitikinti, kad vidinėms paslaugoms buvo suteikta prieiga prie Kafka serverio, patikrinkite šį žurnaląfiles:

Išorinio kliento ryšio patvirtinimas

kafkacat
PASTABA: Šios instrukcijos turi būti vykdomos kliento kompiuteryje (ne valdymo centro serveryje).
PASTABA: Kad būtų rodoma metrikos informacija, įsitikinkite, kad valdymo centre veikia bent vienas monitorius.
Norėdami patikrinti ir patvirtinti ryšį kaip išorinį klientą, galima naudoti kafkacat paslaugų programą, kuri buvo įdiegta skyriuje „Tikrinimas, kad srautinio perdavimo API veikia valdymo centre“ 4 puslapyje.
Atlikite šiuos veiksmus:
PASTABA: Toliau CLIENT_USER yra anksčiau nurodytas vartotojas file /etc/kafka/server.properties
Valdymo centras: būtent user_client ir ten nustatytas slaptažodis.
CA šakninis sertifikatas, naudojamas pasirašyti serverio pusės SSL sertifikatą, turi būti kliente.

  • Sukurti a file client.properties su tokiu turiniu:
    security.protocol=SASL_SSL
    ssl.ca.location={PATH_TO_CA_CERT}
    sasl.mechanisms=PLAIN
    sasl.username={KLIENTO_VARTOTOJAS}
    sasl.password={CLIENT_PASSWORD} kur
    • {PATH_TO_CA_CERT} yra CA šakninio sertifikato, kurį naudoja Kafka brokeris, vieta
    • {CLIENT_USER} ir {CLIENT_PASSWORD} yra kliento vartotojo kredencialai.
    • Paleiskite šią komandą, kad pamatytumėte kafkacat sunaudotą pranešimą:
    eksportuoti KAFKA_FQDN=
    eksportuoti METRICS_TOPIC=paa.public.accounts. .metrikai
    kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
    kur {METRICS_TOPIC} yra Kafkos temos pavadinimas su priešdėliu „paa.public.“.

PASTABA: Senesnėse kafkacat versijose nėra parinkties -F nuskaityti kliento nustatymus iš a file. Jei naudojate tokią versiją, komandinėje eilutėje turite pateikti tuos pačius nustatymus, kaip parodyta toliau.
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
Norėdami derinti ryšį, galite naudoti parinktį -d:
Derinti vartotojų ryšius
kafkacat -d customer -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Derinti tarpininko ryšius
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Būtinai peržiūrėkite naudojamos Kafka kliento bibliotekos dokumentaciją, nes ypatybės gali skirtis nuo ypatybių client.properties.

Pranešimo formatas

Metrikų ir metaduomenų temoms naudojami pranešimai yra serijiniai protokolo buferių (protobuf) formatu (žr. developers.google.com/protocol-buffers). Šių pranešimų schemos atitinka tokį formatą:
Metrikos Protobuf schema
sintaksė = "proto3"; importuoti „google/protobuf/timestamp.proto“; paketas paa.streamingapi; option go_package = ".;paa_streamingapi"; pranešimas Metrika { google.protobuf.Timestamp kartųamp = 1; žemėlapį reikšmės = 2; int32 matavimo_id = 3; } /** * Metrikos reikšmė gali būti sveikas skaičius arba slankusis skaičius. */
pranešimas MetricValue { oneof type { int64 int_val = 1; float float_val = 2; } }
Metaduomenų Protobuf schema
sintaksė = "proto3"; paketas paa.streamingapi; option go_package = ".;paa_streamingapi"; pranešimas Metaduomenys { int32 matavimo_id = 1; eilutės matavimo_pavadinimas = 2; žemėlapį tags = 13; }

Klientas Examples

PASTABA: Šios komandos skirtos paleisti išoriniame kliente, pvzampne valdymo centre.
PASTABA: Kad būtų rodoma metrikos informacija, įsitikinkite, kad valdymo centre veikia bent vienas monitorius.
Valdymo centro rinkinyje yra archyvas paa-streaming-api-client-examples.tar.gz (klientas, pvzamples), kuriame yra buvample Python scenarijus, rodantis, kaip naudoti srautinio perdavimo API.
„Client Ex“ diegimas ir konfigūravimasamples
Rasite klientą-buvamples aplanke Paragon Active Assurance Control Center:
eksportuoti CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examples*
Norėdami įdiegti klientą-exampišoriniame kliento kompiuteryje, atlikite šiuos veiksmus:
# Sukurkite katalogą kliento, pvz., turinio ištraukimuiamples tarball mkdir paa-streaming-api-client-examples
# Išskleiskite kliento, pvz., turinįamples tarball tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Eikite į naujai sukurtą katalogą cd paa-streaming-api-client-examples client-examples reikalauja Docker paleisti. „Docker“ atsisiuntimus ir diegimo instrukcijas galite rasti adresu https://docs.docker.com/engine/install.
Naudojant Client Examples
Klientas-buvamples įrankiai gali veikti pagrindiniu arba išplėstiniu režimu, kad būtų galima kurti exampmažiau įvairaus sudėtingumo. Abiem atvejais taip pat galima paleisti buvamples su konfigūracija file su papildomomis savybėmis tolesniam kliento pusės pritaikymui.
Pagrindinis režimas Pagrindiniame režime metrika ir jų metaduomenys perduodami atskirai. Šiuo tikslu klientas išklauso kiekvieną Kafka temą, prieinamą išorinei prieigai, ir tiesiog atspausdina gautus pranešimus į pultą.
Norėdami pradėti vykdyti pagrindinį examples, paleisti: ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
kur ACCOUNT_SHORTNAME yra trumpas paskyros, iš kurios norite gauti metriką, pavadinimas.
Nutraukti egzekuciją buvample, paspauskite Ctrl + C. (Gali šiek tiek užtrukti, kol vykdymas sustos, nes klientas laukia skirtojo laiko įvykio.)
Išplėstinis režimas
PASTABA:
Metrika rodoma tik HTTP monitoriams, veikiantiems Valdymo centre.
Vykdymas išplėstiniu režimu rodo koreliaciją tarp metrikos ir metaduomenų pranešimų. Tai įmanoma dėl to, kad kiekviename metrikos pranešime yra srauto ID laukas, nurodantis atitinkamą metaduomenų pranešimą.
Norėdami atlikti išplėstinį examples, paleiskite: ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME, kur ACCOUNT_SHORTNAME yra trumpas paskyros, iš kurios norite gauti metriką, pavadinimas.
Nutraukti egzekuciją buvample, paspauskite Ctrl + C. (Gali šiek tiek užtrukti, kol vykdymas sustos, nes klientas laukia skirtojo laiko įvykio.)
Papildomi nustatymai
Galima paleisti buvampsu papildoma kliento konfigūracija naudojant –config-file parinktis, po kurios seka a file pavadinimas, kuriame yra ypatybių formos raktas=reikšmė.
./build.sh paleisti-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file client_config.properties
PASTABA: Visi files, nurodytos aukščiau pateiktoje komandoje, turi būti dabartiniame kataloge ir nurodyti naudojant tik santykinius kelius. Tai taikoma ir konfigūracijaifile argumentas ir visi konfigūracijos įrašai file kurie apibūdina file vietos.
Išorinio kliento autentifikavimo patvirtinimas
Norėdami patvirtinti kliento autentifikavimą ne iš valdymo centro, naudodami klientą-examples, atlikite šiuos veiksmus:

  • Paragon Active Assurance Control Center aplanke perjunkite į paa-streaming-api-clientexamples aplankas:
    cd paa-streaming-api-client-examples
  • Nukopijuokite CA šakninį sertifikatą ca-cert į dabartinį katalogą.
  • Sukurkite klientą.ypatybės file su tokiu turiniu:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=PLAIN
    sasl.username={KLIENTO_VARTOTOJAS}
    sasl.password={CLIENT_PASSWORD}
    kur {CLIENT_USER} ir {CLIENT_PASSWORD} yra kliento vartotojo kredencialai.
  • Paleiskite pagrindinį, pvzampmažiau:
    eksportuoti KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –sąskaita ACCOUNT_SHORTNAME
    – konfigūracija –file client.properties, kur ACCOUNT_SHORTNAME yra trumpas paskyros, iš kurios norite gauti metriką, pavadinimas.
  • Vykdykite išplėstinį buvampmažiau:
    eksportuoti KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –sąskaita ACCOUNT_SHORTNAME–config-file klientas.ypatybės

Priedas

Šiame priede aprašome, kaip sukurti:

  • raktų saugykla file už Kafka brokerio SSL sertifikato saugojimą
  • patikos saugykla file Sertifikavimo institucijos (CA) šakninio sertifikato, naudojamo Kafka brokerio sertifikatui pasirašyti, saugojimui.

Kafka brokerio sertifikato sukūrimas
Sertifikato sukūrimas naudojant tikrą sertifikavimo įstaigą (rekomenduojama)
Rekomenduojama gauti tikrą SSL sertifikatą iš patikimos CA.
Kai nuspręsite dėl CA, nukopijuokite jų CA šakninį sertifikatą ca-cert file į savo kelią, kaip parodyta žemiau:
eksportuoti CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
Sukurkite savo sertifikavimo įstaigą
PASTABA: Paprastai sertifikatą turėtų pasirašyti tikroji sertifikavimo institucija; žr. ankstesnį poskyrį. Tai, kas toliau, yra tik buvęsample.
Čia sukuriame savo sertifikatų institucijos (CA) šakninį sertifikatą file galioja 999 dienas (gamyboje nerekomenduojama):
# Sukurkite katalogą CA eksporto CA_PATH=~/my-ca mkdir saugojimui ${CA_PATH}
# Sugeneruokite CA sertifikatą openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Kliento patikimos parduotuvės kūrimas
Dabar galite sukurti patikimą parduotuvę file kuriame yra aukščiau sugeneruotas ca-cert. Tai file bus reikalingas Kafka klientui, kuris pasieks srautinio perdavimo API:
keytool -keystore kafka.client.truststore.jks \ -alias CARoot \ -importcert -file ${CA_PATH}/ca-cert
Dabar, kai CA sertifikatas yra patikimumo saugykloje, klientas pasitikės bet kuriuo su juo pasirašytu sertifikatu.
Turėtumėte nukopijuoti file kafka.client.truststore.jks į žinomą vietą kliento kompiuteryje ir nustatymuose nurodykite ją.
„Kafka“ brokerio raktų saugyklos kūrimas
Norėdami sugeneruoti Kafka brokerio SSL sertifikatą ir raktų saugyklą kafka.server.keystore.jks, atlikite šiuos veiksmus:
SSL sertifikato generavimas
Žemiau 999 yra raktų saugyklos galiojimo dienų skaičius, o FQDN yra visiškai kvalifikuotas kliento domeno vardas (viešasis mazgo pagrindinio kompiuterio pavadinimas).
PASTABA: Svarbu, kad FQDN tiksliai atitiktų pagrindinio kompiuterio pavadinimą, kurį Kafka klientas naudos prisijungdamas prie valdymo centro. 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 serveris \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
Sukurkite sertifikato pasirašymo užklausą ir išsaugokite ją file pavadintas sertifikato serverio užklausa:
keytool -keystore kafka.server.keystore.jks \ -alias serveris \ -certreq \ -file sertifikavimo serverio užklausa
Dabar turėtumėte išsiųsti file sertifikato serverio užklausa savo sertifikavimo institucijai (CA), jei naudojate tikrą. Tada jie grąžins pasirašytą sertifikatą. Toliau tai vadinsime sertifikato serveriu pasirašytu. SSL sertifikato pasirašymas naudojant pačių sukurtą CA sertifikatą
PASTABA: Vėlgi, gamybinėje sistemoje nerekomenduojama naudoti savo CA. Pasirašykite sertifikatą naudodami CA naudodami file cert-server-request, kuri sukuria pasirašytą sertifikatą Cert-server-signed. Žiūrėkite žemiau; ca-password yra slaptažodis, nustatytas kuriant CA sertifikatą.
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 \ -dienos 999 -CAcreateserial \ -passin pass:{ca-password}
Pasirašyto sertifikato importavimas į Keystore
Importuokite „ca-cert“ šakninį sertifikatą į raktų saugyklą:
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
Importuokite pasirašytą sertifikatą, vadinamą sertifikato serverio pasirašytu:
keytool -keystore kafka.server.keystore.jks \ -alias serveris \ -import \ -file pasirašytas sertifikato serveris
The file kafka.server.keystore.jks turėtų būti nukopijuotas į žinomą valdymo centro serverio vietą ir tada nurodytas /etc/kafka/server.properties.
Naudojant srautinio perdavimo API

Generolas

Srautinio perdavimo API gauna ir testavimo, ir stebėjimo duomenis. Neįmanoma išskirti vienos iš šių kategorijų.
Srautinio perdavimo API negauna duomenų iš scenarijais pagrįstų testų (tų, kurie valdymo centro GUI pavaizduoti stačiakampiu, o ne dėlionės dalimi), pvz., Ethernet paslaugos aktyvinimo ir skaidrumo testų.
Kafka temų pavadinimai
Srautinio perdavimo API Kafka temų pavadinimai yra tokie, kur %s yra trumpas valdiklio pavadinimas
Centro paskyra (nurodyta kuriant paskyrą):
const (exporterName = "kafka"metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics")
ExampSrautinio perdavimo API naudojimas
Buvęsamples, kurios yra toliau, yra tarball paa-streaming-api-client-examples.tar.gz, esančiame valdymo centro rinkinyje.
Pirma, yra pagrindinis buvample demonstruoti, kaip metrika ir jų metaduomenys srautu perduodami atskirai ir tiesiog atspausdinkite gautus pranešimus į konsolę. Jį galite paleisti taip: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Yra ir labiau pažengęs buvęsample, kur metrikos ir metaduomenų pranešimai yra koreliuojami. Norėdami ją paleisti, naudokite šią komandą:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME Norėdami paleisti Docker komandas, pvz., aukščiau pateiktas, turite naudoti sudo. Pasirinktinai galite atlikti „Linux“ veiksmus po įdiegimo, kad galėtumėte paleisti „Docker“ komandas be sudo.
Norėdami gauti daugiau informacijos, eikite į docs.docker.com/engine/install/linux-postinstall.
„Juniper Networks“, „Juniper Networks“ logotipas, „Juniper“ ir „Junos“ yra registruotieji „Juniper Networks, Inc.“ prekių ženklai JAV ir kitose šalyse. Visi kiti prekių ženklai, paslaugų ženklai, registruotieji ženklai arba registruotieji paslaugų ženklai yra atitinkamų jų savininkų nuosavybė. Juniper Networks neprisiima atsakomybės už bet kokius šio dokumento netikslumus. Juniper Networks pasilieka teisę keisti, modifikuoti, perduoti ar kitaip peržiūrėti šį leidinį be įspėjimo. Autoriaus teisės © 2022 Juniper Networks, Inc. Visos teisės saugomos.

Kadagio logotipas

Dokumentai / Ištekliai

Juniper Streaming API [pdfVartotojo vadovas
Srautinio perdavimo API, API

Nuorodos

Palikite komentarą

Jūsų el. pašto adresas nebus skelbiamas. Privalomi laukai pažymėti *