Juniper NETWORKS Streaming API-software
Produktinformation
Specifikationer
- Produktnavn: Paragon Active Assurance
- Version: 4.1
- Udgivet dato: 2023-03-15
Indledning:
Denne vejledning giver instruktioner om, hvordan du udtrækker data fra Paragon Active Assurance ved hjælp af produktets streaming-API. Streamingklienten og API'en er inkluderet i Paragon Active Assurance-installationen, men der kræves en vis konfiguration før brug af API'en. Konfigurationsprocessen er dækket i afsnittet "Konfiguration af Streaming API".
Konfiguration af Streaming API:
Følgende trin skitserer processen for at konfigurere streaming-API'en:
Overview
Kafka er en hændelsesstreamingplatform designet til realtidsopsamling og lagring af data fra forskellige kilder. Det muliggør styring af hændelsesstrømme på en distribueret, skalerbar, fejltolerant og sikker måde. Denne vejledning fokuserer på at konfigurere Kafka til at bruge Streaming API-funktionen i Paragon Active Assurance Control Center.
Terminologi
Streaming API'et giver eksterne klienter mulighed for at hente metriske oplysninger fra Kafka. Metrics indsamlet af testagenterne under en test- eller overvågningsopgave sendes til Stream-tjenesten. Efter behandling udgiver Stream-tjenesten disse metrics på Kafka sammen med yderligere metadata.
Streaming API'en bruger Kafka-emner til at organisere og gemme metrics og metadata. Kafka-emner kan oprettes og administreres i henhold til specifikke krav.
Aktivering af Streaming API
Følg disse trin for at aktivere Streaming API:
- Kør følgende kommandoer på Control Center-serveren ved hjælp af sudo:
KAFKA_METRICS_ENABLED = Ægte sudo ncc-tjenester aktiverer timescaledb-metrics sudo ncc-tjenester start timescaledb-metrics sudo ncc-tjenester genstart
Bekræftelse af, at streaming-API'en fungerer i kontrolcenter:
For at bekræfte, at du modtager metrics om de korrekte Kafka-emner:
- Installer kafkacat-værktøjet med følgende kommandoer:
sudo apt-get opdatering
sudo apt-get install kafkacat
- Erstat "min konto" med det korte navn på din konto i
Kontrolcenter URL:
eksport METRICS_TOPIC=paa.offentlige.konti.minkonto.metrics
eksporter METADATA_TOPIC=paa.offentlige.konti.minkonto.metadata
- Kør følgende kommando til view målinger:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Note: Ovenstående kommando viser metrikken. - Til view metadata skal du køre følgende kommando:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
Note: Ovenstående kommando vil vise metadata, men den vil ikke opdatere så ofte.
Kunde Eksamples
For klient examples og yderligere information, se side 14 i brugervejledningen.
FAQ (ofte stillede spørgsmål)
- Q: Hvad er Paragon Active Assurance?
A: Paragon Active Assurance er et produkt, der giver overvågnings- og testfunktioner. - Q: Hvad er Streaming API?
A: Streaming API er en funktion i Paragon Active Assurance, der giver eksterne klienter mulighed for at hente metriske oplysninger fra Kafka. - Sp: Hvordan aktiverer jeg Streaming API?
A: For at aktivere Streaming API skal du følge trinene beskrevet i afsnittet "Aktivering af Streaming API" i brugervejledningen. - Sp: Hvordan kan jeg bekræfte, at Streaming API'en fungerer?
Sv: Se afsnittet "Bekræftelse af, at streaming-API'en fungerer i kontrolcenteret" for instruktioner om, hvordan du verificerer funktionaliteten af Streaming-API'en.
Indledning
Denne guide beskriver, hvordan du udtrækker data fra Paragon Active Assurance via produktets streaming API.
API'en såvel som streamingklienten er inkluderet i Paragon Active Assurance-installationen. Der skal dog en smule konfiguration til, før du kan bruge API'et. Dette er dækket i kapitlet "Konfiguration af Streaming API" på side 1.
Overview
Dette kapitel beskriver, hvordan du konfigurerer Streaming API til at tillade abonnement på metric-meddelelser via Kafka.
pr
Nedenfor gennemgår vi:
- Sådan aktiverer du Streaming API
- Sådan konfigureres Kafka til at lytte til eksterne klienter
- Hvordan man konfigurerer Kafka til at bruge ACL'er og opsætter SSL-kryptering for nævnte klienter
Hvad er Kafka?
Kafka er en hændelsesstreaming-platform, der tillader realtidsopsamling af data sendt fra forskellige hændelseskilder (sensorer, databaser, mobile enheder) i form af hændelsesstrømme, samt varig lagring af disse hændelsesstrømme til senere hentning og manipulation.
Med Kafka er det muligt at styre begivenhedsstreamingen ende-til-ende på en distribueret, meget skalerbar, elastisk, fejltolerant og sikker måde.
NOTE: Kafka kan konfigureres på mange forskellige måder og er designet til skalerbarhed og redundante systemer. Dette dokument fokuserer kun på, hvordan det konfigureres til at gøre brug af Streaming API-funktionen, der findes i Paragon Active Assurance Control Center. For mere avancerede opsætninger henviser vi til den officielle Kafka-dokumentation: kafka.apache.org/26/documentation.html.
Terminologi
- Kafka: Event-streaming platform.
- Kafka-emne: Indsamling af begivenheder.
- Kafka-abonnent/forbruger: Komponent ansvarlig for hentning af hændelser gemt i et Kafka-emne.
- Kafka-mægler: Lagerlagsserver for en Kafka-klynge.
- SSL/TLS: SSL er en sikker protokol udviklet til at sende information sikkert over internettet. TLS er efterfølgeren til SSL, som blev introduceret i 1999.
- SASL: Ramme, der giver mekanismer til brugergodkendelse, kontrol af dataintegritet og kryptering.
- Streaming API-abonnent: Komponent ansvarlig for hentning af hændelser gemt i emner defineret i Paragon Active Assurance og beregnet til ekstern adgang.
- Certifikatautoritet: En betroet enhed, der udsteder og tilbagekalder offentlige nøglecertifikater.
- Certifikatmyndigheds rodcertifikat: Offentlig nøglecertifikat, der identificerer en certifikatmyndighed.
Sådan fungerer Streaming API
Som tidligere nævnt giver Streaming API'en eksterne klienter mulighed for at hente information om metrics fra Kafka.
Alle metrics indsamlet af testagenterne under en test- eller overvågningsopgave sendes til Stream-tjenesten. Efter en behandlingsfase udgiver Stream-tjenesten disse metrics på Kafka sammen med yderligere metadata.
Kafka emner
Kafka har begrebet emner, som alle data er publiceret til. I Paragon Active Assurance er der mange sådanne Kafka-emner tilgængelige; dog er kun en delmængde af disse beregnet til ekstern adgang.
Hver Paragon Active Assurance-konto i Kontrolcenter har to dedikerede emner. Nedenfor er ACCOUNT kontoens korte navn:
- paa.public.accounts.{ACCOUNT}.metrics
- Alle metric-meddelelser for den givne konto offentliggøres til dette emne
- Store mængder data
- Høj opdateringsfrekvens
- paa.offentlige.konti.{ACCOUNT}.metadata
- Indeholder metadata relateret til metrikdataene, f.eksampl den test, monitor eller testagent, der er knyttet til metrikken
- Små mængder data
- Lav opdateringsfrekvens
Aktivering af Streaming API
NOTE: Disse instruktioner skal køres på Control Center-serveren ved hjælp af sudo.
Da Streaming API tilføjer nogle overhead til kontrolcenteret, er det ikke aktiveret som standard. For at aktivere API'en skal vi først aktivere publicering af metrics til Kafka i hovedkonfigurationen file:
KAFKA_METRICS_ENABLED = Sandt
ADVARSEL: Aktivering af denne funktion kan påvirke kontrolcenterets ydeevne. Sørg for, at du har dimensioneret din instans i overensstemmelse hermed.
Dernæst for at aktivere videresendelse af disse målinger til de korrekte Kafka-emner:
streaming-api: sandt
For at aktivere og starte Streaming API-tjenesterne skal du køre:
- sudo ncc-tjenester aktiverer timescaledb-metrics
- sudo ncc-tjenester starter timescaledb-metrics
Til sidst skal du genstarte tjenesterne:
- sudo ncc-tjenester genstarter
Bekræftelse af, at streaming-API'en fungerer i kontrolcenteret
NOTE: Disse instruktioner skal køres på Control Center-serveren.
Du kan nu bekræfte, at du modtager metrics om de korrekte Kafka-emner. For at gøre det skal du installere kafkacat-værktøjet:
- sudo apt-get opdatering
- sudo apt-get install kafkacat
Hvis du har en test eller skærm kørende i Kontrolcenter, bør du være i stand til at bruge kafkacat til at modtage metrics og metadata om disse emner.
Erstat min konto med det korte navn på din konto (dette er, hvad du ser i dit kontrolcenter URL):
- eksport METRICS_TOPIC=paa.offentlige.konti.minkonto.metrics
- eksporter METADATA_TOPIC=paa.offentlige.konti.minkonto.metadata
Du bør nu se metrics ved at køre denne kommando:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Til view metadata skal du køre følgende kommando (bemærk, at dette ikke opdateres så ofte):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
NOTE:
kafkacat” Klient Examples" på side 14
Dette bekræfter, at vi har en fungerende Streaming API fra kontrolcenteret. Du er dog højst sandsynligt interesseret i at få adgang til dataene fra en ekstern klient i stedet for. Det næste afsnit beskriver, hvordan man åbner Kafka for ekstern adgang.
Åbning af Kafka for eksterne værter
NOTE: Disse instruktioner skal køres på Control Center-serveren.
Kafka, der kører på kontrolcentret, er som standard konfigureret til kun at lytte på localhost til intern brug. Det er muligt at åbne Kafka for eksterne klienter ved at ændre Kafka-indstillingerne.
Forbindelse til Kafka: Advarsler
FORSIGTIGHED: Læs venligst dette omhyggeligt, da det er let at løbe ind i forbindelsesproblemer med Kafka, hvis du ikke har forstået disse begreber.
I kontrolcenter-opsætningen beskrevet i dette dokument er der kun en enkelt Kafka-mægler.
Bemærk dog, at en Kafka-mægler er beregnet til at køre som en del af en Kafka-klynge, som kan bestå af mange Kafka-mæglere.
Når du opretter forbindelse til en Kafka-mægler, oprettes en indledende forbindelse af Kafka-klienten. I denne forbindelse vil Kafka-mægleren til gengæld returnere en liste over "annoncerede lyttere", som er en liste over en eller flere Kafka-mæglere.
Efter at have modtaget denne liste, vil Kafka-klienten afbryde forbindelsen og derefter genoprette forbindelsen til en af disse annoncerede lyttere. De annoncerede lyttere skal indeholde værtsnavne eller IP-adresser, der er tilgængelige for Kafka-klienten, ellers vil klienten ikke kunne oprette forbindelse.
Hvis der anvendes SSL-kryptering, der involverer et SSL-certifikat, der er knyttet til et bestemt værtsnavn, er det endnu vigtigere, at Kafka-klienten modtager den korrekte adresse at oprette forbindelse til, da forbindelsen ellers kan blive afvist.
Læs mere om Kafka-lyttere her: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS-kryptering
For at sikre, at kun betroede klienter får adgang til Kafka og Streaming API, skal vi konfigurere følgende:
- Autentificering: Klienter skal angive brugernavn og adgangskode gennem en SSL/TLS sikker forbindelse mellem klienten og Kafka.
- Bemyndigelse: Godkendte klienter kan udføre opgaver reguleret af ACL'er.
Her er en overview:
*) Brugernavn/adgangskodegodkendelse udført på en SSL-krypteret kanal
For fuldt ud at forstå, hvordan SSL/TLS-krypteringen fungerer for Kafka, se venligst den officielle dokumentation: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS-certifikat overview
NOTE: I dette underafsnit vil vi bruge følgende terminologi:
Certifikat: Et SSL-certifikat underskrevet af en certifikatmyndighed (CA). Hver Kafka-mægler har en.
Nøglelager: Nøglelageret file der gemmer certifikatet. Nøglelageret file indeholder certifikatets private nøgle; derfor skal den opbevares sikkert.
Truststore: A file indeholdende de betroede CA-certifikater.
For at konfigurere godkendelsen mellem en ekstern klient og Kafka, der kører i Kontrolcenter, skal begge sider have et nøglelager defineret med et relateret certifikat, der er underskrevet af en Certificate Authority (CA) sammen med CA-rodcertifikatet.
Udover dette skal klienten også have en truststore med CA-rodcertifikatet.
CA-rodcertifikatet er fælles for Kafka-mægleren og Kafka-klienten.
Oprettelse af de nødvendige certifikater
Dette er beskrevet i "Bilag" på side 17.
Kafka Broker SSL/TLS-konfiguration i kontrolcenter
NOTE: Disse instruktioner skal køres på Control Center-serveren.
NOTE: Før du fortsætter, skal du oprette nøglelageret, som indeholder SSL-certifikatet, ved at følge instruktionerne i "Bilag" på side 17. Stierne nævnt nedenfor kommer fra disse instruktioner.
SSL-nøglelageret er en file gemt på disk med file udvidelse .jks.
Når du har oprettet de nødvendige certifikater for både Kafka-mægleren og Kafka-klienten, kan du fortsætte ved at konfigurere Kafka-mægleren, der kører i Kontrolcenter. Du skal vide følgende:
- : Det offentlige værtsnavn for Kontrolcenter; dette skal kunne løses og være tilgængeligt for Kafka-kunder.
- : Nøglelageradgangskoden, der blev angivet ved oprettelse af SSL-certifikatet.
- og : Dette er de adgangskoder, du vil indstille for henholdsvis admin- og klientbrugeren. Bemærk, at du kan tilføje flere brugere, som angivet i f.eksample.
Rediger eller tilføj (med sudo-adgang) egenskaberne nedenfor i /etc/kafka/server.properties, ved at indsætte ovenstående variabler som vist:
ADVARSEL: Fjern ikke PLAINTEXT://localhost:9092; dette vil bryde kontrolcenterets funktionalitet, da interne tjenester ikke vil være i stand til at kommunikere.
- …
- # De adresser, som Kafka-mægleren lytter til.
- lyttere=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
- # Dette er værterne, der annonceres tilbage til enhver klient, der forbinder.
- advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
- ####### BRUGERDEFINERET KONFIG
- # SSL KONFIGURATION
- ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks - ssl.keystore.password=
- ssl.key.password=
- ssl.client.auth=ingen
- ssl.protocol=TLSv1.2
- # SASL-konfiguration
- sasl.enabled.mechanisms=PLAIN
- brugernavn = "admin" \
- adgangskode =" ” \
- user_admin="" ” \
- user_client =" ";
- # BEMÆRK flere brugere kan tilføjes med user_ =
- # Godkendelse, slå ACL til
- authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Bruger:admin
Opsætning af adgangskontrollister (ACL'er)
Aktivering af ACL'er på localhost
ADVARSEL: Vi skal først konfigurere ACL'er for localhost, så Control Center selv stadig kan få adgang til Kafka. Hvis dette ikke bliver gjort, går tingene i stykker.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –cluster
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Bruger:ANONYM –allow-host 127.0.0.1 –emne '*'
- /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 '*'
Vi skal så aktivere ACL'er for ekstern skrivebeskyttet adgang, så eksterne brugere får lov til at læse paa.public.*-emnerne.
### ACLs-poster for anonyme brugere /usr/lib/kafka/bin/kafka-acls.sh \
NOTE: For mere finkornet kontrol henvises til den officielle Kafka-dokumentation.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Bruger:* –operation read –operation describe \ –gruppe 'NCC'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- –add –allow-principal Bruger:* –operation read –operation describe \ –topic paa.public. –resource-pattern-type præfiks
Når du er færdig med dette, skal du genstarte tjenesterne:
### ACLs-poster for eksterne brugere /usr/lib/kafka/bin/kafka-acls.sh \
- sudo ncc-tjenester genstarter
For at bekræfte, at en klient kan etablere en sikker forbindelse, skal du køre følgende kommando på en ekstern
klientcomputer (ikke på Control Center-serveren). Nedenfor er PUBLIC_HOSTNAME kontrolcenterets værtsnavn:
- openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Sikker genforhandling ER understøttet"
I kommandoudgangen skal du se servercertifikatet samt følgende:
- Sikker genforhandling ER understøttet
For at sikre, at interne tjenester har fået adgang til Kafka-serveren, skal du kontrollere følgende logfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
Validering af ekstern klientforbindelse
kafkacat
NOTE: Disse instruktioner skal køres på en klientcomputer (ikke på Control Center-serveren).
NOTE: For at vise metriske oplysninger skal du sikre dig, at mindst én skærm kører i Kontrolcenter.
For at verificere og validere forbindelsen som en ekstern klient, er det muligt at bruge kafkacat-værktøjet, som blev installeret i afsnittet "Bekræftelse af, at streaming-API'en fungerer i kontrolcenteret" på side 4.
Udfør følgende trin:
NOTE: Nedenfor er CLIENT_USER den bruger, der tidligere er angivet i file /etc/kafka/server.properties i Kontrolcenter: nemlig bruger_klient og adgangskoden der er indstillet.
CA-rodcertifikatet, der bruges til at signere SSL-certifikatet på serversiden, skal være til stede på klienten.
Opret en file client.properties med følgende indhold:
- security.protocol=SASL_SSL
- ssl.ca.location={PATH_TO_CA_CERT}
- sasl.mechanisms=PLAIN
- sasl.brugernavn={CLIENT_USER}
- sasl.password={CLIENT_PASSWORD}
hvor
- {PATH_TO_CA_CERT} er placeringen af CA-rodcertifikatet, der bruges af Kafka-mægleren
- {CLIENT_USER} og {CLIENT_PASSWORD} er brugerlegitimationsoplysningerne for klienten.
Kør følgende kommando for at se meddelelsen forbrugt af kafkacat:
- eksport KAFKA_FQDN=
- eksport METRICS_TOPIC=paa.offentlige.konti. .metrics
- kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
hvor {METRICS_TOPIC} er navnet på Kafka-emnet med præfikset "paa.public".
NOTE: Ældre versioner af kafkacat giver ikke muligheden -F til at læse klientindstillingerne fra en file. Hvis du bruger en sådan version, skal du angive de samme indstillinger fra kommandolinjen som vist nedenfor.
kafkacat -b ${KAFKA_FQDN}:9093 \
- X security.protocol=SASL_SSL \
- X ssl.ca.location={PATH_TO_CA_CERT} \
- X sasl.mechanisms=PLAIN \
- X sasl.brugernavn={CLIENT_USER} \
- X sasl.password={CLIENT_PASSWORD} \
- t ${METRICS_TOPIC} -C -e
For at fejlsøge forbindelsen kan du bruge -d-indstillingen:
Debug forbrugerkommunikation
kafkacat -d forbruger -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Debug mæglerkommunikation
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Sørg for at henvise til dokumentationen for Kafka-klientbiblioteket i brug, da egenskaberne kan afvige fra dem i client.properties.
Beskedformat
De meddelelser, der bruges til metrics og metadata-emner, serialiseres i Protocol buffers (protobuf) format (se developers.google.com/protocol-buffers). Skemaerne for disse meddelelser overholder følgende format:
Metrics Protobuf Schema
- syntaks = "proto3";
- importer "google/protobuf/timestamp.proto";
- pakke paa.streamingapi;
- option go_package = “.;paa_streamingapi”;
- besked Metrics {
- google.protobuf.Timestamp mest tidamp = 1;
- kort værdier = 2;
- int32 stream_id = 3;
- }
- /**
- * En metrisk værdi kan enten være et heltal eller et flydende tal.
- */
- besked MetricValue {
- en af typen {
- int64 int_val = 1;
- float float_val = 2;
- }
- }
Metadata Protobuf Skema
- syntaks = "proto3";
- pakke paa.streamingapi;
- option go_package = “.;paa_streamingapi”;
- besked Metadata {
- int32 stream_id = 1;
- streng strømnavn = 2;
- kort tags = 13;
- }
Kunde Eksamples
NOTE: Disse kommandoer er beregnet til at køre på en ekstern klient, f.eksample din bærbare computer eller lignende, og ikke i Kontrolcenter.
NOTE: For at få vist metriske oplysninger skal du sørge for, at mindst én skærm kører i Kontrolcenter.
Kontrolcenterets tarball inkluderer arkivet paa-streaming-api-client-examples.tar.gz (klient-eksamples), som indeholder et exampet Python-script, der viser, hvordan man bruger Streaming API.
Installation og konfiguration af Client Examples
Du finder klient-eksamples i mappen Paragon Active Assurance Control Center:
- eksport CC_VERSION=4.1.0
- cd ./paa-control-center_${CC_VERSION}
- ls paa-streaming-api-client-examples*
For at installere klient-examppå din eksterne klientcomputer, skal du fortsætte som følger:
- # Opret mappe til at udtrække indholdet af klienten f.eksamples tarball
- mkdir paa-streaming-api-client-examples
- # Uddrag klientens indhold f.eksamples tarball
- tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
- # Gå til den nyoprettede mappe
- cd paa-streaming-api-client-examples
klient-examples kræver Docker for at køre. Downloads og installationsinstruktioner til Docker kan findes på https://docs.docker.com/engine/install.
Brug af Client Examples
Kunden-examples værktøjer kan køre i enten grundlæggende eller avanceret tilstand for at bygge f.eksamples af varierende kompleksitet. I begge tilfælde er det også muligt at køre examples med en konfiguration file indeholdende yderligere egenskaber til yderligere tilpasning af klientsiden.
Grundlæggende tilstand
I basistilstand streames metrikken og deres metadata separat. Til dette formål lytter klienten til hvert Kafka-emne, der er tilgængeligt for ekstern adgang, og udskriver blot de modtagne beskeder til konsollen.
For at starte udførelse af den grundlæggende examples, kør:
- build.sh run-basic –kafka-mæglere localhost:9092 –konto ACCOUNT_SHORTNAME
hvor ACCOUNT_SHORTNAME er det korte navn på den konto, du vil hente metrics fra.
At afslutte udførelsen af example, tryk på Ctrl + C. (Der kan være en lille forsinkelse, før udførelsen stopper, fordi klienten venter på en timeouthændelse).
Avanceret tilstand
NOTE: Målinger vises kun for HTTP-skærme, der kører i Kontrolcenter.
Udførelse i avanceret tilstand viser sammenhængen mellem metrics og metadatameddelelser. Dette er
muligt takket være tilstedeværelsen i hver metric-meddelelse af et stream-id-felt, som refererer til den tilsvarende metadata-meddelelse.
For at udføre den avancerede examples, kør:
- build.sh run-advanced –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME
hvor ACCOUNT_SHORTNAME er det korte navn på den konto, du vil hente metrics fra.
At afslutte udførelsen af example, tryk på Ctrl + C. (Der kan være en lille forsinkelse, før udførelsen stopper, fordi klienten venter på en timeouthændelse).
Yderligere indstillinger
Det er muligt at køre exampfiler med yderligere konfiguration af klienten ved hjælp af –config-file mulighed efterfulgt af en file navn, der indeholder egenskaber i formen nøgle=værdi.
- build.sh run-avanceret \
- –kafka-mæglere localhost:9092 \
- –konto ACCOUNT_SHORTNAME \
- –config-file client_config.properties
NOTE: Alle files, der henvises til i kommandoen ovenfor, skal være placeret i den aktuelle mappe og kun henvises ved hjælp af relative stier. Dette gælder både for –config-file argument og til alle indgange i konfigurationen file der beskriver file steder.
Validering af ekstern klientgodkendelse
For at validere klientgodkendelse uden for kontrolcentret ved hjælp af klient-examples, udfør følgende trin:
Fra mappen Paragon Active Assurance Control Center skal du skifte til paa-streaming-api-client-examples mappe:
cd paa-streaming-api-client-examples
- Kopier CA-rodcertifikatet ca-cert til den aktuelle mappe.
- Opret en client.properties file med følgende indhold:
security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.brugernavn={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
hvor {CLIENT_USER} og {CLIENT_PASSWORD} er brugeroplysningerne for klienten.
Kør grundlæggende examples:
- eksport KAFKA_FQDN=
- build.sh run-basic –kafka-mæglere ${KAFKA_FQDN}:9093 \
- –konto ACCOUNT_SHORTNAME
- –config-file kunde.ejendomme
hvor ACCOUNT_SHORTNAME er det korte navn på den konto, du vil hente metrics fra.
Kør avanceret examples:
- eksport KAFKA_FQDN=
- build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
- –konto ACCOUNT_SHORTNAME
- –config-file kunde.ejendomme
Tillæg
I dette appendiks beskriver vi, hvordan du opretter:
- et nøglelager file til opbevaring af Kafka-mæglerens SSL-certifikat
- en tillidsbutik file til lagring af Certificate Authority (CA) rodcertifikatet, der bruges til at underskrive Kafka-mæglercertifikatet.
Oprettelse af et Kafka-mæglercertifikat
Oprettelse af et certifikat ved hjælp af en rigtig certifikatmyndighed (anbefalet)
Det anbefales, at du får et rigtigt SSL-certifikat fra en betroet CA.
Når du har besluttet dig for et CA, skal du kopiere deres CA-rodcertifikat ca-cert file til din egen vej som vist nedenfor:
- eksport CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- cp ca-cert ${CA_PATH}
Opret din egen certifikatmyndighed
NOTE: Normalt skal du have dit certifikat underskrevet af en rigtig certifikatmyndighed; se foregående underafsnit. Det følgende er blot en example.
Her opretter vi vores eget Certificate Authority (CA) rodcertifikat file gyldig i 999 dage (anbefales ikke i produktion):
- # Opret en mappe til lagring af CA
- eksport CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- # Generer CA-certifikatet
- openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Oprettelse af Client Truststore
Nu kan du oprette en truststore file der indeholder ca-cert genereret ovenfor. Det her file vil være påkrævet af Kafka-klienten, der vil få adgang til Streaming API:
- keytool -keystore kafka.client.truststore.jks \
- alias CARoot \
- importcertifikat -file ${CA_PATH}/ca-cert
Nu hvor CA-certifikatet er i truststore, vil klienten have tillid til ethvert certifikat, der er signeret med det.
Du bør kopiere file kafka.client.truststore.jks til en kendt placering på din klientcomputer og peg på den i indstillingerne.
Oprettelse af Keystore til Kafka Broker
For at generere Kafka-mæglerens SSL-certifikat og derefter nøglelageret kafka.server.keystore.jks skal du fortsætte som følger:
Generering af SSL-certifikatet
Nedenfor er 999 antallet af dages gyldighed for nøglelageret, og FQDN er det fuldt kvalificerede domænenavn på klienten (nodens offentlige værtsnavn).
NOTE: Det er vigtigt, at FQDN matcher det nøjagtige værtsnavn, som Kafka-klienten vil bruge til at oprette forbindelse til kontrolcentret.
- sudo mkdir -p /var/ssl/private
- sudo chown -R $USER: /var/ssl/private
- cd /var/ssl/privat
- eksport FQDN= keytool -keystore kafka.server.keystore.jks \
- – alias server \
- – gyldighed 999 \
- – genkey -keyalg RSA -ext SAN=dns:${FQDN}
Opret en anmodning om certifikatsignering og gem den i file navngivet cert-server-anmodning:
- keytool -keystore kafka.server.keystore.jks \
- – alias server \
- – certifikat \
- – file cert-server-anmodning
Du skal nu sende file cert-server-anmodning til din Certificate Authority (CA), hvis du bruger en rigtig. De vil derefter returnere det underskrevne certifikat. Vi vil referere til dette som cert-server-signeret nedenfor.
Signering af SSL-certifikatet ved hjælp af et selvoprettet CA-certifikat
NOTE: Igen, brug af din egen CA anbefales ikke i et produktionssystem.
Underskriv certifikatet ved hjælp af CA ved hjælp af file cert-server-request, som producerer det signerede certifikat cert-server-signeret. Se nedenunder; ca-password er den adgangskode, der blev indstillet ved oprettelse af CA-certifikatet.
- cd /var/ssl/privat openssl x509 -req \
- – CA ${CA_PATH}/ca-cert \
- – CAkey ${CA_PATH}/ca-nøgle \
- – i cert-server-anmodning \
- – ud cert-server-signeret \
- – dage 999 -CAcreateserial \
- – passin pass:{ca-password}
Importerer det signerede certifikat til nøglelageret
Importer ca-cert-rodcertifikatet til nøglelageret:
- keytool -keystore kafka.server.keystore.jks \
- – alias ca-cert \
- – import \
- – file ${CA_PATH}/ca-cert
Importer det signerede certifikat kaldet cert-server-signeret:
- keytool -keystore kafka.server.keystore.jks \
- – alias server \
- – import \
- – file cert-server-signeret
De file kafka.server.keystore.jks skal kopieres til en kendt placering på kontrolcenterserveren og derefter henvises til i /etc/kafka/server.properties.
Brug af Streaming API
I DETTE AFSNIT
- Generelt | 20
- Kafka Emnenavne | 21
- Examples af brug af Streaming API | 21
Generel
Streaming-API'en henter både test- og monitordata. Det er ikke muligt at udskille en af disse kategorier.
Streaming-API'en henter ikke data fra script-baserede tests (dem, der er repræsenteret af et rektangel i stedet for et puslespil i Control Center GUI), såsom Ethernet-tjenesteaktiveringstest og gennemsigtighedstest.
Kafka emnenavne
Kafka-emnenavnene for streaming-API'en er som følger, hvor %s er det korte navn på Control Center-kontoen (angivet ved oprettelse af kontoen):
- konst (
- eksportørnavn = "kafka"
- metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )
Examples om brug af Streaming API
Eksamples, der følger, findes i tarball paa-streaming-api-client-examples.tar.gz indeholdt i kontrolcenterets tarball.
For det første er der et grundlæggende exampen demonstration af, hvordan metrikken og deres metadata streames separat og blot udskriver de modtagne beskeder til konsollen. Du kan køre det som følger:
- sudo ./build.sh run-basic –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME
Der er også et mere avanceret example hvor metrikker og metadatameddelelser er korreleret. Brug denne kommando til at køre den:
- sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –konto ACCOUNT_SHORTNAME
Du skal bruge sudo til at køre Docker-kommandoer som dem ovenfor. Eventuelt kan du følge Linux-trinene efter installationen for at kunne køre Docker-kommandoer uden sudo. For detaljer, gå til docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, Juniper Networks logo, Juniper og Junos er registrerede varemærker tilhørende Juniper Networks, Inc. i USA og andre lande. Alle andre varemærker, servicemærker, registrerede mærker eller registrerede servicemærker tilhører deres respektive ejere. Juniper Networks påtager sig intet ansvar for eventuelle unøjagtigheder i dette dokument. Juniper Networks forbeholder sig retten til at ændre, modificere, overføre eller på anden måde revidere denne publikation uden varsel. Copyright © 2023 Juniper Networks, Inc. Alle rettigheder forbeholdes.
Dokumenter/ressourcer
![]() |
Juniper NETWORKS Streaming API-software [pdfBrugervejledning Streaming API-software, API-software, software |