Juniper-logo

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

Informacije o proizvodu

Tehnički podaci

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

Uvod:
Ovaj vodič pruža upute o tome kako izvući podatke iz Paragon Active Assurance pomoću API-ja za strujanje proizvoda. Klijent za strujanje i API uključeni su u instalaciju Paragon Active Assurance, ali potrebna je određena konfiguracija prije korištenja API-ja. Proces konfiguracije opisan je u odjeljku "Konfiguriranje API-ja za strujanje".

Konfiguriranje API-ja za strujanje:
Sljedeći koraci opisuju proces konfiguracije API-ja za strujanje:

Nadview
Kafka je platforma za strujanje događaja dizajnirana za snimanje i pohranu podataka iz različitih izvora u stvarnom vremenu. Omogućuje upravljanje tokovima događaja na distribuiran, skalabilan, tolerantan na pogreške i siguran način. Ovaj se vodič usredotočuje na konfiguriranje Kafke za korištenje značajke Streaming API u Paragon Active Assurance Control Center.

Terminologija
Streaming API omogućuje vanjskim klijentima dohvaćanje metričkih informacija iz Kafke. Mjerni podaci koje prikupe agenti za testiranje tijekom zadatka testiranja ili praćenja šalju se usluzi Stream. Nakon obrade, usluga Stream objavljuje te metrike na Kafki zajedno s dodatnim metapodacima.

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

Omogućivanje API-ja za strujanje
Da biste omogućili Streaming API, slijedite ove korake:

  1. Pokrenite sljedeće naredbe na poslužitelju Kontrolnog centra koristeći sudo:
KAFKA_METRICS_ENABLED = Prave sudo ncc usluge omogućuju timescaledb metriku sudo ncc usluge pokreću timescaledb metriku ponovno pokreću sudo ncc usluge

Provjera radi li API za strujanje u kontrolnom centru:
Da biste provjerili primate li metriku o ispravnim Kafkinim temama:

  1. Instalirajte uslužni program kafkacat sa sljedećim naredbama:
    sudo apt-get ažuriranje
    sudo apt-get instaliraj kafkacat
  1. Zamijenite "myaccount" kratkim nazivom svog 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
    Bilješka: Gornja naredba će prikazati metriku.
  2. Do view metapodataka, pokrenite sljedeću naredbu:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Bilješka: Gornja naredba prikazat će metapodatke, ali se neće ažurirati tako često.

klijent pramples
Za klijenta nprampi daljnje informacije potražite na stranici 14 korisničkog priručnika.

FAQ (često postavljana pitanja)

  • P: Što je Paragon Active Assurance?
    O: Paragon Active Assurance je proizvod koji pruža mogućnosti praćenja i testiranja.
  • P: Što je Streaming API?
    O: Streaming API značajka je u Paragon Active Assuranceu koja omogućuje vanjskim klijentima dohvaćanje metričkih informacija iz Kafke.
  • P: Kako mogu omogućiti Streaming API?
    O: Da biste omogućili API za strujanje, slijedite korake navedene u odjeljku "Omogućivanje API-ja za strujanje" korisničkog priručnika.
  • P: Kako mogu provjeriti radi li Streaming API?
    O: Pogledajte odjeljak "Provjera radi li API za strujanje u kontrolnom centru" za upute o tome kako provjeriti funkcionalnost API-ja za strujanje.

Uvod

Ovaj vodič opisuje kako izvući podatke iz Paragon Active Assurance putem API-ja za strujanje proizvoda.
API kao i streaming klijent 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 “Konfiguriranje API-ja za strujanje” na stranici 1.

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

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

Što je Kafka?
Kafka je platforma za strujanje događaja koja omogućuje snimanje podataka poslanih iz različitih izvora događaja (senzora, baza podataka, mobilnih uređaja) u stvarnom vremenu u obliku tokova događaja, kao i trajno pohranjivanje tih tokova događaja za kasnije dohvaćanje i manipulaciju.
S Kafkom je moguće upravljati protokom događaja od kraja do kraja na distribuiran, visoko skalabilan, elastičan, tolerantan na pogreške i siguran način.

BILJEŠKA: Kafka se može konfigurirati na mnogo različitih načina i dizajniran je za skalabilnost i redundantne sustave. Ovaj se dokument usredotočuje samo na to kako ga konfigurirati da koristi značajku Streaming API koja se nalazi u Paragon Active Assurance Control Center. Za naprednije postavke upućujemo na službenu Kafka dokumentaciju: kafka.apache.org/26/documentation.html.

Terminologija

  • Kafka: Platforma za strujanje događaja.
  • Kafkina tema: Zbirka događaja.
  • Kafka pretplatnik/potrošač: Komponenta odgovorna za dohvaćanje događaja pohranjenih u Kafka temi.
  • Kafka broker: poslužitelj sloja pohrane Kafka klastera.
  • SSL/TLS: SSL je siguran protokol razvijen za sigurno slanje informacija preko Interneta. TLS je nasljednik SSL-a, predstavljenog 1999.
  • SASL: Okvir koji pruža mehanizme za autentifikaciju korisnika, provjeru integriteta podataka i enkripciju.
  • Streaming API pretplatnik: Komponenta odgovorna za dohvaćanje događaja pohranjenih u temama definiranim u Paragon Active Assurance i namijenjena vanjskom pristupu.
  • Izdavač certifikata: Povjerljivi subjekt koji izdaje i opoziva certifikate javnih ključeva.
  • Korijenski certifikat Izdavača certifikata: Certifikat javnog ključa koji identificira Izdavača potvrda.

Kako radi Streaming API
Kao što je prethodno spomenuto, API za strujanje omogućuje vanjskim klijentima dohvaćanje informacija o metrikama iz Kafke.

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

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

Kafkine teme
Kafka ima koncept tema kojima se objavljuju svi podaci. U Paragon Active Assuranceu dostupno je mnogo takvih Kafka tema; međutim, samo je podskup njih namijenjen za vanjski pristup.
Svaki Paragon Active Assurance račun u Control Centeru ima dvije posvećene teme. U nastavku, ACCOUNT je kratki naziv računa:

  • paa.javni.računi.{ACCOUNT}.metrics
    • Sve mjerne poruke za navedeni račun objavljene su 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, npramptest, monitor ili test agent povezan s metrikom
    • Male količine podataka
    • Niska učestalost ažuriranja

Omogućivanje API-ja za strujanje

BILJEŠKA: Ove upute treba pokrenuti na poslužitelju Kontrolnog centra koristeći sudo.

Budući da Streaming API dodaje nešto dodatnog opterećenja Kontrolnom centru, 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 = Istina

UPOZORENJE: Omogućavanje ove značajke može utjecati na performanse kontrolnog centra. Provjerite jeste li u skladu s tim dimenzionirali svoju instancu.

Zatim, kako biste omogućili prosljeđivanje ovih metrika ispravnim Kafka temama:

streaming-api: istina

Da biste omogućili i pokrenuli Streaming API usluge, pokrenite:

  • usluge sudo ncc omogućuju timescaledb metriku
  • usluge sudo ncc pokreću timescaledb metrike

Na kraju ponovno pokrenite usluge:

  • ponovno pokretanje usluga sudo ncc

Provjera radi li API za strujanje u kontrolnom centru

BILJEŠKA: Ove upute treba pokrenuti na poslužitelju Kontrolnog centra.

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

  • sudo apt-get ažuriranje
  • sudo apt-get instaliraj kafkacat

Ako imate test ili monitor koji se izvodi u Kontrolnom centru, trebali biste moći koristiti kafkacat za primanje metrike i metapodataka o ovim temama.
Zamijenite myaccount kratkim nazivom svog računa (ovo vidite u svom 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

Do 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

BILJEŠKA:
kafkacat”Klijent pramples” na stranici 14

Ovo potvrđuje da imamo radni API za strujanje iz Kontrolnog centra. Međutim, najvjerojatnije vas umjesto toga zanima pristup podacima s vanjskog klijenta. Sljedeći odjeljak opisuje kako otvoriti Kafku za vanjski pristup.

Otvaranje Kafke za vanjske hostove

BILJEŠKA: Ove upute treba pokrenuti na poslužitelju Kontrolnog centra.

Prema zadanim postavkama, Kafka koja radi u Kontrolnom centru konfigurirana je samo za slušanje na lokalnom hostu za internu upotrebu. Moguće je otvoriti Kafku za vanjske klijente izmjenom postavki Kafke.

Povezivanje s Kafkom: upozorenja

OPREZ: Pažljivo pročitajte ovo jer je lako naići na probleme s vezom s Kafkom ako niste razumjeli ove koncepte.

U postavci kontrolnog centra opisanoj u ovom dokumentu, postoji samo jedan Kafka broker.
Međutim, imajte na umu da je Kafka broker namijenjen za rad kao dio Kafka klastera koji se može sastojati od mnogo Kafka brokera.
Prilikom povezivanja s Kafka brokerom, početnu vezu postavlja Kafka klijent. Preko ove veze Kafka broker će zauzvrat vratiti popis "oglašenih slušatelja", koji je popis jednog ili više Kafka brokera.
Kada primi ovaj popis, Kafka klijent će prekinuti vezu, a zatim se ponovno spojiti na jednog od ovih oglašenih slušatelja. Oglašeni slušatelji moraju sadržavati imena hostova ili IP adrese koje su dostupne Kafka klijentu ili se klijent neće uspjeti povezati.
Ako se koristi SSL enkripcija, uključujući SSL certifikat koji je vezan uz određeni naziv glavnog računala, još je važnije da Kafka klijent dobije ispravnu adresu na koju se povezuje, jer u protivnom veza može biti odbijena.
Više o slušateljima Kafke pročitajte ovdje: www.confluent.io/blog/kafka-listeners-explained

SSL/TLS šifriranje
Kako bismo bili sigurni da samo pouzdani klijenti smiju pristupiti Kafki i API-ju za strujanje, moramo konfigurirati sljedeće:

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

Ovdje je krajview:

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

*) Provjera autentičnosti korisničkog imena/lozinke izvedena na SSL-kriptiranom kanalu

Da biste u potpunosti razumjeli kako SSL/TLS enkripcija radi za Kafku, pogledajte službenu dokumentaciju: docs.confluent.io/platform/current/kafka/encryption.html

SSL/TLS certifikat gotovview

BILJEŠKA: U ovom pododjeljku koristit ćemo sljedeću terminologiju:

Potvrda: SSL certifikat potpisan od strane Izdavača certifikata (CA). Svaki Kafka broker ima jedan.
Spremište ključeva: Spremište ključeva file koji pohranjuje certifikat. Spremište ključeva file sadrži privatni ključ certifikata; stoga ga treba čuvati na sigurnom.
Truststore: A file koji sadrži pouzdane CA certifikate.

Da biste postavili autentifikaciju između vanjskog klijenta i Kafke koja radi u Kontrolnom centru, obje strane moraju imati definirano spremište ključeva s povezanim certifikatom potpisanim od strane Tijela za izdavanje certifikata (CA) zajedno s CA korijenskim certifikatom.
Osim toga, klijent također mora imati truststore s CA root certifikatom.
CA korijenski certifikat zajednički je Kafka brokeru i Kafka klijentu.

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

Kafka Broker SSL/TLS konfiguracija u Kontrolnom centru

BILJEŠKA: Ove upute treba pokrenuti na poslužitelju Kontrolnog centra.

BILJEŠKA: Prije nastavka, morate kreirati spremište ključeva koje sadrži SSL certifikat slijedeći upute u “Dodatku” na stranici 17. Dolje spomenuti putovi dolaze iz ovih uputa.
SSL spremište ključeva je a file pohranjen na disku s file nastavak .jks.

Nakon što imate dostupne potrebne certifikate stvorene i za Kafka brokera i za Kafka klijenta, možete nastaviti konfiguriranjem Kafka brokera koji radi u Kontrolnom centru. Morate znati sljedeće:

  • : javno ime glavnog računala Kontrolnog centra; ovo mora biti rješivo i dostupno Kafkinim klijentima.
  • : Lozinka spremišta ključeva navedena prilikom kreiranja SSL certifikata.
  • i : Ovo su lozinke koje želite postaviti za administratora i korisnika klijenta. Imajte na umu da možete dodati više korisnika, kao što je naznačeno u prample.

Uredite ili dodajte (sa sudo pristupom) svojstva ispod u /etc/kafka/server.properties, umetanjem gornjih varijabli kao što je prikazano:

UPOZORENJE: Nemojte uklanjati PLAINTEXT://localhost:9092; ovo će prekinuti funkcionalnost kontrolnog centra jer interne usluge neće moći komunicirati.

  • # Adrese koje Kafka broker sluša.
  • slušatelji=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Ovo su hostovi koji se oglašavaju natrag svakom klijentu koji se povezuje.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### PRILAGOĐENA KONFIG
  • # 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=ništa
  • ssl.protocol=TLSv1.2
  • # SASL konfiguracija
  • sasl.enabled.mechanisms=OBIČAN
  • korisničko ime=”admin” \
  • lozinka=” ” \
  • user_admin=” ” \
  • korisnik_klijent=” ”;
  • # NAPOMENA više korisnika može se dodati uz user_ =
  • # Autorizacija, uključite ACL-ove
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Korisnik:admin

Postavljanje popisa kontrole pristupa (ACL-ovi)

Uključivanje ACL-ova na lokalnom hostu

UPOZORENJE: Prvo moramo postaviti ACL-ove za localhost, tako da sam Control Center još uvijek može pristupiti Kafki. Ako se to ne učini, stvari će se slomiti.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –dodaj –allow-principal Korisnik:ANONYMOUS –allow-host 127.0.0.1 –klaster
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Korisnik: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 Korisnik:ANONYMOUS –allow-host 127.0.0.1 –group '*'

Zatim moramo omogućiti ACL-ove za vanjski pristup samo za čitanje, tako da vanjskim korisnicima bude dopušteno čitanje paa.public.* tema.

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

BILJEŠKA: Za detaljniju kontrolu pogledajte službenu Kafka dokumentaciju.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operation read –operation describe \ –group 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal Korisnik:* –operation read –operation describe \ –topic paa.public. –resource-pattern-type prefiks

Kada to završite, morate ponovno pokrenuti usluge:

### ACLs unosi za vanjske korisnike /usr/lib/kafka/bin/kafka-acls.sh \
  • ponovno pokretanje usluga sudo ncc

Kako biste provjerili može li klijent uspostaviti sigurnu vezu, pokrenite sljedeću naredbu na vanjskom
klijentsko računalo (ne na poslužitelju Kontrolnog centra). Dolje, PUBLIC_HOSTNAME je naziv 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 poslužitelja kao i sljedeće:

  • Sigurno ponovno pregovaranje JE podržano

Kako biste bili sigurni da je internim uslugama odobren pristup Kafka poslužitelju, provjerite sljedeći dnevnikfiles:

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

Provjera povezanosti vanjskog klijenta

kafkacat

BILJEŠKA: Ove upute treba izvoditi na klijentskom računalu (ne na poslužitelju Kontrolnog centra).
BILJEŠKA: Za prikaz informacija o metrici, provjerite radi li barem jedan monitor u Kontrolnom centru.

Za provjeru i provjeru povezivosti kao vanjskog klijenta moguće je koristiti uslužni program kafkacat koji je instaliran u odjeljku “Provjera radi li Streaming API u Control Centeru” na stranici 4.
Izvršite sljedeće korake:

BILJEŠKA: Dolje, CLIENT_USER je korisnik prethodno naveden u file /etc/kafka/server.properties u Kontrolnom centru: naime, korisnički_klijent i tamo postavljena lozinka.
CA korijenski certifikat koji se koristi za potpisivanje SSL certifikata na strani poslužitelja mora biti prisutan na klijentu.

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

  • sigurnost.protokol=SASL_SSL
  • ssl.ca.location={PATH_TO_CA_CERT}
  • sasl.mechanisms=OBIČAN
  • sasl.username={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

gdje

  • {PATH_TO_CA_CERT} je lokacija CA korijenskog certifikata koji koristi Kafka broker
  • {CLIENT_USER} i {CLIENT_PASSWORD} korisničke su vjerodajnice za klijenta.

Izvedite sljedeću naredbu da vidite poruku koju koristi kafkacat:

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

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

BILJEŠKA: Starije verzije kafkacata ne pružaju opciju -F za čitanje postavki klijenta iz a file. Ako koristite takvu verziju, morate dati iste postavke iz naredbenog retka kao što je prikazano u nastavku.

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 otklanjanje pogrešaka povezivanja, možete koristiti opciju -d:

Otklonite pogreške u komunikaciji s potrošačima
kafkacat -d potrošač -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Komunikacija brokera za otklanjanje pogrešaka
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Obavezno pogledajte dokumentaciju za Kafka klijentsku 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 serijalizirane su u formatu međuspremnika protokola (protobuf) (pogledajte developers.google.com/protocol-buffers). Sheme za ove poruke pridržavaju se sljedećeg formata:

Metrička protobuf shema

  • sintaksa = “proto3”;
  • uvoz “google/protobuf/timestamp.proto";
  • paket paa.streamingapi;
  • opcija go_package = “.;paa_streamingapi”;
  • metrika poruke {
  • google.protobuf.Timestamp vrijemeamp = 1;
  • karta 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;
  • }
  • }

Protobuf shema metapodataka

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

klijent pramples

BILJEŠKA: Ove su naredbe namijenjene za izvođenje na vanjskom klijentu, nprampprenesite svoje prijenosno računalo ili slično, a ne u Control Center.
BILJEŠKA: Za prikaz informacija o mjernim podacima provjerite radi li barem jedan monitor u Kontrolnom centru.

Tarball kontrolnog centra uključuje arhivu paa-streaming-api-client-examples.tar.gz (klijent-examples), koji sadrži example Python skripta koja pokazuje kako koristiti Streaming API.

Instaliranje i konfiguriranje klijenta Npramples
Nađete bivšeg klijentaampdatoteke u mapi Paragon Active Assurance Control Center:

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

Da biste instalirali client-exampdatoteke na vašem vanjskom klijentskom računalu, postupite na sljedeći način:

  • # Stvorite direktorij za izdvajanje sadržaja klijenta npramples tarball
  • mkdir paa-streaming-api-client-examples
  • # Ekstrahirajte sadržaj klijenta npramples tarball
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
  • # Idite u novostvoreni imenik
  • cd paa-streaming-api-client-examples

klijent-bivšiamples 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 se izvoditi u osnovnom ili naprednom načinu rada za izgradnju exampdatoteke različite složenosti. U oba slučaja moguće je pokrenuti i exampdatoteke s konfiguracijom file koji sadrži dodatna svojstva za daljnje prilagođavanje strane klijenta.

Osnovni način rada
U osnovnom načinu rada, mjerni podaci i njihovi metapodaci emitiraju se odvojeno. U tu svrhu klijent sluša svaku Kafka temu dostupnu za vanjski pristup i jednostavno ispisuje primljene poruke na konzolu.
Za početak izvođenja osnovnog pramples, pokrenuti:

  • 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 ovrhe prample, pritisnite Ctrl + C. (Može doći do malog kašnjenja prije nego što se izvršenje zaustavi jer klijent čeka događaj vremenskog ograničenja.)

Napredni način rada

BILJEŠKA: Mjerni podaci se prikazuju samo za HTTP monitore koji rade u Kontrolnom centru.

Izvršenje u naprednom načinu rada pokazuje korelaciju između metrike i poruka metapodataka. Ovo je
moguće zahvaljujući prisutnosti u svakoj poruci metrike polja ID toka koje se odnosi na odgovarajuću poruku metapodataka.
Za izvršenje naprednog examples, pokrenuti:

  • 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 ovrhe prample, pritisnite Ctrl + C. (Može doći do malog kašnjenja prije nego što se izvršenje zaustavi jer klijent čeka događaj vremenskog ograničenja.)

Dodatne postavke
Moguće je pokrenuti bivšampdatoteke s dodatnom konfiguracijom klijenta pomoću –config-file opcija nakon koje slijedi a file ime koje sadrži svojstva u obliku ključ=vrijednost.

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

BILJEŠKA: Sve files referenciran u gornjoj naredbi mora se nalaziti u trenutnom direktoriju i upućivati ​​korištenjem samo relativnih staza. Ovo se odnosi i na –config-file argument i na sve unose u konfiguraciji file koji opisuju file lokacije.

Provjera valjanosti autentifikacije vanjskog klijenta
Za provjeru autentičnosti klijenta izvan Kontrolnog centra pomoću client-examples, izvršite sljedeće korake:

Iz mape Paragon Active Assurance Control Center prebacite se na paa-streaming-api-client-exampmapa les:

cd paa-streaming-api-client-examples

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

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

gdje su {CLIENT_USER} i {CLIENT_PASSWORD} korisničke vjerodajnice za klijenta.

Pokrenite osnovni examples:

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

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
  • –konfiguracija-file klijent.svojstva

Dodatak

U ovom dodatku opisujemo kako izraditi:

  • spremište ključeva file za pohranu Kafka broker SSL certifikata
  • trgovina od povjerenja file za pohranjivanje korijenskog certifikata tijela za izdavanje certifikata (CA) koji se koristi za potpisivanje certifikata brokera Kafka.

Izrada Kafka Broker certifikata
Stvaranje certifikata pomoću stvarnog autoriteta certifikata (preporučeno)
Preporuča se da dobijete pravi SSL certifikat od pouzdanog CA.
Nakon što se odlučite za CA, kopirajte njihov CA korijenski 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}

Stvorite vlastito tijelo za izdavanje certifikata

BILJEŠKA: Normalno bi vaš certifikat trebao potpisati pravi Izdavač certifikata; pogledajte prethodni pododjeljak. Ono što slijedi je samo bivšiample.

Ovdje stvaramo vlastiti korijenski certifikat Izdavača certifikata (CA). file vrijedi 999 dana (ne preporučuje se u proizvodnji):

  • # Kreirajte direktorij za pohranu CA-a
  • 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

Stvaranje skladišta povjerenja klijenta
Sada možete stvoriti truststore file koji sadrži gore generirani ca-cert. Ovaj file bit će potreban Kafka klijentu koji će pristupiti API-ju za strujanje:

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

Sada kada je CA certifikat u truststoreu, klijent će vjerovati svakom certifikatu potpisanom njime.
Trebali biste kopirati file kafka.client.truststore.jks na poznato mjesto na vašem klijentskom računalu i pokažite na njega u postavkama.

Stvaranje Keystorea za Kafka Broker
Za generiranje SSL certifikata brokera Kafka, a zatim spremišta ključeva kafka.server.keystore.jks, postupite na sljedeći način:

Generiranje SSL certifikata
Ispod je 999 broj dana valjanosti spremišta ključeva, a FQDN je potpuno kvalificirani naziv domene klijenta (javni naziv hosta čvora).

BILJEŠKA: Važno je da FQDN odgovara točnom nazivu hosta koji će Kafka klijent koristiti za povezivanje s Kontrolnim centrom.

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

Stvorite zahtjev za potpisivanje certifikata i pohranite ga u file imenovani cert-server-request:

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

Sada biste trebali poslati file cert-server-request svom tijelu za izdavanje certifikata (CA) ako koristite pravi. Zatim će vratiti potpisanu potvrdu. U nastavku ćemo to nazivati ​​cert-server-signed.

Potpisivanje SSL certifikata pomoću CA certifikata koji ste sami izradili

BILJEŠKA: Opet, korištenje vlastitog CA se ne preporučuje u proizvodnom sustavu.

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

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-key \
    • – u cert-server-request \
    • – out cert-server-signed \
    • – dani 999 -CAcreateserial \
    • – passin pass:{ca-password}

Uvoz potpisanog certifikata u Keystore

Uvezite korijenski certifikat ca-cert 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 poslužitelj \
    • – uvoz \
    • – file cert-server-signed

The file kafka.server.keystore.jks treba kopirati na poznato mjesto na poslužitelju Kontrolnog centra, a zatim ga uputiti u /etc/kafka/server.properties.

Korištenje API-ja za strujanje

U OVOM ODJELJKU

  • Općenito | 20
  • Kafkina imena tema | 21
  • Examples Korištenje API-ja za strujanje | 21

General
API za strujanje dohvaća i testne i nadzorne podatke. Nije moguće izdvojiti niti jednu od ovih kategorija.
API za strujanje ne dohvaća podatke iz testova temeljenih na skriptama (onih koji su predstavljeni pravokutnikom umjesto dijelom slagalice u GUI-u Control Center-a), kao što su testovi aktivacije Ethernet usluge i testovi transparentnosti.

Kafka Imena tema
Imena Kafka tema za API za strujanje su sljedeća, gdje je %s kratki naziv računa Kontrolnog centra (navedeno prilikom kreiranja računa):

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

Exampo korištenju API-ja za strujanje
Bivšiampdatoteke koje slijede nalaze se u tarball paa-streaming-api-client-examples.tar.gz koji se nalazi unutar tarballa Kontrolnog centra.
Prvo, postoji osnovni example demonstrira kako se metrika i njihovi metapodaci odvojeno prenose i jednostavno ispisuju primljene poruke na konzolu. Možete ga pokrenuti na sljedeći način:

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

Postoji i napredniji example gdje su metrike i poruke metapodataka u korelaciji. Koristite ovu naredbu za pokretanje:

  • sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account_ACCOUNT_SHORTNAME

Morate koristiti sudo za pokretanje Docker naredbi poput onih iznad. Po izboru, možete slijediti korake nakon instalacije Linuxa da biste mogli pokrenuti Docker naredbe bez sudoa. Za detalje idite na docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logotip Juniper Networks, Juniper i Junos registrirani su zaštitni znakovi Juniper Networks, Inc. u Sjedinjenim Državama i drugim zemljama. Svi ostali zaštitni znakovi, uslužni znakovi, registrirani ili registrirani uslužni znakovi vlasništvo su svojih vlasnika. Juniper Networks ne preuzima odgovornost za bilo kakve netočnosti u ovom dokumentu. Juniper Networks zadržava pravo izmjene, modificiranja, prijenosa ili druge revizije ove publikacije bez prethodne obavijesti. Autorska prava © 2023 Juniper Networks, Inc. Sva prava pridržana.

Dokumenti / Resursi

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

Reference

Ostavite komentar

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