Juniper-logo

Juniper NETWORKS Streaming API SoftwareJuniper-NETWORKS-Streaming-API-Software-produkto

Impormasyon sa Produkto

Mga detalye

  • Ngalan sa Produkto: Paragon Active Assurance
  • Bersyon: 4.1
  • Petsa sa Gipatik: 2023-03-15

Pasiuna:
Kini nga giya naghatag mga panudlo kung giunsa pagkuha ang datos gikan sa Paragon Active Assurance gamit ang streaming API sa produkto. Ang streaming nga kliyente ug API gilakip sa instalasyon sa Paragon Active Assurance, apan gikinahanglan ang pipila ka configuration sa dili pa gamiton ang API. Ang proseso sa pag-configure nasakup sa seksyon nga "Pag-configure sa Streaming API".

Pag-configure sa Streaming API:
Ang mosunod nga mga lakang naglatid sa proseso sa pag-configure sa streaming API:

Tapos naview
Ang Kafka usa ka platform sa pag-streaming sa panghitabo nga gidisenyo alang sa real-time nga pagkuha ug pagtipig sa mga datos gikan sa lainlaing mga gigikanan. Gitugotan niini ang pagdumala sa mga sapa sa panghitabo sa usa ka giapod-apod, scalable, fault-tolerant, ug luwas nga paagi. Kini nga giya nagpunting sa pag-configure sa Kafka aron magamit ang bahin sa Streaming API sa Paragon Active Assurance Control Center.

Terminolohiya
Gitugotan sa Streaming API ang mga kliyente sa gawas nga makuha ang kasayuran sa sukatan gikan sa Kafka. Ang mga sukatan nga nakolekta sa mga Ahente sa Pagsulay sa panahon sa usa ka pagsulay o buluhaton sa pag-monitor gipadala sa serbisyo sa Stream. Pagkahuman sa pagproseso, gipatik sa serbisyo sa Stream kini nga mga sukatan sa Kafka kauban ang dugang nga metadata.

Mga Hilisgutan sa Kafka
Ang Streaming API naggamit sa mga hilisgutan sa Kafka sa pag-organisar ug pagtipig sa mga sukatan ug metadata. Ang mga hilisgutan sa Kafka mahimong mabuhat ug madumala sumala sa piho nga mga kinahanglanon.

Pagpaandar sa Streaming API
Aron mahimo ang Streaming API, sunda kini nga mga lakang:

  1. Pagdalagan ang mosunod nga mga sugo sa Control Center server gamit ang sudo:
KAFKA_METRICS_ENABLED = Ang tinuod nga sudo ncc nga mga serbisyo makapahimo sa timescaledb metrics sudo ncc services magsugod sa timescaledb metrics sudo ncc services restart

Pagtino nga ang Streaming API Naglihok sa Control Center:
Aron mapamatud-an nga nakadawat ka mga sukatan sa husto nga mga hilisgutan sa Kafka:

  1. I-install ang kafkacat utility gamit ang mosunod nga mga sugo:
    sudo apt-get update
    sudo apt-get install kafkacat
  1. Ilisan ang "myaccount" sa mubo nga ngalan sa imong account sa
    Control Center URL:
    export METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    export METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Pagdalagan ang mosunod nga sugo sa view metrics:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Nota: Ang sugo sa ibabaw magpakita sa metrics.
  2. Sa view metadata, padagana ang mosunod nga sugo:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Nota: Ang sugo sa ibabaw magpakita sa metadata, apan dili kini mag-update sa kanunay.

Kliyente Examples
Para sa kliyente examples ug dugang nga impormasyon, tan-awa ang pahina 14 sa manwal sa paggamit.

FAQ (Frequently Asked Questions)

  • P: Unsa ang Paragon Active Assurance?
    A: Ang Paragon Active Assurance usa ka produkto nga naghatag mga kapabilidad sa pagmonitor ug pagsulay.
  • P: Unsa ang Streaming API?
    A: Ang Streaming API usa ka bahin sa Paragon Active Assurance nga nagtugot sa mga kliyente sa gawas sa pagkuha sa impormasyon sa metrics gikan sa Kafka.
  • P: Unsaon nako pagpagana ang Streaming API?
    A: Aron mahimo ang Streaming API, sunda ang mga lakang nga gilatid sa seksyon nga "Pag-enable sa Streaming API" sa manwal sa gumagamit.
  • P: Unsaon nako pagmatuod nga ang Streaming API nagtrabaho?
    A: Tan-awa ang seksyon nga "Pagpamatuod nga ang Streaming API Naglihok sa Control Center" alang sa mga panudlo kung giunsa pag-verify ang pagpaandar sa Streaming API.

Pasiuna

Kini nga giya naghulagway kung giunsa pagkuha ang datos gikan sa Paragon Active Assurance pinaagi sa streaming API sa produkto.
Ang API ingon man ang streaming nga kliyente gilakip sa pag-install sa Paragon Active Assurance. Bisan pa, gikinahanglan ang gamay nga pag-configure sa dili pa nimo magamit ang API. Nasakup kini sa "Pag-configure sa Streaming API" sa panid 1 nga kapitulo.

Tapos naview
Kini nga kapitulo naghulagway kung unsaon pag-configure ang Streaming API aron tugutan ang pag-subscribe sa mga mensahe sa metrics pinaagi sa Kafka.
pr
Sa ubos kita moagi sa:

  • Giunsa pagpagana ang Streaming API
  • Giunsa ang pag-configure sa Kafka aron maminaw sa mga kliyente sa gawas
  • Giunsa pag-configure ang Kafka aron magamit ang mga ACL ug i-set up ang SSL encryption alang sa giingon nga mga kliyente

Unsa ang Kafka?
Ang Kafka usa ka plataporma sa pag-streaming sa panghitabo nga nagtugot sa real-time nga pagkuha sa mga datos nga gipadala gikan sa nagkalain-laing mga tinubdan sa panghitabo (sensors, databases, mobile devices) sa porma sa mga stream sa panghitabo, ingon man ang lig-on nga pagtipig niini nga mga stream sa panghitabo alang sa ulahi nga pagkuha ug pagmaniobra.
Uban sa Kafka posible nga madumala ang event streaming end-to-end sa usa ka distributed, highly scalable, elastic, fault-tolerant, ug secure nga paagi.

NOTA: Ang Kafka mahimong ma-configure sa daghang lain-laing mga paagi ug gidisenyo alang sa scalability ug sobra nga mga sistema. Kini nga dokumento nagpunting lamang kung giunsa kini i-configure aron magamit ang bahin sa Streaming API nga makita sa Paragon Active Assurance Control Center. Para sa mas abante nga mga setup among gi-refer ang opisyal nga dokumentasyon sa Kafka: kafka.apache.org/26/documentation.html.

Terminolohiya

  • Kafka: plataporma sa pag-streaming sa panghitabo.
  • Hilisgutan sa Kafka: Koleksyon sa mga panghitabo.
  • Kafka subscriber/consumer: Component nga responsable sa pagkuha sa mga panghitabo nga gitipigan sa usa ka Kafka nga hilisgutan.
  • Kafka broker: Storage layer server sa usa ka Kafka cluster.
  • SSL/TLS: Ang SSL usa ka luwas nga protocol nga gihimo alang sa pagpadala sa impormasyon nga luwas pinaagi sa Internet. Ang TLS mao ang manununod sa SSL, nga gipaila niadtong 1999.
  • SASL: Framework nga naghatag ug mga mekanismo para sa user authentication, data integrity checking, ug encryption.
  • Streaming API subscriber: Component nga responsable sa pagkuha sa mga panghitabo nga gitipigan sa mga hilisgutan nga gihubit sa Paragon Active Assurance ug gituyo alang sa external access.
  • Awtoridad sa Sertipiko: Usa ka kasaligan nga entidad nga nag-isyu ug nagtangtang sa mga yawe sa publiko nga sertipiko.
  • Sertipiko sa gamut nga Sertipiko sa Awtoridad: Sertipiko sa yawe sa publiko nga nagpaila sa Awtoridad sa Sertipiko.

Giunsa Naglihok ang Streaming API
Sama sa nahisgotan na, ang Streaming API nagtugot sa mga kliyente sa gawas sa pagkuha sa impormasyon mahitungod sa mga sukatan gikan sa Kafka.

Ang tanan nga mga sukatan nga nakolekta sa mga Ahente sa Pagsulay sa panahon sa usa ka pagsulay o buluhaton sa pag-monitor gipadala sa serbisyo sa Stream. Pagkahuman sa yugto sa pagproseso, ang serbisyo sa Stream nagpatik sa mga sukatan sa Kafka kauban ang dugang nga metadata.

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

Mga Hilisgutan sa Kafka
Ang Kafka adunay konsepto sa mga hilisgutan diin ang tanan nga datos gipatik. Sa Paragon Active Assurance adunay daghang ingon nga Kafka nga mga hilisgutan nga magamit; bisan pa, usa lamang ka subset niini ang gituyo alang sa gawas nga pag-access.
Ang matag Paragon Active Assurance account sa Control Center adunay duha ka gipahinungod nga mga hilisgutan. Sa ubos, ang ACCOUNT mao ang mubo nga ngalan sa account:

  • paa.public.accounts.{ACCOUNT}.metrics
    • Ang tanan nga mga mensahe sa metrics para sa gihatag nga account gipatik sa kini nga hilisgutan
    • Daghang datos
    • Taas nga frequency sa pag-update
  • paa.public.accounts.{ACCOUNT}.metadata
    • Naglangkob sa metadata nga may kalabotan sa datos sa sukatan, pananglitanampang pagsulay, monitor o Test Ahente nga may kalabutan sa mga sukatan
    • Gamay nga kantidad sa datos
    • Ubos nga frequency sa pag-update

Pagpaandar sa Streaming API

NOTA: Kini nga mga panudlo ipadagan sa server sa Control Center gamit ang sudo.

Tungod kay ang Streaming API nagdugang sa pipila ka overhead sa Control Center, dili kini mahimo pinaagi sa default. Aron mahimo ang API, kinahanglan una namon nga i-enable ang pagmantala sa mga sukatan sa Kafka sa panguna nga pagsulud file:

KAFKA_METRICS_ENABLED = Tinuod

WARNING: Ang pagpagana niini nga bahin mahimong makaapekto sa pasundayag sa Control Center. Siguroha nga imong gisukod ang imong instance sumala niana.

Sunod, aron mahimo ang pagpasa sa kini nga mga sukatan sa husto nga mga hilisgutan sa Kafka:

streaming-api: tinuod

Aron mahimo ug masugdan ang mga serbisyo sa Streaming API, pagdagan:

  • Ang mga serbisyo sa sudo ncc makahimo sa timescaledb metrics
  • Ang mga serbisyo sa sudo ncc nagsugod sa timescaledb metrics

Sa katapusan, i-restart ang mga serbisyo:

  • sudo ncc nga mga serbisyo restart

Pagtino nga ang Streaming API Naglihok sa Control Center

NOTA: Kini nga mga panudlo ipadagan sa server sa Control Center.

Mahimo nimong mapamatud-an nga nakadawat ka mga sukatan sa husto nga mga hilisgutan sa Kafka. Aron mahimo kini, i-install ang kafkacat utility:

  • sudo apt-get update
  • sudo apt-get install kafkacat

Kung ikaw adunay pagsulay o monitor nga nagdagan sa Control Center, kinahanglan nimo nga magamit ang kafkacat aron makadawat mga sukatan ug metadata sa kini nga mga hilisgutan.
Ilisan ang myaccount sa mubo nga ngalan sa imong account (kini ang imong makita sa imong Control Center URL):

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

Kinahanglan nimong makita karon ang mga sukatan pinaagi sa pagpadagan niini nga mando:

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

Sa view metadata, padagana ang mosunod nga sugo (timan-i nga dili kini kanunay nga i-update):

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

NOTA:
kafkacat”Kliyente Examples ”sa panid 14

Kini nagpamatuod nga kami adunay usa ka nagtrabaho nga Streaming API gikan sa sulod sa Control Center. Bisan pa, lagmit nga interesado ka sa pag-access sa datos gikan sa usa ka kliyente sa gawas. Ang sunod nga seksyon naghulagway kung giunsa ang pag-abli sa Kafka alang sa eksternal nga pag-access.

Pag-abli sa Kafka alang sa External Hosts

NOTA: Kini nga mga panudlo ipadagan sa server sa Control Center.

Sa default, ang Kafka nga nagdagan sa Control Center gi-configure aron maminaw lamang sa localhost alang sa internal nga paggamit. Posible nga ablihan ang Kafka alang sa mga eksternal nga kliyente pinaagi sa pagbag-o sa mga setting sa Kafka.

Pagkonektar sa Kafka: Caveats

PAHINUMDOM: Palihog basaha kini pag-ayo, tungod kay sayon ​​ra ang pag-atubang sa mga isyu sa koneksyon sa Kafka kung wala nimo masabtan kini nga mga konsepto.

Sa setup sa Control Center nga gihulagway niini nga dokumento, adunay usa lamang ka Kafka broker.
Apan, timan-i nga ang usa ka Kafka broker gituyo nga modagan isip bahin sa usa ka Kafka cluster nga mahimong naglangkob sa daghang Kafka brokers.
Kung nagkonektar sa usa ka broker sa Kafka, usa ka inisyal nga koneksyon ang gipahimutang sa kliyente sa Kafka. Sa niini nga koneksyon ang Kafka broker sa baylo mobalik sa usa ka listahan sa "advertises tigpaminaw", nga mao ang usa ka listahan sa usa o labaw pa Kafka brokers.
Sa pagdawat niini nga lista, ang kliyente sa Kafka madiskonekta, unya magkonektar pag-usab sa usa niining gi-advertise nga tigpaminaw. Ang gi-anunsyo nga mga tigpaminaw kinahanglang adunay mga hostname o IP address nga ma-access sa Kafka nga kliyente, o ang kliyente mapakyas sa pagkonektar.
Kung gigamit ang pag-encrypt sa SSL, nga naglambigit sa usa ka sertipiko sa SSL nga nahigot sa usa ka partikular nga hostname, labi ka hinungdanon nga ang kliyente sa Kafka makadawat sa husto nga adres aron makonektar, tungod kay kung dili ang koneksyon mahimong isalikway.
Basaha ang dugang bahin sa mga tigpaminaw sa Kafka dinhi: www.confluent.io/blog/kafka-listeners-explained

SSL/TLS Encryption
Aron masiguro nga ang mga kasaligan nga kliyente ra ang gitugotan nga maka-access sa Kafka ug sa Streaming API, kinahanglan namon nga i-configure ang mga musunud:

  • Pagpamatuod: Ang mga kliyente kinahanglang maghatag ug username ug password pinaagi sa SSL/TLS nga luwas nga koneksyon tali sa kliyente ug Kafka.
  • Awtorisasyon: Authenticated nga mga kliyente makahimo sa mga buluhaton nga gi-regulate sa mga ACL.

Ania ang usa ka katapusanview:

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

*) Username/password authentication nga gihimo sa SSL-encrypted channel

Aron hingpit nga masabtan kung giunsa ang pag-encrypt sa SSL/TLS alang sa Kafka, palihug tan-awa ang opisyal nga dokumentasyon: docs.confluent.io/platform/current/kafka/encryption.html

Natapos ang Sertipiko sa SSL/TLSview

NOTA: Niini nga subseksyon atong gamiton ang mosunod nga terminolohiya:

Sertipiko: Usa ka SSL certificate nga gipirmahan sa usa ka Certificate Authority (CA). Ang matag Kafka broker adunay usa.
Keystore: Ang keystore file nga nagtipig sa sertipiko. Ang keystore file naglangkob sa pribadong yawe sa sertipiko; busa, kini kinahanglan nga tipigan nga luwas.
Truststore: A file naglangkob sa kasaligan nga mga sertipiko sa CA.

Aron ma-set up ang authentication tali sa usa ka eksternal nga kliyente ug Kafka nga nagdagan sa Control Center, ang duha ka kilid kinahanglan adunay usa ka keystore nga gihubit nga adunay kalabutan nga sertipiko nga gipirmahan sa usa ka Certificate Authority (CA) kauban ang CA root certificate.
Dugang pa niini, ang kliyente kinahanglan usab nga adunay usa ka truststore nga adunay sertipiko sa ugat sa CA.
Ang CA root certificate kay kasagaran sa Kafka broker ug Kafka client.

Paghimo sa Gikinahanglan nga Sertipiko
Gikobrehan kini sa “Apendise” sa panid 17.

Kafka Broker SSL/TLS Configuration sa Control Center

NOTA: Kini nga mga panudlo ipadagan sa server sa Control Center.

NOTA: Sa dili pa mopadayon, kinahanglang maghimo ka sa keystore nga naglangkob sa SSL certificate pinaagi sa pagsunod sa mga instruksyon sa “Appendix” sa pahina 17. Ang mga dalan nga gihisgotan sa ubos naggikan niini nga mga instruksiyon.
Ang SSL keystore usa ka file gitipigan sa disk nga adunay file extension .jks.

Kung naa na nimo ang gikinahanglan nga mga sertipiko nga gihimo para sa Kafka broker ug ang kliyente sa Kafka nga magamit, mahimo ka magpadayon pinaagi sa pag-configure sa Kafka broker nga nagdagan sa Control Center. Kinahanglan nimong masayran ang mosunod:

  • : Ang publikong hostname sa Control Center; kini kinahanglan nga masulbad ug ma-access sa mga kliyente sa Kafka.
  • : Ang keystore password nga gihatag sa paghimo sa SSL certificate.
  • ug : Kini ang mga password nga gusto nimong itakda alang sa admin ug kliyente nga tiggamit. Timan-i nga mahimo nimong idugang ang daghang mga tiggamit, ingon sa gipakita sa example.

I-edit o idugang (uban ang sudo access) ang mga kabtangan sa ubos sa /etc/kafka/server.properties, pagsal-ot sa mga variable sa ibabaw sama sa gipakita:

WARNING: Ayaw kuhaa ang PLAINTEXT: // localhost: 9092; kini makaguba sa Control Center functionality tungod kay ang mga internal nga serbisyo dili na makakomunikar.

  • # Ang mga adres nga gipaminaw sa Kafka broker.
  • listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Kini ang mga host nga gi-advertise balik sa bisan unsang kliyente nga nagkonektar.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### CUSTOM CONFIG
  • # SSL CONFIGURATION
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.password=
  • ssl.key.password=
  • ssl.client.auth=wala
  • ssl.protocol=TLSv1.2
  • # Pagsulud sa SASL
  • sasl.enabled.mechanisms=PLAIN
  • username=”admin” \
  • password =” ” \
  • user_admin=" ” \
  • user_client=” ”;
  • # PAHINUMDOM daghang mga tiggamit ang mahimong idugang sa user_ =
  • # Awtorisasyon, i-on ang mga ACL
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin

Pag-set up sa Access Control Lists (ACLs)

Pag-on sa mga ACL sa localhost

WARNING: Kinahanglan una natong i-set up ang mga ACL para sa localhost, aron ang Control Center mismo maka-access gihapon sa Kafka. Kung dili kini buhaton, ang mga butang maguba.

  • –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 '*'

Kinahanglan namong palihokon ang mga ACL alang sa eksternal nga read-only nga pag-access, aron ang mga eksternal nga tiggamit tugotan sa pagbasa sa paa.public.* nga mga hilisgutan.

### ACLs entries para sa anonymous users /usr/lib/kafka/bin/kafka-acls.sh \

NOTA: Para sa mas maayo nga kontrol, palihog tan-awa ang opisyal nga dokumentasyon sa Kafka.

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

Kung nahuman na kini, kinahanglan nimo nga i-restart ang mga serbisyo:

### ACLs entries para sa mga eksternal nga tiggamit /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc nga mga serbisyo restart

Aron mapamatud-an nga ang usa ka kliyente makahimo og usa ka luwas nga koneksyon, padagana ang mosunod nga sugo sa usa ka eksternal
kompyuter sa kliyente (dili sa server sa Control Center). Ubos, PUBLIC_HOSTNAME mao ang Control Center hostname:

  • openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Ang Secure Renegotiation IS gisuportahan"

Sa command output kinahanglan nimo nga makita ang server certificate ingon man ang mosunod:

  • Gisuportahan ang Secure Renegotiation

Aron masiguro nga ang mga internal nga serbisyo gihatagan og access sa Kafka server, palihug susiha ang mosunod nga logfiles:

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

Pag-validate sa External Client Connectivity

kafkacat

NOTA: Kini nga mga panudlo ipadagan sa kompyuter sa kliyente (dili sa server sa Control Center).
NOTA: Aron ipakita ang impormasyon sa metrics, siguroha nga labing menos usa ka monitor ang nagdagan sa Control Center.

Aron mapamatud-an ug ma-validate ang pagkadugtong ingon usa ka eksternal nga kliyente, posible nga gamiton ang kafkacat utility nga gi-install sa seksyon nga "Pagpamatuod nga ang Streaming API Naglihok sa Control Center" sa panid 4.
Buhata ang mosunod nga mga lakang:

NOTA: Ubos, CLIENT_USER mao ang user nga gipiho kaniadto sa file /etc/kafka/server.properties sa Control Center: nga mao, user_client ug ang password nga gibutang didto.
Ang CA root certificate nga gigamit sa pagpirma sa server side SSL certificate kinahanglang anaa sa kliyente.

Paghimo a file client.properties nga adunay mosunod nga sulod:

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

diin

  • Ang {PATH_TO_CA_CERT} mao ang lokasyon sa CA root certificate nga gigamit sa Kafka broker
  • {CLIENT_USER} ug {CLIENT_PASSWORD} mao ang mga kredensyal sa user para sa kliyente.

Pagdalagan ang mosunod nga sugo aron makita ang mensahe nga gigamit sa kafkacat:

  • export KAFKA_FQDN=
  • export METRICS_TOPIC=paa.public.accounts. .metrics
  • kafkacat -b ${KAFKA_FQDN}:9093 -F kliyente.properties -t ${METRICS_TOPIC} -C -e

diin ang {METRICS_TOPIC} mao ang ngalan sa hilisgutan sa Kafka nga adunay prefix nga "paa.public.".

NOTA: Ang mga daan nga bersyon sa kafkacat wala maghatag sa -F nga kapilian sa pagbasa sa mga setting sa kliyente gikan sa a file. Kung naggamit ka sa ingon nga bersyon, kinahanglan nimo nga hatagan ang parehas nga mga setting gikan sa linya sa mando sama sa gipakita sa ubos.

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

Aron ma-debug ang koneksyon, mahimo nimong gamiton ang -d nga kapilian:

I-debug ang mga komunikasyon sa konsumidor
kafkacat -d konsumidor -b ${KAFKA_FQDN}:9093 -F kliyente.properties -t ${METRICS_TOPIC} -C -e
# Pag-debug sa mga komunikasyon sa broker
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F kliyente.properties -t ${METRICS_TOPIC} -C -e

Siguruha nga maghisgot sa dokumentasyon alang sa librarya sa kliyente sa Kafka nga gigamit, tungod kay ang mga kabtangan mahimong lahi sa mga naa sa client.properties.

Format sa Mensahe
Ang mga mensahe nga gigamit alang sa mga sukdanan ug metadata nga mga hilisgutan gi-serialize sa Protocol buffers (protobuf) format (tan-awa ang developers.google.com/protocol-buffers). Ang mga laraw alang niini nga mga mensahe nagsunod sa mosunod nga pormat:

Mga Sukatan sa Protobuf Schema

  • syntax = "proto3";
  • import "google/protobuf/timestamp.proto”;
  • package paa.streamingapi;
  • opsyon go_package = ".;paa_streamingapi";
  • mensahe Sukatan {
  • google.protobuf.Timestamp panahonamp = 1;
  • mapa bili = 2;
  • int32 stream_id = 3;
  • }
  • /**
  • * Ang metric value mahimong integer o float.
  • */
  • mensahe MetricValue {
  • usa sa tipo {
  • int64 int_val = 1;
  • float float_val = 2;
  • }
  • }

Metadata Protobuf Schema

  • syntax = "proto3";
  • package paa.streamingapi;
  • opsyon go_package = ".;paa_streamingapi";
  • mensahe Metadata {
  • int32 stream_id = 1;
  • string stream_name = 2;
  • mapa tags = 13;
  • }

Kliyente Examples

NOTA: Kini nga mga sugo gituyo sa pagdagan sa usa ka eksternal nga kliyente, alang sa exampIbutang ang imong laptop o susama, ug dili sa Control Center.
NOTA: Aron mapakita ang impormasyon sa sukatan, siguroha nga labing menos usa ka monitor ang nagdagan sa Control Center.

Ang Control Center tarball naglakip sa archive paa-streaming-api-client-examples.tar.gz (kliyente-examples), nga adunay usa ka example Python script nga nagpakita kon unsaon paggamit ang Streaming API.

Pag-instalar ug Pag-configure sa Kliyente Examples
Makita nimo ang kliyente-examples sa Paragon Active Assurance Control Center nga folder:

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

Sa pag-instalar sa kliyente-examples sa imong external client computer, ipadayon ang mosunod:

  • # Paghimo direktoryo alang sa pagkuha sa sulud sa kliyente examples tarball
  • mkdir paa-streaming-api-client-examples
  • # Kuhaa ang sulud sa kliyente examples tarball
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
  • # Lakaw ngadto sa bag-ong gibuhat nga direktoryo
  • cd paa-streaming-api-client-examples

kliyente-examples nagkinahanglan Docker sa pagdagan. Ang mga instruksyon sa pag-download ug pag-install para sa Docker makita sa https://docs.docker.com/engine/install.

Paggamit sa Kliyente Examples
Ang kliyente-examples himan mahimong modagan sa bisan unsa nga basic o advanced mode sa pagtukod exampmga lainlain nga pagkakomplikado. Sa duha ka mga kaso, posible usab nga modagan ang examples nga adunay configuration file nga adunay dugang nga mga kabtangan alang sa dugang nga pag-customize sa bahin sa kliyente.

Batakang Mode
Sa batakang mode, ang mga sukatan ug ang ilang metadata gilain nga gi-stream. Niini nga katuyoan, ang kliyente maminaw sa matag Kafka nga hilisgutan nga magamit alang sa eksternal nga pag-access ug yano nga nag-imprinta sa nadawat nga mga mensahe sa console.
Sa pagsugod sa pagpatuman sa batakang examples, dagan:

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

diin ang ACCOUNT_SHORTNAME mao ang mubu nga ngalan sa account nga gusto nimo makuha ang mga sukatan.
Para ma terminate ang execution sa example, pindota ang Ctrl + C. (Mahimong adunay gamay nga paglangan sa dili pa mohunong ang pagpatay tungod kay ang kliyente naghulat alang sa usa ka timeout nga panghitabo.)

Advanced nga Mode

NOTA: Ang mga sukatan gipakita lamang alang sa mga monitor sa HTTP nga nagdagan sa Control Center.

Ang pagpatuman sa advanced mode nagpakita sa correlation tali sa metrics ug metadata nga mga mensahe. Kini mao ang
posible salamat sa presensya sa matag metrics nga mensahe sa usa ka stream id field nga nagtumong sa katugbang nga metadata nga mensahe.
Aron ipatuman ang advanced examples, dagan:

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

diin ang ACCOUNT_SHORTNAME mao ang mubu nga ngalan sa account nga gusto nimo makuha ang mga sukatan.
Para ma terminate ang execution sa example, pindota ang Ctrl + C. (Mahimong adunay gamay nga paglangan sa dili pa mohunong ang pagpatay tungod kay ang kliyente naghulat alang sa usa ka timeout nga panghitabo.)

Dugang nga mga Setting
Posible nga padagan ang examples uban ang dugang nga pag-configure sa kliyente gamit ang –config-file opsyon nga gisundan sa a file ngalan nga adunay mga kabtangan sa porma nga yawe = bili.

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

NOTA: Tanan files reference sa sugo sa ibabaw kinahanglan nga nahimutang sa kasamtangan nga direktoryo ug nagtumong sa paggamit lamang sa mga relatibong dalan. Kini magamit sa duha sa –config-file argumento ug sa tanang entries sa configuration file nga naghulagway file mga lokasyon.

Pag-validate sa External Client Authentication
Aron ma-validate ang pag-authenticate sa kliyente gikan sa gawas sa Control Center gamit ang kliyente-examples, buhata ang mosunod nga mga lakang:

Gikan sa folder sa Paragon Active Assurance Control Center, ibalhin sa paa-streaming-api-client-examples folder:

cd paa-streaming-api-client-examples

  • Kopyaha ang CA root certificate nga ca-cert ngadto sa kasamtangan nga direktoryo.
  • Paghimo og kliyente.properties file uban sa mosunod nga sulod:

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

diin ang {CLIENT_USER} ug {CLIENT_PASSWORD} mao ang mga kredensyal sa gumagamit para sa kliyente.

Dagan ang batakang examples:

  • export KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –account ACCOUNT_SHORTNAME
  • –config-file kliyente.mga kabtangan

diin ang ACCOUNT_SHORTNAME mao ang mubu nga ngalan sa account nga gusto nimo makuha ang mga sukatan.

Dagan advanced examples:

  • export KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –account ACCOUNT_SHORTNAME
  • –config-file kliyente.mga kabtangan

Apendise

Niini nga apendise among gihulagway kung unsaon paghimo:

  • usa ka keystore file alang sa pagtipig sa Kafka broker SSL certificate
  • usa ka truststore file alang sa pagtipig sa Certificate Authority (CA) root certificate nga gigamit sa pagpirma sa Kafka broker certificate.

Paghimo usa ka Sertipiko sa Kafka Broker
Paghimo og Sertipiko Gamit ang Tinuod nga Sertipiko nga Awtoridad (Girekomenda)
Girekomenda nga makakuha ka usa ka tinuud nga sertipiko sa SSL gikan sa usa ka kasaligan nga CA.
Kung nakahukom ka sa usa ka CA, kopyaha ang ilang CA root certificate nga ca-cert file sa imong kaugalingong dalan sama sa gipakita sa ubos:

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

Paghimo sa Imong Kaugalingong Awtoridad sa Sertipiko

NOTA: Kasagaran kinahanglan nimo ang imong sertipiko nga gipirmahan sa usa ka tinuod nga Awtoridad sa Sertipiko; tan-awa ang nag-una nga subseksyon. Ang nagsunod kay ex raample.

Dinhi naghimo kami og among kaugalingong Certificate Authority (CA) nga root certificate file balido alang sa 999 ka adlaw (dili girekomenda sa produksiyon):

  • # Paghimo usa ka direktoryo alang sa pagtipig sa CA
  • export CA_PATH=~/my-ca
  • mkdir ${CA_PATH}
  • # Paghimo sa sertipiko sa CA
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

Paghimo sa Client Truststore
Karon makahimo ka og usa ka truststore file nga naglangkob sa ca-cert nga namugna sa ibabaw. Kini file gikinahanglan sa Kafka nga kliyente nga maka-access sa Streaming API:

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

Karon nga ang sertipiko sa CA naa sa truststore, ang kliyente mosalig sa bisan unsang sertipiko nga gipirmahan niini.
Kinahanglan nimong kopyahon ang file kafka.client.truststore.jks sa nahibal-an nga lokasyon sa imong kliyente nga kompyuter ug itudlo kini sa mga setting.

Paghimo sa Keystore alang sa Kafka Broker
Aron makamugna ang Kafka broker SSL certificate ug dayon ang keystore nga kafka.server.keystore.jks, ipadayon ang mosunod:

Paghimo sa SSL Certificate
Sa ubos, ang 999 mao ang gidaghanon sa mga adlaw sa balido sa keystore, ug ang FQDN mao ang hingpit nga kwalipikado nga domain name sa kliyente (public host name sa node).

NOTA: Importante nga ang FQDN motakdo sa eksaktong hostname nga gamiton sa kliyente sa Kafka aron makonektar sa Control Center.

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

Paghimo usa ka hangyo sa pagpirma sa sertipiko ug itago kini sa file ginganlan og cert-server-request:

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

Kinahanglan nimong ipadala karon ang file cert-server-request sa imong Certificate Authority (CA) kon ikaw naggamit ug tinuod. Iuli unya nila ang gipirmahan nga sertipiko. Atong hisgotan kini nga cert-server-signed sa ubos.

Pagpirma sa Sertipiko sa SSL Gamit ang usa ka Sertipiko sa CA nga gihimo sa kaugalingon

NOTA: Usab, ang paggamit sa imong kaugalingon nga CA dili girekomenda sa usa ka sistema sa produksiyon.

Pagpirma sa sertipiko gamit ang CA pinaagi sa file cert-server-request, nga nagpatungha sa gipirmahan nga sertipiko nga gipirmahan sa cert-server. Tan-awa sa ubos; ca-password mao ang password nga gitakda sa paghimo sa CA certificate.

  • cd /var/ssl/pribado nga openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – CAkey ${CA_PATH}/ca-key \
    • – sa cert-server-request \
    • – out cert-server-signed \
    • – mga adlaw 999 -CAcreateserial \
    • – passin pass: {ca-password}

Pag-import sa Gipirmahan nga Sertipiko sa Keystore

I-import ang ca-cert root certificate ngadto sa keystore:

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

Pag-import sa gipirmahan nga sertipiko nga gitawag nga cert-server-signed:

  • keytool -keystore kafka.server.keystore.jks \
    • – alias server \
    • – import \
    • – file cert-server-signed

Ang file Ang kafka.server.keystore.jks kinahanglang kopyahon ngadto sa nailhan nga lokasyon sa Control Center server, ug dayon i-refer sa /etc/kafka/server.properties.

Gamit ang Streaming API

NIINING SEKSYON

  • Kinatibuk-an | 20
  • Kafka Topic Ngalan | 21
  • Examples sa Paggamit sa Streaming API | 21

Heneral
Ang streaming API nagkuha sa data sa pagsulay ug pag-monitor. Dili mahimo nga i-isa ang usa niini nga mga kategorya.
Ang streaming API wala magkuha ug data gikan sa script-based tests (kadtong girepresentahan sa rectangle imbes sa jigsaw piece sa Control Center GUI), sama sa Ethernet service activation tests ug transparency tests.

Mga Ngalan sa Topic sa Kafka
Ang mga ngalan sa topiko sa Kafka alang sa streaming API mao ang mosunod, diin ang %s mao ang mubo nga ngalan sa Control Center nga account (gipakita sa paghimo sa account):

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

Examples sa Paggamit sa Streaming API
Ang exampAng mosunod makita sa tarball paa-streaming-api-client-examples.tar.gz nga anaa sulod sa Control Center tarball.
Una, naay basic exampAng pagpakita kung giunsa ang mga sukatan ug ang ilang metadata gilain nga gi-stream ug yano nga i-print ang nadawat nga mga mensahe sa console. Mahimo nimong ipadagan kini sama sa mosunod:

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

Naa pay mas abante nga exampdiin ang mga metrics ug metadata nga mga mensahe gi-correlated. Gamita kini nga sugo sa pagpadagan niini:

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

Kinahanglan nimo nga gamiton ang sudo aron ipadagan ang mga mando sa Docker sama sa mga naa sa taas. Opsyonal, mahimo nimong sundon ang mga lakang sa post-install sa Linux aron makadagan ang mga mando sa Docker nga wala sudo. Para sa mga detalye, adto sa docs.docker.com/engine/install/linux-postinstall.

Ang Juniper Networks, ang logo sa Juniper Networks, Juniper, ug Junos kay mga rehistradong marka sa pamatigayon sa Juniper Networks, Inc. sa Estados Unidos ug uban pang mga nasud. Ang tanan nga uban pang mga marka sa pamatigayon, mga marka sa serbisyo, mga rehistradong marka, o mga rehistradong marka sa serbisyo kay gipanag-iya sa ilang tagsa-tagsa ka tag-iya. Ang Juniper Networks walay responsibilidad sa bisan unsang mga sayop niini nga dokumento. Ang Juniper Networks adunay katungod sa pag-usab, pag-usab, pagbalhin, o pag-usab niini nga publikasyon nga walay pahibalo. Copyright © 2023 Juniper Networks, Inc. Tanang katungod gigahin.

Mga Dokumento / Mga Kapanguhaan

Juniper NETWORKS Streaming API Software [pdf] Giya sa Gumagamit
Streaming API Software, API Software, Software

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *