Nembo ya MTANDAO wa JuniperMwongozo wa API ya kutiririsha
Imechapishwa
2023-07-07
ACHILIA
4.2

Utangulizi

Mwongozo huu unaeleza jinsi ya kutoa data kutoka kwa Paragon Active Assurance kupitia API ya utiririshaji ya bidhaa.
API pamoja na mteja wa utiririshaji wamejumuishwa katika usakinishaji wa Uhakikisho Unaotumika wa Paragon.
Walakini, usanidi kidogo unahitajika kabla ya kutumia API. Hii inafunikwa katika "Kusanidi API ya Kutiririsha" kwenye ukurasa wa 1 sura.

Inasanidi API ya Kutiririsha

Zaidiview
Sura hii inaeleza jinsi ya kusanidi API ya Kutiririsha ili kuruhusu kujiandikisha kupokea ujumbe wa vipimo kupitia Kafka.
pr
Hapo chini tutapitia:

  • Jinsi ya kuwezesha API ya Kutiririsha
  • Jinsi ya kusanidi Kafka kusikiliza wateja wa nje
  • Jinsi ya kusanidi Kafka kutumia ACL na kusanidi usimbaji fiche wa SSL kwa wateja waliotajwa

Kafka ni jukwaa la kutiririsha matukio ambalo huruhusu kunasa kwa wakati halisi data iliyotumwa kutoka vyanzo mbalimbali vya matukio (sensa, hifadhidata, vifaa vya rununu) kwa njia ya mitiririko ya matukio, pamoja na uhifadhi wa kudumu wa mitiririko hii ya matukio kwa ajili ya kurejeshwa na kudanganywa baadaye.
Ukiwa na Kafka inawezekana kudhibiti utiririshaji wa tukio mwisho-hadi-mwisho kwa njia iliyosambazwa, inayoweza kuenea sana, nyororo, isiyostahimili makosa na salama.
KUMBUKA: Kafka inaweza kusanidiwa kwa njia nyingi tofauti na iliundwa kwa ajili ya mifumo ya scalability na redundant. Hati hii inaangazia tu jinsi ya kuisanidi ili kutumia kipengele cha API ya Kutiririsha kinachopatikana katika Kituo cha Udhibiti wa Uhakika wa Paragon. Kwa usanidi wa hali ya juu zaidi tunarejelea hati rasmi ya Kafka: kafka.apache.org/26/documentation.html.

Istilahi

  • Kafka: Jukwaa la kutiririsha tukio.
  • Mada ya Kafka: Mkusanyiko wa matukio.
  • Mteja/mtumiaji wa Kafka: Sehemu inayohusika na urejeshaji wa matukio yaliyohifadhiwa katika mada ya Kafka.
  • Wakala wa Kafka: Seva ya safu ya hifadhi ya nguzo ya Kafka.
  • SSL/TLS: SSL ni itifaki salama iliyotengenezwa kwa ajili ya kutuma taarifa kwa usalama kwenye Mtandao. TLS ndiyo mrithi wa SSL, iliyoanzishwa mwaka wa 1999.
  • SASL: Mfumo ambao hutoa mbinu za uthibitishaji wa mtumiaji, ukaguzi wa uadilifu wa data, na usimbaji fiche.
  • Msajili wa API ya Kutiririsha: Kipengele kinachohusika na urejeshaji wa matukio yaliyohifadhiwa katika mada yaliyofafanuliwa katika Paragon Active Assurance na inayokusudiwa ufikiaji wa nje.
  • Mamlaka ya Cheti: Huluki inayoaminika ambayo inatoa na kubatilisha vyeti muhimu vya umma.
  • Cheti cha mizizi cha Mamlaka ya Cheti: Cheti cha ufunguo wa umma kinachotambulisha Mamlaka ya Cheti.

Jinsi API ya Kutiririsha Inafanya kazi
Kama ilivyotajwa hapo awali, API ya Kutiririsha inaruhusu wateja wa nje kupata maelezo kuhusu vipimo kutoka Kafka.
Vipimo vyote vinavyokusanywa na Mawakala wa Jaribio wakati wa jaribio au ufuatiliaji hutumwa kwa huduma ya Tiririsha.
Baada ya awamu ya kuchakata, huduma ya Tiririsha huchapisha vipimo hivyo kwenye Kafka pamoja na metadata ya ziada.Uhakikisho Amilifu wa API ya Utiririshaji wa MITANDAO ya Juniper - Jinsi API ya Utiririshaji Inavyofanya KaziMada za Kafka
Kafka ina dhana ya mada ambayo data zote huchapishwa. Katika Paragon Active Assurance kuna mada nyingi kama hizi za Kafka zinazopatikana; hata hivyo, ni sehemu ndogo tu ya hizi zinazokusudiwa ufikiaji wa nje.
Kila akaunti ya Paragon Active Assurance katika Kituo cha Kudhibiti ina mada mbili maalum. Hapa chini, ACCOUNT ni jina fupi la akaunti:

  • paa.public.accounts.{ACCOUNT}.metrics
  • Ujumbe wote wa vipimo wa akaunti husika huchapishwa kwa mada hii
  • Kiasi kikubwa cha data
  • Masasisho ya juu ya sasisho
  • paa.public.accounts.{ACCOUNT}.metadata
  • Ina metadata inayohusiana na data ya vipimo, kwa mfanoampkufanya jaribio, ufuatiliaji au Ajenti wa Mtihani unaohusishwa na vipimo
  • Kiasi kidogo cha data
  • Masasisho ya chini ya sasisho

Inawezesha API ya Kutiririsha
KUMBUKA: Maagizo haya yanapaswa kuendeshwa kwenye seva ya Kituo cha Kudhibiti kwa kutumia sudo.
Kwa kuwa API ya Utiririshaji inaongeza sehemu ya juu kwenye Kituo cha Udhibiti, haijawezeshwa kwa chaguo-msingi. Ili kuwezesha API, lazima kwanza tuwashe uchapishaji wa vipimo kwa Kafka katika usanidi mkuu. file:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = Kweli
ONYO: Kuwasha kipengele hiki kunaweza kuathiri utendaji wa Kituo cha Udhibiti. Hakikisha umepanua mfano wako ipasavyo.
Ifuatayo, ili kuwezesha usambazaji wa vipimo hivi kwa mada sahihi za Kafka:

  • /etc/netrounds/metrics.yaml

Streaming-api: kweli
Ili kuwezesha na kuanzisha huduma za API ya Kutiririsha, endesha:
huduma za sudo ncc huwezesha metrics za timecaledb
huduma za sudo ncc zinaanza vipimo vya timecaledb
Hatimaye, anzisha upya huduma:
huduma za sudo ncc zinaanza tena
Kuthibitisha Kwamba API ya Kutiririsha Inafanya kazi katika Kituo cha Kudhibiti
KUMBUKA: Maagizo haya yanapaswa kuendeshwa kwenye seva ya Kituo cha Kudhibiti.
Sasa unaweza kuthibitisha kuwa unapokea vipimo kwenye mada sahihi za Kafka. Ili kufanya hivyo, sasisha matumizi ya kafkacat:
sudo apt-kupata sasisho
sudo apt-get install kafkacat
Iwapo una jaribio au kifuatiliaji kinachoendeshwa katika Kituo cha Kudhibiti, unapaswa kuwa na uwezo wa kutumia kafkacat kupokea vipimo na metadata kuhusu mada hizi.
Badilisha akaunti yangu na jina fupi la akaunti yako (hivi ndivyo unavyoona katika Kituo chako cha Kudhibiti URL):
hamisha METRICS_TOPIC=paa.public.accounts.myaccount.metrics
hamisha METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Unapaswa sasa kuona vipimo kwa kutekeleza amri hii:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Kwa view metadata, endesha amri ifuatayo (kumbuka kuwa hii haitasasisha mara kwa mara):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
KUMBUKA:
kafkacat”Mteja Examples ”kwenye ukurasa wa 14
Hii inathibitisha kuwa tuna API ya Kutiririsha inayofanya kazi kutoka ndani ya Kituo cha Kudhibiti. Hata hivyo, kuna uwezekano mkubwa ungependa kupata data kutoka kwa mteja wa nje badala yake. Sehemu inayofuata inaelezea jinsi ya kufungua Kafka kwa ufikiaji wa nje.
Kufungua Kafka kwa Waandaji wa Nje
KUMBUKA: Maagizo haya yanapaswa kuendeshwa kwenye seva ya Kituo cha Kudhibiti.
Kwa chaguo-msingi Kafka inayoendeshwa kwenye Kituo cha Kudhibiti imesanidiwa ili kusikiliza tu kwenye mpangishi wa ndani kwa matumizi ya ndani.
Inawezekana kufungua Kafka kwa wateja wa nje kwa kurekebisha mipangilio ya Kafka.
Kuunganisha kwa Kafka: Mapango
Mreteni Utiririshaji wa API ya Uhakikisho Amilifu - Alama TAHADHARI: Tafadhali soma hili kwa uangalifu, kwa kuwa ni rahisi kuingiliana na maswala ya unganisho na Kafka ikiwa haujaelewa dhana hizi.
Katika usanidi wa Kituo cha Kudhibiti kilichoelezewa katika hati hii, kuna wakala mmoja tu wa Kafka.
Hata hivyo, kumbuka kuwa wakala wa Kafka anakusudiwa kukimbia kama sehemu ya nguzo ya Kafka ambayo inaweza kuwa na madalali wengi wa Kafka.
Wakati wa kuunganisha kwa wakala wa Kafka, uunganisho wa awali umewekwa na mteja wa Kafka. Juu ya uhusiano huu wakala wa Kafka naye atarudisha orodha ya "wasikilizaji waliotangazwa", ambayo ni orodha ya wakala mmoja au zaidi wa Kafka.
Baada ya kupokea orodha hii, mteja wa Kafka atatenganisha, kisha ataunganisha tena kwa mmoja wa wasikilizaji hawa waliotangazwa. Wasikilizaji wanaotangazwa lazima wawe na majina ya wapangishaji au anwani za IP zinazoweza kufikiwa na mteja wa Kafka, au mteja atashindwa kuunganisha.
Ikiwa usimbaji fiche wa SSL utatumiwa, unaohusisha cheti cha SSL ambacho kinahusishwa na jina fulani la mpangishaji, ni muhimu zaidi kwamba mteja wa Kafka apokee anwani sahihi ya kuunganisha, kwa vile vinginevyo muunganisho unaweza kukataliwa.
Soma zaidi kuhusu wasikilizaji wa Kafka hapa: www.confluent.io/blog/kafka-listeners-explained
Usimbaji fiche wa SSL/TLSE
Ili kuhakikisha kuwa ni wateja wanaoaminika pekee wanaoruhusiwa kufikia Kafka na API ya Kutiririsha, lazima tuweke mipangilio ifuatayo:

  • Uthibitishaji: Wateja lazima watoe jina la mtumiaji na nenosiri kupitia muunganisho salama wa SSL/TLS kati ya mteja na Kafka.
  • Uidhinishaji: Wateja walioidhinishwa wanaweza kufanya kazi zinazodhibitiwa na ACL.

Hapa ni juuview:
Uhakikisho Amilifu wa API ya Utiririshaji wa MITANDAO ya Juniper - Jinsi API ya Utiririshaji Inavyofanya Kazi 1*) Uthibitishaji wa jina la mtumiaji/nenosiri unaofanywa kwenye chaneli iliyosimbwa kwa njia fiche ya SSL

Ili kuelewa kikamilifu jinsi usimbaji fiche wa SSL/TLS unavyofanya kazi kwa Kafka, tafadhali rejelea hati rasmi: docs.confluent.io/platform/current/kafka/encryption.html
Cheti cha SSL/TLS Kimekwishaview
KUMBUKA: Katika kifungu hiki kidogo tutatumia istilahi ifuatayo:
Cheti: Cheti cha SSL kilichotiwa saini na Mamlaka ya Cheti (CA). Kila dalali wa Kafka ana moja.
Hifadhi ya ufunguo: Hifadhi ya funguo file ambayo huhifadhi cheti. Hifadhi ya ufunguo file ina ufunguo wa kibinafsi wa cheti; kwa hiyo, inahitaji kuwekwa kwa usalama.
Truststore: A file iliyo na vyeti vya CA vinavyoaminika.
Ili kusanidi uthibitishaji kati ya mteja wa nje na Kafka inayoendeshwa katika Kituo cha Udhibiti, ni lazima pande zote mbili ziwe na duka la vitufe lililofafanuliwa kwa cheti husika kilichotiwa saini na Mamlaka ya Cheti (CA) pamoja na cheti cha msingi cha CA.
Kando na haya, mteja lazima pia awe na truststore yenye cheti cha mizizi ya CA.
Cheti cha mizizi cha CA ni cha kawaida kwa wakala wa Kafka na mteja wa Kafka.
Kutengeneza Vyeti Vinavyohitajika
Hili limeangaziwa katika “Kiambatisho” kwenye ukurasa wa 17.
Usanidi wa Kafka Broker SSL/TLS katika Kituo cha Kudhibiti
KUMBUKA: Maagizo haya yataendeshwa kwenye seva ya Kituo cha Udhibiti.
KUMBUKA: Kabla ya kuendelea, lazima uunde duka la vitufe ambalo lina cheti cha SSL kwa kufuata maagizo katika "Kiambatisho" kwenye ukurasa wa 17. Njia zilizotajwa hapa chini zinatoka kwa maagizo haya.
Duka la funguo za SSL ni file kuhifadhiwa kwenye diski na file ugani .jks.
Baada ya kupata vyeti vinavyohitajika vilivyoundwa kwa wakala wa Kafka na mteja wa Kafka, unaweza kuendelea kwa kusanidi wakala wa Kafka anayeendesha katika Kituo cha Udhibiti. Unahitaji kujua yafuatayo:

  • : Jina la mpangishi wa umma wa Kituo cha Kudhibiti; hii lazima iweze kutatuliwa na kufikiwa na wateja wa Kafka.
  • : Nenosiri la ufunguo wa duka lililotolewa wakati wa kuunda cheti cha SSL.
  • na : Haya ni manenosiri unayotaka kuweka kwa msimamizi na mtumiaji wa mteja mtawalia. Kumbuka kuwa unaweza kuongeza watumiaji zaidi, kama inavyoonyeshwa kwenye example.

Hariri au ongeza (na ufikiaji wa sudo) mali hapa chini katika /etc/kafka/server.properties, ukiingiza vijiti vilivyo hapo juu kama inavyoonyeshwa:
Mreteni Utiririshaji wa API ya Uhakikisho Amilifu - Alama ONYO: Usiondoe PLAINTEXT://localhost:9092; hii itavunja utendakazi wa Kituo cha Kudhibiti kwa kuwa huduma za ndani hazitaweza kuwasiliana.


# Anwani ambazo wakala wa Kafka husikiliza.
wasikilizaji=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Hawa ndio wapangishi wanaotangazwa tena kwa mteja yeyote anayeunganisha.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093

####### WENGINEO MAALUM
# Usanidi wa SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=hakuna
ssl.protocol=TLSv1.2
# Usanidi wa SASL
sasl.enabled.mechanisms=PLAIN
msikilizaji.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule inahitajika \
jina la mtumiaji = "msimamizi" \
nenosiri=” ” \
mtumiaji_admin=” ” \
user_client=” ”;
# KUMBUKA watumiaji zaidi wanaweza kuongezwa na user_ =
# Uidhinishaji, washa ACL
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=Mtumiaji:admin

Kuweka Orodha za Udhibiti wa Ufikiaji (ACLs)
Kuwasha ACLs kwenye localhost
Mreteni Utiririshaji wa API ya Uhakikisho Amilifu - Alama ONYO: Ni lazima kwanza tusanidi ACL za mwenyeji wa ndani, ili Kituo cha Udhibiti chenyewe bado kiweze kufikia Kafka. Hili lisipofanyika, mambo yatavunjika.

######### Maingizo ya ACL kwa watumiaji wasiojulikana
/usr/lib/kafka/bin/kafka-acls.sh \
-mwandishi kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-ongeza -ruhusu-mtumiaji mkuu: ANONYMOUS -ruhusu-mwenyeji 127.0.0.1 - nguzo
/usr/lib/kafka/bin/kafka-acls.sh \
-mwandishi kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-ongeza -ruhusu-mkuu Mtumiaji: ANONYMOUS -ruhusu-mwenyeshi 127.0.0.1 -mada '*'
/usr/lib/kafka/bin/kafka-acls.sh \
-mwandishi kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-ongeza -ruhusu-mkuu Mtumiaji: ANONYMOUS -ruhusu-mwenyeji 127.0.0.1 -kundi '*'

Kisha tunahitaji kuwezesha ACL kwa ufikiaji wa kusoma tu kwa nje, ili watumiaji wa nje waruhusiwe kusoma mada za paa.public.*.
KUMBUKA: Kwa udhibiti mzuri zaidi, tafadhali rejelea hati rasmi ya Kafka.

######### Maingizo ya ACL kwa watumiaji wa nje
/usr/lib/kafka/bin/kafka-acls.sh \
-mwandishi kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-ongeza -ruhusu-mtumiaji mkuu:* -operesheni soma - eleza operesheni \
- kikundi 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
-mwandishi kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-ongeza -ruhusu-mtumiaji mkuu:* -operesheni soma - eleza operesheni \
-mada paa.umma. -aina-ya-rasilimali-kiambishi awali

Mara baada ya kufanya hivyo, unahitaji kuanzisha upya huduma:
huduma za sudo ncc zinaanza tena
Ili kuthibitisha kuwa mteja anaweza kuanzisha muunganisho salama, endesha amri ifuatayo kwenye kompyuta ya mteja wa nje (sio kwenye seva ya Kituo cha Kudhibiti). Hapa chini, PUBLIC_HOSTNAME ndilo jina la mpangishaji la Kituo cha Udhibiti:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Majadiliano salama yanaungwa mkono"
Katika pato la amri unapaswa kuona cheti cha seva na vile vile vifuatavyo:
Majadiliano salama yanaungwa mkono
Ili kuhakikisha kuwa huduma za ndani zimepewa ufikiaji wa seva ya Kafka, tafadhali angalia kumbukumbu ifuatayofiles:

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

Kuthibitisha Muunganisho wa Mteja wa Nje
kafkacat
KUMBUKA: Maagizo haya yanapaswa kuendeshwa kwenye kompyuta ya mteja (sio kwenye seva ya Kituo cha Kudhibiti).
KUMBUKA: Ili kuonyesha maelezo ya vipimo, hakikisha kuwa angalau kifuatiliaji kimoja kinatumika katika Kituo cha Kudhibiti.
Ili kuthibitisha na kuthibitisha muunganisho kama mteja wa nje, inawezekana kutumia huduma ya kafkacat ambayo ilisakinishwa katika sehemu ya "Kuthibitisha Kwamba API ya Kutiririsha Inafanya kazi katika Kituo cha Udhibiti" kwenye ukurasa wa 4.
Tekeleza hatua zifuatazo:
KUMBUKA: Hapa chini, CLIENT_USER ndiye mtumiaji aliyebainishwa hapo awali katika file /etc/kafka/server.properties katika Kituo cha Kudhibiti: yaani, user_client na nenosiri lililowekwa hapo.
Cheti cha mizizi cha CA kinachotumiwa kusaini cheti cha SSL cha upande wa seva lazima kiwepo kwenye mteja.

  • Unda a file client.properties zilizo na maudhui yafuatayo:

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

  • {PATH_TO_CA_CERT} ni eneo la cheti cha mizizi cha CA kinachotumiwa na wakala wa Kafka
  • {CLIENT_USER} na {CLIENT_PASSWORD} ni vitambulisho vya mtumiaji kwa mteja.
  • Tumia amri ifuatayo ili kuona ujumbe unaotumiwa na kafkacat:

safirisha nje KAFKA_FQDN=
export METRICS_TOPIC=paa.public.accounts. .vipimo
kafkacat -b ${KAFKA_FQDN}:9093 -F mteja.mali -t ${METRICS_TOPIC} -C -e
ambapo {METRICS_TOPIC} ni jina la mada ya Kafka yenye kiambishi awali "paa.public.".

KUMBUKA: Matoleo ya zamani ya kafkacat hayatoi -F chaguo la kusoma mipangilio ya mteja kutoka kwa a file. Ikiwa unatumia toleo kama hilo, lazima utoe mipangilio sawa kutoka kwa safu ya amri kama inavyoonyeshwa hapa chini.

kafkacat -b ${KAFKA_FQDN}:9093 \
-X security.protocol=SASL_SSL \
-X ssl.ca.location={PATH_TO_CA_CERT} \
-X sasl.mechanisms=PLAIN \
-X sasl.jina la mtumiaji={CLIENT_USER} \
-X sasl.password={CLIENT_PASSWORD} \
-t ${METRICS_TOPIC} -C -e
Ili kurekebisha muunganisho, unaweza kutumia -d chaguo:

Tatua mawasiliano ya watumiaji
kafkacat -d mtumiaji -b ${KAFKA_FQDN}:9093 -F mteja.mali -t ${METRICS_TOPIC} -C -e
# Tatua mawasiliano ya wakala
kafkacat -d wakala -b ${KAFKA_FQDN}:9093 -F mteja.mali -t ${METRICS_TOPIC} -C -e

Hakikisha ukirejelea hati za maktaba ya mteja wa Kafka inayotumika, kwani sifa zinaweza kutofautiana na zile za mteja.mali.
Umbizo la Ujumbe
Barua pepe zinazotumika kwa mada za vipimo na metadata zimesasishwa katika umbizo la bafa za Itifaki (protobuf) (angalia developers.google.com/protocol-buffers) Mipangilio ya ujumbe huu inaambatana na umbizo lifuatalo:

Metrics Protobuf Schema

syntax = "proto3";
agiza "google/protobuf/timestamp.proto”;
kifurushi paa.streamingapi;
chaguo go_package = “.;paa_streamingapi”;
Vipimo vya ujumbe {
google.protobuf.Timestamp nyakatiamp = 1;
ramani maadili = 2;
int32 stream_id = 3;
}
/**
* Thamani ya kipimo inaweza kuwa nambari kamili au kuelea.
*/
ujumbe MetricValue {
moja ya aina {
int64 int_val = 1;
kuelea kuelea_val = 2;
}
}

Metadata Protobuf Schema

syntax = "proto3";
kifurushi paa.streamingapi;
chaguo go_package = “.;paa_streamingapi”;
metadata ya ujumbe {
int32 stream_id = 1;
string stream_name = 2;
ramani tags = 13;
}

Mteja Exampchini

KUMBUKA: Amri hizi zinakusudiwa kutekelezwa na mteja wa nje, kwa mfanoampleta kompyuta yako ndogo au sawa, na sio kwenye Kituo cha Kudhibiti.
KUMBUKA: Ili maelezo ya vipimo yaonyeshwe, hakikisha kuwa angalau kifuatiliaji kimoja kinatumika katika Kituo cha Kudhibiti.
Kituo cha Udhibiti cha tarball kinajumuisha hifadhi ya paa-streaming-api-client-examples.tar.gz (mteja-mfamples), ambayo ina exampHati ya Python inayoonyesha jinsi ya kutumia API ya Utiririshaji.
Kusakinisha na Kusanidi Mteja Exampchini
Unapata mteja-exampkwenye folda ya Kituo cha Udhibiti wa Uhakikisho wa Paragon:

hamisha CC_VERSION=4.2.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-exampkidogo*
Ili kusakinisha mteja-examples kwenye kompyuta yako ya mteja wa nje, endelea kama ifuatavyo:
# Unda saraka ya kutoa yaliyomo kwenye mteja wa zamaniamples tarball
mkdir paa-streaming-api-client-exampchini
# Toa yaliyomo kwenye mteja wa zamaniamples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-exampchini
# Nenda kwenye saraka mpya iliyoundwa
cd paa-streaming-api-client-exampchini
mteja-mfamples inahitaji Docker kukimbia. Upakuaji na maagizo ya usakinishaji wa Docker yanaweza kupatikana kwa https://docs.docker.com/engine/install.

Kutumia Mteja Exampchini
Mteja-mfamples zana zinaweza kufanya kazi katika hali ya msingi au ya juu ili kuunda exampugumu tofauti. Katika visa vyote viwili, inawezekana pia kuendesha exampchini na usanidi file iliyo na mali ya ziada kwa ubinafsishaji zaidi wa upande wa mteja.
Hali ya Msingi
Katika hali ya msingi, vipimo na metadata zao hutiririshwa kando. Ili kufikia mwisho huu, mteja husikiliza kila mada ya Kafka inayopatikana kwa ufikiaji wa nje na kuchapisha tu ujumbe uliopokelewa kwenye koni.
Kuanza utekelezaji wa msingi wa zamaniamples, kukimbia:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ambapo ACCOUNT_SHORTNAME ndilo jina fupi la akaunti unayotaka kupata vipimo kutoka.
Ili kusitisha utekelezaji wa example, bonyeza Ctrl + C. (Kunaweza kuwa na kuchelewa kidogo kabla ya utekelezaji kukoma kwa sababu mteja anasubiri tukio la muda kuisha.)
Hali ya Juu
KUMBUKA: Vipimo huonyeshwa tu kwa vichunguzi vya HTTP vinavyoendesha katika Kituo cha Kudhibiti.
Utekelezaji katika hali ya kina huonyesha uwiano kati ya meta na metadata. Hili linawezekana kutokana na uwepo katika kila ujumbe wa vipimo wa sehemu ya kitambulisho cha mtiririko ambayo inarejelea ujumbe unaolingana wa metadata.
Ili kutekeleza ex ya juuamples, kukimbia:
./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ambapo ACCOUNT_SHORTNAME ndilo jina fupi la akaunti unayotaka kupata vipimo kutoka.
Ili kusitisha utekelezaji wa example, bonyeza Ctrl + C. (Kunaweza kuwa na kuchelewa kidogo kabla ya utekelezaji kukoma kwa sababu mteja anasubiri tukio la muda kuisha.)
Mipangilio ya Ziada
Inawezekana kuendesha exampchini na usanidi wa ziada wa mteja kwa kutumia -config-file chaguo ikifuatiwa na a file jina lililo na sifa katika fomu key=value.
./build.sh run-advanced \
–kafka-brokers localhost:9092 \
-akaunti ACCOUNT_SHORTNAME \
-config-file mteja_config.properties

KUMBUKA: Wote files iliyorejelewa katika amri hapo juu lazima iwe kwenye saraka ya sasa na kurejelewa kwa kutumia njia za jamaa pekee. Hii inatumika kwa -config-file hoja na kwa maingizo yote katika usanidi file hiyo inaelezea file maeneo.
Kuthibitisha Uthibitishaji wa Mteja wa Nje
Ili kuthibitisha uthibitishaji wa mteja kutoka nje ya Kituo cha Kudhibiti kwa kutumia client-examples, fanya hatua zifuatazo:

  • Kutoka kwa folda ya Kituo cha Udhibiti wa Uhakikisho wa Paragon, badilisha hadi paa-streaming-api-clientexampfolda ndogo:
    cd paa-streaming-api-client-exampchini
  • Nakili ca-cert ya cheti cha mizizi cha CA kwenye saraka ya sasa.
  • Unda mteja.sifa file na maudhui yafuatayo:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=PLAIN
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD}
    ambapo {CLIENT_USER} na {CLIENT_PASSWORD} ni vitambulisho vya mtumiaji kwa mteja.
  • Endesha ex ya msingiampchini:
    safirisha nje KAFKA_FQDN=
    ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
    -akaunti ACCOUNT_SHORTNAME
    -config-file mali.za.mteja
    ambapo ACCOUNT_SHORTNAME ndilo jina fupi la akaunti unayotaka kupata vipimo kutoka.
  • Endesha ex ya hali ya juuampchini:
    safirisha nje KAFKA_FQDN=
    ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
    -akaunti ACCOUNT_SHORTNAME
    -config-file mali.za.mteja

Nyongeza
Katika kiambatisho hiki tunaelezea jinsi ya kuunda:

  • duka la ufunguo file kwa kuhifadhi cheti cha SSL cha wakala wa Kafka
  • duka la amana file kwa ajili ya kuhifadhi cheti cha mizizi cha Mamlaka ya Cheti (CA) kilichotumika kutia saini cheti cha wakala wa Kafka.

Kuunda Cheti cha Wakala wa Kafka
Kuunda Cheti Kwa Kutumia Mamlaka ya Cheti Halisi (Inapendekezwa)
Inapendekezwa kwamba upate cheti halisi cha SSL kutoka kwa CA inayoaminika.
Mara tu unapoamua juu ya CA, nakili cheti chao cha cheti cha CA file kwa njia yako mwenyewe kama inavyoonyeshwa hapa chini:
export CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
Unda Mamlaka ya Cheti Chako Mwenyewe
KUMBUKA: Kwa kawaida cheti chako kinapaswa kusainiwa na Mamlaka ya Cheti halisi; tazama kifungu kidogo kilichotangulia. Kinachofuata ni ex tuample.
Hapa tunaunda cheti chetu cha mizizi cha Mamlaka ya Cheti (CA). file halali kwa siku 999 (haipendekezwi katika uzalishaji):
# Unda saraka ya kuhifadhi CA
export CA_PATH=~/my-ca
mkdir ${CA_PATH}
# Tengeneza cheti cha CA
openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999

Kuunda Hifadhi ya Wateja
Sasa unaweza kuunda truststore file ambayo ina ca-cert iliyotolewa hapo juu. Hii file itahitajika na mteja wa Kafka ambaye atafikia API ya Utiririshaji:

keytool -keystore kafka.client.truststore.jks \
-pana kama CARoot \
-agiza -file ${CA_PATH}/ca-cert

Kwa kuwa sasa cheti cha CA kiko kwenye duka la kudhamini, mteja ataamini cheti chochote kilichotiwa saini nacho.
Unapaswa kunakili file kafka.client.truststore.jks kwa eneo linalojulikana kwenye kompyuta ya mteja wako na uelekeze humo katika mipangilio.
Kuunda duka kuu la Dalali wa Kafka
Ili kutoa cheti cha SSL cha wakala wa Kafka na kisha duka la vitufe kafka.server.keystore.jks, endelea kama ifuatavyo:
Inazalisha Cheti cha SSL
Ifuatayo, 999 ni idadi ya siku za uhalali wa duka la vitufe, na FQDN ni jina la kikoa lililohitimu kikamilifu la mteja (jina la mwenyeji wa umma la nodi).
KUMBUKA: Ni muhimu kwamba FQDN ilingane na jina halisi la mpangishaji ambalo mteja wa Kafka atatumia kuunganisha kwenye Kituo cha Kudhibiti.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/private
safirisha nje FQDN=
keytool -keystore kafka.server.keystore.jks \
- seva ya jina \
-uhalali 999 \
-genkey -keyalg RSA -ext SAN=dns:${FQDN}
Unda ombi la kusaini cheti na uihifadhi kwenye faili ya file jina la ombi la cert-server:
keytool -keystore kafka.server.keystore.jks \
- seva ya jina \
-certreq \
-file ombi la seva-cert

Unapaswa kutuma sasa file ombi la seva-cert kwa Mamlaka yako ya Cheti (CA) ikiwa unatumia halisi. Kisha watarudisha cheti kilichotiwa saini. Tutarejelea hii kama cert-server-saini hapa chini.
Kusaini Cheti cha SSL Kwa Kutumia Cheti cha CA Iliyoundwa Mwenyewe
KUMBUKA: Tena, kutumia CA yako mwenyewe haipendekezwi katika mfumo wa uzalishaji.
Saini cheti kwa kutumia CA kwa njia ya file cert-server-request, ambayo hutoa cheti kilichotiwa saini cheti-kilichotiwa saini na seva. Tazama hapa chini; ca-password ni nenosiri lililowekwa wakati wa kuunda cheti cha CA.

cd /var/ssl/private
openssl x509 -req \
-CA ${CA_PATH}/ca-cert \
-CAkey ${CA_PATH}/ca-key \
-katika ombi la cert-server-
-toa cheti-seva-imesainiwa \
-siku 999 -CAcreateserial \
-passin pass:{ca-password}

Kuingiza Cheti Kilichotiwa Sahihi kwenye Duka la vitufe
Ingiza cheti cha mizizi ya ca-cert kwenye duka la vitufe:
keytool -keystore kafka.server.keystore.jks \
- alis ca-cert \
-agiza \
-file ${CA_PATH}/ca-cert
Ingiza cheti kilichotiwa saini kinachojulikana kama cert-server-signed:
keytool -keystore kafka.server.keystore.jks \
- seva ya jina \
-agiza \
-file cert-server-saini
The file kafka.server.keystore.jks inapaswa kunakiliwa hadi mahali panapojulikana kwenye seva ya Kituo cha Udhibiti, na kisha kurejelewa katika /etc/kafka/server.properties.

Kwa kutumia API ya Kutiririsha

Mkuu
API ya kutiririsha huchukua data ya majaribio na ufuatiliaji. Haiwezekani kutenga moja ya kategoria hizi.
API ya kutiririsha haileti data kutoka kwa majaribio kulingana na hati (yale yanayowakilishwa na mstatili badala ya kipande cha jigsaw katika GUI ya Kituo cha Kudhibiti), kama vile majaribio ya kuwezesha huduma ya Ethaneti na majaribio ya uwazi.

Majina ya Mada ya Kafka
Majina ya mada ya Kafka ya API ya kutiririsha ni kama ifuatavyo, ambapo %s ni jina fupi la akaunti ya Kituo cha Udhibiti (kilichoonyeshwa wakati wa kuunda akaunti):

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

Exampmasomo ya Kutumia API ya Kutiririsha
Exampzifuatazo zinapatikana katika tarball paa-streaming-api-client-examples.tar.gz iliyo ndani ya tarball ya Kituo cha Udhibiti.
Kwanza, kuna ex ya msingiample inayoonyesha jinsi metriki na metadata zake zinavyotiririshwa kando na kuchapisha kwa urahisi ujumbe uliopokewa kwenye dashibodi. Unaweza kuiendesha kama ifuatavyo:
sudo ./build.sh run-basic -kafka-brokers localhost:9092 -account ACCOUNT_SHORTNAME
Pia kuna ex advanced zaidiample ambapo metriki na ujumbe wa metadata huunganishwa. Tumia amri hii kuiendesha:
sudo ./build.sh run-advanced -kafka-brokers localhost:9092 -account ACCOUNT_SHORTNAME
Unahitaji kutumia sudo kutekeleza amri za Docker kama zile zilizo hapo juu. Kwa hiari, unaweza kufuata hatua za usakinishaji wa baada ya Linux ili kuweza kutekeleza maagizo ya Docker bila sudo. Kwa maelezo, nenda kwa docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, nembo ya Mitandao ya Mreteni, Mreteni, na Junos ni chapa za biashara zilizosajiliwa za Juniper Networks, Inc. nchini Marekani na nchi nyinginezo. Alama zingine zote za biashara, alama za huduma, alama zilizosajiliwa, au alama za huduma zilizosajiliwa ni mali ya wamiliki husika. Mitandao ya Juniper haichukui jukumu kwa makosa yoyote katika hati hii. Mitandao ya Juniper inahifadhi haki ya kubadilisha, kurekebisha, kuhamisha au kusahihisha chapisho hili bila notisi. Hakimiliki © 2023 Juniper Networks, Inc. Haki zote zimehifadhiwa.

Nembo ya MTANDAO wa Juniper

Nyaraka / Rasilimali

Uhakikisho Amilifu wa API ya Utiririshaji wa MITANDAO ya Juniper [pdf] Mwongozo wa Mtumiaji
Uhakikisho Amilifu wa API, Uhakikisho Amilifu wa API, Uhakikisho Amilifu, Uhakikisho

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *