Juniper-logo

Juniper NETWORKS Streaming API softverJuniper-NETWORKS-Streaming-API-Softverski proizvod

Informacije o proizvodu

Specifikacije

  • Naziv proizvoda: Paragon Active Assurance
  • Verzija: 4.1
  • Datum objave: 2023-03-15

Uvod:
Ovaj vodič pruža upute o tome kako izdvojiti podatke iz Paragon Active Assurance koristeći API za streaming proizvoda. Streaming klijent i API uključeni su u instalaciju Paragon Active Assurance, ali je potrebna određena konfiguracija prije korištenja API-ja. Proces konfiguracije je pokriven u odjeljku “Konfiguriranje Streaming API-ja”.

Konfiguriranje Streaming API-ja:
Sljedeći koraci opisuju proces za konfiguriranje streaming API-ja:

Gotovoview
Kafka je platforma za striming događaja dizajnirana za snimanje i skladištenje podataka iz različitih izvora u realnom vremenu. Omogućava upravljanje tokovima događaja na distribuiran, skalabilan, otporan na greške i siguran način. Ovaj vodič se fokusira na konfiguraciju Kafke za korištenje funkcije Streaming API u Paragon Active Assurance Control Center-u.

Terminologija
Streaming API omogućava vanjskim klijentima da dohvate metričke informacije od Kafke. Metrike koje su prikupili agenti za testiranje tokom testa ili zadatka praćenja šalju se usluzi Stream. Nakon obrade, Stream servis objavljuje ove metrike na Kafki zajedno s dodatnim metapodacima.

Kafka Topics
Streaming API koristi Kafka teme za organiziranje i pohranjivanje metrike i metapodataka. Kafka teme se mogu kreirati i njima upravljati prema specifičnim zahtjevima.

Omogućavanje Streaming API-ja
Da biste omogućili Streaming API, slijedite ove korake:

  1. Pokrenite sljedeće komande na serveru Kontrolnog centra koristeći sudo:
KAFKA_METRICS_ENABLED = Prave sudo ncc usluge omogućavaju timescaledb metrike sudo ncc usluge počinju timescaledb metrike sudo ncc usluge restart

Provjera da li Streaming API radi u Kontrolnom centru:
Da biste potvrdili da primate metriku o ispravnim Kafka temama:

  1. Instalirajte kafkacat uslužni program sa sljedećim naredbama:
    sudo apt-get update
    sudo apt-get install kafkacat
  1. Zamijenite “myaccount” kratkim imenom vašeg računa u
    Kontrolni centar URL:
    izvoz METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    izvoz METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Pokrenite sljedeću naredbu za view metrika:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Napomena: Gornja komanda će prikazati metriku.
  2. To view metapodataka, pokrenite sljedeću naredbu:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Napomena: Gornja komanda će prikazati metapodatke, ali se neće ažurirati tako često.

Klijent Examples
Za klijenta nprampi dalje informacije, pogledajte stranicu 14 korisničkog priručnika.

FAQ (često postavljana pitanja)

  • P: Šta je Paragon Active Assurance?
    O: Paragon Active Assurance je proizvod koji pruža mogućnosti praćenja i testiranja.
  • P: Šta je Streaming API?
    O: Streaming API je funkcija u Paragon Active Assuranceu koja omogućava vanjskim klijentima da dohvate metričke informacije od Kafke.
  • P: Kako da omogućim Streaming API?
    O: Da biste omogućili Streaming API, slijedite korake navedene u odjeljku “Omogućavanje Streaming API-ja” korisničkog priručnika.
  • P: Kako mogu provjeriti da Streaming API radi?
    O: Pogledajte odjeljak “Provjera da API za strimovanje radi u kontrolnom centru” za upute o tome kako provjeriti funkcionalnost Streaming API-ja.

Uvod

Ovaj vodič opisuje kako izdvojiti podatke iz Paragon Active Assurance putem API-ja za streaming proizvoda.
API kao i klijent za striming uključeni su u instalaciju Paragon Active Assurance. Međutim, potrebno je malo konfiguracije prije nego što možete koristiti API. Ovo je pokriveno u poglavlju “Konfiguracija Streaming API-ja” na stranici 1.

Gotovoview
Ovo poglavlje opisuje kako konfigurirati Streaming API da omogući pretplatu na poruke metrike putem Kafke.
pr
U nastavku ćemo proći kroz:

  • Kako omogućiti Streaming API
  • Kako konfigurirati Kafku da sluša eksterne klijente
  • Kako konfigurirati Kafku da koristi ACL-ove i postaviti SSL enkripciju za navedene klijente

Šta je Kafka?
Kafka je platforma za striming događaja koja omogućava hvatanje podataka u realnom vremenu poslanih iz različitih izvora događaja (senzori, baze podataka, mobilni uređaji) u obliku tokova događaja, kao i trajno pohranjivanje ovih tokova događaja za kasnije pronalaženje i manipulaciju.
Sa Kafkom je moguće upravljati strimingom događaja od kraja do kraja na distribuiran, visoko skalabilan, elastičan, otporan na greške i siguran način.

NAPOMENA: Kafka se može konfigurirati na mnogo različitih načina i dizajnirana je za skalabilnost i redundantne sisteme. Ovaj dokument se fokusira samo na to kako ga konfigurirati da koristi funkciju Streaming API koja se nalazi u Paragon Active Assurance Control Center. Za naprednija podešavanja pogledajte zvaničnu Kafkinu dokumentaciju: kafka.apache.org/26/documentation.html.

Terminologija

  • Kafka: Platforma za striming događaja.
  • Kafka tema: Zbirka događaja.
  • Kafka pretplatnik/potrošač: Komponenta odgovorna za preuzimanje događaja pohranjenih u Kafka temi.
  • Kafka broker: Server sloja pohrane Kafka klastera.
  • SSL/TLS: SSL je siguran protokol razvijen za bezbedno slanje informacija preko Interneta. TLS je nasljednik SSL-a, predstavljenog 1999. godine.
  • SASL: Okvir koji pruža mehanizme za autentifikaciju korisnika, provjeru integriteta podataka i enkripciju.
  • Streaming API pretplatnik: Komponenta odgovorna za preuzimanje događaja pohranjenih u temama definiranim u Paragon Active Assuranceu i namijenjena za vanjski pristup.
  • Autoritet certifikata: Pouzdani entitet koji izdaje i opoziva certifikate javnog ključa.
  • Osnovni certifikat ovlaštenja za certifikate: Certifikat javnog ključa koji identifikuje Izdavač certifikata.

Kako radi Streaming API
Kao što je ranije spomenuto, Streaming API omogućava vanjskim klijentima da dohvate informacije o metrikama iz Kafke.

Sve metrike koje su prikupili agenti za testiranje tokom testa ili zadatka praćenja šalju se usluzi Stream. Nakon faze obrade, Stream servis objavljuje te metrike na Kafki zajedno s dodatnim metapodacima.

Juniper-NETWORKS-Streaming-API-Software- (1)

Kafka Topics
Kafka ima koncept tema na koje se objavljuju svi podaci. U Paragon Active Assuranceu postoji mnogo takvih Kafka tema dostupnih; međutim, samo dio njih je namijenjen za vanjski pristup.
Svaki račun Paragon Active Assurance u Kontrolnom centru ima dvije namjenske teme. U nastavku, ACCOUNT je skraćeni naziv računa:

  • paa.public.accounts.{ACCOUNT}.metrics
    • Sve metričke poruke za dati račun su objavljene u ovoj temi
    • Velike količine podataka
    • Visoka učestalost ažuriranja
  • paa.public.accounts.{ACCOUNT}.metadata
    • Sadrži metapodatke koji se odnose na metričke podatke, nprampneka test, monitor ili agent za testiranje povezan sa metrikom
    • Male količine podataka
    • Niska učestalost ažuriranja

Omogućavanje Streaming API-ja

NAPOMENA: Ova uputstva treba da se izvode na serveru Kontrolnog centra koristeći sudo.

Budući da Streaming API dodaje neke dodatne troškove Kontrolnom centru, on nije omogućen prema zadanim postavkama. Da bismo omogućili API, prvo moramo omogućiti objavljivanje metrike u Kafki u glavnoj konfiguraciji file:

KAFKA_METRICS_ENABLED = Tačno

UPOZORENJE: Omogućavanje ove funkcije može uticati na performanse Kontrolnog centra. Provjerite jeste li dimenzionirali svoju instancu u skladu s tim.

Zatim, da biste omogućili prosljeđivanje ovih metrika na ispravne Kafka teme:

streaming-api: istina

Da omogućite i pokrenete Streaming API usluge, pokrenite:

  • sudo ncc usluge omogućavaju metriku s vremenskim razmjerom
  • sudo ncc usluge start timescaledb metrike

Konačno, ponovo pokrenite servise:

  • sudo ncc usluge restart

Provjera da Streaming API radi u Kontrolnom centru

NAPOMENA: Ova uputstva treba da se izvode na serveru Kontrolnog centra.

Sada možete provjeriti da li primate metriku o ispravnim Kafka temama. Da biste to učinili, instalirajte kafkacat uslužni program:

  • sudo apt-get update
  • sudo apt-get install kafkacat

Ako imate test ili monitor koji radi u Kontrolnom centru, trebali biste biti u mogućnosti da koristite kafkacat za primanje metrike i metapodataka o ovim temama.
Zamijenite myaccount kratkim imenom vašeg računa (ovo je ono što vidite u vašem Kontrolnom centru URL):

  • izvoz METRICS_TOPIC=paa.public.accounts.myaccount.metrics
  • izvoz METADATA_TOPIC=paa.public.accounts.myaccount.metadata

Sada biste trebali vidjeti metriku pokretanjem ove naredbe:

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e

To view metapodataka, pokrenite sljedeću naredbu (imajte na umu da se ovo neće ažurirati tako često):

  • kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

NAPOMENA:
kafkacat”Klijent Examples ”na stranici 14

Ovo potvrđuje da imamo funkcionalni Streaming API iz Kontrolnog centra. Međutim, najvjerovatnije ste umjesto toga zainteresirani za pristup podacima s vanjskog klijenta. Sljedeći odjeljak opisuje kako otvoriti Kafku za vanjski pristup.

Otvaranje Kafke za vanjske domaćine

NAPOMENA: Ova uputstva treba da se izvode na serveru Kontrolnog centra.

Podrazumevano, Kafka koja radi na Kontrolnom centru je konfigurisana da sluša samo na lokalnom hostu za internu upotrebu. Moguće je otvoriti Kafku za vanjske klijente modifikacijom Kafka postavki.

Povezivanje sa Kafkom: upozorenja

OPREZ: Molimo vas da ovo pažljivo pročitate, jer je lako naići na probleme u vezi sa Kafkom ako niste razumjeli ove koncepte.

U postavci Kontrolnog centra opisanom u ovom dokumentu postoji samo jedan Kafka broker.
Međutim, imajte na umu da Kafka broker treba da radi kao dio Kafka klastera koji se može sastojati od mnogih Kafka brokera.
Kada se povezujete sa Kafka brokerom, početnu vezu postavlja Kafka klijent. Preko ove veze Kafka broker će zauzvrat vratiti listu „oglašenih slušalaca“, koja je lista jednog ili više Kafka brokera.
Kada primi ovu listu, Kafka klijent će prekinuti vezu, a zatim se ponovo povezati sa jednim od ovih oglašenih slušalaca. Oglašeni slušaoci moraju sadržavati imena hostova ili IP adrese koje su dostupne Kafka klijentu, inače se klijent neće uspjeti povezati.
Ako se koristi SSL enkripcija, koja uključuje SSL certifikat koji je vezan za određeno ime hosta, još je važnije da Kafka klijent dobije ispravnu adresu za povezivanje, jer u suprotnom veza može biti odbijena.
Više o slušaocima Kafke pročitajte ovdje: www.confluent.io/blog/kafka-listeners-explained

SSL/TLS enkripcija
Da bismo bili sigurni da je samo pouzdanim klijentima dozvoljen pristup Kafki i Streaming API-ju, moramo konfigurirati sljedeće:

  • Autentifikacija: Klijenti moraju dati korisničko ime i lozinku putem SSL/TLS sigurne veze između klijenta i Kafke.
  • Autorizacija: Ovjereni klijenti mogu obavljati zadatke regulirane ACL-ovima.

Ovdje je krajview:

Juniper-NETWORKS-Streaming-API-Software- (2)

*) Provjera autentičnosti korisničkog imena/lozinke izvedena na SSL šifriranom kanalu

Da biste u potpunosti razumjeli kako SSL/TLS enkripcija funkcionira za Kafku, pogledajte zvaničnu dokumentaciju: docs.confluent.io/platform/current/kafka/encryption.html

SSL/TLS certifikat je završenview

NAPOMENA: U ovom pododjeljku koristit ćemo sljedeću terminologiju:

Certifikat: SSL certifikat potpisan od strane Izdavača certifikata (CA). Svaki Kafka broker ima jednog.
Keystore: Skladište ključeva file koji pohranjuje certifikat. Skladište ključeva file sadrži privatni ključ certifikata; stoga ga treba bezbedno čuvati.
Truststore: A file koji sadrže pouzdane CA certifikate.

Za postavljanje provjere autentičnosti između vanjskog klijenta i Kafke koji radi u Kontrolnom centru, obje strane moraju imati definirano skladište ključeva s povezanim certifikatom potpisanim od strane Izdavača certifikata (CA) zajedno sa CA root certifikatom.
Pored ovoga, klijent mora imati i truststore sa CA root certifikatom.
CA root certifikat je zajednički za Kafka brokera i Kafka klijenta.

Kreiranje potrebnih certifikata
Ovo je pokriveno u “Dodatku” na stranici 17.

Kafka Broker SSL/TLS konfiguracija u Kontrolnom centru

NAPOMENA: Ova uputstva treba da se izvode na serveru Kontrolnog centra.

NAPOMENA: Prije nego nastavite, morate kreirati spremište ključeva koje sadrži SSL certifikat slijedeći upute u “Dodatku” na stranici 17. Putanja spomenuta u nastavku dolaze iz ovih uputa.
SSL spremište ključeva je a file pohranjen na disku sa file ekstenzija .jks.

Nakon što su vam potrebni certifikati kreirani i za Kafka brokera i za Kafka klijenta dostupne, možete nastaviti tako što ćete konfigurirati Kafka brokera koji radi u Kontrolnom centru. Morate znati sljedeće:

  • : Javno ime hosta Kontrolnog centra; ovo mora biti rješivo i dostupno Kafka klijentima.
  • : Lozinka za skladište ključeva data prilikom kreiranja SSL sertifikata.
  • i : Ovo su lozinke koje želite postaviti za administratora i klijenta. Imajte na umu da možete dodati još korisnika, kao što je navedeno u prample.

Uredite ili dodajte (sa sudo pristupom) svojstva ispod u /etc/kafka/server.properties, ubacujući gornje varijable kao što je prikazano:

UPOZORENJE: Nemojte uklanjati PLAINTEXT://localhost:9092; ovo će prekinuti funkcionalnost Kontrolnog centra jer interni servisi neće moći komunicirati.

  • # Adrese koje Kafka broker sluša.
  • listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Ovo su hostovi koji se oglašavaju nazad na bilo koji klijent koji se povezuje.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### CUSTOM CONFIG
  • # SSL KONFIGURACIJA
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=none
  • ssl.protocol=TLSv1.2
  • # SASL konfiguracija
  • sasl.enabled.mechanisms=PLAIN
  • korisničko ime=”admin” \
  • lozinka=” ” \
  • user_admin=” ” \
  • user_client=” ”;
  • # NAPOMENA više korisnika se može dodati sa user_ =
  • # Autorizacija, uključite ACL-ove
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Korisnik:admin

Postavljanje lista kontrole pristupa (ACL)

Uključivanje ACL-ova na lokalnom hostu

UPOZORENJE: Prvo moramo postaviti ACL-ove za localhost, tako da sam Kontrolni centar i dalje može pristupiti Kafki. Ako se to ne uradi, stvari će se pokvariti.

  • –autorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –dodaj –dopusti-principal Korisnik:ANONIMNO –dopusti-host 127.0.0.1 –klaster
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –autorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Korisnik:ANONYMOUS –allow-host 127.0.0.1 –tema '*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –autorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Korisnik:ANONYMOUS –allow-host 127.0.0.1 –grupa '*'

Zatim moramo omogućiti ACL-ove za vanjski pristup samo za čitanje, tako da vanjski korisnici mogu čitati paa.public.* teme.

### ACL unosi za anonimne korisnike /usr/lib/kafka/bin/kafka-acls.sh \

NAPOMENA: Za detaljniju kontrolu, pogledajte zvaničnu Kafka dokumentaciju.

  • –autorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –dodaj –dopusti-glavni korisnik:* –operacija čita –operacija opiše \ –grupa 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –autorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operacija čitanje –operacija opisati \ –topic paa.public. –resource-pattern-type prefiks

Kada završite s ovim, morate ponovo pokrenuti usluge:

### ACL unosi za vanjske korisnike /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc usluge restart

Da biste potvrdili da klijent može uspostaviti sigurnu vezu, pokrenite sljedeću naredbu na vanjskom uređaju
klijent računar (ne na serveru Kontrolnog centra). Ispod, PUBLIC_HOSTNAME je ime hosta Kontrolnog centra:

  • openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep “Sigurno ponovno pregovaranje je podržano”

U izlazu naredbe trebali biste vidjeti certifikat servera kao i sljedeće:

  • Podržan IS sigurnog ponovnog pregovaranja

Da biste bili sigurni da je internim uslugama odobren pristup Kafka serveru, provjerite sljedeći dnevnikfiles:

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

Provjera veze s vanjskim klijentom

kafkacat

NAPOMENA: Ova uputstva treba da se izvode na klijentskom računaru (ne na serveru Kontrolnog centra).
NAPOMENA: Za prikaz metričkih informacija, uvjerite se da barem jedan monitor radi u Kontrolnom centru.

Za provjeru i validaciju povezanosti kao eksternog klijenta, moguće je koristiti kafkacat uslužni program koji je instaliran u odjeljku “Provjera da li Streaming API radi u Kontrolnom centru” na stranici 4.
Izvršite sljedeće korake:

NAPOMENA: Ispod, CLIENT_USER je korisnik prethodno naveden u file /etc/kafka/server.properties u Kontrolnom centru: naime, user_client i lozinka postavljena tamo.
CA root certifikat koji se koristi za potpisivanje SSL certifikata na strani poslužitelja mora biti prisutan na klijentu.

Kreirajte a file client.properties sa sljedećim sadržajem:

  • security.protocol=SASL_SSL
  • ssl.ca.location={PATH_TO_CA_CERT}
  • sasl.mechanisms=PLAIN
  • sasl.username={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

gdje

  • {PATH_TO_CA_CERT} je lokacija CA root certifikata koji koristi Kafka broker
  • {CLIENT_USER} i {CLIENT_PASSWORD} su korisnički akreditivi za klijenta.

Pokrenite sljedeću naredbu da vidite poruku koju konzumira kafkacat:

  • izvoz KAFKA_FQDN=
  • izvoz METRICS_TOPIC=paa.public.accounts. .metrics
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

gdje je {METRICS_TOPIC} naziv Kafkine teme sa prefiksom “paa.public.”.

NAPOMENA: Starije verzije kafkacata ne pružaju opciju -F za čitanje postavki klijenta iz a file. Ako koristite takvu verziju, morate dati iste postavke iz komandne linije kao što je prikazano ispod.

kafkacat -b ${KAFKA_FQDN}:9093 \

  • X security.protocol=SASL_SSL \
  • X ssl.ca.location={PATH_TO_CA_CERT} \
  • X sasl.mechanisms=OBIČAN \
  • X sasl.username={CLIENT_USER} \
  • X sasl.password={CLIENT_PASSWORD} \
  • t ${METRICS_TOPIC} -C -e

Da biste otklonili greške u povezivanju, možete koristiti opciju -d:

Otklanjanje grešaka u komunikaciji potrošača
kafkacat -d potrošač -b ${KAFKA_FQDN}:9093 -F svojstva klijenta -t ${METRICS_TOPIC} -C -e
# Otklanjanje grešaka u komunikaciji brokera
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Obavezno pogledajte dokumentaciju za Kafka klijent biblioteku koja se koristi, jer se svojstva mogu razlikovati od onih u client.properties.

Format poruke
Poruke koje se koriste za teme metrike i metapodataka su serijalizovane u formatu Protocol buffers (protobuf) (vidi developers.google.com/protocol-buffers). Šeme za ove poruke se pridržavaju sljedećeg formata:

Metrics Protobuf Schema

  • sintaksa = “proto3”;
  • import “google/protobuf/timestamp.proto”;
  • paket paa.streamingapi;
  • opcija go_package = “.;paa_streamingapi”;
  • poruka metrika {
  • google.protobuf.Timestamp timestamp = 1;
  • mapa vrijednosti = 2;
  • int32 stream_id = 3;
  • }
  • /**
  • * Metrička vrijednost može biti cijeli broj ili float.
  • */
  • poruka MetricValue {
  • jedan od tipa {
  • int64 int_val = 1;
  • float float_val = 2;
  • }
  • }

Metadata Protobuf Schema

  • sintaksa = “proto3”;
  • paket paa.streamingapi;
  • opcija go_package = “.;paa_streamingapi”;
  • metapodaci poruke {
  • int32 stream_id = 1;
  • string stream_name = 2;
  • mapa tags = 13;
  • }

Klijent Examples

NAPOMENA: Ove naredbe su namijenjene za izvođenje na vanjskom klijentu, nprampna vašem laptopu ili sličnom, a ne u Kontrolnom centru.
NAPOMENA: Da bi se prikazale metričke informacije, uvjerite se da barem jedan monitor radi u Kontrolnom centru.

Tarball Control Center uključuje arhivu paa-streaming-api-client-examples.tar.gz (client-examples), koji sadrži example Python skripta koja pokazuje kako se koristi Streaming API.

Instalacija i konfiguracija klijenta npramples
Naći ćete bivšeg klijentaampdatoteke u fascikli Paragon Active Assurance Control Center:

  • izvoz CC_VERSION=4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-streaming-api-client-examples*

Za instaliranje client-exampdatoteke na vašem vanjskom klijentskom računaru, postupite na sljedeći način:

  • # Kreirajte direktorij za izdvajanje sadržaja klijenta npramples tarball
  • mkdir paa-streaming-api-client-examples
  • # Izvucite sadržaj klijenta npramples tarball
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
  • # Idite na novokreirani direktorij
  • cd paa-streaming-api-client-examples

klijent-bivamples zahtijeva Docker za pokretanje. Upute za preuzimanje i instalaciju za Docker možete pronaći na https://docs.docker.com/engine/install.

Korištenje Client Examples
Klijent-bivšiamples alati mogu da rade u osnovnom ili naprednom režimu za pravljenje examppredmeta različite složenosti. U oba slučaja, također je moguće pokrenuti examples sa konfiguracijom file koji sadrži dodatna svojstva za dalje prilagođavanje klijentske strane.

Osnovni način rada
U osnovnom načinu rada, metrika i njihovi metapodaci se prenose odvojeno. U tu svrhu, klijent sluša svaku Kafka temu koja je dostupna za vanjski pristup i jednostavno ispisuje primljene poruke na konzolu.
Za početak izvršavanja osnovnog examples, pokreni:

  • build.sh run-basic –kafka-brokers localhost:9092 –račun ACCOUNT_SHORTNAME

gdje je ACCOUNT_SHORTNAME kratki naziv računa s kojeg želite dobiti metriku.
Za prekid izvršenja exampda, pritisnite Ctrl + C. (Može doći do malog kašnjenja prije nego što se izvršenje zaustavi jer klijent čeka na događaj isteka.)

Napredni način rada

NAPOMENA: metrika se prikazuje samo za HTTP monitore koji rade u Kontrolnom centru.

Izvršenje u naprednom modu pokazuje korelaciju između metrike i poruka metapodataka. Ovo je
moguće zahvaljujući prisustvu u svakoj metričkoj poruci polja ID toka koje se odnosi na odgovarajuću poruku metapodataka.
Da biste izvršili napredni examples, pokreni:

  • build.sh run-advanced –kafka-brokers localhost:9092 –račun ACCOUNT_SHORTNAME

gdje je ACCOUNT_SHORTNAME kratki naziv računa s kojeg želite dobiti metriku.
Za prekid izvršenja exampda, pritisnite Ctrl + C. (Može doći do malog kašnjenja prije nego što se izvršenje zaustavi jer klijent čeka na događaj isteka.)

Dodatne postavke
Moguće je pokrenuti exampdatoteke sa dodatnom konfiguracijom klijenta pomoću –config-file opcija koju slijedi a file ime koje sadrži svojstva u obliku ključ=vrijednost.

  • build.sh run-advanced \
  • –kafka-brokers localhost:9092 \
  • –račun ACCOUNT_SHORTNAME \
  • –config-file client_config.properties

NAPOMENA: Sve files referencirani u gornjoj naredbi moraju se nalaziti u trenutnom direktoriju i upućivati ​​koristeći samo relativne staze. Ovo se odnosi i na –config-file argument i na sve unose u konfiguraciji file koji opisuju file lokacijama.

Provjera autentičnosti vanjskog klijenta
Za provjeru autentičnosti klijenta izvan kontrolnog centra koristeći client-examples, izvršite sljedeće korake:

Iz fascikle Paragon Active Assurance Control Center, prebacite se na paa-streaming-api-client-examples folder:

cd paa-streaming-api-client-examples

  • Kopirajte CA root certifikat ca-cert u trenutni direktorij.
  • Kreirajte client.properties file sa sljedećim sadržajem:

security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

gdje su {CLIENT_USER} i {CLIENT_PASSWORD} korisnički akreditivi za klijenta.

Pokrenite osnovni examples:

  • izvoz KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –račun ACCOUNT_SHORTNAME
  • –config-file client.properties

gdje je ACCOUNT_SHORTNAME kratki naziv računa s kojeg želite dobiti metriku.

Pokreni napredni examples:

  • izvoz KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –račun ACCOUNT_SHORTNAME
  • –config-file client.properties

Dodatak

U ovom dodatku opisujemo kako kreirati:

  • skladište ključeva file za pohranjivanje SSL certifikata Kafka brokera
  • truststore file za pohranjivanje korijenskog certifikata Izdavača certifikata (CA) koji se koristi za potpisivanje Kafka brokerskog certifikata.

Kreiranje Kafka brokerskog certifikata
Kreiranje certifikata korištenjem pravog tijela za izdavanje certifikata (preporučeno)
Preporučuje se da dobijete pravi SSL certifikat od pouzdanog CA.
Kada se odlučite za CA, kopirajte njihov CA root certifikat ca-cert file na svoj vlastiti put kao što je prikazano u nastavku:

  • izvoz CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • cp ca-cert ${CA_PATH}

Kreirajte vlastito tijelo za izdavanje certifikata

NAPOMENA: Uobičajeno bi trebalo da imate svoj sertifikat potpisan od strane pravog autoriteta za izdavanje sertifikata; vidi prethodni pododjeljak. Ono što slijedi je samo bivšiample.

Ovdje kreiramo vlastiti korijenski certifikat Izdavača certifikata (CA). file važi 999 dana (ne preporučuje se u proizvodnji):

  • # Kreirajte direktorij za pohranjivanje CA
  • izvoz CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Generirajte CA certifikat
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

Kreiranje Client Truststore
Sada možete kreirati truststore file koji sadrži ca-cert generiran iznad. Ovo file će biti potreban Kafka klijentu koji će pristupiti Streaming API-ju:

  • keytool -keystore kafka.client.truststore.jks \
    • alias CARoot \
    • importcert -file ${CA_PATH}/ca-cert

Sada kada je CA certifikat u skladištu povjerenja, klijent će vjerovati svakom certifikatu potpisanom s njim.
Trebalo bi da kopirate file kafka.client.truststore.jks na poznatu lokaciju na vašem klijentskom računaru i pokažite na nju u postavkama.

Kreiranje Keystore-a za Kafka brokera
Da biste generirali Kafka broker SSL certifikat, a zatim i spremište ključeva kafka.server.keystore.jks, postupite na sljedeći način:

Generisanje SSL sertifikata
Ispod, 999 je broj dana valjanosti skladišta ključeva, a FQDN je potpuno kvalificirano ime domene klijenta (javno ime hosta čvora).

NAPOMENA: Važno je da FQDN odgovara tačnom imenu hosta koje će Kafka klijent koristiti za povezivanje sa Kontrolnim centrom.

  • sudo mkdir -p /var/ssl/private
  • sudo chown -R $USER: /var/ssl/private
  • cd /var/ssl/private
  • izvoz FQDN= keytool -keystore kafka.server.keystore.jks \
  • – alias server \
  • – valjanost 999 \
  • – genkey -keyalg RSA -ext SAN=dns:${FQDN}

Kreirajte zahtjev za potpisivanje certifikata i pohranite ga u file pod nazivom cert-server-request:

  • keytool -keystore kafka.server.keystore.jks \
    • – alias server \
    • – certreq \
    • – file cert-server-request

Sada biste trebali poslati file cert-server-request vašem certifikacijskom tijelu (CA) ako koristite pravi. Zatim će vratiti potpisani certifikat. U nastavku ćemo ovo nazvati cert-server-potpisanim.

Potpisivanje SSL certifikata korištenjem samostalno kreiranog CA certifikata

NAPOMENA: Opet, korištenje vlastitog CA se ne preporučuje u proizvodnom sistemu.

Potpišite certifikat koristeći CA pomoću file cert-server-request, koji proizvodi potpisani certifikat cert-server-signed. Vidi ispod; ca-password je lozinka postavljena prilikom kreiranja CA certifikata.

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-ključ \
    • – u zahtjevu cert-server \
    • – potpisan cert-server \
    • – dana 999 -CAcreateserial \
    • – passin pass:{ca-password}

Uvoz potpisanog certifikata u Keystore

Uvezite ca-cert root certifikat u spremište ključeva:

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

Uvezite potpisani certifikat koji se naziva cert-server-signed:

  • keytool -keystore kafka.server.keystore.jks \
    • – alias server \
    • – uvoz \
    • – file cert-server-potpisan

The file kafka.server.keystore.jks bi trebalo kopirati na poznatu lokaciju na serveru Kontrolnog centra, a zatim navesti u /etc/kafka/server.properties.

Korištenje Streaming API-ja

U OVOM Odjeljku

  • General | 20
  • Kafka Nazivi tema | 21
  • Examples of Using the Streaming API | 21

Generale
API za striming dohvaća i testne i nadzorne podatke. Nije moguće izdvojiti jednu od ovih kategorija.
API za striming ne preuzima podatke iz testova zasnovanih na skripti (onih predstavljenih pravougaonikom umjesto slagalicom u GUI-u Kontrolnog centra), kao što su testovi aktivacije Ethernet usluge i testovi transparentnosti.

Kafkina imena tema
Nazivi Kafka tema za API za streaming su sljedeći, gdje je %s kratko ime naloga Kontrolnog centra (naznačeno prilikom kreiranja naloga):

  • const (
  • exporterName = “kafka”
  • metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )

ExampLes of Korištenje Streaming API-ja
Bivšiampdatoteke koje slijede nalaze se u tarball-u paa-streaming-api-client-examples.tar.gz sadržan u tarball-u Kontrolnog centra.
Prvo, postoji osnovni exampprikazuje kako se metrika i njihovi metapodaci emituju odvojeno i jednostavno štampaju primljene poruke na konzoli. Možete ga pokrenuti na sljedeći način:

  • sudo ./build.sh run-basic –kafka-brokers localhost:9092 –račun ACCOUNT_SHORTNAME

Postoji i napredniji example gde su metrika i poruke metapodataka u korelaciji. Koristite ovu naredbu da ga pokrenete:

  • sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –račun ACCOUNT_SHORTNAME

Morate koristiti sudo za pokretanje Docker komandi kao što su one iznad. Opciono, možete pratiti korake nakon instalacije Linuxa da biste mogli pokrenuti Docker komande bez sudoa. Za detalje idite na docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, Juniper Networks logo, Juniper i Junos su registrovani zaštitni znakovi Juniper Networks, Inc. u Sjedinjenim Državama i drugim zemljama. Svi ostali zaštitni znaci, uslužni znaci, registrovani znaci ili registrovani uslužni znaci vlasništvo su njihovih odgovarajućih vlasnika. Juniper Networks ne preuzima nikakvu odgovornost za bilo kakve netačnosti u ovom dokumentu. Juniper Networks zadržava pravo da promijeni, modificira, prenese ili na drugi način revidira ovu publikaciju bez prethodne najave. Autorska prava © 2023 Juniper Networks, Inc. Sva prava zadržana.

Dokumenti / Resursi

Juniper NETWORKS Streaming API softver [pdf] Korisnički priručnik
Streaming API softver, API softver, softver

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *