Logo borievky

Softvér Juniper NETWORKS Streaming APIJuniper-NETWORKS-Streaming-API-Software-product

Informácie o produkte

Špecifikácie

  • Názov produktu: Paragon Active Assurance
  • Verzia: 4.1
  • Dátum zverejnenia: 2023

Úvod:
Táto príručka obsahuje pokyny, ako extrahovať údaje z Paragon Active Assurance pomocou rozhrania API na streamovanie produktu. Streamovací klient a API sú súčasťou inštalácie Paragon Active Assurance, ale pred použitím API je potrebná určitá konfigurácia. Proces konfigurácie je uvedený v časti „Konfigurácia rozhrania API pre streamovanie“.

Konfigurácia Streaming API:
Nasledujúce kroky popisujú proces konfigurácie rozhrania API na streamovanie:

Koniecview
Kafka je platforma na streamovanie udalostí určená na zachytávanie a ukladanie údajov z rôznych zdrojov v reálnom čase. Umožňuje správu tokov udalostí distribuovaným, škálovateľným, odolným a bezpečným spôsobom. Táto príručka sa zameriava na konfiguráciu Kafky na využitie funkcie Streaming API v Paragon Active Assurance Control Center.

Terminológia
Streaming API umožňuje externým klientom získavať informácie o metrikách z Kafky. Metriky zhromaždené testovacími agentmi počas testovacej alebo monitorovacej úlohy sa odosielajú do služby Stream. Po spracovaní služba Stream zverejní tieto metriky na Kafke spolu s ďalšími metadátami.

Kafkove témy
Streaming API využíva témy Kafka na organizovanie a ukladanie metrík a metadát. Kafkove témy je možné vytvárať a riadiť podľa špecifických požiadaviek.

Povolenie rozhrania Streaming API
Ak chcete povoliť rozhranie Streaming API, postupujte takto:

  1. Spustite nasledujúce príkazy na serveri Control Center pomocou sudo:
KAFKA_METRICS_ENABLED = Služby True sudo ncc umožňujú metriky timescaledb služby sudo ncc spustenie metrík timescaledb reštart služieb sudo ncc

Overenie, či rozhranie Streaming API funguje v riadiacom centre:
Ak chcete overiť, či dostávate metriky týkajúce sa správnych tém Kafka:

  1. Nainštalujte obslužný program kafkacat pomocou nasledujúcich príkazov:
    aktualizácia sudo apt-get
    sudo apt-get nainštalovať kafkacat
  1. Nahraďte „môj účet“ krátkym názvom svojho účtu v
    Riadiace centrum URL:
    export METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    exportovať METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Spustite nasledujúci príkaz view metriky:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Poznámka: Vyššie uvedený príkaz zobrazí metriky.
  2. Komu view metaúdaje, spustite nasledujúci príkaz:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Poznámka: Vyššie uvedený príkaz zobrazí metadáta, ale nebude sa aktualizovať tak často.

Klient napramples
Pre klienta naprampsúbory a ďalšie informácie nájdete na strane 14 používateľskej príručky.

FAQ (Často kladené otázky)

  • Otázka: Čo je Paragon Active Assurance?
    Odpoveď: Paragon Active Assurance je produkt, ktorý poskytuje možnosti monitorovania a testovania.
  • Otázka: Čo je to Streaming API?
    Odpoveď: Streaming API je funkcia v Paragon Active Assurance, ktorá umožňuje externým klientom získavať informácie o metrikách z Kafky.
  • Otázka: Ako povolím rozhranie Streaming API?
    Odpoveď: Ak chcete povoliť rozhranie Streaming API, postupujte podľa krokov uvedených v časti „Povolenie rozhrania API pre streamovanie“ v používateľskej príručke.
  • Otázka: Ako môžem overiť, že rozhranie Streaming API funguje?
    Odpoveď: Pozrite si časť „Overenie, či rozhranie Streaming API funguje v riadiacom centre“, kde nájdete pokyny na overenie funkčnosti rozhrania Streaming API.

Úvod

Táto príručka popisuje, ako extrahovať údaje z Paragon Active Assurance prostredníctvom rozhrania API na streamovanie produktu.
Rozhranie API, ako aj streamovací klient sú súčasťou inštalácie Paragon Active Assurance. Pred použitím rozhrania API je však potrebná určitá konfigurácia. Toto je popísané v kapitole “Konfigurácia rozhrania API pre streamovanie” na strane 1.

Koniecview
Táto kapitola popisuje, ako nakonfigurovať rozhranie Streaming API, aby bolo možné prihlásiť sa na odber správ metrík cez Kafka.
pr
Nižšie si prejdeme:

  • Ako povoliť rozhranie API na streamovanie
  • Ako nakonfigurovať Kafku na počúvanie externých klientov
  • Ako nakonfigurovať Kafka na používanie ACL a nastaviť šifrovanie SSL pre uvedených klientov

Čo je Kafka?
Kafka je platforma na streamovanie udalostí, ktorá umožňuje v reálnom čase zachytávať dáta odosielané z rôznych zdrojov udalostí (senzory, databázy, mobilné zariadenia) vo forme streamov udalostí, ako aj trvalé ukladanie týchto streamov udalostí pre neskoršie vyhľadávanie a manipuláciu.
S Kafkou je možné riadiť streamovanie udalostí od konca do konca distribuovaným, vysoko škálovateľným, elastickým, odolným a bezpečným spôsobom.

POZNÁMKA: Kafka môže byť nakonfigurovaný mnohými rôznymi spôsobmi a bol navrhnutý pre škálovateľnosť a redundantné systémy. Tento dokument sa zameriava len na to, ako ho nakonfigurovať, aby využíval funkciu Streaming API, ktorá sa nachádza v Paragon Active Assurance Control Center. Pre pokročilejšie nastavenia odkazujeme na oficiálnu dokumentáciu Kafka: kafka.apache.org/26/documentation.html.

Terminológia

  • Kafka: Platforma na streamovanie udalostí.
  • Kafkova téma: Zbierka udalostí.
  • Predplatiteľ/spotrebiteľ Kafka: Komponent zodpovedný za vyhľadávanie udalostí uložených v téme Kafka.
  • Kafka broker: Server ukladacej vrstvy klastra Kafka.
  • SSL/TLS: SSL je bezpečný protokol vyvinutý na bezpečné odosielanie informácií cez internet. TLS je nástupcom SSL, ktorý bol predstavený v roku 1999.
  • SASL: Rámec, ktorý poskytuje mechanizmy na autentifikáciu používateľov, kontrolu integrity údajov a šifrovanie.
  • Predplatiteľ streamingového rozhrania API: Komponent zodpovedný za získavanie udalostí uložených v témach definovaných v Paragon Active Assurance a určených na externý prístup.
  • Certifikačná autorita: Dôveryhodná entita, ktorá vydáva a odvoláva certifikáty verejného kľúča.
  • Koreňový certifikát certifikačnej autority: Certifikát verejného kľúča, ktorý identifikuje certifikačnú autoritu.

Ako funguje Streaming API
Ako už bolo spomenuté, Streaming API umožňuje externým klientom získavať informácie o metrikách z Kafky.

Všetky metriky zhromaždené testovacími agentmi počas testovacej alebo monitorovacej úlohy sa odosielajú do služby Stream. Po fáze spracovania služba Stream zverejní tieto metriky na Kafke spolu s ďalšími metadátami.

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

Kafkove témy
Kafka má koncepciu tém, ku ktorým sa zverejňujú všetky údaje. V Paragon Active Assurance je k dispozícii veľa takýchto Kafkových tém; avšak iba časť z nich je určená pre externý prístup.
Každý účet Paragon Active Assurance v Control Center má dve vyhradené témy. Nižšie je skrátený názov účtu ACCOUNT:

  • paa.public.accounts.{ACCOUNT}.metrics
    • Všetky správy o metrikách pre daný účet sú zverejnené v tejto téme
    • Veľké množstvo údajov
    • Vysoká frekvencia aktualizácie
  • paa.public.accounts.{ACCOUNT}.metadata
    • Obsahuje metadáta súvisiace s údajmi metrík, naprample test, monitor alebo testovací agent spojený s metrikami
    • Malé množstvo údajov
    • Nízka frekvencia aktualizácie

Povolenie rozhrania Streaming API

POZNÁMKA: Tieto pokyny je potrebné spustiť na serveri Control Center pomocou sudo.

Keďže rozhranie Streaming API pridáva do Control Center určitú réžiu, nie je predvolene povolené. Aby sme povolili API, musíme najprv povoliť zverejňovanie metrík pre Kafka v hlavnej konfigurácii file:

KAFKA_METRICS_ENABLED = Pravda

POZOR: Povolenie tejto funkcie môže ovplyvniť výkon Control Center. Uistite sa, že ste podľa toho dimenzovali svoju inštanciu.

Ďalej, ak chcete povoliť preposielanie týchto metrík správnym Kafkovým témam:

streaming-api: true

Ak chcete povoliť a spustiť služby Streaming API, spustite:

  • služby sudo ncc umožňujú metriky timescaledb
  • služby sudo ncc spúšťajú metriky timescaledb

Nakoniec reštartujte služby:

  • reštartovanie služieb sudo ncc

Overenie, či rozhranie Streaming API funguje v riadiacom centre

POZNÁMKA: Tieto pokyny je potrebné spustiť na serveri Control Center.

Teraz si môžete overiť, že dostávate metriky o správnych Kafkových témach. Ak to chcete urobiť, nainštalujte si nástroj kafkacat:

  • aktualizácia sudo apt-get
  • sudo apt-get nainštalovať kafkacat

Ak máte v riadiacom centre spustený test alebo monitor, mali by ste byť schopní používať kafkacat na prijímanie metrík a metadát o týchto témach.
Nahraďte myaccount krátkym názvom svojho účtu (toto vidíte vo svojom Control Center URL):

  • export METRICS_TOPIC=paa.public.accounts.myaccount.metrics
  • exportovať METADATA_TOPIC=paa.public.accounts.myaccount.metadata

Teraz by ste mali vidieť metriky spustením tohto príkazu:

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

Komu view metaúdaje, spustite nasledujúci príkaz (všimnite si, že sa to nebude aktualizovať tak často):

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

POZNÁMKA:
kafkacat”Klient Examples “na strane 14

Tým sa overí, že máme funkčné rozhranie API pre streamovanie z ovládacieho centra. S najväčšou pravdepodobnosťou však máte záujem o prístup k údajom z externého klienta. Nasledujúca časť popisuje, ako otvoriť Kafka pre externý prístup.

Otvorenie Kafku pre externých hostiteľov

POZNÁMKA: Tieto pokyny je potrebné spustiť na serveri Control Center.

V predvolenom nastavení je Kafka spustená v riadiacom centre nakonfigurovaná tak, aby počúvala iba na localhost pre interné použitie. Kafku je možné otvoriť pre externých klientov úpravou nastavení Kafky.

Pripojenie ku Kafkovi: Upozornenia

POZOR: Pozorne si to prečítajte, pretože ak nerozumiete týmto pojmom, môžete ľahko naraziť na problémy s pripojením s Kafkom.

V nastavení Control Center popísanom v tomto dokumente existuje iba jeden maklér Kafka.
Upozorňujeme však, že maklér Kafka má fungovať ako súčasť klastra Kafka, ktorý môže pozostávať z mnohých maklérov Kafka.
Pri pripojení k maklérovi Kafka nastaví klient Kafka prvotné pripojenie. Prostredníctvom tohto spojenia maklér Kafka následne vráti zoznam „inzerovaných poslucháčov“, čo je zoznam jedného alebo viacerých maklérov Kafka.
Po prijatí tohto zoznamu sa klient Kafka odpojí a potom sa znova pripojí k jednému z týchto inzerovaných poslucháčov. Inzerované prijímače musia obsahovať názvy hostiteľov alebo adresy IP, ktoré sú prístupné klientovi Kafka, inak sa klientovi nepodarí pripojiť.
Ak sa používa šifrovanie SSL, ktoré zahŕňa certifikát SSL, ktorý je viazaný na konkrétny názov hostiteľa, je ešte dôležitejšie, aby klient Kafka dostal správnu adresu, ku ktorej sa má pripojiť, pretože inak môže byť pripojenie odmietnuté.
Prečítajte si viac o Kafkových poslucháčoch tu: www.confluent.io/blog/kafka-listeners-explained

Šifrovanie SSL/TLS
Aby sme sa uistili, že iba dôveryhodní klienti majú povolený prístup k Kafke a Streaming API, musíme nakonfigurovať nasledovné:

  • Autentifikácia: Klienti musia poskytnúť používateľské meno a heslo prostredníctvom zabezpečeného spojenia SSL/TLS medzi klientom a Kafkou.
  • Autorizácia: Autentifikovaní klienti môžu vykonávať úlohy regulované zoznamami ACL.

Tu je koniecview:

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

*) Overenie používateľského mena/hesla vykonané na kanáli šifrovanom SSL

Ak chcete úplne pochopiť, ako funguje šifrovanie SSL/TLS pre Kafku, pozrite si oficiálnu dokumentáciu: docs.confluent.io/platform/current/kafka/encryption.html

Certifikát SSL/TLS skončilview

POZNÁMKA: V tejto podkapitole budeme používať nasledujúcu terminológiu:

Certifikát: Certifikát SSL podpísaný certifikačnou autoritou (CA). Každý maklér Kafka má jedného.
Úložisko kľúčov: Úložisko kľúčov file ktorý uchováva certifikát. Úložisko kľúčov file obsahuje súkromný kľúč certifikátu; preto je potrebné ho bezpečne uchovávať.
Truststore: A file obsahujúce certifikáty dôveryhodnej CA.

Ak chcete nastaviť autentifikáciu medzi externým klientom a Kafkou spustenou v Control Center, obe strany musia mať definovaný sklad kľúčov so súvisiacim certifikátom podpísaným certifikačnou autoritou (CA) spolu s koreňovým certifikátom CA.
Okrem toho musí mať klient aj truststore s koreňovým certifikátom CA.
Koreňový certifikát CA je spoločný pre makléra Kafka a klienta Kafka.

Vytvorenie požadovaných certifikátov
Toto je uvedené v časti „Dodatok“ na strane 17.

Konfigurácia Kafka Broker SSL/TLS v Control Center

POZNÁMKA: Tieto pokyny je potrebné spustiť na serveri Control Center.

POZNÁMKA: Skôr než budete pokračovať, musíte vytvoriť sklad kľúčov, ktorý obsahuje certifikát SSL, podľa pokynov v “Príloha” na strane 17. Cesty uvedené nižšie pochádzajú z týchto pokynov.
Úložisko kľúčov SSL je a file uložené na disku s file prípona .jks.

Keď budete mať k dispozícii požadované certifikáty pre makléra Kafka aj klienta Kafka, môžete pokračovať konfiguráciou makléra Kafka spusteného v Control Center. Potrebujete vedieť nasledovné:

  • : Verejný názov hostiteľa Control Center; toto musí byť riešiteľné a dostupné pre klientov Kafky.
  • : Heslo skladu kľúčov poskytnuté pri vytváraní certifikátu SSL.
  • a : Toto sú heslá, ktoré chcete nastaviť pre správcu a klienta. Upozorňujeme, že môžete pridať ďalších používateľov, ako je uvedené v príkladeample.

Upravte alebo pripojte (s prístupom sudo) vlastnosti uvedené nižšie v súbore /etc/kafka/server.properties, pričom vložte vyššie uvedené premenné, ako je znázornené:

POZOR: Neodstraňujte PLAINTEXT://localhost:9092; toto preruší funkčnosť Control Center, pretože interné služby nebudú schopné komunikovať.

  • # Adresy, na ktorých maklér Kafka počúva.
  • listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Toto sú hostitelia inzerovaní späť na akéhokoľvek klienta, ktorý sa pripája.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
  • ####### VLASTNÁ KONFIGURÁCIA
  • # KONFIGURÁCIA SSL
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=none
  • ssl.protocol=TLSv1.2
  • # Konfigurácia SASL
  • sasl.enabled.mechanisms=PLAIN
  • užívateľské meno = "admin" \
  • heslo =” ” \
  • user_admin=” ” \
  • user_client=” “;
  • # POZNÁMKA pomocou user_ je možné pridať ďalších používateľov =
  • # Autorizácia, zapnite ACL
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin

Nastavenie zoznamov riadenia prístupu (ACL)

Zapnutie ACL na localhost

UPOZORNENIE: Najprv musíme nastaviť ACL pre localhost, aby samotné Control Center malo stále prístup ku Kafke. Ak sa tak nestane, veci sa zlomia.

  • –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 User: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 User:ANONYMOUS –allow-host 127.0.0.1 –group '*'

Potom musíme povoliť ACL pre externý prístup len na čítanie, aby externí používatelia mohli čítať témy paa.public.*.

### Záznamy ACL pre anonymných používateľov /usr/lib/kafka/bin/kafka-acls.sh \

POZNÁMKA: Pre jemnejšiu kontrolu si pozrite oficiálnu dokumentáciu Kafka.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operation read – operation description \ –group 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operation read – operation description \ –topic paa.public. –predponou typ-vzoru zdroja

Keď to urobíte, musíte reštartovať služby:

### Záznamy ACL pre externých používateľov /usr/lib/kafka/bin/kafka-acls.sh \
  • reštartovanie služieb sudo ncc

Ak chcete overiť, že klient môže vytvoriť zabezpečené pripojenie, spustite nasledujúci príkaz na externom zariadení
klientsky počítač (nie na serveri Control Center). Nižšie, PUBLIC_HOSTNAME je názov hostiteľa Control Center:

  • openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep “Secure Renegotiation IS podporované”

Vo výstupe príkazu by ste mali vidieť certifikát servera, ako aj nasledujúce:

  • Secure Renegotiation IS podporovaná

Aby ste sa uistili, že interným službám bol udelený prístup na server Kafka, skontrolujte nasledujúci protokolfiles:

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

Overenie pripojenia externého klienta

kafkacat

POZNÁMKA: Tieto pokyny je potrebné spustiť na klientskom počítači (nie na serveri Control Center).
POZNÁMKA: Ak chcete zobraziť informácie o metrikách, skontrolujte, či je v riadiacom centre spustený aspoň jeden monitor.

Na overenie a overenie konektivity ako externý klient je možné použiť pomôcku kafkacat, ktorá bola nainštalovaná v časti „Overenie, že rozhranie API pre streamovanie funguje v riadiacom centre“ na strane 4.
Vykonajte nasledujúce kroky:

POZNÁMKA: Nižšie je CLIENT_USER používateľ, ktorý bol predtým špecifikovaný v file /etc/kafka/server.properties v Control Center: menovite user_client a tam nastavené heslo.
Koreňový certifikát CA použitý na podpísanie certifikátu SSL na strane servera musí byť prítomný na klientovi.

Vytvorte a file client.properties s nasledujúcim obsahom:

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

kde

  • {PATH_TO_CA_CERT} je umiestnenie koreňového certifikátu CA, ktorý používa maklér Kafka
  • {CLIENT_USER} a {CLIENT_PASSWORD} sú používateľské poverenia pre klienta.

Ak chcete zobraziť správu spotrebovanú kafkacatom, spustite nasledujúci príkaz:

  • exportovať KAFKA_FQDN=
  • export METRICS_TOPIC=paa.public.accounts. .metriky
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

kde {METRICS_TOPIC} je názov Kafkovej témy s predponou “paa.public.”.

POZNÁMKA: Staršie verzie kafkacatu neposkytujú voľbu -F na čítanie nastavení klienta z a file. Ak používate takúto verziu, musíte zadať rovnaké nastavenia z príkazového riadku, ako je uvedené nižšie.

kafkacat -b ${KAFKA_FQDN}:9093 \

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

Na ladenie pripojenia môžete použiť voľbu -d:

Laďte komunikáciu so spotrebiteľmi
kafkacat -d spotrebiteľ -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Laďte komunikáciu makléra
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Nezabudnite si prečítať dokumentáciu k používanej klientskej knižnici Kafka, pretože vlastnosti sa môžu líšiť od vlastností v client.properties.

Formát správy
Správy používané pre témy metrík a metadát sú serializované vo formáte protokolových vyrovnávacích pamätí (protobuf) (pozri developers.google.com/protocol-buffers). Schémy týchto správ majú nasledujúci formát:

Schéma protobuf metrík

  • syntax = "proto3";
  • importovať „google/protobuf/timestamp.proto“;
  • balík paa.streamingapi;
  • možnosť go_package = ".;paa_streamingapi";
  • Metriky správy {
  • google.protobuf.Timestamp timestamp = 1;
  • mapa hodnoty = 2;
  • int32 stream_id = 3;
  • }
  • /**
  • * Metrická hodnota môže byť celé číslo alebo s pohyblivou desatinnou čiarkou.
  • */
  • message MetricValue {
  • jeden z typu {
  • int64 int_val = 1;
  • float float_val = 2;
  • }
  • }

Metadata Protobuf Schema

  • syntax = "proto3";
  • balík paa.streamingapi;
  • možnosť go_package = ".;paa_streamingapi";
  • metadáta správy {
  • int32 stream_id = 1;
  • string názov_streamu = 2;
  • mapa tags = 13;
  • }

Klient napramples

POZNÁMKA: Tieto príkazy sú určené na spustenie na externom klientovi, naprample váš laptop alebo podobný, a nie v Control Center.
POZNÁMKA: Ak chcete zobraziť informácie o metrikách, skontrolujte, či je v riadiacom centre spustený aspoň jeden monitor.

Tarball Control Center obsahuje archív paa-streaming-api-client-examples.tar.gz (klient-examples), ktorý obsahuje example Python skript ukazujúci, ako používať Streaming API.

Inštalácia a konfigurácia klienta Examples
Nájdete klienta-exampsúbory v priečinku Paragon Active Assurance Control Center:

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

Ak chcete nainštalovať klient-exampsúborov na vašom externom klientskom počítači, postupujte takto:

  • # Vytvorte adresár na extrahovanie obsahu klienta examples tarball
  • mkdir paa-streaming-api-client-examples
  • # Extrahujte obsah klienta napramples tarball
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
  • # Prejdite do novovytvoreného adresára
  • cd paa-streaming-api-client-examples

klient-examples vyžaduje na spustenie Docker. Pokyny na stiahnutie a inštaláciu pre Docker nájdete na https://docs.docker.com/engine/install.

Pomocou klienta napramples
Klient-examples tools môžu bežať v základnom alebo pokročilom režime na zostavenie naprampsúbory rôznej zložitosti. V oboch prípadoch je možné spustiť aj examples s konfiguráciou file obsahujúce ďalšie vlastnosti pre ďalšie prispôsobenie klientskej strany.

Základný režim
V základnom režime sa metriky a ich metadáta streamujú oddelene. Za týmto účelom si klient vypočuje každú Kafkovu tému dostupnú pre externý prístup a prijaté správy jednoducho vytlačí do konzoly.
Na spustenie vykonávania základného examples, spustiť:

  • build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

kde ACCOUNT_SHORTNAME je krátky názov účtu, z ktorého chcete získať metriky.
K ukončeniu exekúcie example, stlačte Ctrl + C. (Spustenie môže byť mierne oneskorené, pretože klient čaká na časový limit.)

Pokročilý režim

POZNÁMKA: Metriky sa zobrazujú iba pre monitory HTTP spustené v riadiacom centre.

Spustenie v rozšírenom režime ukazuje koreláciu medzi metrikami a správami metadát. Toto je
je to možné vďaka prítomnosti poľa ID toku, ktoré odkazuje na zodpovedajúcu správu metadát, v každej správe metrík.
Na vykonanie pokročilých examples, spustiť:

  • build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

kde ACCOUNT_SHORTNAME je krátky názov účtu, z ktorého chcete získať metriky.
K ukončeniu exekúcie example, stlačte Ctrl + C. (Spustenie môže byť mierne oneskorené, pretože klient čaká na časový limit.)

Ďalšie nastavenia
Je možné prevádzkovať examples s dodatočnou konfiguráciou klienta pomocou –config-file možnosť, za ktorou nasleduje a file názov obsahujúci vlastnosti v tvare kľúč=hodnota.

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

POZNÁMKA: Všetky files odkazované v príkaze vyššie sa musia nachádzať v aktuálnom adresári a odkazovať sa na ne iba pomocou relatívnych ciest. To platí pre –config-file argument a na všetky položky v konfigurácii file ktoré opisujú file miest.

Overenie externého overenia klienta
Ak chcete overiť autentifikáciu klienta mimo riadiaceho centra pomocou client-exampvykonajte nasledujúce kroky:

V priečinku Paragon Active Assurance Control Center prepnite na paa-streaming-api-client-examppriečinok les:

cd paa-streaming-api-client-examples

  • Skopírujte koreňový certifikát CA ca-cert do aktuálneho adresára.
  • Vytvorte client.properties file s nasledujúcim obsahom:

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

kde {CLIENT_USER} a {CLIENT_PASSWORD} sú používateľské poverenia pre klienta.

Spustiť základné napramples:

  • exportovať KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –účet ACCOUNT_SHORTNAME
  • –config-file klient.vlastnosti

kde ACCOUNT_SHORTNAME je krátky názov účtu, z ktorého chcete získať metriky.

Spustiť pokročilý examples:

  • exportovať KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –účet ACCOUNT_SHORTNAME
  • –config-file klient.vlastnosti

Dodatok

V tejto prílohe popisujeme, ako vytvoriť:

  • úložisko kľúčov file na uloženie SSL certifikátu Kafka brokera
  • truststore file na uloženie koreňového certifikátu certifikačnej autority (CA), ktorý sa používa na podpísanie certifikátu makléra Kafka.

Vytvorenie certifikátu Kafka Broker
Vytvorenie certifikátu pomocou skutočnej certifikačnej autority (odporúča sa)
Odporúča sa získať skutočný certifikát SSL od dôveryhodnej CA.
Keď sa rozhodnete pre CA, skopírujte jej koreňový certifikát CA ca-cert file na svoju vlastnú cestu, ako je uvedené nižšie:

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

Vytvorte si vlastnú certifikačnú autoritu

POZNÁMKA: Za normálnych okolností by ste mali mať svoj certifikát podpísaný skutočnou certifikačnou autoritou; pozri predchádzajúci pododdiel. To, čo nasleduje, je len example.

Tu vytvoríme vlastný koreňový certifikát certifikačnej autority (CA). file platí 999 dní (neodporúča sa vo výrobe):

  • # Vytvorte adresár na uloženie CA
  • exportovať CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Vygenerujte certifikát CA
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -dní 999

Vytvorenie klientskeho Truststore
Teraz môžete vytvoriť truststore file ktorý obsahuje vyššie vygenerovaný ca-cert. Toto file bude potrebovať klient Kafka, ktorý bude pristupovať k Streaming API:

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

Teraz, keď je certifikát CA v úložisku dôveryhodnosti, klient bude dôverovať každému certifikátu, ktorý je ním podpísaný.
Mali by ste skopírovať file kafka.client.truststore.jks na známe miesto na vašom klientskom počítači a ukážte naň v nastaveniach.

Vytvorenie úložiska kľúčov pre makléra Kafka
Ak chcete vygenerovať certifikát SSL makléra Kafka a potom úložisko kľúčov kafka.server.keystore.jks, postupujte takto:

Generovanie SSL certifikátu
Nižšie je 999 počet dní platnosti úložiska kľúčov a FQDN je plne kvalifikovaný názov domény klienta (verejný názov hostiteľa uzla).

POZNÁMKA: Je dôležité, aby sa FQDN zhodovalo s presným názvom hostiteľa, ktorý klient Kafka použije na pripojenie k Riadiacemu centru.

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

Vytvorte žiadosť o podpis certifikátu a uložte ju do file s názvom cert-server-request:

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

Teraz by ste mali odoslať file cert-server-request vašej certifikačnej autorite (CA), ak používate skutočný. Potom vrátia podpísaný certifikát. Nižšie to budeme označovať ako cert-server-signed.

Podpísanie certifikátu SSL pomocou certifikátu CA, ktorý si vytvoríte sami

POZNÁMKA: Opäť platí, že používanie vlastnej CA sa v produkčnom systéme neodporúča.

Podpíšte certifikát pomocou CA prostredníctvom file cert-server-request, ktorý vytvorí podpísaný certifikát cert-server-signed. Pozri nižšie; ca-password je heslo nastavené pri vytváraní certifikátu CA.

  • cd /var/ssl/private openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-key \
    • – v požiadavke cert-server \
    • – podpísaný cert-serverom \
    • – dní 999 -CAcreateserial \
    • – passin pass:{ca-password}

Importujte podpísaný certifikát do úložiska kľúčov

Importujte koreňový certifikát ca-cert do úložiska kľúčov:

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

Importujte podpísaný certifikát označovaný ako cert-server-signed:

  • keytool -keystore kafka.server.keystore.jks \
    • – alias server \
    • – import \
    • – file podpísaný cert-serverom

The file kafka.server.keystore.jks by sa mal skopírovať do známeho umiestnenia na serveri Control Center a potom by sa mal odkazovať v /etc/kafka/server.properties.

Používanie Streaming API

V TEJTO ČASTI

  • Všeobecné | 20
  • Kafka Názvy tém | 21
  • Exampsúbory Používanie Streaming API | 21

generál
Streamovacie API načítava testovacie aj monitorovacie údaje. Nie je možné vyčleniť jednu z týchto kategórií.
Rozhranie API na streamovanie nezískava údaje z testov založených na skriptoch (ktoré sú v grafickom používateľskom rozhraní Control Center reprezentované obdĺžnikom namiesto skladačky), ako sú testy aktivácie služby Ethernet a testy transparentnosti.

Názvy tém Kafka
Názvy tém Kafka pre streamovacie API sú nasledovné, kde %s je krátky názov účtu Control Center (uvedený pri vytváraní účtu):

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

Exampo používaní Streaming API
Bývalýampsúbory, ktoré nasledujú, sa nachádzajú v tarballe paa-streaming-api-client-examples.tar.gz obsiahnutý v tarballe Control Center.
Po prvé, existuje základný example demonštruje, ako sa metriky a ich metadáta streamujú oddelene, a jednoducho vytlačte prijaté správy do konzoly. Môžete ho spustiť nasledovne:

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

Existuje aj pokročilejší example, kde sú korelované metriky a správy metadát. Na spustenie použite tento príkaz:

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

Na spustenie príkazov Docker, ako sú tie vyššie, musíte použiť sudo. Voliteľne môžete postupovať podľa krokov po inštalácii systému Linux, aby ste mohli spúšťať príkazy Docker bez sudo. Podrobnosti nájdete na docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, logo Juniper Networks, Juniper a Junos sú registrované ochranné známky spoločnosti Juniper Networks, Inc. v Spojených štátoch a iných krajinách. Všetky ostatné ochranné známky, servisné známky, registrované známky alebo registrované servisné známky sú majetkom ich príslušných vlastníkov. Juniper Networks nepreberá žiadnu zodpovednosť za akékoľvek nepresnosti v tomto dokumente. Juniper Networks si vyhradzuje právo zmeniť, upraviť, preniesť alebo inak revidovať túto publikáciu bez upozornenia. Copyright © 2023 Juniper Networks, Inc. Všetky práva vyhradené.

Dokumenty / zdroje

Softvér Juniper NETWORKS Streaming API [pdf] Používateľská príručka
Streamovací API softvér, API softvér, softvér

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *