Kadiķa logotipsInženiertehniskā vienkāršība
Straumēšanas API rokasgrāmata

Ievads

Šajā rokasgrāmatā ir aprakstīts, kā iegūt datus no Paragon Active Assurance, izmantojot produkta straumēšanas API.
API, kā arī straumēšanas klients ir iekļauti Paragon Active Assurance instalācijā.
Tomēr, lai varētu izmantot API, ir nepieciešama neliela konfigurācija. Tas ir aprakstīts sadaļā “Straumēšanas API konfigurēšana” 1. lpp.

Beigāsview

Šajā nodaļā ir aprakstīts, kā konfigurēt straumēšanas API, lai ļautu abonēt metrikas ziņojumus, izmantojot Kafka.
Tālāk mēs apskatīsim:

  • Kā iespējot straumēšanas API
  • Kā konfigurēt Kafka, lai klausītos ārējos klientus
  • Kā konfigurēt Kafka, lai izmantotu ACL un iestatītu SSL šifrēšanu minētajiem klientiem

Kas ir Kafka?

Kafka ir notikumu straumēšanas platforma, kas ļauj reāllaikā uztvert no dažādiem notikumu avotiem (sensoriem, datu bāzēm, mobilajām ierīcēm) nosūtītos datus notikumu straumju veidā, kā arī ilgstoši uzglabāt šīs notikumu straumes vēlākai izguvei un manipulācijām.
Izmantojot Kafka, ir iespējams pārvaldīt notikumu straumēšanu no gala līdz galam izplatītā, ļoti mērogojamā, elastīgā, kļūdu izturīgā un drošā veidā.
PIEZĪME: Kafka var konfigurēt dažādos veidos, un tā ir paredzēta mērogojamībai un liekām sistēmām. Šis dokuments koncentrējas tikai uz to, kā to konfigurēt, lai izmantotu straumēšanas API līdzekli, kas atrodams Paragon Active Assurance Control Center. Lai iegūtu papildu iestatījumus, skatiet oficiālo Kafka dokumentāciju: kafka.apache.org/26/documentation.html.

Terminoloģija

  • Kafka: notikumu straumēšanas platforma.
  • Kafkas tēma: Pasākumu krājums.
  • Kafka abonents/patērētājs: komponents, kas atbild par Kafka tēmā saglabāto notikumu izguvi.
  • Kafka brokeris: Kafka klastera krātuves slāņa serveris.
  • SSL/TLS: SSL ir drošs protokols, kas izstrādāts drošai informācijas sūtīšanai internetā. TLS ir SSL pēctecis, kas tika ieviests 1999. gadā.
  • SASL: ietvars, kas nodrošina lietotāju autentifikācijas, datu integritātes pārbaudes un šifrēšanas mehānismus.
  • Straumēšanas API abonents: komponents, kas atbild par notikumu izgūšanu, kas saglabāti tēmās, kas noteiktas Paragon Active Assurance un paredzētas ārējai piekļuvei.
  • Sertifikāta iestāde: uzticama entītija, kas izsniedz un atsauc publiskās atslēgas sertifikātus.
  • Sertifikāta iestādes saknes sertifikāts: Publiskās atslēgas sertifikāts, kas identificē sertifikācijas iestādi.

Kā darbojas straumēšanas API

Kā minēts iepriekš, straumēšanas API ļauj ārējiem klientiem izgūt informāciju par metriku no Kafka.
Visi testa aģentu testa vai uzraudzības uzdevuma laikā savāktie rādītāji tiek nosūtīti pakalpojumam Stream.
Pēc apstrādes posma pakalpojums Stream publicē šos rādītājus vietnē Kafka kopā ar papildu metadatiem.

Juniper straumēšanas API

Kafkas tēmas

Kafkai ir jēdziens par tēmām, par kurām tiek publicēti visi dati. Paragon Active Assurance ir pieejamas daudzas šādas Kafkas tēmas; tomēr tikai daļa no tām ir paredzēta ārējai piekļuvei.
Katram Paragon Active Assurance kontam vadības centrā ir divas īpašas tēmas. Tālāk ACCOUNT ir konta īsais nosaukums:

  • paa.public.accounts.{ACCOUNT}.metrics
  • Šajā tēmā tiek publicēti visi konkrētā konta metrikas ziņojumi
  • Liels datu apjoms
  • Augsta atjaunināšanas biežums
  • paa.public.accounts.{ACCOUNT}.metadata
  • Ietver metadatus, kas saistīti ar metrikas datiem, piemēram,ampar metriku saistītais tests, monitors vai testa aģents
  • Neliels datu apjoms
  • Zems atjaunināšanas biežums

Straumēšanas API iespējošana

PIEZĪME: Šie norādījumi ir jāizpilda vadības centra serverī, izmantojot sudo.
Tā kā straumēšanas API vadības centram pievieno papildu izmaksas, tā pēc noklusējuma nav iespējota. Lai iespējotu API, mums vispirms ir jāiespējo metriku publicēšana Kafka galvenajā konfigurācijā file:

  • /etc/netrounds/netrounds.conf
    KAFKA_METRICS_ENABLED = Patiess
    BRĪDINĀJUMS: Šīs funkcijas iespējošana var ietekmēt vadības centra veiktspēju. Pārliecinieties, vai esat atbilstoši noteicis savas instances izmērus.
    Tālāk, lai iespējotu šo rādītāju pārsūtīšanu uz pareizajām Kafkas tēmām, veiciet tālāk norādītās darbības.
  • /etc/netrounds/metrics.yaml
    straumēšanas-api: taisnība

Lai iespējotu un palaistu straumēšanas API pakalpojumus, palaidiet:
sudo ncc pakalpojumi iespējot timescaledb metriku sudo ncc pakalpojumi sākt timescaledb metriku
Visbeidzot, restartējiet pakalpojumus:
sudo ncc pakalpojumi tiek restartēti

Pārbaude, vai straumēšanas API darbojas vadības centrā

PIEZĪME: Šie norādījumi ir jāizpilda vadības centra serverī.
Tagad varat pārbaudīt, vai saņemat metriku par pareizajām Kafkas tēmām. Lai to izdarītu, instalējiet kafkacat utilītu:
sudo apt-get atjauninājums sudo apt-get instalēt kafkacat
Ja vadības centrā darbojas tests vai monitors, jums vajadzētu būt iespējai izmantot kafkacat, lai saņemtu metriku un metadatus par šīm tēmām.
Aizstājiet myaccount ar sava konta īso nosaukumu (tas ir tas, ko redzat savā vadības centrā URL):
eksportēt METRICS_TOPIC=paa.public.accounts.myaccount.metrics
eksportēt METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Tagad jums vajadzētu redzēt metriku, izpildot šo komandu:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Uz view metadatus, palaidiet šo komandu (ņemiet vērā, ka tā netiks atjaunināta tik bieži):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
PIEZĪME:
kafkacat”klients Examples ”14. lpp
Tas pārbauda, ​​vai vadības centrā ir pieejama straumēšanas API. Tomēr, visticamāk, jūs vēlaties piekļūt datiem no ārēja klienta. Nākamajā sadaļā ir aprakstīts, kā atvērt Kafka ārējai piekļuvei.

Kafka atvēršana ārējiem saimniekiem

PIEZĪME: Šie norādījumi ir jāizpilda vadības centra serverī.
Pēc noklusējuma Kafka, kas darbojas vadības centrā, ir konfigurēta, lai klausītos tikai lokālajā resursdatorā iekšējai lietošanai.
Kafka var atvērt ārējiem klientiem, mainot Kafka iestatījumus.
Savienojuma izveide ar Kafku: brīdinājumi
THE OUTDOOR PLUS TOP sērijas Fire Pit savienojuma komplekti un ieliktņi — 1. ikona UZMANĪBU!
Lūdzu, izlasiet to uzmanīgi, jo, ja neesat sapratis šos jēdzienus, var viegli rasties savienojuma problēmas ar Kafku.
Šajā dokumentā aprakstītajā vadības centra iestatījumos ir tikai viens Kafka brokeris.
Tomēr ņemiet vērā, ka Kafka brokeris ir paredzēts kā daļa no Kafka klastera, kas var sastāvēt no daudziem Kafka brokeriem.
Pieslēdzoties Kafka brokerim, Kafka klients izveido sākotnējo savienojumu. Šajā sakarā Kafka brokeris savukārt atgriezīs “reklamēto klausītāju” sarakstu, kas ir viena vai vairāku Kafka brokeru saraksts.
Saņemot šo sarakstu, Kafka klients atvienosies un pēc tam atkal izveidos savienojumu ar kādu no šiem reklamētajiem klausītājiem. Reklamētajiem klausītājiem ir jābūt resursdatora nosaukumiem vai IP adresēm, kas ir pieejamas Kafka klientam, pretējā gadījumā klientam neizdosies izveidot savienojumu.
Ja tiek izmantota SSL šifrēšana, kas ietver SSL sertifikātu, kas ir piesaistīts konkrētam saimniekdatora nosaukumam, ir vēl svarīgāk, lai Kafka klients saņemtu pareizo adresi, ar kuru izveidot savienojumu, jo pretējā gadījumā savienojums var tikt noraidīts.
Vairāk par Kafkas klausītājiem lasiet šeit: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS šifrēšana
Lai nodrošinātu, ka tikai uzticamiem klientiem ir atļauts piekļūt Kafka un straumēšanas API, mums ir jākonfigurē šādi:

  • Autentifikācija: klientiem ir jānorāda lietotājvārds un parole, izmantojot SSL/TLS drošu savienojumu starp klientu un Kafka.
  • Autorizācija: autentificēti klienti var veikt uzdevumus, ko regulē ACL.
    Šeit ir beigasview:

Juniper straumēšanas API — att

*) Lietotājvārda/paroles autentifikācija veikta SSL šifrētā kanālā
Lai pilnībā izprastu, kā Kafka darbojas SSL/TLS šifrēšana, lūdzu, skatiet oficiālo dokumentāciju: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS sertifikāts ir beidziesview
PIEZĪME: Šajā apakšsadaļā mēs izmantosim šādu terminoloģiju:
Sertifikāts: SSL sertifikāts, ko parakstījusi sertifikācijas iestāde (CA). Katram Kafka brokerim ir viens.
Atslēgu krātuve: Atslēgu krātuve file kas glabā sertifikātu. Atslēgu krātuve file satur sertifikāta privāto atslēgu; tāpēc tas ir jāglabā droši.
Trasta veikals: A file satur uzticamus CA sertifikātus.
Lai iestatītu autentifikāciju starp ārēju klientu un Kafka, kas darbojas vadības centrā, abām pusēm ir jābūt atslēgu krātuvei, kas definēta ar saistīto sertifikātu, ko parakstījusi sertifikācijas iestāde (CA), kopā ar CA saknes sertifikātu.
Papildus tam klientam ir jābūt arī uzticamības krātuvei ar CA saknes sertifikātu.
CA saknes sertifikāts ir kopīgs Kafka brokerim un Kafka klientam.
Nepieciešamo sertifikātu izveide
Tas ir aprakstīts “Pielikumā” 17. lpp.
Kafka Broker SSL/TLS konfigurācija vadības centrā
PIEZĪME: Šie norādījumi ir jāizpilda vadības centra serverī.
PIEZĪME: Pirms turpināt, jums ir jāizveido atslēgu krātuve, kurā ir SSL sertifikāts, izpildot norādījumus, kas sniegti sadaļā “Pielikums” 17. lpp. Tālāk minētie ceļi izriet no šiem norādījumiem.
SSL atslēgu krātuve ir a file saglabāts diskā ar file paplašinājums .jks.
Kad ir pieejami nepieciešamie sertifikāti gan Kafka brokerim, gan Kafka klientam, varat turpināt, konfigurējot Kafka brokeri, kas darbojas vadības centrā. Jums jāzina sekojošais:

  • : Vadības centra publiskais resursdatora nosaukums; tai ir jābūt atrisināmai un pieejamai Kafka klientiem.
  • : atslēgu krātuves parole, kas norādīta, veidojot SSL sertifikātu.
  • un : šīs ir paroles, kuras vēlaties iestatīt attiecīgi administratoram un klienta lietotājam.
    Ņemiet vērā, ka varat pievienot vairāk lietotāju, kā norādīts piemample.
    Rediģējiet vai pievienojiet (ar sudo piekļuvi) tālāk norādītos rekvizītus mapē /etc/kafka/server.properties, ievietojot iepriekš minētos mainīgos, kā parādīts:

Elektriskā šoka ikona BRĪDINĀJUMS: Nenoņemt PLAINTEXT://localhost:9092 ; tas pārtrauks vadības centra funkcionalitāti, jo iekšējie pakalpojumi nevarēs sazināties.
…# Adreses, kuras Kafkas brokeris klausās.
klausītāji=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Šie ir saimniekdatori, kas tiek reklamēti jebkuram klientam, kas savienojas.
reklamed.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### PIELĀGOTA KONFIG
# SSL KONFIGURĀCIJA
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=nav
ssl.protocol=TLSv1.2
# SASL konfigurācija sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo dule nepieciešams \ username=”admin” \ password=” ”\ user_admin=” ”\ user_client=” ”; # PIEZĪME vairāk lietotāju var pievienot ar user_ =
# Autorizācija, ieslēdziet ACL Authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin
Piekļuves kontroles sarakstu (ACL) iestatīšana
ACL ieslēgšana vietējā resursdatorā
Elektriskā šoka ikona BRĪDINĀJUMS: Vispirms mums ir jāiestata ACL vietnei resursdatoram, lai pats vadības centrs joprojām varētu piekļūt Kafka. Ja tas netiks izdarīts, lietas sabojāsies.
######### ACL ieraksti anonīmiem lietotājiem
/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 –tēma '*'
/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 '*'
Pēc tam mums ir jāiespējo ACL ārējai tikai lasīšanas piekļuvei, lai ārējiem lietotājiem būtu atļauts lasīt paa.public.* tēmas.
PIEZĪME: Lai iegūtu detalizētāku kontroli, lūdzu, skatiet oficiālo Kafka dokumentāciju.
######### ACL ieraksti ārējiem lietotājiem
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties zookeeper.connect=localhost:2181 \
–pievienot –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 \
–pievienot –allow-principal User:* –operation read –operation description \
–tēma paa.public. – resursa modeļa tipa prefikss
Kad tas ir izdarīts, jums ir jārestartē pakalpojumi:
sudo ncc pakalpojumi tiek restartēti
Lai pārbaudītu, vai klients var izveidot drošu savienojumu, palaidiet šo komandu ārējā klienta datorā (nevis vadības centra serverī). Zemāk PUBLIC_HOSTNAME ir vadības centra saimniekdatora nosaukums:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep “Tiek atbalstīta droša atkārtota sarunāšana”
Komandas izvadē jums vajadzētu redzēt servera sertifikātu, kā arī šādu:
Tiek atbalstīta droša atkārtota sarunāšana
Lai pārliecinātos, ka iekšējiem pakalpojumiem ir piešķirta piekļuve Kafka serverim, lūdzu, pārbaudiet šo žurnālufiles:

Ārējā klienta savienojamības apstiprināšana

kafkacat
PIEZĪME: Šīs instrukcijas ir jāizpilda klienta datorā (nevis vadības centra serverī).
PIEZĪME: Lai rādītu metriku informāciju, nodrošiniet, lai vadības centrā darbotos vismaz viens monitors.
Lai pārbaudītu un apstiprinātu savienojamību kā ārēju klientu, ir iespējams izmantot utilītu kafkacat, kas tika instalēta sadaļā “Pārbaude, vai straumēšanas API darbojas vadības centrā” 4. lpp.
Veiciet tālāk norādītās darbības.
PIEZĪME: Tālāk CLIENT_USER ir iepriekš norādītais lietotājs file /etc/kafka/server.properties
Vadības centrs: proti, user_client un tur iestatītā parole.
Servera puses SSL sertifikāta parakstīšanai izmantotajam CA saknes sertifikātam ir jābūt klientam.

  • Izveidot a file client.properties ar šādu saturu:
    security.protocol=SASL_SSL
    ssl.ca.location={PATH_TO_CA_CERT}
    sasl.mechanisms=PLAIN
    sasl.username={KLIENTA_LIETOTĀJS}
    sasl.password={CLIENT_PASSWORD} kur
    • {PATH_TO_CA_CERT} ir Kafka brokera izmantotā CA saknes sertifikāta atrašanās vieta.
    • {CLIENT_USER} un {CLIENT_PASSWORD} ir klienta lietotāja akreditācijas dati.
    • Palaidiet šo komandu, lai redzētu kafkacat izmantoto ziņojumu:
    eksportēt KAFKA_FQDN=
    eksportēt METRICS_TOPIC=paa.public.accounts. .metrics
    kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
    kur {METRICS_TOPIC} ir Kafkas tēmas nosaukums ar prefiksu “paa.public.”.

PIEZĪME: Vecākās kafkacat versijās nenodrošina opciju -F klienta iestatījumu nolasīšanai no a file. Ja izmantojat šādu versiju, komandrindā ir jānorāda tie paši iestatījumi, kā parādīts tālāk.
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={KLIENTA_LIETOTĀJS} \
-X sasl.password={CLIENT_PASSWORD} \
-t ${METRICS_TOPIC} -C -e
Lai atkļūdotu savienojumu, varat izmantot opciju -d:
Atkļūdot patērētāju saziņu
kafkacat -d patērētājs -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Atkļūdot brokera sakarus
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Noteikti skatiet izmantotās Kafka klienta bibliotēkas dokumentāciju, jo rekvizīti var atšķirties no rekvizīta client.properties.

Ziņojuma formāts

Metrikas un metadatu tēmām izmantotie ziņojumi tiek serializēti protokola buferu (protobuf) formātā (sk. developers.google.com/protocol-buffers). Šo ziņojumu shēmas atbilst šādam formātam:
Metrikas Protobuf shēma
sintakse = "proto3"; importēt “google/protobuf/timestamp.proto”; pakete paa.streamingapi; opcija go_package = ".;paa_streamingapi"; ziņojums Metrics { google.protobuf.Timestamp reizesamp = 1; karte vērtības = 2; int32 mērījumu_id = 3; } /** * Metrikas vērtība var būt vesels skaitlis vai peldošs skaitlis. */
ziņojums MetricValue { oneof type { int64 int_val = 1; float float_val = 2; } }
Metadatu Protobuf shēma
sintakse = "proto3"; pakete paa.streamingapi; opcija go_package = ".;paa_streamingapi"; ziņojums Metadati { int32 mērījumu_id = 1; virknes mērījuma_nosaukums = 2; karte tags = 13; }

Klients Examples

PIEZĪME: Šīs komandas ir paredzētas darbam ārējā klientā, piemēram,ampsavā klēpjdatorā vai līdzīgā veidā, nevis vadības centrā.
PIEZĪME: Lai tiktu parādīta metrikas informācija, nodrošiniet, lai vadības centrā darbotos vismaz viens monitors.
Vadības centra tarbolā ir iekļauts arhīvs paa-streaming-api-client-examples.tar.gz (klients-examples), kas satur example Python skripts, kas parāda, kā izmantot straumēšanas API.
Instalēšana un konfigurēšana Client Examples
Jūs atrodat klientu bijušoamples mapē Paragon Active Assurance Control Center:
eksportēt CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examples*
Lai instalētu klienta-exampārējā klienta datorā, rīkojieties šādi:
# Izveidojiet direktoriju klienta, piemēram, satura iegūšanaiamples tarball mkdir paa-streaming-api-client-examples
# Izņemiet klienta saturu, piemēram,amples tarball tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Dodieties uz jaunizveidoto direktoriju cd paa-streaming-api-client-examples klients-examples prasa Docker palaišanu. Docker lejupielādes un instalēšanas instrukcijas var atrast vietnē https://docs.docker.com/engine/install.
Izmantojot klientu Examples
Klients-examples rīki var darboties gan pamata, gan uzlabotā režīmā, lai izveidotu exampdažādas sarežģītības pakāpes. Abos gadījumos ir iespējams arī palaist bijušoamples ar konfigurāciju file satur papildu rekvizītus turpmākai klienta puses pielāgošanai.
Pamatrežīms Pamatrežīmā metrika un to metadati tiek straumēti atsevišķi. Šim nolūkam klients noklausās katru Kafka tēmu, kas pieejama ārējai piekļuvei, un vienkārši izdrukā saņemtos ziņojumus konsolei.
Lai sāktu pamata eksamples, palaist: ./build.sh run-basic –kafka-brokers localhost:9092 –konts ACCOUNT_SHORTNAME
kur ACCOUNT_SHORTNAME ir tā konta īsais nosaukums, no kura vēlaties iegūt metriku.
Izbeigt example, nospiediet Ctrl + C. (Var būt neliela aizkave, pirms izpilde tiek apturēta, jo klients gaida taimauta notikumu.)
Uzlabotais režīms
PIEZĪME:
Metrika tiek rādīta tikai HTTP monitoriem, kas darbojas vadības centrā.
Izpilde uzlabotajā režīmā parāda korelāciju starp metriku un metadatu ziņojumiem. Tas ir iespējams, jo katrā metrikas ziņojumā ir straumes ID lauks, kas attiecas uz atbilstošo metadatu ziņojumu.
Lai izpildītu uzlaboto examples, palaist: ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME, kur ACCOUNT_SHORTNAME ir tā konta īsais nosaukums, no kura vēlaties iegūt metriku.
Izbeigt example, nospiediet Ctrl + C. (Var būt neliela aizkave, pirms izpilde tiek apturēta, jo klients gaida taimauta notikumu.)
Papildu iestatījumi
Ir iespējams palaist bijušoamples ar klienta papildu konfigurāciju, izmantojot -config-file opcija, kam seko a file nosaukums, kas satur rekvizītus formā atslēga=vērtība.
./build.sh palaist-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file client_config.properties
PIEZĪME: Visi files, uz kuriem ir atsauce iepriekš minētajā komandā, ir jāatrodas pašreizējā direktorijā un jānorāda, izmantojot tikai relatīvos ceļus. Tas attiecas gan uz -config-file argumentu un visiem konfigurācijas ierakstiem file kas apraksta file vietas.
Ārējā klienta autentifikācijas apstiprināšana
Lai pārbaudītu klienta autentifikāciju ārpus vadības centra, izmantojot klienta-examples, veiciet šādas darbības:

  • Mapē Paragon Active Assurance Control Center pārslēdzieties uz paa-streaming-api-clientexamples mape:
    cd paa-streaming-api-client-examples
  • Kopējiet CA saknes sertifikātu ca-cert pašreizējā direktorijā.
  • Izveidojiet klientu.properties file ar šādu saturu:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=PLAIN
    sasl.username={KLIENTA_LIETOTĀJS}
    sasl.password={CLIENT_PASSWORD}
    kur {CLIENT_USER} un {CLIENT_PASSWORD} ir klienta lietotāja akreditācijas dati.
  • Palaist pamata exampmazāk:
    eksportēt KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –konts ACCOUNT_SHORTNAME
    -konfigurācija-file client.properties, kur ACCOUNT_SHORTNAME ir tā konta īsais nosaukums, no kura vēlaties iegūt metriku.
  • Palaist uzlaboto exampmazāk:
    eksportēt KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –konts ACCOUNT_SHORTNAME–config-file klients.īpašības

Pielikums

Šajā pielikumā mēs aprakstām, kā izveidot:

  • atslēgu krātuve file Kafka broker SSL sertifikāta glabāšanai
  • trasta veikals file sertifikācijas iestādes (CA) saknes sertifikāta glabāšanai, ko izmanto Kafka brokera sertifikāta parakstīšanai.

Kafka brokera sertifikāta izveide
Sertifikāta izveide, izmantojot īstu sertifikācijas iestādi (ieteicams)
Ieteicams iegūt īstu SSL sertifikātu no uzticamas CA.
Kad esat izlēmis par CA, nokopējiet to CA saknes sertifikātu ca-cert file uz savu ceļu, kā parādīts zemāk:
eksportēt CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
Izveidojiet savu sertifikācijas iestādi
PIEZĪME: Parasti jūsu sertifikāts ir jāparaksta reālai sertifikācijas iestādei; skatiet iepriekšējo apakšsadaļu. Tālākais ir tikai bijušaisample.
Šeit mēs izveidojam savu sertifikācijas iestādes (CA) saknes sertifikātu file derīgs 999 dienas (nav ieteicams ražošanā):
# Izveidojiet direktoriju CA eksporta CA_PATH=~/my-ca mkdir ${CA_PATH} glabāšanai
# Ģenerēt CA sertifikātu openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -dienas 999
Klientu uzticības veikala izveide
Tagad varat izveidot uzticības veikalu file kas satur iepriekš ģenerēto ca-cert. Šis file būs nepieciešams Kafka klientam, kas piekļūs straumēšanas API:
keytool -keystore kafka.client.truststore.jks \ -alias CARoot \ -importcert -file ${CA_PATH}/ca-cert
Tagad, kad CA sertifikāts atrodas uzticamības veikalā, klients uzticēsies jebkuram ar to parakstītajam sertifikātam.
Jums vajadzētu kopēt file kafka.client.truststore.jks uz zināmu atrašanās vietu klienta datorā un norādiet uz to iestatījumos.
Kafka brokera atslēgu krātuves izveide
Lai ģenerētu Kafka brokera SSL sertifikātu un pēc tam atslēgu krātuvi kafka.server.keystore.jks, rīkojieties šādi:
SSL sertifikāta ģenerēšana
Zemāk 999 ir atslēgu krātuves derīguma dienu skaits, un FQDN ir pilnībā kvalificēts klienta domēna nosaukums (mezgla publiskais resursdatora nosaukums).
PIEZĪME: Ir svarīgi, lai FQDN precīzi atbilstu resursdatora nosaukumam, ko Kafka klients izmantos, lai izveidotu savienojumu ar vadības 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 serveris \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
Izveidojiet sertifikāta parakstīšanas pieprasījumu un saglabājiet to mapē file nosaukts cert-server-request:
keytool -keystore kafka.server.keystore.jks \ -alias serveris \ -certreq \ -file Cert-server-pieprasījums
Tagad jums vajadzētu nosūtīt file Cert-server-request jūsu sertifikācijas iestādei (CA), ja izmantojat īstu. Pēc tam viņi atdos parakstīto sertifikātu. Tālāk mēs to apzīmēsim kā sertifikāta servera parakstītu. SSL sertifikāta parakstīšana, izmantojot pašizveidotu CA sertifikātu
PIEZĪME: Atkal, ražošanas sistēmā nav ieteicams izmantot savu CA. Parakstiet sertifikātu, izmantojot CA, izmantojot file cert-server-request, kas ražo parakstīto sertifikātu cert-server-signed. Skatīt zemāk; ca-password ir parole, kas iestatīta, veidojot CA sertifikātu.
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 \ -dienas 999 -CAcreateserial \ -passin pass:{ca-password}
Parakstītā sertifikāta importēšana atslēgu krātuvē
Importējiet ca-cert saknes sertifikātu atslēgu krātuvē:
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
Importējiet parakstīto sertifikātu, kas tiek dēvēts par sertifikāta servera parakstītu:
keytool -keystore kafka.server.keystore.jks \ -alias serveris \ -import \ -file parakstīts sert-serveris
The file kafka.server.keystore.jks ir jāpārkopē uz zināmu vietu vadības centra serverī un pēc tam jāatsaucas uz /etc/kafka/server.properties.
Izmantojot straumēšanas API

Ģenerālis

Straumēšanas API ienes gan pārbaudes, gan pārraudzības datus. Nav iespējams izdalīt vienu no šīm kategorijām.
Straumēšanas API neiegūst datus no uz skriptiem balstītām pārbaudēm (tos, kuras vadības centra GUI attēlo taisnstūris, nevis finierzāģa gabals), piemēram, Ethernet pakalpojuma aktivizēšanas testiem un caurspīdīguma testiem.
Kafka tēmu nosaukumi
Kafka tēmu nosaukumi straumēšanas API ir šādi, kur %s ir vadīklas īsais nosaukums
Centra konts (norādīts, veidojot kontu):
const (exporterName = "kafka"metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics")
ExampStraumēšanas API izmantošana
Bijušaisampsekojošās les ir atrodamas tarball paa-streaming-api-client-examples.tar.gz, kas atrodas vadības centra tarbolā.
Pirmkārt, ir pamata exampparāda, kā metrika un to metadati tiek straumēti atsevišķi, un vienkārši izdrukā saņemtos ziņojumus konsolē. Varat to palaist šādi: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Ir arī progresīvāks bijušaisample kur metrikas un metadatu ziņojumi ir saistīti. Izmantojiet šo komandu, lai to palaistu:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME Lai palaistu Docker komandas, piemēram, iepriekš minētās, ir jāizmanto sudo. Pēc izvēles varat veikt Linux pēcinstalēšanas darbības, lai varētu palaist Docker komandas bez sudo.
Lai iegūtu sīkāku informāciju, dodieties uz docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, Juniper Networks logotips, Juniper un Junos ir Juniper Networks, Inc. reģistrētas preču zīmes Amerikas Savienotajās Valstīs un citās valstīs. Visas pārējās preču zīmes, pakalpojumu zīmes, reģistrētās preču zīmes vai reģistrētās pakalpojumu zīmes ir to attiecīgo īpašnieku īpašums. Juniper Networks neuzņemas atbildību par neprecizitātēm šajā dokumentā. Juniper Networks patur tiesības bez brīdinājuma mainīt, modificēt, nodot vai citādi pārskatīt šo publikāciju. Autortiesības © 2022 Juniper Networks, Inc. Visas tiesības aizsargātas.

Kadiķa logotips

Dokumenti / Resursi

Juniper straumēšanas API [pdfLietotāja rokasgrāmata
Straumēšanas API, API

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *