Kadagio logotipas

„Juniper NETWORKS“ srautinio perdavimo API programinė įrangaJuniper-NETWORKS-Streaming-API-Programinė įranga-produktas

Informacija apie produktą

Specifikacijos

  • Produkto pavadinimas: Paragon Active Assurance
  • Versija: 4.1
  • Paskelbimo data: 2023-03-15

Įvadas:
Šiame vadove pateikiamos instrukcijos, kaip išgauti duomenis iš Paragon Active Assurance naudojant produkto srautinio perdavimo API. Srautinio perdavimo klientas ir API yra įtraukti į „Paragon Active Assurance“ diegimą, tačiau prieš naudojant API reikia tam tikros konfigūracijos. Konfigūravimo procesas aprašytas skyriuje „Srautinio perdavimo API konfigūravimas“.

Srautinio API konfigūravimas:
Šie veiksmai apibūdina srautinio perdavimo API konfigūravimo procesą:

Baigėsiview
„Kafka“ yra įvykių srautinio perdavimo platforma, skirta duomenų iš įvairių šaltinių fiksavimui ir saugojimui realiuoju laiku. Tai leidžia valdyti įvykių srautus paskirstytu, keičiamo dydžio, gedimams atspariu ir saugiu būdu. Šiame vadove pagrindinis dėmesys skiriamas „Kafka“ konfigūravimui, kad būtų galima naudoti „Paragon Active Assurance Control Center“ srautinio perdavimo API funkciją.

Terminija
Srautinio perdavimo API leidžia išoriniams klientams gauti metrikos informaciją iš „Kafka“. Testavimo agentų surinkta metrika atliekant bandymą arba stebėjimo užduotį siunčiama į srauto paslaugą. Po apdorojimo „Stream“ paslauga paskelbia šią metriką „Kafka“ kartu su papildomais metaduomenimis.

Kafkos temos
Srautinio perdavimo API naudoja Kafka temas metrikai ir metaduomenims tvarkyti ir saugoti. Kafka temas galima kurti ir valdyti pagal konkrečius reikalavimus.

Srautinio perdavimo API įgalinimas
Norėdami įjungti srautinio perdavimo API, atlikite šiuos veiksmus:

  1. Paleiskite šias komandas valdymo centro serveryje naudodami sudo:
KAFKA_METRICS_ENABLED = Tikrosios sudo ncc paslaugos įgalina laiko skalės metriką sudo ncc paslaugos pradeda laiko skalę b metrikos sudo ncc paslaugos paleidžiamos iš naujo

Patikrinkite, ar srautinio perdavimo API veikia valdymo centre:
Norėdami patikrinti, ar gaunate metriką tinkamomis Kafkos temomis:

  1. Įdiekite kafkacat įrankį naudodami šias komandas:
    sudo apt-get atnaujinimas
    sudo apt-get install kafkacat
  1. Pakeiskite „mano paskyra“ trumpuoju paskyros pavadinimu
    Valdymo centras URL:
    eksportuoti METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    eksportuoti METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Vykdykite šią komandą, kad view metrika:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Pastaba: aukščiau pateikta komanda parodys metriką.
  2. Į view metaduomenis, paleiskite šią komandą:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Pastaba: aukščiau pateikta komanda parodys metaduomenis, bet nebus atnaujinami taip dažnai.

Klientas Examples
Klientui, pvzampDaugiau informacijos rasite vartotojo vadovo 14 puslapyje.

DUK (dažniausiai užduodami klausimai)

  • Kl.: Kas yra Paragon Active Assurance?
    A: Paragon Active Assurance yra produktas, suteikiantis stebėjimo ir testavimo galimybes.
  • Kl.: Kas yra srautinio perdavimo API?
    A: Srautinio perdavimo API yra „Paragon Active Assurance“ funkcija, leidžianti išoriniams klientams gauti metrikos informaciją iš „Kafka“.
  • K: Kaip įjungti srautinio perdavimo API?
    A: Norėdami įjungti srautinio perdavimo API, atlikite veiksmus, nurodytus vartotojo vadovo skiltyje „Srautinio perdavimo API įjungimas“.
  • Kl.: Kaip patikrinti, ar srautinio perdavimo API veikia?
    A. Instrukcijų, kaip patikrinti srautinio perdavimo API funkcionalumą, rasite skyriuje „Patikrinimas, ar srautinio perdavimo API veikia valdymo centre“.

Į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.
pr
Ž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škokite 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-NETWORKS-Streaming-API-Software- (1)

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:

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:

streaming-api: tiesa

Norėdami įjungti ir paleisti srautinio perdavimo API paslaugas, paleiskite:

  • sudo ncc paslaugos įgalina timescaledb metriką
  • sudo ncc paslaugos pradeda 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 atnaujinimas
  • 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

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-NETWORKS-Streaming-API-Software- (2)

*) 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 sertifikatų institucijos (CA). Kiekvienas Kafka brokeris turi vieną.
Keystore: raktų saugykla file kuriame saugomas sertifikatas. Raktų saugykla file yra sertifikato privatusis raktas; todėl jį reikia saugiai laikyti.
Patikėjimo 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:

ĮSPĖJIMAS: Nepašalinti PLAINTEXT://localhost:9092; tai sulaužys Valdymo centro funkcionalumą, nes vidinės paslaugos negalės susisiekti.

  • # Adresai, kurių klausosi Kafkos brokeris.
  • 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
  • vartotojo vardas = "admin" \
  • slaptažodis = " “\
  • user_admin=” “\
  • user_client=“ “;
  • # PASTABA daugiau vartotojų galima pridėti naudojant user_ =
  • # Autorizacija, įjunkite ACL
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Vartotojas:admin

Prieigos valdymo sąrašų (ACL) nustatymas

ACL įjungimas „localhost“.

ĮSPĖJIMAS: pirmiausia turime nustatyti „localhost“ ACL, kad pats valdymo centras vis tiek galėtų pasiekti „Kafka“. Jei tai nebus padaryta, viskas suges.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:ANONIMUS –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.

### ACL įrašai anoniminiams vartotojams /usr/lib/kafka/bin/kafka-acls.sh \

PASTABA: Norėdami gauti tikslesnio valdymo, žr. oficialią Kafka dokumentaciją.

  • –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.public. – išteklių modelio tipo priešdėlis

Atlikę tai, turite iš naujo paleisti paslaugas:

### ACL įrašai išoriniams vartotojams /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc paslaugos paleidžiamos iš naujo

Norėdami patikrinti, ar klientas gali užmegzti saugų ryšį, išorinėje įrenginyje paleiskite šią komandą
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:

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

Išorinio kliento ryšio patvirtinimas

kafkacat

PASTABA: Šios instrukcijos turi būti vykdomos kliento kompiuteryje (ne valdymo centro serveryje).
PASTABA: Norėdami rodyti metrikos informaciją, į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 centre: būtent vartotojo_klientas 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šimų metrika {
  • google.protobuf.Timestamp kartųamp = 1;
  • žemėlapį reikšmės = 2;
  • int32 srauto_id = 3;
  • }
  • /**
  • * Metrikos reikšmė gali būti sveikas skaičius arba plūduriuojantis skaičius.
  • */
  • pranešimas MetricValue {
  • vienas iš tipo {
  • 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 srauto_id = 1;
  • eilutė srauto_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=4.1.0
  • 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

klientas-buvamples 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
Įjungus pagrindinį režimą, metrika ir jų metaduomenys srautu 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 –paskyra 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 yra
Tai įmanoma, nes kiekviename metrikos pranešime yra srauto ID laukas, nurodantis atitinkamą metaduomenų pranešimą.
Norėdami atlikti išplėstinį examples, paleisti:

  • 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 \
  • – paskyra ACCOUNT_SHORTNAME \
  • – konfigūracija –file client_config.properties

PASTABA: Viskas 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-client-examples 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 \
  • – paskyra ACCOUNT_SHORTNAME
  • – konfigūracija –file klientas.ypatybės

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 \
  • – paskyra ACCOUNT_SHORTNAME
  • – konfigūracija –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 saugojimui
  • eksportuoti CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Sukurkite 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 \
    • slapyvardis CARoot \
    • importo sertifikatas -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
  • eksportuoti FQDN= keytool -keystore kafka.server.keystore.jks \
  • – slapyvardis serveris \
  • – galiojimas 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 \
    • – slapyvardis 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, naudoti savo CA nerekomenduojama gamybinėje sistemoje.

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\
    • – cert-server-request \
    • – pasirašyta sertifikato serverio \
    • – 999 dienos – CAkuriamoji serija \
    • – slaptažodis: {ca-password}

Pasirašyto sertifikato importavimas į Keystore

Importuokite „ca-cert“ šakninį sertifikatą į raktų saugyklą:

  • keytool -keystore kafka.server.keystore.jks \
    • – slapyvardis ca-cert \
    • – importuoti \
    • – file ${CA_PATH}/ca-cert

Importuokite pasirašytą sertifikatą, vadinamą sertifikato serverio pasirašytu:

  • keytool -keystore kafka.server.keystore.jks \
    • – slapyvardis serveris \
    • – importuoti \
    • – 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

ŠIAME SKYRELYJE

  • Bendra | 20
  • Kafka temų pavadinimai | 21
  • ExampSrautinio perdavimo API naudojimas | 21

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 valdymo centro paskyros pavadinimas (nurodytas kuriant paskyrą):

  • const (
  • eksportuotojo vardas = "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ę. Galite jį paleisti taip:

  • sudo ./build.sh run-basic –kafka-brokers localhost:9092 –sąskaita 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, tokias kaip aukščiau, 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 © 2023 Juniper Networks, Inc. Visos teisės saugomos.

Dokumentai / Ištekliai

„Juniper NETWORKS“ srautinio perdavimo API programinė įranga [pdfVartotojo vadovas
Srautinio perdavimo API programinė įranga, API programinė įranga, programinė įranga

Nuorodos

Palikite komentarą

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