Juniper NETWORKS logoGwida tal-API Streaming
Ippubblikat
2023-07-07
ĦLAS
4.2

Introduzzjoni

Din il-gwida tiddeskrivi kif tiġi estratta dejta minn Paragon Active Assurance permezz tal-istreaming API tal-prodott.
L-API kif ukoll il-klijent tal-istreaming huma inklużi fl-installazzjoni ta' Paragon Active Assurance.
Madankollu, hija meħtieġa ftit ta 'konfigurazzjoni qabel ma tkun tista' tuża l-API. Dan huwa kopert fil-"Konfigurazzjoni tal-API Streaming" f'paġna 1 kapitolu.

Konfigurazzjoni tal-API Streaming

Fuqview
Dan il-kapitolu jiddeskrivi kif tikkonfigura l-API Streaming biex tippermetti l-abbonament għal messaġġi ta 'metriċi permezz ta' Kafka.
pr
Hawn taħt se ngħaddu minnu:

  • Kif tattiva l-API Streaming
  • Kif tikkonfigura lil Kafka biex tisma' lill-klijenti esterni
  • Kif tikkonfigura lil Kafka biex tuża ACLs u twaqqaf encryption SSL għall-klijenti msemmija

Kafka hija pjattaforma ta’ streaming ta’ avvenimenti li tippermetti qbid f’ħin reali ta’ data mibgħuta minn diversi sorsi ta’ avvenimenti (sensuri, databases, apparat mobbli) fil-forma ta’ flussi ta’ avvenimenti, kif ukoll ħażna dejjiema ta’ dawn in-flussi ta’ avvenimenti għal rkupru u manipulazzjoni aktar tard.
B'Kafka huwa possibbli li timmaniġġja l-istrimjar tal-avvenimenti minn tarf sa tarf b'mod distribwit, skalabbli ħafna, elastiku, tolleranti għall-ħsarat u sigur.
NOTA: Kafka jista 'jiġi kkonfigurat f'ħafna modi differenti u kien iddisinjat għal iskalabbiltà u sistemi żejda. Dan id-dokument jiffoka biss fuq kif tikkonfigurah biex tagħmel użu mill-karatteristika Streaming API li tinsab fiċ-Ċentru ta' Kontroll ta' l-Assigurazzjoni Attiva ta' Paragon. Għal setups aktar avvanzati nirreferu għad-dokumentazzjoni uffiċjali Kafka: kafka.apache.org/26/documentation.html.

Terminoloġija

  • Kafka: Pjattaforma ta' streaming ta' avvenimenti.
  • Suġġett Kafka: Ġbir ta’ avvenimenti.
  • Abbonat/konsumatur Kafka: Komponent responsabbli għall-irkupru ta' avvenimenti maħżuna f'suġġett Kafka.
  • Kafka broker: Server ta' saff ta' ħażna ta' cluster Kafka.
  • SSL/TLS: SSL huwa protokoll sikur żviluppat biex tintbagħat informazzjoni b'mod sigur fuq l-Internet. TLS huwa s-suċċessur ta' SSL, introdott fl-1999.
  • SASL: Qafas li jipprovdi mekkaniżmi għall-awtentikazzjoni tal-utent, verifika tal-integrità tad-dejta, u kriptaġġ.
  • Abbonat ta' Streaming API: Komponent responsabbli għall-irkupru ta' avvenimenti maħżuna f'suġġetti definiti f'Paragon Active Assurance u maħsuba għal aċċess estern.
  • Awtorità taċ-Ċertifikati: Entità fdata li toħroġ u tirrevoka ċertifikati taċ-ċavetta pubblika.
  • Ċertifikat tal-għeruq tal-Awtorità taċ-Ċertifikat: Ċertifikat taċ-ċavetta pubblika li jidentifika Awtorità taċ-Ċertifikat.

Kif taħdem l-API Streaming
Kif issemma qabel, l-API Streaming tippermetti lill-klijenti esterni biex jirkupraw informazzjoni dwar il-metriċi minn Kafka.
Il-metriċi kollha miġbura mill-Aġenti tat-Test waqt kompitu ta' test jew monitoraġġ jintbagħtu lis-servizz Stream.
Wara fażi ta' pproċessar, is-servizz Stream jippubblika dawk il-metriċi fuq Kafka flimkien ma' metadejta addizzjonali.Juniper NETWORKS Streaming API Assigurazzjoni Attiva - Kif Taħdem l-Streaming APISuġġetti Kafka
Kafka għandu l-kunċett ta’ suġġetti li għalihom tiġi ppubblikata d-dejta kollha. F'Paragon Active Assurance hemm ħafna suġġetti Kafka bħal dawn disponibbli; madankollu, subsett biss minn dawn huma maħsuba għal aċċess estern.
Kull kont ta' Paragon Active Assurance fiċ-Ċentru ta' Kontroll għandu żewġ suġġetti ddedikati. Hawn taħt, ACCOUNT huwa l-isem qasir tal-kont:

  • paa.public.accounts.{ACCOUNT}.metrics
  • Il-messaġġi kollha tal-metriċi għall-kont partikolari huma ppubblikati għal dan is-suġġett
  • Ammonti kbar ta' data
  • Frekwenza għolja ta 'aġġornament
  • paa.public.accounts.{ACCOUNT}.metadata
  • Fih metadejta relatata mad-dejta tal-metriċi, pereżempjuample it-test, il-monitor jew l-Aġent tat-Test assoċjat mal-metriċi
  • Ammonti żgħar ta' data
  • Frekwenza baxxa ta' aġġornament

Jippermettu l-API Streaming
NOTA: Dawn l-istruzzjonijiet għandhom jitmexxew fuq is-server taċ-Ċentru tal-Kontroll billi tuża sudo.
Peress li l-API Streaming żżid xi overhead maċ-Ċentru tal-Kontroll, mhix attivata awtomatikament. Biex nippermettu l-API, l-ewwel irridu nippermettu l-pubblikazzjoni tal-metriċi lil Kafka fil-konfigurazzjoni ewlenija file:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = Veru
TWISSIJA: L-attivazzjoni ta' din il-karatteristika tista' tħalli impatt fuq il-prestazzjoni taċ-Ċentru ta' Kontroll. Kun żgur li ddimensjonajt l-istanza tiegħek kif xieraq.
Sussegwentement, biex tippermetti t-trażmissjoni ta' dawn il-metriċi għas-suġġetti Kafka korretti:

  • /etc/netrounds/metrics.yaml

streaming-api: veru
Biex tattiva u tibda s-servizzi tal-API Streaming, mexxi:
Is-servizzi sudo ncc jippermettu metriċi timecaledb
is-servizzi sudo ncc jibdew metriċi timecaledb
Fl-aħħarnett, ibda mill-ġdid is-servizzi:
Is-servizzi sudo ncc jerġgħu jibdew
Verifika li l-API Streaming Jaħdem fiċ-Ċentru tal-Kontroll
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
Issa tista' tivverifika li qed tirċievi metriċi dwar is-suġġetti Kafka korretti. Biex tagħmel dan, installa l-utilità kafkacat:
sudo apt-get aġġornament
sudo apt-get install kafkacat
Jekk għandek test jew monitor qed jaħdem fiċ-Ċentru ta' Kontroll, għandek tkun tista' tuża kafkacat biex tirċievi metriċi u metadejta dwar dawn is-suġġetti.
Ibdel myaccount bl-isem qasir tal-kont tiegħek (dan huwa dak li tara fiċ-Ċentru tal-Kontroll tiegħek URL):
esportazzjoni METRICS_TOPIC=paa.public.accounts.myaccount.metrics
esporta METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Issa għandek tara l-metriċi billi tħaddem dan il-kmand:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Biex view metadata, mexxi l-kmand li ġej (innota li dan mhux se jaġġorna spiss):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
NOTA:
kafkacat”Klijent Eżamples ”f’paġna 14
Dan jivverifika li għandna Streaming API li jaħdem minn ġewwa Control Center. Madankollu, x'aktarx li inti interessat li taċċessa d-dejta minn klijent estern minflok. It-taqsima li jmiss tiddeskrivi kif tiftaħ Kafka għal aċċess estern.
Ftuħ Kafka għal Hosts Esterni
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
B'mod awtomatiku Kafka li jaħdem fuq iċ-Ċentru tal-Kontroll huwa kkonfigurat biex jisma' biss fuq localhost għall-użu intern.
Huwa possibbli li tinfetaħ Kafka għal klijenti esterni billi timmodifika s-settings tal-Kafka.
Konnessjoni ma' Kafka: Caveats
Juniper NETWORKS Streaming API Assigurazzjoni Attiva - Simboli ATTENZJONI: Jekk jogħġbok aqra dan bir-reqqa, peress li huwa faċli li tiffaċċja kwistjonijiet ta' konnessjoni ma' Kafka jekk ma fhimtx dawn il-kunċetti.
Fis-setup taċ-Ċentru tal-Kontroll deskritt f'dan id-dokument, hemm biss sensar Kafka wieħed.
Madankollu, innota li sensar Kafka huwa maħsub biex jaħdem bħala parti minn raggruppament Kafka li jista 'jikkonsisti f'ħafna sensara Kafka.
Meta tikkonnettja ma 'sensar Kafka, konnessjoni inizjali hija stabbilita mill-klijent Kafka. Fuq din il-konnessjoni, is-sensar Kafka min-naħa tiegħu se jirritorna lista ta '"semmiegħa reklamati", li hija lista ta' sensara Kafka wieħed jew aktar.
Malli jirċievi din il-lista, il-klijent Kafka se skonnettja, imbagħad jerġa 'jikkonnettja ma' wieħed minn dawn is-semmiegħa reklamati. Is-semmiegħa reklamati għandu jkun fihom hostnames jew indirizzi IP li huma aċċessibbli għall-klijent Kafka, jew il-klijent ma jirnexxilux jikkonnettja.
Jekk tintuża encryption SSL, li tinvolvi ċertifikat SSL li huwa marbut ma' hostname partikolari, huwa saħansitra aktar importanti li l-klijent Kafka jirċievi l-indirizz korrett biex jikkonnettja miegħu, peress li inkella l-konnessjoni tista' tiġi rrifjutata.
Aqra aktar dwar is-semmiegħa ta’ Kafka hawn: www.confluent.io/blog/kafka-listeners-explained
SSL/TLSEncryption
Biex niżguraw li l-klijenti fdati biss jitħallew jaċċessaw Kafka u l-API Streaming, irridu kkonfiguraw dan li ġej:

  • Awtentikazzjoni: Il-klijenti jridu jipprovdu username u password permezz ta' konnessjoni sigura SSL/TLS bejn il-klijent u Kafka.
  • Awtorizzazzjoni: Klijenti awtentikati jistgħu jwettqu kompiti regolati minn ACLs.

Hawnhekk hawn fuqview:
Juniper NETWORKS Streaming API Assigurazzjoni Attiva - Kif Taħdem l-Streaming API 1*) Awtentikazzjoni tal-username/password mwettqa fuq kanal ikkodifikat SSL

Biex tifhem bis-sħiħ kif taħdem l-encryption SSL/TLS għal Kafka, jekk jogħġbok irreferi għad-dokumentazzjoni uffiċjali: docs.confluent.io/platform/current/kafka/encryption.html
Ċertifikat SSL/TLS Overview
NOTA: F'din is-subtaqsima se nużaw it-terminoloġija li ġejja:
Ċertifikat: Ċertifikat SSL iffirmat minn Awtorità taċ-Ċertifikati (CA). Kull sensar Kafka għandu wieħed.
Keystore: Il-keystore file li jaħżen iċ-ċertifikat. Il-keystore file fih iċ-ċavetta privata taċ-ċertifikat; għalhekk, jeħtieġ li jinżamm b'mod sigur.
Truststore: A file li jkun fih iċ-ċertifikati fdati CA.
Biex titwaqqaf l-awtentikazzjoni bejn klijent estern u Kafka li qed jaħdem fiċ-Ċentru tal-Kontroll, iż-żewġ naħat għandu jkollhom keystore definit b'ċertifikat relatat iffirmat minn Awtorità taċ-Ċertifikati (CA) flimkien maċ-ċertifikat root CA.
Barra minn hekk, il-klijent irid ikollu wkoll truststore biċ-ċertifikat tal-għeruq CA.
Iċ-ċertifikat tal-għeruq CA huwa komuni għas-sensar Kafka u għall-klijent Kafka.
Ħolqien taċ-Ċertifikati Meħtieġa
Dan huwa kopert fl-“Appendiċi” f’paġna 17.
Kafka Broker SSL/TLS Konfigurazzjoni fiċ-Ċentru tal-Kontroll
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq is-server taċ-Ċentru tal-Kontroll.
NOTA: Qabel ma tkompli, trid toħloq il-keystore li fih iċ-ċertifikat SSL billi ssegwi l-istruzzjonijiet fl-“Appendiċi” f’paġna 17. Il-mogħdijiet imsemmija hawn taħt ġejjin minn dawn l-istruzzjonijiet.
Il-keystore SSL huwa a file maħżuna fuq disk mal- file estensjoni .jks.
Ladarba jkollok iċ-ċertifikati meħtieġa maħluqa kemm għas-sensar Kafka kif ukoll għall-klijent Kafka disponibbli, tista 'tkompli billi tikkonfigura s-sensar Kafka li qed jaħdem fiċ-Ċentru ta' Kontroll. Trid tkun taf dan li ġej:

  • : L-isem tal-ospitant pubbliku taċ-Ċentru ta' Kontroll; dan għandu jkun riżolvut u aċċessibbli mill-klijenti Kafka.
  • : Il-password tal-keystore pprovduta meta toħloq iċ-ċertifikat SSL.
  • u : Dawn huma l-passwords li trid tissettja għall-utent admin u klijent rispettivament. Innota li tista 'żżid aktar utenti, kif indikat fl-eżample.

Editja jew ehmeż (b'aċċess sudo) il-proprjetajiet hawn taħt f'/etc/kafka/server.properties, daħħal il-varjabbli ta' hawn fuq kif muri:
Juniper NETWORKS Streaming API Assigurazzjoni Attiva - Simboli TWISSIJA: Tneħħix PLAINTEXT://localhost:9092; dan se jkisser il-funzjonalità taċ-Ċentru tal-Kontroll peress li s-servizzi interni mhux se jkunu jistgħu jikkomunikaw.


# L-indirizzi li jisma 's-sensar Kafka.
semmiegħa=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Dawn huma l-hosts reklamati lura lil kwalunkwe klijent li jgħaqqad.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093

####### KONFIG PERSONALIZZATA
# KONFIGURAZZJONI SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=xejn
ssl.protocol=TLSv1.2
# Konfigurazzjoni SASL
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule meħtieġa \
username="admin" \
password =" ” \
user_admin=" ” \
user_client=" ”;
# NOTA aktar utenti jistgħu jiġu miżjuda ma 'user_ =
# Awtorizzazzjoni, ixgħel l-ACLs
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=Utent:admin

Twaqqif ta' Listi ta' Kontroll ta' Aċċess (ACLs)
Tixgħel ACLs fuq localhost
Juniper NETWORKS Streaming API Assigurazzjoni Attiva - Simboli TWISSIJA: L-ewwel irridu nwaqqfu ACLs għal localhost, sabiex iċ-Ċentru ta 'Kontroll innifsu xorta jkun jista' jaċċessa Kafka. Jekk dan ma jsirx, l-affarijiet jinkisru.

######### Daħliet ACLs għal utenti anonimi
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal Utent:ANONIM –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 Utent:ANONIM –allow-host 127.0.0.1 –tema '*'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal Utent:ANONIM –allow-host 127.0.0.1 –grupp '*'

Imbagħad irridu nippermettu ACLs għal aċċess estern ta' qari biss, sabiex utenti esterni jitħallew jaqraw is-suġġetti paa.public.*.
NOTA: Għal aktar kontroll tal-qamħirrum, jekk jogħġbok irreferi għad-dokumentazzjoni uffiċjali Kafka.

######### Entrati ACLs għal utenti esterni
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal Utent:* –operation read –operation description \
–grupp 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal Utent:* –operation read –operation description \
–tema paa.pubbliku. –tip ta' disinn tar-riżorsi prefissat

Ladarba jsir dan, għandek bżonn terġa 'tibda s-servizzi:
Is-servizzi sudo ncc jerġgħu jibdew
Biex tivverifika li klijent jista' jistabbilixxi konnessjoni sigura, mexxi l-kmand li ġej fuq kompjuter klijent estern (mhux fuq is-server taċ-Ċentru tal-Kontroll). Hawn taħt, PUBLIC_HOSTNAME huwa l-isem tal-host taċ-Ċentru tal-Kontroll:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Negozjar mill-ġdid Sikur huwa appoġġjat"
Fl-output tal-kmand għandek tara ċ-ċertifikat tas-server kif ukoll dan li ġej:
Rinegozjar Sikur IS appoġġjat
Biex tiżgura li s-servizzi interni ngħataw aċċess għas-server Kafka, jekk jogħġbok iċċekkja l-ġurnal li ġejfiles:

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

Validazzjoni tal-Konnettività tal-Klijent Estern
kafkacat
NOTA: Dawn l-istruzzjonijiet għandhom jitħaddmu fuq kompjuter klijent (mhux fuq is-server taċ-Ċentru tal-Kontroll).
NOTA: Biex turi l-informazzjoni dwar il-metriċi, kun żgur li mill-inqas monitor wieħed ikun qed jaħdem fiċ-Ċentru tal-Kontroll.
Biex tivverifika u tivvalida l-konnettività bħala klijent estern, huwa possibbli li tuża l-utilità kafkacat li kienet installata fit-taqsima "Verifika li l-API Streaming Jaħdem fiċ-Ċentru ta' Kontroll" f'paġna 4.
Wettaq il-passi li ġejjin:
NOTA: Hawn taħt, CLIENT_USER huwa l-utent speċifikat qabel fil- file /etc/kafka/server.properties fiċ-Ċentru tal-Kontroll: jiġifieri, user_client u l-password stabbiliti hemmhekk.
Iċ-ċertifikat root CA użat biex jiffirma ċ-ċertifikat SSL tan-naħa tas-server għandu jkun preżenti fuq il-klijent.

  • Oħloq a file client.properties bil-kontenut li ġej:

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

  • {PATH_TO_CA_CERT} huwa l-post taċ-ċertifikat tal-għeruq CA użat mis-sensar Kafka
  • {CLIENT_USER} u {CLIENT_PASSWORD} huma l-kredenzjali tal-utent għall-klijent.
  • Mexxi l-kmand li ġej biex tara l-messaġġ ikkunsmat minn kafkacat:

esportazzjoni KAFKA_FQDN=
esportazzjoni METRICS_TOPIC=paa.public.accounts. .metriċi
kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
fejn {METRICS_TOPIC} huwa l-isem tas-suġġett Kafka bil-prefiss “paa.public.”.

NOTA: Verżjonijiet eqdem ta' kafkacat ma jipprovdux l-għażla -F għall-qari tas-settings tal-klijent minn a file. Jekk qed tuża verżjoni bħal din, trid tipprovdi l-istess settings mil-linja tal-kmand kif muri hawn taħt.

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
Biex tiddibaggja l-konnettività, tista 'tuża l-għażla -d:

Debug komunikazzjonijiet tal-konsumatur
kafkacat -d konsumatur -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Iddibaggja l-komunikazzjonijiet tas-sensar
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Kun żgur li tirreferi għad-dokumentazzjoni għal-librerija tal-klijenti Kafka li qed tintuża, peress li l-proprjetajiet jistgħu jkunu differenti minn dawk fil-client.properties.
Format tal-Messaġġ
Il-messaġġi użati għas-suġġetti tal-metriċi u tal-metadejta huma serjalizzati fil-format ta' buffers tal-Protokoll (protobuf) (ara developers.google.com/protocol-buffers). L-iskemi għal dawn il-messaġġi jaderixxu mal-format li ġej:

Metriċi Protobuf Skema

sintassi = "proto3";
importazzjoni “google/protobuf/timestamp.proto”;
pakkett paa.streamingapi;
għażla go_package = ".;paa_streamingapi";
Metriċi tal-messaġġ {
google.protobuf.Timestamp timestamp = 1;
mappa valuri = 2;
int32 stream_id = 3;
}
/**
* Valur metriku jista 'jkun jew numru sħiħ jew float.
*/
messaġġ MetricValue {
wieħed mit-tip {
int64 int_val = 1;
float float_val = 2;
}
}

Metadata Protobuf Schema

sintassi = "proto3";
pakkett paa.streamingapi;
għażla go_package = ".;paa_streamingapi";
Metadata tal-messaġġ {
int32 stream_id = 1;
string stream_name = 2;
mappa tags = 13;
}

Klijent Eżamples

NOTA: Dawn il-kmandi huma maħsuba biex jaħdmu fuq klijent estern, pereżempjuample laptop tiegħek jew simili, u mhux fiċ-Ċentru ta 'Kontroll.
NOTA: Biex tintwera l-informazzjoni tal-metriċi, kun żgur li mill-inqas monitor wieħed ikun qed jaħdem fiċ-Ċentru tal-Kontroll.
It-tarball taċ-Ċentru tal-Kontroll jinkludi l-arkivju paa-streaming-api-client-examples.tar.gz (klijent-eżamples), li fih example script Python li juri kif tuża l-API Streaming.
Installazzjoni u Konfigurazzjoni Klijent Examples
Issib klijent-examples fil-folder taċ-Ċentru tal-Kontroll tal-Assigurazzjoni Attiva Paragon:

esportazzjoni CC_VERSION=4.2.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-examples*
Biex tinstalla client-examples fuq il-kompjuter klijent estern tiegħek, ipproċedi kif ġej:
# Oħloq direttorju għall-estrazzjoni tal-kontenut tal-klijent examples tarball
mkdir paa-streaming-api-client-examples
# Oħroġ il-kontenut tal-klijent examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Mur fid-direttorju maħluq ġdid
cd paa-streaming-api-client-examples
klijent-examples teħtieġ Docker biex jaħdem. It-tniżżil u l-istruzzjonijiet għall-installazzjoni għal Docker jistgħu jinstabu fuq https://docs.docker.com/engine/install.

Bl-użu tal-Klijent Examples
Il-klijent-examples għodod jistgħu jaħdmu jew fil-mod bażiku jew avvanzat biex jibnu examplejiet ta' kumplessità li tvarja. Fiż-żewġ każijiet, huwa wkoll possibbli li tmexxi l-examples b'konfigurazzjoni file li jkun fih proprjetajiet addizzjonali għal aktar customization tan-naħa tal-klijent.
Modalità Bażika
Fil-modalità bażika, il-metriċi u l-metadata tagħhom huma streamed separatament. Għal dan il-għan, il-klijent jisma 'kull suġġett Kafka disponibbli għal aċċess estern u sempliċement jistampa l-messaġġi riċevuti fuq il-console.
Biex tibda l-eżekuzzjoni tal-eżamples, run:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Biex tittermina l-eżekuzzjoni tal-example, agħfas Ctrl + C. (Jista 'jkun hemm dewmien żgħir qabel ma tieqaf l-eżekuzzjoni minħabba li l-klijent jistenna għal avveniment ta' timeout.)
Modalità Avvanzata
NOTA: Il-metriċi jintwerew biss għall-moniters HTTP li jaħdmu fiċ-Ċentru tal-Kontroll.
L-eżekuzzjoni fil-modalità avvanzata turi l-korrelazzjoni bejn il-metriċi u l-messaġġi tal-metadejta. Dan huwa possibbli grazzi għall-preżenza f'kull messaġġ ta' metriċi ta' qasam ta' stream id li jirreferi għall-messaġġ ta' metadata korrispondenti.
Biex tesegwixxi l-ex avvanzatamples, run:
./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
Biex tittermina l-eżekuzzjoni tal-example, agħfas Ctrl + C. (Jista 'jkun hemm dewmien żgħir qabel ma tieqaf l-eżekuzzjoni minħabba li l-klijent jistenna għal avveniment ta' timeout.)
Settings Addizzjonali
Huwa possibbli li tmexxi l-examples b'konfigurazzjoni addizzjonali tal-klijent li juża l- –config-file għażla segwita minn a file isem li fih proprjetajiet fil-forma ċavetta=valur.
./build.sh run-advanced \
–kafka-brokers localhost:9092 \
–kont ACCOUNT_SHORTNAME \
–konfigurazzjoni-file client_config.properties

NOTA: Kollha files referenzjati fil-kmand ta 'hawn fuq għandhom ikunu jinsabu fid-direttorju kurrenti u riferuti bl-użu biss mogħdijiet relattivi. Dan japplika kemm għall--config-file argument u għall-entrati kollha fil-konfigurazzjoni file li jiddeskrivu file postijiet.
Validazzjoni tal-Awtentikazzjoni tal-Klijent Estern
Biex tivvalida l-awtentikazzjoni tal-klijent minn barra ċ-Ċentru tal-Kontroll billi tuża client-examples, wettaq il-passi li ġejjin:

  • Mill-folder taċ-Ċentru tal-Kontroll tal-Assigurazzjoni Attiva Paragon, aqleb għall-paa-streaming-api-clientexamples folder:
    cd paa-streaming-api-client-examples
  • Ikkopja ċ-ċertifikat root CA ca-cert fid-direttorju kurrenti.
  • Oħloq client.properties file bil-kontenut li ġej:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=PLAIN
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD}
    fejn {CLIENT_USER} u {CLIENT_PASSWORD} huma l-kredenzjali tal-utent għall-klijent.
  • Mexxi ex bażikuamples:
    esportazzjoni KAFKA_FQDN=
    ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
    –kont ACCOUNT_SHORTNAME
    –konfigurazzjoni-file klijent.propjetajiet
    fejn ACCOUNT_SHORTNAME huwa l-isem qasir tal-kont li trid tikseb minnu l-metriċi.
  • Mexxi avvanzata examples:
    esportazzjoni KAFKA_FQDN=
    ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
    –kont ACCOUNT_SHORTNAME
    –konfigurazzjoni-file klijent.propjetajiet

Appendiċi
F'dan l-appendiċi niddeskrivu kif toħloq:

  • a keystore file għall-ħażna taċ-ċertifikat SSL tal-broker Kafka
  • truststore file għall-ħażna taċ-ċertifikat tal-għeruq tal-Awtorità taċ-Ċertifikati (CA) użat biex jiffirma ċ-ċertifikat tas-sensar Kafka.

Ħolqien ta 'Ċertifikat ta' Broker Kafka
Il-ħolqien ta' Ċertifikat billi tuża Awtorità taċ-Ċertifikat Reali (Rakkomandat)
Huwa rakkomandat li tikseb ċertifikat SSL reali minn CA fdata.
Ladarba tkun iddeċidejt dwar CA, ikkopja ċ-ċertifikat tal-għeruq CA tagħhom ca-cert file lejn it-triq tiegħek kif muri hawn taħt:
esportazzjoni CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
Oħloq l-Awtorità taċ-Ċertifikat Tiegħek
NOTA: Normalment għandu jkollok iċ-ċertifikat tiegħek iffirmat minn Awtorità taċ-Ċertifikati reali; ara s-subsezzjoni preċedenti. Dak li ġej huwa biss example.
Hawnhekk noħolqu ċ-ċertifikat tal-għeruq tagħna stess tal-Awtorità taċ-Ċertifikati (CA). file validu għal 999 jum (mhux rakkomandat fil-produzzjoni):
# Oħloq direttorju għall-ħażna tas-CA
esportazzjoni CA_PATH=~/my-ca
mkdir ${CA_PATH}
# Iġġenera ċ-ċertifikat CA
openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

Ħolqien tal-Klijent Truststore
Issa tista 'toħloq truststore file li fih il-ca-cert iġġenerat hawn fuq. Dan file se jkun meħtieġ mill-klijent Kafka li se jaċċessa l-API Streaming:

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

Issa li ċ-ċertifikat CA jinsab fil-truststore, il-klijent se jafda kwalunkwe ċertifikat iffirmat miegħu.
Għandek tikkopja l- file kafka.client.truststore.jks f'post magħruf fuq il-kompjuter klijent tiegħek u ppunta lejh fis-settings.
Ħolqien tal-Keystore għall-Kafka Broker
Biex tiġġenera ċ-ċertifikat SSL tal-broker Kafka u mbagħad il-keystore kafka.server.keystore.jks, ipproċedi kif ġej:
Ġenerazzjoni taċ-Ċertifikat SSL
Hawn taħt, 999 huwa n-numru ta 'jiem ta' validità tal-keystore, u FQDN huwa l-isem tad-dominju kwalifikat bis-sħiħ tal-klijent (l-isem tal-ospitant pubbliku tan-node).
NOTA: Huwa importanti li l-FQDN jaqbel mal-hostname eżatt li l-klijent Kafka se juża biex jgħaqqad maċ-Ċentru tal-Kontroll.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/privat
esportazzjoni FQDN=
keytool -keystore kafka.server.keystore.jks \
-alias server \
-validità 999 \
-genkey -keyalg RSA -ext SAN=dns:${FQDN}
Oħloq talba għall-iffirmar taċ-ċertifikat u aħżenha fil- file imsejħa cert-server-request:
keytool -keystore kafka.server.keystore.jks \
-alias server \
-certreq \
-file talba-cert-server

Issa għandek tibgħat il- file cert-server-request lill-Awtorità taċ-Ċertifikati (CA) tiegħek jekk qed tuża waħda reali. Huma mbagħad jirritornaw iċ-ċertifikat iffirmat. Aħna se nirreferu għal dan bħala cert-server-firmat hawn taħt.
Iffirmar taċ-Ċertifikat SSL Bl-użu ta 'Ċertifikat CA maħluq minnha stess
NOTA: Għal darb'oħra, l-użu tas-CA tiegħek mhuwiex rakkomandat f'sistema ta 'produzzjoni.
Iffirma ċ-ċertifikat billi tuża l-CA permezz tal- file cert-server-request, li tipproduċi ċ-ċertifikat iffirmat cert-server-signed. Ara isfel; ca-password hija l-password stabbilita meta jinħoloq iċ-ċertifikat CA.

cd /var/ssl/privat
openssl x509 -req \
-CA ${CA_PATH}/ca-cert \
-CAkey ${CA_PATH}/ca-key \
-in cert-server-request \
-out cert-server-firmat \
-jiem 999 -CAcreateserial \
-passin pass:{ca-password}

L-importazzjoni taċ-Ċertifikat Iffirmat fil-Keystore
Importa ċ-ċertifikat tal-għeruq ca-cert fil-keystore:
keytool -keystore kafka.server.keystore.jks \
-alias ca-cert \
-importa \
-file ${CA_PATH}/ca-cert
Importa ċ-ċertifikat iffirmat imsejjaħ cert-server-signed:
keytool -keystore kafka.server.keystore.jks \
-alias server \
-importa \
-file cert-server iffirmat
Il- file kafka.server.keystore.jks għandu jiġi kkupjat f'post magħruf fuq is-server taċ-Ċentru tal-Kontroll, u mbagħad imsemmi f' /etc/kafka/server.properties.

Bl-użu tal-API Streaming

Ġenerali
L-API tal-istreaming iġib kemm id-dejta tat-test kif ukoll dik tal-monitoraġġ. Mhux possibbli li tissemma waħda minn dawn il-kategoriji.
L-API streaming ma jġibx data minn testijiet ibbażati fuq skript (dawk rappreżentati minn rettangolu minflok biċċa jigsaw fil-GUI taċ-Ċentru ta 'Kontroll), bħal testijiet ta' attivazzjoni tas-servizz Ethernet u testijiet ta 'trasparenza.

Ismijiet ta' Topic Kafka
L-ismijiet tas-suġġetti Kafka għall-API streaming huma kif ġej, fejn %s huwa l-isem qasir tal-kont taċ-Ċentru tal-Kontroll (indikat meta jinħoloq il-kont):

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

Examples tal-Użu tal-API Streaming
L-examples li jsegwu jinsabu fit-tarball paa-streaming-api-client-examples.tar.gz li jinsab fi ħdan it-tarball taċ-Ċentru tal-Kontroll.
L-ewwel, hemm ex bażikuample turi kif il-metriċi u l-metadata tagħhom huma streamed separatament u sempliċiment jistampa l-messaġġi riċevuti lill-console. Tista' tmexxiha kif ġej:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Hemm ukoll ex aktar avvanzatample fejn il-metriċi u l-messaġġi tal-metadejta huma korrelatati. Uża dan il-kmand biex tħaddem:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Għandek bżonn tuża sudo biex tmexxi kmandi Docker bħal dawk ta 'hawn fuq. B'għażla, tista' ssegwi l-passi ta' wara l-installazzjoni tal-Linux biex tkun tista' tħaddem il-kmandi ta' Docker mingħajr sudo. Għad-dettalji, mur fuq docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, il-logo Juniper Networks, Juniper, u Junos huma trademarks reġistrati ta’ Juniper Networks, Inc. fl-Istati Uniti u pajjiżi oħra. It-trademarks l-oħra kollha, il-marki tas-servizz, il-marki reġistrati, jew il-marki tas-servizz irreġistrati huma l-proprjetà tas-sidien rispettivi tagħhom. Juniper Networks ma jassumi l-ebda responsabbiltà għal xi ineżattezzi f'dan id-dokument. Juniper Networks jirriżerva d-dritt li jibdel, jimmodifika, jittrasferixxi, jew inkella jirrevedi din il-pubblikazzjoni mingħajr avviż. Copyright © 2023 Juniper Networks, Inc. Id-drittijiet kollha riżervati.

Juniper NETWORKS logo

Dokumenti / Riżorsi

Juniper NETWORKS Streaming API Assigurazzjoni Attiva [pdfGwida għall-Utent
Streaming API Assigurazzjoni Attiva, Assigurazzjoni Attiva API, Assigurazzjoni Attiva, Assigurazzjoni

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *