Juniper NETWORKS Streaming API-software
Productinformatie
Specificaties
- Productnaam: Paragon Active Assurance
- Versie: 4.1
- Publicatiedatum: 2023-03-15
Invoering:
Deze handleiding geeft instructies over hoe u gegevens uit Paragon Active Assurance kunt extraheren met behulp van de streaming-API van het product. De streamingclient en API zijn opgenomen in de Paragon Active Assurance-installatie, maar er is enige configuratie vereist voordat u de API kunt gebruiken. Het configuratieproces wordt behandeld in de sectie 'Configuring the Streaming API'.
De streaming-API configureren:
De volgende stappen beschrijven het proces voor het configureren van de streaming-API:
Overview
Kafka is een event-streamingplatform dat is ontworpen voor realtime vastlegging en opslag van gegevens uit verschillende bronnen. Het maakt het beheer van event streams mogelijk op een gedistribueerde, schaalbare, fouttolerante en veilige manier. Deze gids richt zich op het configureren van Kafka om de Streaming API-functie in Paragon Active Assurance Control Center te gebruiken.
Terminologie
Met de Streaming API kunnen externe clients metrische informatie ophalen van Kafka. Metrieken die door de Test Agents worden verzameld tijdens een test- of monitoringtaak, worden naar de Stream-service verzonden. Na verwerking publiceert de Stream-service deze metrische gegevens op Kafka, samen met aanvullende metagegevens.
De Streaming API gebruikt Kafka-onderwerpen om statistieken en metadata te organiseren en op te slaan. Kafka-onderwerpen kunnen worden gemaakt en beheerd volgens specifieke vereisten.
De streaming-API inschakelen
Volg deze stappen om de Streaming API in te schakelen:
- Voer de volgende opdrachten uit op de Control Center-server met sudo:
KAFKA_METRICS_ENABLED = True sudo ncc services activeert timescaledb-metriek sudo ncc services start timescaledb-metriek sudo ncc services start opnieuw
Controleren of de streaming-API werkt in het Control Center:
Om te controleren of u statistieken over de juiste Kafka-onderwerpen ontvangt:
- Installeer het hulpprogramma kafkacat met de volgende opdrachten:
sudo apt-get-update
sudo apt-get install kafkacat
- Vervang “mijnaccount” door de korte naam van uw account in de
Controle Centrum URL:
export METRICS_TOPIC=paa.public.accounts.myaccount.metrics
export METADATA_TOPIC=paa.public.accounts.myaccount.metadata
- Voer de volgende opdracht uit om view Metriek:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Opmerking: Met de bovenstaande opdracht worden de statistieken weergegeven. - Naar view metadata, voer de volgende opdracht uit:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
Opmerking: Met de bovenstaande opdracht worden metagegevens weergegeven, maar deze worden niet zo vaak bijgewerkt.
Klant bijvampde
Voor cliënt exampVoor meer informatie verwijzen wij u naar pagina 14 van de gebruiksaanwijzing.
FAQ (Veelgestelde vragen)
- V: Wat is Paragon Active Assurance?
A: Paragon Active Assurance is een product dat monitoring- en testmogelijkheden biedt. - V: Wat is de Streaming API?
A: De Streaming API is een functie in Paragon Active Assurance waarmee externe clients metrische gegevens uit Kafka kunnen ophalen. - V: Hoe schakel ik de Streaming API in?
A: Om de Streaming API in te schakelen, volgt u de stappen die worden beschreven in het gedeelte 'De Streaming API inschakelen' van de gebruikershandleiding. - V: Hoe kan ik controleren of de Streaming API werkt?
A: Raadpleeg het gedeelte 'Controleren of de streaming-API werkt in het Control Center' voor instructies over het verifiëren van de functionaliteit van de streaming-API.
Invoering
In deze handleiding wordt beschreven hoe u gegevens kunt extraheren uit Paragon Active Assurance via de streaming-API van het product.
De API en de streamingclient zijn opgenomen in de Paragon Active Assurance-installatie. Er is echter een beetje configuratie nodig voordat u de API kunt gebruiken. Dit wordt behandeld in het hoofdstuk "Configuring the Streaming API" op pagina 1.
Overview
In dit hoofdstuk wordt beschreven hoe u de Streaming API configureert om u te abonneren op metrische berichten via Kafka.
pr
Hieronder lopen we door:
- Hoe de streaming-API in te schakelen
- Hoe Kafka te configureren om naar externe clients te luisteren
- Hoe Kafka te configureren om ACL's te gebruiken en SSL-codering in te stellen voor genoemde clients
Wat is Kafka?
Kafka is een platform voor het streamen van evenementen dat real-time gegevens vastlegt die vanuit verschillende gebeurtenisbronnen (sensoren, databases, mobiele apparaten) worden verzonden in de vorm van evenementstromen, evenals duurzame opslag van deze evenementstromen voor later ophalen en manipuleren.
Met Kafka is het mogelijk om de event streaming end-to-end te beheren op een gedistribueerde, zeer schaalbare, elastische, fouttolerante en veilige manier.
OPMERKING: Kafka kan op veel verschillende manieren worden geconfigureerd en is ontworpen voor schaalbaarheid en redundante systemen. Dit document richt zich alleen op hoe u het kunt configureren om gebruik te maken van de Streaming API-functie in Paragon Active Assurance Control Center. Voor meer geavanceerde instellingen verwijzen we naar de officiële Kafka-documentatie: kafka.apache.org/26/documentation.html.
Terminologie
- Kafka: platform voor het streamen van evenementen.
- Kafka-onderwerp: Verzameling van gebeurtenissen.
- Kafka-abonnee/consument: Component die verantwoordelijk is voor het ophalen van gebeurtenissen die zijn opgeslagen in een Kafka-onderwerp.
- Kafka-makelaar: opslaglaagserver van een Kafka-cluster.
- SSL/TLS: SSL is een beveiligd protocol dat is ontwikkeld om informatie veilig via internet te verzenden. TLS is de opvolger van SSL, geïntroduceerd in 1999.
- SASL: Framework dat mechanismen biedt voor gebruikersauthenticatie, controle van gegevensintegriteit en codering.
- Streaming API-abonnee: Component die verantwoordelijk is voor het ophalen van gebeurtenissen die zijn opgeslagen in onderwerpen die zijn gedefinieerd in Paragon Active Assurance en bedoeld zijn voor externe toegang.
- Certificaatautoriteit: een vertrouwde entiteit die certificaten met openbare sleutels uitgeeft en intrekt.
- Basiscertificaat van de certificeringsinstantie: certificaat met openbare sleutel dat een certificeringsinstantie identificeert.
Hoe de streaming-API werkt
Zoals eerder vermeld, stelt de Streaming API externe clients in staat om informatie over statistieken van Kafka op te halen.
Alle metrics die door de Test Agents worden verzameld tijdens een test- of monitoringtaak, worden naar de Stream-service verzonden. Na een verwerkingsfase publiceert de Stream-service die metrics op Kafka, samen met aanvullende metadata.
Kafka-onderwerpen
Kafka heeft het concept van onderwerpen waarop alle gegevens worden gepubliceerd. In Paragon Active Assurance zijn veel van dergelijke Kafka-onderwerpen beschikbaar; slechts een subset hiervan is echter bedoeld voor externe toegang.
Elk Paragon Active Assurance-account in Control Center heeft twee speciale onderwerpen. Hieronder is ACCOUNT de korte naam van het account:
- paa.public.accounts.{ACCOUNT}.metrics
- Alle metrische berichten voor het opgegeven account worden in dit onderwerp gepubliceerd
- Grote hoeveelheden gegevens
- Hoge updatefrequentie
- paa.public.accounts.{ACCOUNT}.metadata
- Bevat bijvoorbeeld metadata gerelateerd aan de metrische gegevensamplaat de test, monitor of Test Agent die aan de statistieken is gekoppeld, over
- Kleine hoeveelheden gegevens
- Lage updatefrequentie
De streaming-API inschakelen
OPMERKING: Deze instructies moeten worden uitgevoerd op de Control Center-server met behulp van sudo.
Aangezien de Streaming API enige overhead toevoegt aan het Control Center, is deze standaard niet ingeschakeld. Om de API in te schakelen, moeten we eerst het publiceren van statistieken naar Kafka inschakelen in de hoofdconfiguratie file:
KAFKA_METRICS_ENABLED = Waar
WAARSCHUWING: Het inschakelen van deze functie kan van invloed zijn op de prestaties van het Control Center. Zorg ervoor dat u uw instantie dienovereenkomstig hebt gedimensioneerd.
Om vervolgens het doorsturen van deze statistieken naar de juiste Kafka-onderwerpen mogelijk te maken:
streaming-api: waar
Voer het volgende uit om de Streaming API-services in te schakelen en te starten:
- sudo ncc-services maken tijdgeschaalde statistieken mogelijk
- sudo ncc-services starten tijdgeschaalde statistieken
Start ten slotte de services opnieuw op:
- sudo ncc-services worden opnieuw opgestart
Controleren of de streaming-API werkt in het controlecentrum
OPMERKING: Deze instructies moeten worden uitgevoerd op de Control Center-server.
U kunt nu controleren of u statistieken over de juiste Kafka-onderwerpen ontvangt. Installeer hiervoor het hulpprogramma kafkacat:
- sudo apt-get-update
- sudo apt-get install kafkacat
Als u een test of monitor uitvoert in het Control Center, zou u kafkacat moeten kunnen gebruiken om statistieken en metadata over deze onderwerpen te ontvangen.
Vervang myaccount door de korte naam van uw account (dit is wat u ziet in uw Control Center URL):
- export METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- export METADATA_TOPIC=paa.public.accounts.myaccount.metadata
U zou nu statistieken moeten zien door deze opdracht uit te voeren:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Naar view metadata, voert u de volgende opdracht uit (merk op dat deze niet zo vaak wordt bijgewerkt):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
OPMERKING:
kafkacat”Klant bijvamples” op pagina 14
Dit verifieert dat we een werkende Streaming API hebben vanuit het Control Center. Hoogstwaarschijnlijk bent u echter geïnteresseerd in toegang tot de gegevens van een externe klant. In het volgende gedeelte wordt beschreven hoe u Kafka openstelt voor externe toegang.
Kafka openstellen voor externe hosts
OPMERKING: Deze instructies moeten worden uitgevoerd op de Control Center-server.
Standaard is Kafka dat op het Control Center draait geconfigureerd om alleen te luisteren op localhost voor intern gebruik. Het is mogelijk om Kafka open te stellen voor externe clients door de Kafka-instellingen te wijzigen.
Verbinding maken met Kafka: waarschuwingen
VOORZICHTIGHEID: Lees dit aandachtig door, aangezien het gemakkelijk is om verbindingsproblemen met Kafka tegen te komen als u deze concepten niet begrijpt.
In de configuratie van het Control Center die in dit document wordt beschreven, is er slechts één Kafka-makelaar.
Houd er echter rekening mee dat een Kafka-makelaar bedoeld is om te worden uitgevoerd als onderdeel van een Kafka-cluster dat uit veel Kafka-makelaars kan bestaan.
Wanneer u verbinding maakt met een Kafka-makelaar, wordt een eerste verbinding tot stand gebracht door de Kafka-client. Via deze verbinding zal de Kafka-makelaar op zijn beurt een lijst met "geadverteerde luisteraars" retourneren, wat een lijst is van een of meer Kafka-makelaars.
Na ontvangst van deze lijst zal de Kafka-client de verbinding verbreken en vervolgens opnieuw verbinding maken met een van deze geadverteerde luisteraars. De geadverteerde listeners moeten hostnamen of IP-adressen bevatten die toegankelijk zijn voor de Kafka-client, anders kan de client geen verbinding maken.
Als SSL-codering wordt gebruikt, waarbij een SSL-certificaat is gekoppeld aan een bepaalde hostnaam, is het zelfs nog belangrijker dat de Kafka-client het juiste adres ontvangt om verbinding mee te maken, omdat anders de verbinding kan worden geweigerd.
Lees hier meer over Kafka-luisteraars: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS-codering
Om ervoor te zorgen dat alleen vertrouwde clients toegang hebben tot Kafka en de Streaming API, moeten we het volgende configureren:
- Authenticatie: Klanten moeten hun gebruikersnaam en wachtwoord opgeven via een SSL/TLS-beveiligde verbinding tussen de klant en Kafka.
- Autorisatie:Geverifieerde clients kunnen taken uitvoeren die worden gereguleerd door ACL's.
Hier is een overview:
*) Gebruikersnaam-/wachtwoordauthenticatie uitgevoerd op een SSL-gecodeerd kanaal
Om volledig te begrijpen hoe de SSL/TLS-encryptie voor Kafka werkt, verwijzen wij u naar de officiële documentatie: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS-certificaat verlopenview
OPMERKING: In deze paragraaf gebruiken we de volgende terminologie:
Certificaat: Een SSL-certificaat ondertekend door een certificeringsinstantie (CA). Elke Kafka-broker heeft er één.
Sleutelopslag: De sleutelopslag file waarin het certificaat wordt opgeslagen. De sleutelkluis file bevat de privésleutel van het certificaat; daarom moet het veilig worden bewaard.
Vertrouwenswinkel: A file met de vertrouwde CA-certificaten.
Om de authenticatie tussen een externe client en Kafka in het Control Center in te stellen, moeten beide partijen een keystore hebben gedefinieerd met een gerelateerd certificaat ondertekend door een certificeringsinstantie (CA) samen met het CA-basiscertificaat.
Daarnaast moet de klant ook beschikken over een truststore met het CA-rootcertificaat.
Het CA-basiscertificaat is gemeenschappelijk voor de Kafka-makelaar en de Kafka-client.
De vereiste certificaten maken
Dit wordt behandeld in de “Bijlage” op pagina 17.
Kafka Broker SSL/TLS-configuratie in het controlecentrum
OPMERKING: Deze instructies moeten worden uitgevoerd op de Control Center-server.
OPMERKING: Voordat u verder gaat, moet u de keystore maken die het SSL-certificaat bevat door de instructies in de “Appendix” op pagina 17 te volgen. De hieronder genoemde paden komen uit deze instructies.
De SSL-sleutelopslag is een file opgeslagen op schijf met de file extensie .jks.
Zodra u de vereiste certificaten voor zowel de Kafka-makelaar als de Kafka-client beschikbaar hebt, kunt u doorgaan door de Kafka-makelaar te configureren die wordt uitgevoerd in het Control Center. U moet het volgende weten:
- : De openbare hostnaam van Control Center; dit moet oplosbaar en toegankelijk zijn voor Kafka-clients.
- : Het keystore-wachtwoord dat is opgegeven bij het maken van het SSL-certificaat.
- En : dit zijn de wachtwoorden die u wilt instellen voor respectievelijk de beheerder en de klantgebruiker. Merk op dat u meer gebruikers kunt toevoegen, zoals aangegeven in de exampik.
Bewerk of voeg (met sudo-toegang) de onderstaande eigenschappen toe in /etc/kafka/server.properties, waarbij u de bovenstaande variabelen invoegt zoals weergegeven:
WAARSCHUWING: Verwijder PLAINTEXT://localhost:9092 niet. Dit verbreekt de functionaliteit van het Control Center, omdat interne services niet meer met elkaar kunnen communiceren.
- …
- # De adressen waar de Kafka-makelaar naar luistert.
- luisteraars=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
- # Dit zijn de hosts die worden geadverteerd naar elke client die verbinding maakt.
- geadverteerd.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
- ####### AANGEPASTE CONFIG
- # SSL-CONFIGURATIE
- ssl.eindpunt.identificatie.algoritme=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks - ssl.keystore.wachtwoord=
- ssl.sleutel.wachtwoord=
- ssl.client.auth=geen
- ssl.protocol=TLSv1.2
- # SASL-configuratie
- sasl.enabled.mechanisms=DUIDELIJK
- gebruikersnaam=”beheerder” \
- wachtwoord=” ” \
- gebruiker_admin=” ” \
- gebruiker_client=” ”;
- # OPMERKING meer gebruikers kunnen worden toegevoegd met user_ =
- # Autorisatie, schakel ACL's in
- authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Gebruiker:admin
Toegangscontrolelijsten (ACL's) instellen
ACL's inschakelen op localhost
WAARSCHUWING: We moeten eerst ACL's voor localhost instellen, zodat Control Center zelf nog steeds toegang heeft tot Kafka. Als dit niet gebeurt, gaan dingen kapot.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-eigenschappen zookeeper.connect=localhost:2181 \
- –add –allow-hoofdgebruiker: ANONIEM –allow-host 127.0.0.1 –cluster
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-eigenschappen zookeeper.connect=localhost:2181 \
- –add –allow-hoofdgebruiker:ANONIEM –allow-host 127.0.0.1 –onderwerp '*'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-eigenschappen zookeeper.connect=localhost:2181 \
- –add –allow-hoofdgebruiker: ANONIEM –allow-host 127.0.0.1 –groep '*'
Vervolgens moeten we ACL's inschakelen voor externe alleen-lezen toegang, zodat externe gebruikers de paa.public.*-onderwerpen mogen lezen.
### ACL-vermeldingen voor anonieme gebruikers /usr/lib/kafka/bin/kafka-acls.sh \
OPMERKING: Voor meer gedetailleerde controle kunt u de officiële Kafka-documentatie raadplegen.
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-eigenschappen zookeeper.connect=localhost:2181 \
- –add –allow-principal Gebruiker:* –bewerking lezen –bewerking beschrijven \ –groep 'NCC'
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-eigenschappen zookeeper.connect=localhost:2181 \
- –add –allow-principal Gebruiker:* –bewerking lezen –bewerking beschrijven \ –onderwerp paa.public. –resource-patroon-type met voorvoegsel
Als u hiermee klaar bent, moet u de services opnieuw opstarten:
### ACL-vermeldingen voor externe gebruikers /usr/lib/kafka/bin/kafka-acls.sh \
- sudo ncc-services worden opnieuw opgestart
Om te verifiëren of een client een beveiligde verbinding kan maken, voert u de volgende opdracht uit op een externe server.
clientcomputer (niet op de Control Center-server). Hieronder is PUBLIC_HOSTNAME de hostnaam van het Control Center:
- openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Veilig heronderhandelen wordt ondersteund"
In de opdrachtuitvoer zou u het servercertificaat moeten zien, evenals het volgende:
- Veilige heronderhandeling WEL ondersteund
Controleer het volgende logboek om er zeker van te zijn dat interne services toegang hebben gekregen tot de Kafka-serverfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
Valideren van externe clientconnectiviteit
kafkat
OPMERKING: Deze instructies moeten worden uitgevoerd op een clientcomputer (niet op de Control Center-server).
OPMERKING: Om metrische gegevens weer te geven, moet u ervoor zorgen dat er minimaal één monitor actief is in het Control Center.
Om de connectiviteit als een externe client te verifiëren en te valideren, is het mogelijk om het kafkacat-hulpprogramma te gebruiken dat is geïnstalleerd in de sectie "Verifiëren dat de streaming-API werkt in het controlecentrum" op pagina 4.
Voer de volgende stappen uit:
OPMERKING:Hieronder is CLIENT_USER de gebruiker die eerder is opgegeven in de file /etc/kafka/server.properties in Control Center: namelijk user_client en het daar ingestelde wachtwoord.
Het CA-basiscertificaat dat wordt gebruikt om het SSL-certificaat aan de serverzijde te ondertekenen, moet aanwezig zijn op de client.
Maak een file client.properties met de volgende inhoud:
- beveiliging.protocol=SASL_SSL
- ssl.ca.location={PATH_TO_CA_CERT}
- sasl.mechanisms=VLAK
- sasl.gebruikersnaam={CLIENT_USER}
- sasl.password={CLIENT_PASSWORD}
waar
- {PATH_TO_CA_CERT} is de locatie van het CA-hoofdcertificaat dat door de Kafka-makelaar wordt gebruikt
- {CLIENT_USER} en {CLIENT_PASSWORD} zijn de gebruikersgegevens voor de client.
Voer de volgende opdracht uit om het bericht te zien dat door kafkacat wordt verbruikt:
- exporteren KAFKA_FQDN=
- export METRICS_TOPIC=paa.public.accounts. .metrieken
- kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
waarbij {METRICS_TOPIC} de naam is van het Kafka-onderwerp met voorvoegsel "paa.public".
OPMERKING: Oudere versies van kafkacat bieden niet de optie -F voor het lezen van de clientinstellingen van een file. Als u een dergelijke versie gebruikt, moet u dezelfde instellingen opgeven vanaf de opdrachtregel als hieronder weergegeven.
kafkacat -b ${KAFKA_FQDN}:9093 \
- X beveiliging.protocol=SASL_SSL \
- X ssl.ca.locatie={PAD_NAAR_CA_CERT} \
- X sasl.mechanismen=PLAATS \
- X sasl.gebruikersnaam={CLIENT_USER} \
- X sasl.password={CLIENT_WACHTWOORD} \
- t ${METRICS_TOPIC} -C -e
Om de connectiviteit te debuggen, kunt u de -d optie gebruiken:
Debug consumentencommunicatie
kafkacat -d consument -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Debug makelaarcommunicatie
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Raadpleeg de documentatie voor de Kafka-clientbibliotheek die in gebruik is, aangezien de eigenschappen kunnen verschillen van die in client.properties.
Berichtformaat
De berichten die worden gebruikt voor de metrieken en metadataonderwerpen zijn geserialiseerd in het protocolbuffers (protobuf) formaat (zie ontwikkelaars.google.com/protocol-buffers). De schema's voor deze berichten volgen het volgende formaat:
Statistieken Protobuf Schema
- syntaxis = “proto3”;
- importeer “google/protobuf/timestamp.proto”;
- pakket paa.streamingapi;
- optie go_package = “.;paa_streamingapi”;
- bericht Statistieken {
- google.protobuf.Tijdstamp tijdamp = 1;
- kaart waarden = 2;
- int32 stream_id = 3;
- }
- /**
- * Een metrische waarde kan een geheel getal of een float zijn.
- */
- bericht MetricValue {
- een van het type {
- int64 int_val = 1;
- vlotter float_val = 2;
- }
- }
Metagegevens Protobuf-schema
- syntaxis = “proto3”;
- pakket paa.streamingapi;
- optie go_package = “.;paa_streamingapi”;
- bericht Metagegevens {
- int32 stream_id = 1;
- tekenreeks streamnaam = 2;
- kaart tags = 13;
- }
Klant bijvampde
OPMERKING: Deze commando's zijn bedoeld om bijvoorbeeld op een externe client te worden uitgevoerdamplaat uw laptop of iets dergelijks, en niet in Control Center.
OPMERKING: Om metrische informatie weer te geven, moet u ervoor zorgen dat er ten minste één monitor actief is in het Control Center.
De tarball van het Control Center bevat het archief paa-streaming-api-client-examples.tar.gz (client-examples), die een example Python-script dat laat zien hoe de Streaming API te gebruiken.
Client Ex installeren en configurerenampde
Je vindt client-exampbestanden in de map Paragon Active Assurance Control Center:
- exporteren CC_VERSION=4.1.0
- cd ./paa-control-center_${CC_VERSION}
- ls paa-streaming-api-client-examphen*
Client-ex installerenampbestanden op uw externe clientcomputer, gaat u als volgt te werk:
- # Maak een map voor het extraheren van de inhoud van de client examples tarbal
- mkdir paa-streaming-api-client-exampde
- # Extraheer de inhoud van de client examples tarbal
- tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-exampde
- # Ga naar de nieuw aangemaakte map
- cd paa-streaming-api-client-exampde
klant-examples vereist dat Docker wordt uitgevoerd. Downloads en installatie-instructies voor Docker zijn te vinden op https://docs.docker.com/engine/install.
Client-ex gebruikenampde
De klant-examples-tools kunnen zowel in de basis- als in de geavanceerde modus worden uitgevoerd om bijvamples van verschillende complexiteit. In beide gevallen is het ook mogelijk om de exampbestanden met een configuratie file met aanvullende eigenschappen voor verdere aanpassing van de clientzijde.
Basismodus
In de basismodus worden de statistieken en hun metadata afzonderlijk gestreamd. Hiertoe luistert de klant naar elk Kafka-onderwerp dat beschikbaar is voor externe toegang en drukt de ontvangen berichten eenvoudigweg af naar de console.
Om de uitvoering van de basis examples, uitvoeren:
- build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
waarbij ACCOUNT_SHORTNAME de korte naam is van het account waarvan u de statistieken wilt ontvangen.
Om de uitvoering van de example, drukt u op Ctrl + C. (Er kan een kleine vertraging optreden voordat de uitvoering stopt omdat de client wacht op een time-outgebeurtenis.)
Geavanceerde modus
OPMERKING: Metrieken worden alleen weergegeven voor HTTP-monitors die in het Control Center worden uitgevoerd.
Uitvoering in geavanceerde modus toont de correlatie tussen metrische gegevens en metadataberichten. Dit is
mogelijk dankzij de aanwezigheid in elk metrische bericht van een stream-id-veld dat verwijst naar het overeenkomstige metagegevensbericht.
Om de geavanceerde ex uit te voerenamples, uitvoeren:
- build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
waarbij ACCOUNT_SHORTNAME de korte naam is van het account waarvan u de statistieken wilt ontvangen.
Om de uitvoering van de example, drukt u op Ctrl + C. (Er kan een kleine vertraging optreden voordat de uitvoering stopt omdat de client wacht op een time-outgebeurtenis.)
Extra instellingen
Het is mogelijk om de exampbestanden met aanvullende configuratie van de client met behulp van de –config-file optie gevolgd door een file naam met eigenschappen in de vorm sleutel=waarde.
- build.sh run-geavanceerd \
- –kafka-brokers localhost:9092 \
- –account ACCOUNT_SHORTNAME \
- –config-file client_config.properties
OPMERKING: Alle files waarnaar in de bovenstaande opdracht wordt verwezen, moeten zich in de huidige map bevinden en er moet alleen naar worden verwezen via relatieve paden. Dit geldt zowel voor de –config-file argument en naar alle vermeldingen in de configuratie file die beschrijven file locaties.
Validatie van externe clientverificatie
Om clientauthenticatie van buiten het Control Center te valideren met behulp van client-exampbestanden, voert u de volgende stappen uit:
Ga vanuit de map Paragon Active Assurance Control Center naar paa-streaming-api-client-exampmap les:
cd paa-streaming-api-client-exampde
- Kopieer het CA-basiscertificaat ca-cert naar de huidige directory.
- Maak een client.properties file met de volgende inhoud:
security.protocol=SASL_SSL ssl.ca.locatie=ca-cert
sasl.mechanism=VLAK
sasl.gebruikersnaam={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
waarbij {CLIENT_USER} en {CLIENT_PASSWORD} de gebruikersreferenties voor de client zijn.
Voer eenvoudig bijvamples:
- exporteren KAFKA_FQDN=
- build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
- –account ACCOUNT_SHORTNAME
- –config-file klant.eigenschappen
waarbij ACCOUNT_SHORTNAME de korte naam is van het account waarvan u de statistieken wilt ontvangen.
Voer geavanceerde examples:
- exporteren KAFKA_FQDN=
- build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
- –account ACCOUNT_SHORTNAME
- –config-file klant.eigenschappen
Bijlage
In deze bijlage beschrijven we hoe u aanmaakt:
- een sleutelkluis file voor het opslaan van het Kafka broker SSL-certificaat
- een trustkantoor file voor het opslaan van het basiscertificaat van de certificeringsinstantie (CA) dat wordt gebruikt om het Kafka-brokercertificaat te ondertekenen.
Een Kafka Broker-certificaat maken
Een certificaat maken met een echte certificeringsinstantie (aanbevolen)
Het wordt aanbevolen dat u een echt SSL-certificaat krijgt van een vertrouwde CA.
Zodra u een CA hebt gekozen, kopieert u hun CA-basiscertificaat ca-cert file naar je eigen pad zoals hieronder weergegeven:
- export CA_PATH=~/mijn-ca
- mkdir ${CA_PATH}
- cp ca-cert ${CA_PATH}
Creëer uw eigen certificeringsinstantie
OPMERKING: Normaal gesproken dient u uw certificaat te laten ondertekenen door een echte certificeringsinstantie; zie de vorige subparagraaf. Wat volgt is slechts een exampik.
Hier maken we ons eigen Certificate Authority (CA) rootcertificaat file geldig voor 999 dagen (niet aanbevolen in productie):
- # Maak een map voor het opslaan van de CA
- export CA_PATH=~/mijn-ca
- mkdir ${CA_PATH}
- # Genereer het CA-certificaat
- openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -dagen 999
De client-truststore maken
Nu kunt u een truststore maken file dat het hierboven gegenereerde ca-cert bevat. Dit file is nodig voor de Kafka-client die toegang krijgt tot de Streaming API:
- keytool -keystore kafka.client.truststore.jks \
- alias CARoot \
- importcert -file ${CA_PATH}/ca-certificaat
Nu het CA-certificaat zich in de truststore bevindt, vertrouwt de client elk certificaat dat ermee is ondertekend.
Je moet de file kafka.client.truststore.jks naar een bekende locatie op uw clientcomputer en wijs ernaar in de instellingen.
De keystore maken voor de Kafka Broker
Ga als volgt te werk om het SSL-certificaat van de Kafka-broker en vervolgens de keystore kafka.server.keystore.jks te genereren:
Het SSL-certificaat genereren
Hieronder is 999 het aantal dagen dat de keystore geldig is, en FQDN is de volledig gekwalificeerde domeinnaam van de client (openbare hostnaam van het knooppunt).
OPMERKING: Het is belangrijk dat de FQDN exact overeenkomt met de hostnaam die de Kafka-client zal gebruiken om verbinding te maken met het Control Center.
- sudo mkdir -p /var/ssl/private
- sudo chown -R $USER: /var/ssl/private
- cd /var/ssl/privé
- FQDN exporteren= sleuteltool -keystore kafka.server.keystore.jks \
- – aliasserver \
- – geldigheid 999 \
- – genkey -keyalg RSA -ext SAN=dns:${FQDN}
Maak een certificaatondertekeningsverzoek aan en sla het op in het file benoemd cert-server-verzoek:
- keytool -keystore kafka.server.keystore.jks \
- – aliasserver \
- – certreq \
- – file cert-server-verzoek
U moet nu de file cert-server-request aan uw certificeringsinstantie (CA) als u een echte gebruikt. Zij sturen dan het ondertekende certificaat terug. Hieronder noemen we dit 'cert-server-signed'.
Het SSL-certificaat ondertekenen met een zelfgemaakt CA-certificaat
OPMERKING: Nogmaals, het gebruik van uw eigen CA wordt niet aanbevolen in een productiesysteem.
Onderteken het certificaat met behulp van de CA door middel van de file cert-server-request, dat het ondertekende certificaat cert-server-signed produceert. Zie hieronder; ca-wachtwoord is het wachtwoord dat is ingesteld bij het maken van het CA-certificaat.
- cd /var/ssl/private openssl x509 -req \
- – CA ${CA_PATH}/ca-cert \
- – CAkey ${CA_PATH}/ca-key \
- – in cert-server-aanvraag \
- – uit cert-server-ondertekend \
- – dagen 999 -CAcreateserial \
- – passin-paswoord:{ca-wachtwoord}
Het ondertekende certificaat importeren in de keystore
Importeer het ca-cert-rootcertificaat in de keystore:
- keytool -keystore kafka.server.keystore.jks \
- – alias ca-cert \
- – importeren \
- – file ${CA_PATH}/ca-certificaat
Importeer het ondertekende certificaat dat cert-server-signed wordt genoemd:
- keytool -keystore kafka.server.keystore.jks \
- – aliasserver \
- – importeren \
- – file cert-server-ondertekend
De file kafka.server.keystore.jks moet worden gekopieerd naar een bekende locatie op de Control Center-server en er moet dan naar worden verwezen in /etc/kafka/server.properties.
De Streaming-API gebruiken
IN DEZE SECTIE
- Algemeen | 20
- Kafka-onderwerpnamen | 21
- Examples over het gebruik van de streaming-API | 21
Algemeen
De streaming-API haalt zowel test- als monitorgegevens op. Het is niet mogelijk om één van deze categorieën uit te kiezen.
De streaming-API haalt geen gegevens op van op scripts gebaseerde tests (die worden weergegeven door een rechthoek in plaats van een puzzelstukje in de GUI van het Control Center), zoals activeringstests voor Ethernet-services en transparantietests.
Kafka-onderwerpnamen
De Kafka-onderwerpnamen voor de streaming-API zijn als volgt, waarbij %s de korte naam is van het Control Center-account (aangegeven bij het aanmaken van het account):
- const (
- exporterName = “kafka”
- metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics” )
Examples over het gebruik van de streaming-API
De exampDe volgende bestanden zijn te vinden in de tarball paa-streaming-api-client-examples.tar.gz in de tarball van het Control Center.
Ten eerste is er een eenvoudige exampbestand dat demonstreert hoe de statistieken en hun metadata afzonderlijk worden gestreamd en de ontvangen berichten eenvoudig naar de console worden afgedrukt. Je kunt het als volgt uitvoeren:
- sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Er is ook een meer geavanceerde example waar metrische gegevens en metagegevensberichten worden gecorreleerd. Gebruik deze opdracht om het uit te voeren:
- sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
U moet sudo gebruiken om Docker-opdrachten uit te voeren, zoals de bovenstaande. Optioneel kunt u de Linux-stappen na de installatie volgen om Docker-opdrachten uit te voeren zonder sudo. Ga voor meer informatie naar docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, het Juniper Networks-logo, Juniper en Junos zijn geregistreerde handelsmerken van Juniper Networks, Inc. in de Verenigde Staten en andere landen. Alle andere handelsmerken, dienstmerken, geregistreerde merken of geregistreerde dienstmerken zijn eigendom van hun respectievelijke eigenaren. Juniper Networks aanvaardt geen verantwoordelijkheid voor eventuele onjuistheden in dit document. Juniper Networks behoudt zich het recht voor om deze publicatie zonder kennisgeving te wijzigen, aan te passen, over te dragen of anderszins te herzien. Copyright © 2023 Juniper Networks, Inc. Alle rechten voorbehouden.
Documenten / Bronnen
![]() |
Juniper NETWORKS Streaming API-software [pdf] Gebruikershandleiding Streaming API-software, API-software, Software |