Inženýrská jednoduchost
Průvodce rozhraním API pro streamování
Zavedení
Tato příručka popisuje, jak extrahovat data z Paragon Active Assurance prostřednictvím rozhraní API pro streamování produktu.
Rozhraní API i streamovací klient jsou součástí instalace Paragon Active Assurance.
Než však budete moci používat rozhraní API, je potřeba trochu konfigurace. To je popsáno v kapitole „Konfigurace rozhraní API pro streamování“ na stránce 1.
Nadview
Tato kapitola popisuje, jak nakonfigurovat rozhraní Streaming API, aby bylo možné přihlásit se k odběru zpráv metrik přes Kafka.
Níže si projdeme:
- Jak povolit Streaming API
- Jak nakonfigurovat Kafka, aby naslouchal externím klientům
- Jak nakonfigurovat Kafka pro používání ACL a nastavit šifrování SSL pro uvedené klienty
Co je Kafka?
Kafka je platforma pro streamování událostí, která umožňuje v reálném čase zachycovat data odeslaná z různých zdrojů událostí (senzory, databáze, mobilní zařízení) ve formě streamů událostí a také trvalé ukládání těchto streamů událostí pro pozdější vyhledávání a manipulaci.
S Kafkou je možné řídit streamování událostí end-to-end distribuovaným, vysoce škálovatelným, elastickým, chybovým a bezpečným způsobem.
POZNÁMKA: Kafka lze konfigurovat mnoha různými způsoby a byl navržen pro škálovatelnost a redundantní systémy. Tento dokument se zaměřuje pouze na to, jak jej nakonfigurovat, aby využíval funkci Streaming API, která se nachází v Paragon Active Assurance Control Center. Pro pokročilejší nastavení odkazujeme na oficiální dokumentaci Kafka: kafka.apache.org/26/documentation.html.
Terminologie
- Kafka: Platforma pro streamování událostí.
- Kafkovo téma: Sbírka událostí.
- Předplatitel/spotřebitel Kafka: Komponenta odpovědná za vyhledávání událostí uložených v tématu Kafka.
- Kafka broker: Server úložné vrstvy clusteru Kafka.
- SSL/TLS: SSL je zabezpečený protokol vyvinutý pro bezpečné odesílání informací přes internet. TLS je nástupcem SSL, představeného v roce 1999.
- SASL: Rámec, který poskytuje mechanismy pro ověřování uživatelů, kontrolu integrity dat a šifrování.
- Předplatitel rozhraní Streaming API: Komponenta zodpovědná za získávání událostí uložených v tématech definovaných v Paragon Active Assurance a určená pro externí přístup.
- Certifikační autorita: Důvěryhodná entita, která vydává a ruší certifikáty veřejného klíče.
- Kořenový certifikát certifikační autority: Certifikát veřejného klíče, který identifikuje certifikační autoritu.
Jak funguje Streaming API
Jak již bylo zmíněno, Streaming API umožňuje externím klientům získávat informace o metrikách z Kafky.
Všechny metriky shromážděné testovacími agenty během úlohy testu nebo monitorování se odesílají do služby Stream.
Po fázi zpracování služba Stream publikuje tyto metriky na Kafka spolu s dalšími metadaty.
Kafkova témata
Kafka má koncept témat, ke kterým jsou zveřejňována všechna data. V Paragon Active Assurance je k dispozici mnoho takových Kafkových témat; avšak pouze část z nich je určena pro externí přístup.
Každý účet Paragon Active Assurance v Control Center má dvě vyhrazená témata. Níže je ACCOUNT krátký název účtu:
- paa.public.accounts.{ACCOUNT}.metrics
- K tomuto tématu jsou publikovány všechny zprávy metrik pro daný účet
- Velké množství dat
- Vysoká frekvence aktualizací
- paa.public.accounts.{ACCOUNT}.metadata
- Obsahuje metadata související s daty metrik, napřample test, monitor nebo testovací agent spojený s metrikami
- Malé množství dat
- Nízká frekvence aktualizací
Povolení rozhraní API pro streamování
POZNÁMKA: Tyto instrukce je třeba spustit na serveru Control Center pomocí sudo.
Vzhledem k tomu, že rozhraní Streaming API přidává do Control Center určitou režii, není ve výchozím nastavení povoleno. Pro aktivaci API musíme nejprve povolit publikování metrik do Kafky v hlavní konfiguraci file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = Pravda
VAROVÁNÍ: Povolení této funkce může ovlivnit výkon Control Center. Ujistěte se, že jste svou instanci odpovídajícím způsobem dimenzovali.
Dále, abyste povolili předávání těchto metrik správným tématům Kafka: - /etc/netrounds/metrics.yaml
streaming-api: true
Chcete-li povolit a spustit služby Streaming API, spusťte:
služby sudo ncc umožňují metriky timescaledb služby sudo ncc spouštějí metriky timescaledb
Nakonec restartujte služby:
restartování služeb sudo ncc
Ověření, že Streaming API funguje v Control Center
POZNÁMKA: Tyto pokyny je třeba spustit na serveru Control Center.
Nyní si můžete ověřit, že dostáváte metriky ke správným Kafkovým tématům. Chcete-li tak učinit, nainstalujte obslužný program kafkacat:
aktualizace sudo apt-get sudo apt-get install kafkacat
Pokud máte v Control Center spuštěný test nebo monitor, měli byste být schopni používat kafkacat k přijímání metrik a metadat o těchto tématech.
Nahraďte můj účet krátkým názvem svého účtu (toto vidíte v Ovládacím centru URL):
vývozní METRICS_TOPIC=paa.public.accounts.myaccount.metrics
vývozní METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Nyní byste měli vidět metriky spuštěním tohoto příkazu:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Na view metadata, spusťte následující příkaz (všimněte si, že se nebude aktualizovat tak často):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
POZNÁMKA:
kafkacat”Klient Přamples “na stránce 14
Tím ověříme, že máme funkční rozhraní API pro streamování z Control Center. Nejpravděpodobněji však máte zájem o přístup k datům z externího klienta. Další část popisuje, jak otevřít Kafka pro externí přístup.
Otevření Kafky pro externí hostitele
POZNÁMKA: Tyto pokyny je třeba spustit na serveru Control Center.
Ve výchozím nastavení je Kafka spuštěná v Řídicím centru nakonfigurována tak, aby naslouchala pouze na localhost pro interní použití.
Kafku je možné otevřít pro externí klienty úpravou nastavení Kafky.
Připojení ke Kafka: Upozornění
POZOR: Přečtěte si to prosím pozorně, protože pokud těmto pojmům nerozumíte, můžete snadno narazit na problémy s připojením k Kafkovi.
V nastavení Control Center popsaném v tomto dokumentu je pouze jeden Kafka broker.
Mějte však na paměti, že broker Kafka má fungovat jako součást clusteru Kafka, který se může skládat z mnoha brokerů Kafka.
Při připojení ke zprostředkovateli Kafka je počáteční připojení nastaveno klientem Kafka. Po tomto spojení Kafka broker zase vrátí seznam „inzerovaných posluchačů“, což je seznam jednoho nebo více Kafka brokerů.
Po obdržení tohoto seznamu se klient Kafka odpojí a poté se znovu připojí k jednomu z těchto inzerovaných posluchačů. Inzerované posluchače musí obsahovat názvy hostitelů nebo IP adresy, které jsou přístupné klientovi Kafka, jinak se klientovi nepodaří připojit.
Pokud je použito šifrování SSL, které zahrnuje certifikát SSL, který je vázán na konkrétní název hostitele, je ještě důležitější, aby klient Kafka obdržel správnou adresu, ke které se může připojit, protože jinak může být připojení odmítnuto.
Více o Kafkových posluchačích čtěte zde: www.confluent.io/blog/kafka-listeners-explained
Šifrování SSL/TLS
Abychom zajistili, že pouze důvěryhodní klienti budou mít přístup ke Kafka a Streaming API, musíme nakonfigurovat následující:
- Autentizace: Klienti musí poskytnout uživatelské jméno a heslo prostřednictvím zabezpečeného spojení SSL/TLS mezi klientem a Kafkou.
- Autorizace: Autentizovaní klienti mohou provádět úkoly regulované ACL.
Tady je konecview:
*) Ověření uživatelského jména/hesla se provádí na kanálu šifrovaném SSL
Chcete-li plně porozumět tomu, jak funguje šifrování SSL/TLS pro Kafka, podívejte se prosím na oficiální dokumentaci: docs.confluent.io/platform/current/kafka/encryption.html
Konec certifikátu SSL/TLSview
POZNÁMKA: V této podsekci budeme používat následující terminologii:
Certifikát: Certifikát SSL podepsaný certifikační autoritou (CA). Každý Kafka broker má jednoho.
Úložiště klíčů: Úložiště klíčů file který uchovává certifikát. Úložiště klíčů file obsahuje soukromý klíč certifikátu; proto je třeba jej bezpečně uchovávat.
Truststore: A file obsahující certifikáty důvěryhodných CA.
Chcete-li nastavit autentizaci mezi externím klientem a Kafkou spuštěnou v Control Center, musí mít obě strany definované úložiště klíčů se souvisejícím certifikátem podepsaným certifikační autoritou (CA) spolu s kořenovým certifikátem CA.
Kromě toho musí mít klient také úložiště důvěryhodnosti s kořenovým certifikátem CA.
Kořenový certifikát CA je společný pro brokera Kafka a klienta Kafka.
Vytvoření požadovaných certifikátů
To je popsáno v „Dodatek“ na stránce 17.
Konfigurace Kafka Broker SSL/TLS v Control Center
POZNÁMKA: Tyto pokyny je třeba spustit na serveru Control Center.
POZNÁMKA: Než budete pokračovat, musíte vytvořit úložiště klíčů, které obsahuje certifikát SSL, podle pokynů v části “Dodatek” na stránce 17. Cesty uvedené níže pocházejí z těchto pokynů.
Úložiště klíčů SSL je a file uloženy na disku s file rozšíření .jks.
Jakmile budete mít k dispozici požadované certifikáty vytvořené pro brokera Kafka i klienta Kafka, můžete pokračovat konfigurací brokera Kafka spuštěného v Control Center. Potřebujete vědět následující:
- : Veřejné jméno hostitele Control Center; to musí být řešitelné a dostupné pro klienty Kafky.
- : Heslo úložiště klíčů poskytnuté při vytváření certifikátu SSL.
- a : Toto jsou hesla, která chcete nastavit pro uživatele admin a klienta.
Všimněte si, že můžete přidat další uživatele, jak je uvedeno v příkladuample.
Upravte nebo připojte (s přístupem sudo) níže uvedené vlastnosti v /etc/kafka/server.properties a vložte výše uvedené proměnné, jak je znázorněno:
VAROVÁNÍ: Neodstraňujte PLAINTEXT://localhost:9092 ; to naruší funkčnost Control Center, protože interní služby nebudou schopny komunikovat.
…# Adresy, na kterých broker Kafka naslouchá.
posluchači=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Toto jsou hostitelé inzerovaní zpět k libovolnému připojujícímu se klientovi.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### VLASTNÍ KONFIG
# KONFIGURACE 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
# Konfigurace SASL sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginVyžaduje se duleMo \ username=”admin” \ password=” ” \ user_admin=” ” \ user_client=” “; # POZNÁMKA více uživatelů lze přidat pomocí user_ =
# Autorizace, zapněte ACL authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin
Nastavení seznamů řízení přístupu (ACL)
Zapnutí ACL na localhost
VAROVÁNÍ: Nejprve musíme nastavit ACL pro localhost, aby samotné Control Center mělo stále přístup ke Kafkovi. Pokud se tak nestane, věci se zlomí.
######### Záznamy ACL pro anonymní uživatele
/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 –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 '*'
Poté musíme povolit ACL pro externí přístup pouze pro čtení, aby externí uživatelé mohli číst témata paa.public.*.
POZNÁMKA: Podrobnější kontrolu naleznete v oficiální dokumentaci Kafka.
######### Záznamy ACL pro externí uživatele
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operace čtení –operace 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:* –operace číst –operace popsat \
–téma paa.veřejnost. –předponou typ-vzoru zdroje
Jakmile to uděláte, musíte restartovat služby:
restartování služeb sudo ncc
Chcete-li ověřit, že klient může navázat zabezpečené připojení, spusťte následující příkaz na externím klientském počítači (nikoli na serveru Control Center). Níže, PUBLIC_HOSTNAME je název hostitele Control Center:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep “Secure Renegotiation IS podporován”
Ve výstupu příkazu byste měli vidět certifikát serveru a také následující:
Secure Renegotiation IS podporována
Abyste zajistili, že interním službám byl udělen přístup k serveru Kafka, zkontrolujte následující protokolfiles:
Ověřování připojení externího klienta
kafkacat
POZNÁMKA: Tyto pokyny je třeba spouštět na klientském počítači (nikoli na serveru Control Center).
POZNÁMKA: Chcete-li zobrazit informace o metrikách, ujistěte se, že je v Control Center spuštěn alespoň jeden monitor.
Chcete-li ověřit a ověřit připojení jako externí klient, je možné použít obslužný program kafkacat, který byl nainstalován v části „Ověření, že rozhraní API pro streamování funguje v Control Center“ na straně 4.
Proveďte následující kroky:
POZNÁMKA: Níže je CLIENT_USER uživatel, který byl dříve uveden v file /etc/kafka/server.properties in
Control Center: jmenovitě user_client a heslo tam nastavené.
Kořenový certifikát CA použitý k podpisu certifikátu SSL na straně serveru musí být přítomen na klientovi.
- Vytvořte a file client.properties s následujícím obsahem:
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 umístění kořenového certifikátu CA používaného brokerem Kafka
• {CLIENT_USER} a {CLIENT_PASSWORD} jsou přihlašovací údaje klienta.
• Spusťte následující příkaz, abyste viděli zprávu spotřebovanou kafkacat:
exportovat 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ázev Kafkova tématu s předponou „paa.public.“.
POZNÁMKA: Starší verze kafkacat neposkytují volbu -F pro čtení nastavení klienta z a file. Pokud používáte takovou verzi, musíte zadat stejná nastavení z příkazového řádku, jak je uvedeno níže.
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
Chcete-li ladit připojení, můžete použít volbu -d:
Ladění spotřebitelské komunikace
kafkacat -d spotřebitel -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Ladění komunikace zprostředkovatele
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Nezapomeňte si prostudovat dokumentaci k používané klientské knihovně Kafka, protože vlastnosti se mohou lišit od vlastností v client.properties.
Formát zprávy
Zprávy používané pro metriky a témata metadat jsou serializovány ve formátu Protocol buffers (protobuf) (viz developers.google.com/protocol-buffers). Schémata těchto zpráv mají následující formát:
Schéma metriky Protobuf
syntaxe = "proto3"; importovat „google/protobuf/timestamp.proto“; balíček paa.streamingapi; volba go_package = ".;paa_streamingapi"; message Metrics { google.protobuf.Timestamp timestamp = 1; mapa hodnoty = 2; int32 id_měření = 3; } /** * Hodnota metriky může být celé číslo nebo plovoucí. */
message MetricValue { oneof type { int64 int_val = 1; float float_val = 2; } }
Metadata Protobuf Schéma
syntaxe = "proto3"; balíček paa.streamingapi; volba go_package = ".;paa_streamingapi"; message Metadata { int32 id_měření = 1; řetězec název_měření = 2; mapa tags = 13; }
Klient Přamples
POZNÁMKA: Tyto příkazy jsou určeny ke spuštění na externím klientovi, napřample váš notebook nebo podobný, a ne v Control Center.
POZNÁMKA: Chcete-li zobrazit informace o metrikách, ujistěte se, že je v Control Center spuštěn alespoň jeden monitor.
Tarball Control Center obsahuje archiv paa-streaming-api-client-examples.tar.gz (klient-examples), který obsahuje example Python skript ukazující, jak používat Streaming API.
Instalace a konfigurace klienta Examples
Najdete klienta-exampsouborů ve složce Paragon Active Assurance Control Center:
exportovat CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examples*
Chcete-li nainstalovat klient-exampsouborů na vašem externím klientském počítači postupujte následovně:
# Vytvořte adresář pro extrahování obsahu klienta examples tarball mkdir paa-streaming-api-client-examples
# Extrahujte obsah klienta examples tarball tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Přejděte do nově vytvořeného adresáře cd paa-streaming-api-client-examples klient-examples vyžaduje ke spuštění Docker. Pokyny ke stažení a instalaci pro Docker naleznete na https://docs.docker.com/engine/install.
Pomocí klienta Examples
Klient-examples tools mohou běžet buď v základním, nebo pokročilém režimu pro sestavení exampsoubory různé složitosti. V obou případech je možné provozovat i examples s konfigurací file obsahující další vlastnosti pro další přizpůsobení klientské strany.
Základní režim V základním režimu jsou metriky a jejich metadata streamovány samostatně. Za tímto účelem si klient poslechne každé Kafkovo téma dostupné pro externí přístup a přijaté zprávy jednoduše vytiskne do konzole.
Chcete-li zahájit provádění základního examples, spustit: ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
kde ACCOUNT_SHORTNAME je krátký název účtu, ze kterého chcete získat metriky.
K ukončení exekuce example stiskněte Ctrl + C. (Před zastavením provádění může nastat malé zpoždění, protože klient čeká na událost časového limitu.)
Pokročilý režim
POZNÁMKA: Metriky se zobrazují pouze pro monitory HTTP spuštěné v Řídicím centru.
Spuštění v pokročilém režimu ukazuje korelaci mezi metrikami a zprávami metadat. To je možné díky přítomnosti pole ID toku, které odkazuje na odpovídající zprávu metadat, v každé zprávě metrik.
Chcete-li provést pokročilé examples, spusťte: ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME kde ACCOUNT_SHORTNAME je krátký název účtu, ze kterého chcete získat metriky.
K ukončení exekuce example stiskněte Ctrl + C. (Před zastavením provádění může nastat malé zpoždění, protože klient čeká na událost časového limitu.)
Další nastavení
Je možné provozovat exampsouborů s další konfigurací klienta pomocí –config-file možnost následovaná a file název obsahující vlastnosti ve tvaru klíč=hodnota.
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file client_config.properties
POZNÁMKA: Vše files odkazovaná ve výše uvedeném příkazu musí být umístěna v aktuálním adresáři a odkazována pouze pomocí relativních cest. To platí jak pro –config-file argument a na všechny položky v konfiguraci file které popisují file umístění.
Ověřování externího ověřování klienta
Chcete-li ověřit ověření klienta mimo Řídicí centrum pomocí client-examples, proveďte následující kroky:
- Ze složky Paragon Active Assurance Control Center se přepněte na paa-streaming-api-clientexampsložka les:
cd paa-streaming-api-client-examples - Zkopírujte kořenový certifikát CA ca-cert do aktuálního adresáře.
- Vytvořte client.properties file s následujícím obsahem:
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} jsou přihlašovací údaje klienta. - Spustit základní examples:
exportovat KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –account ACCOUNT_SHORTNAME
–config-file client.properties kde ACCOUNT_SHORTNAME je krátký název účtu, ze kterého chcete získat metriky. - Spustit pokročilé examples:
exportovat KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –account ACCOUNT_SHORTNAME–config-file klient.vlastnosti
Dodatek
V této příloze popisujeme, jak vytvořit:
- úložiště klíčů file pro uložení SSL certifikátu Kafka brokera
- důvěryhodný obchod file pro uložení kořenového certifikátu certifikační autority (CA) používaného k podpisu certifikátu brokera Kafka.
Vytvoření certifikátu Kafka Broker
Vytvoření certifikátu pomocí skutečné certifikační autority (doporučeno)
Doporučuje se získat skutečný certifikát SSL od důvěryhodné CA.
Jakmile se rozhodnete pro CA, zkopírujte jejich kořenový certifikát CA ca-cert file k vaší vlastní cestě, jak je uvedeno níže:
export CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
Vytvořte si vlastní certifikační autoritu
POZNÁMKA: Normálně byste měli mít svůj certifikát podepsaný skutečnou certifikační autoritou; viz předchozí pododdíl. To, co následuje, je jen example.
Zde vytvoříme vlastní kořenový certifikát certifikační autority (CA). file platí 999 dní (nedoporučuje se ve výrobě):
# Vytvořte adresář pro uložení exportu CA 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 -days 999
Vytvoření klientského důvěryhodného úložiště
Nyní můžete vytvořit důvěryhodné úložiště file který obsahuje výše vygenerovaný ca-cert. Tento file bude potřebovat klient Kafka, který bude přistupovat k Streaming API:
keytool -keystore kafka.client.truststore.jks \ -alias CARoot \ -importcert -file ${CA_PATH}/ca-cert
Nyní, když je certifikát CA v úložišti důvěryhodnosti, bude klient důvěřovat všem certifikátům, které jsou s ním podepsány.
Měli byste zkopírovat file kafka.client.truststore.jks do známého umístění na vašem klientském počítači a ukažte na něj v nastavení.
Vytvoření úložiště klíčů pro Kafka Broker
Chcete-li vygenerovat SSL certifikát Kafka brokera a poté úložiště klíčů kafka.server.keystore.jks, postupujte následovně:
Generování SSL certifikátu
Níže 999 je počet dní platnosti úložiště klíčů a FQDN je plně kvalifikovaný název domény klienta (veřejný název hostitele uzlu).
POZNÁMKA: Je důležité, aby FQDN přesně odpovídalo názvu hostitele, který klient Kafka použije pro připojení k Řídicímu 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 \ -platnost 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
Vytvořte žádost o podpis certifikátu a uložte ji do file pojmenovaný požadavek-cert-server:
keytool -keystore kafka.server.keystore.jks \ -alias server \ -certreq \ -file cert-server-request
Nyní byste měli odeslat file cert-server-request vaší certifikační autoritě (CA), pokud používáte skutečný. Poté vrátí podepsaný certifikát. Níže to budeme označovat jako cert-server-signed. Podepsání certifikátu SSL pomocí certifikátu CA, který si sám vytvořil
POZNÁMKA: Opět platí, že použití vlastního CA se v produkčním systému nedoporučuje. Podepište certifikát pomocí CA pomocí file cert-server-request, která vytvoří podepsaný certifikát cert-server-signed. Viz. níže; ca-password je heslo nastavené při vytváření certifikátu CA.
cd /var/ssl/private openssl x509 -req \ -CA ${CA_PATH}/ca-cert \ -CAkey ${CA_PATH}/ca-key \ -in cert-server-request \ -out cert-server-signed \ -dny 999 -CAcreatesserial \ -passin pass:{ca-password}
Import podepsaného certifikátu do úložiště klíčů
Importujte kořenový certifikát ca-cert do úložiště klíčů:
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
Importujte podepsaný certifikát označovaný jako cert-server-signed:
keytool -keystore kafka.server.keystore.jks \ -alias server \ -import \ -file podepsán cert-server
The file kafka.server.keystore.jks by měl být zkopírován do známého umístění na serveru Řídicího centra a poté odkazován v /etc/kafka/server.properties.
Pomocí Streaming API
Generál
Streamovací API načítá testovací i monitorovací data. Není možné vyčlenit jednu z těchto kategorií.
Rozhraní API pro streamování nenačítá data z testů založených na skriptech (které jsou v grafickém uživatelském rozhraní Control Center reprezentovány obdélníkem místo skládačky), jako jsou testy aktivace služby Ethernet a testy transparentnosti.
Názvy témat Kafka
Názvy témat Kafka pro rozhraní API pro streamování jsou následující, kde %s je krátký název ovládacího prvku
Středový účet (uveden při vytváření účtu):
const (exporterName = “kafka”metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics”)
Exampo používání Streaming API
Bývalýampsoubory, které následují, se nacházejí v archivu paa-streaming-api-client-examples.tar.gz obsažený v tarballu Control Center.
Za prvé, existuje základní example demonstrující, jak jsou metriky a jejich metadata streamovány odděleně, a jednoduše tisknout přijaté zprávy do konzole. Můžete jej spustit následovně: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Existuje i pokročilejší example kde jsou metriky a zprávy metadat korelovány. Ke spuštění použijte tento příkaz:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME Ke spuštění příkazů Dockeru, jako jsou ty výše, musíte použít sudo. Volitelně můžete postupovat podle kroků po instalaci systému Linux, abyste mohli spouštět příkazy Docker bez sudo.
Podrobnosti naleznete na docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, logo Juniper Networks, Juniper a Junos jsou registrované ochranné známky společnosti Juniper Networks, Inc. ve Spojených státech a dalších zemích. Všechny ostatní ochranné známky, servisní známky, registrované známky nebo registrované servisní známky jsou majetkem příslušných vlastníků. Juniper Networks nepřebírá žádnou odpovědnost za jakékoli nepřesnosti v tomto dokumentu. Juniper Networks si vyhrazuje právo změnit, upravit, převést nebo jinak revidovat tuto publikaci bez upozornění. Copyright © 2022 Juniper Networks, Inc. Všechna práva vyhrazena.
Dokumenty / zdroje
![]() |
Juniper Streaming API [pdfUživatelská příručka Streamovací API, API |