Juniper logotipiMuhandislik soddaligi
Streaming API uchun qoʻllanma

Kirish

Ushbu qo'llanmada Paragon Active Assurance-dan mahsulotning oqimli API orqali ma'lumotlarni qanday chiqarish mumkinligi tasvirlangan.
API va oqim mijozi Paragon Active Assurance o'rnatilishiga kiritilgan.
Biroq, API dan foydalanishdan oldin biroz konfiguratsiya talab qilinadi. Bu 1-betdagi “Oqimli API-ni sozlash”da yoritilgan.

tugadiview

Ushbu bobda Kafka orqali o'lchov xabarlariga obuna bo'lishga ruxsat berish uchun Streaming API-ni qanday sozlash kerakligi tasvirlangan.
Quyida biz o'tamiz:

  • Streaming API-ni qanday yoqish mumkin
  • Kafkani tashqi mijozlarni tinglash uchun qanday sozlash kerak
  • Kafkani ACL-lardan foydalanish uchun qanday sozlash va ushbu mijozlar uchun SSL shifrlashni sozlash

Kafka nima?

Kafka - hodisalar oqimi ko'rinishidagi platforma bo'lib, u turli hodisalar manbalaridan (sensorlar, ma'lumotlar bazalari, mobil qurilmalar) voqealar oqimi ko'rinishida yuborilgan ma'lumotlarni real vaqt rejimida qo'lga kiritish, shuningdek, keyinchalik olish va manipulyatsiya qilish uchun ushbu hodisalar oqimlarini uzoq muddat saqlash imkonini beradi.
Kafka yordamida voqealar oqimini taqsimlangan, yuqori darajada kengaytiriladigan, elastik, xatolarga chidamli va xavfsiz tarzda boshqarish mumkin.
ESLATMA: Kafka juda ko'p turli yo'llar bilan sozlanishi mumkin va o'lchovlilik va ortiqcha tizimlar uchun mo'ljallangan. Ushbu hujjat faqat Paragon Active Assurance Control Center-da joylashgan Streaming API funksiyasidan foydalanish uchun uni qanday sozlashga qaratilgan. Kengaytirilgan sozlamalar uchun biz rasmiy Kafka hujjatlariga murojaat qilamiz: kafka.apache.org/26/documentation.html.

Terminologiya

  • Kafka: Voqealar oqimi platformasi.
  • Kafka mavzusi: Voqealar to'plami.
  • Kafka obunachisi/iste'molchisi: Kafka mavzusida saqlangan voqealarni olish uchun mas'ul komponent.
  • Kafka brokeri: Kafka klasterining saqlash qatlami serveri.
  • SSL/TLS: SSL - bu Internet orqali xavfsiz ma'lumotlarni yuborish uchun ishlab chiqilgan xavfsiz protokol. TLS 1999 yilda taqdim etilgan SSL vorisi hisoblanadi.
  • SASL: foydalanuvchi autentifikatsiyasi, ma'lumotlar yaxlitligini tekshirish va shifrlash mexanizmlarini ta'minlovchi ramka.
  • Streaming API obunachisi: Paragon Active Assurance-da belgilangan va tashqi kirish uchun mo'ljallangan mavzularda saqlangan voqealarni olish uchun mas'ul bo'lgan komponent.
  • Sertifikat organi: Ochiq kalit sertifikatlarini chiqaradigan va bekor qiluvchi ishonchli tashkilot.
  • Sertifikat organining ildiz sertifikati: Sertifikat organini identifikatsiya qiluvchi ochiq kalit sertifikati.

Streaming API qanday ishlaydi

Yuqorida aytib o'tilganidek, Streaming API tashqi mijozlarga Kafkadan ko'rsatkichlar haqida ma'lumot olish imkonini beradi.
Sinov yoki monitoring topshirig'i davomida Test agentlari tomonidan to'plangan barcha ko'rsatkichlar Stream xizmatiga yuboriladi.
Qayta ishlash bosqichidan so'ng, Stream xizmati ushbu ko'rsatkichlarni qo'shimcha metama'lumotlar bilan birgalikda Kafkada nashr etadi.

Juniper Streaming API

Kafka mavzulari

Kafka barcha ma'lumotlar chop etiladigan mavzular tushunchasiga ega. Paragon Active Assurance-da Kafkaga oid ko'plab mavzular mavjud; ammo ularning faqat bir qismi tashqi kirish uchun mo'ljallangan.
Boshqaruv markazidagi har bir Paragon Active Assurance hisob qaydnomasida ikkita maxsus mavzu mavjud. Quyida ACCOUNT hisobning qisqa nomi:

  • paa.public.accounts.{ACCOUNT}.metriklar
  • Ushbu hisob uchun barcha ko'rsatkichlar xabarlari ushbu mavzuda nashr etilgan
  • Katta hajmdagi ma'lumotlar
  • Yuqori yangilanish chastotasi
  • paa.public.accounts.{ACCOUNT}.metadata
  • Oʻlchov maʼlumotlariga tegishli metamaʼlumotlarni oʻz ichiga oladi, masalanampko'rsatkichlar bilan bog'langan test, monitor yoki test agenti
  • Kichik hajmdagi ma'lumotlar
  • Past yangilanish chastotasi

Streaming API yoqilmoqda

ESLATMA: Ushbu ko'rsatmalar Sudo yordamida Boshqarish markazi serverida bajarilishi kerak.
Streaming API Boshqarish markaziga biroz qo'shimcha xarajatlar qo'shganligi sababli, u sukut bo'yicha yoqilmagan. APIni yoqish uchun avvalo asosiy konfiguratsiyada Kafkaga oʻlchovlarni nashr qilishni yoqishimiz kerak file:

  • /etc/netrounds/netrounds.conf
    KAFKA_METRICS_ENABLED = To'g'ri
    OGOHLANTIRISH: Ushbu xususiyatni yoqish Boshqarish markazining ishlashiga ta'sir qilishi mumkin. Namunani mos ravishda o'lchaganingizga ishonch hosil qiling.
    Keyinchalik, ushbu ko'rsatkichlarni to'g'ri Kafka mavzulariga yo'naltirishni yoqish uchun:
  • /etc/netrounds/metrics.yaml
    streaming-api: rost

Streaming API xizmatlarini yoqish va ishga tushirish uchun quyidagilarni bajaring:
sudo ncc xizmatlari timescaledb ko'rsatkichlarini faollashtiradi Sudo ncc xizmatlari start timescaledb ko'rsatkichlarini
Nihoyat, xizmatlarni qayta ishga tushiring:
sudo ncc xizmatlarini qayta ishga tushiring

Streaming API boshqaruv markazida ishlashini tekshirish

ESLATMA: Ushbu ko'rsatmalar Boshqarish markazi serverida bajarilishi kerak.
Endi siz to'g'ri Kafka mavzulari bo'yicha ko'rsatkichlarni olayotganingizni tekshirishingiz mumkin. Buning uchun kafkacat yordam dasturini o'rnating:
sudo apt-get update sudo apt-get install kafkacat
Agar sizda Boshqarish markazida sinov yoki monitor ishlayotgan bo'lsa, ushbu mavzular bo'yicha ko'rsatkichlar va metama'lumotlarni olish uchun kafkacat-dan foydalanishingiz kerak.
Mening hisob qaydnomamni hisobingizning qisqa nomi bilan almashtiring (buni Boshqarish markazida ko'rasiz URL):
eksport METRICS_TOPIC=paa.public.accounts.myaccount.metrics
eksport METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Endi ushbu buyruqni bajarish orqali ko'rsatkichlarni ko'rishingiz kerak:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Kimga view metadata uchun quyidagi buyruqni bajaring (esda tutingki, bu tez-tez yangilanmaydi):
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
ESLATMA:
kafkacat”Mijoz Examples ”14 -betda
Bu bizda Boshqarish markazidan ishlaydigan Streaming API mavjudligini tasdiqlaydi. Biroq, ehtimol siz tashqi mijozdan ma'lumotlarga kirishga qiziqasiz. Keyingi bo'limda tashqi kirish uchun Kafkani qanday ochish kerakligi tasvirlangan.

Tashqi xostlar uchun Kafkani ochish

ESLATMA: Ushbu ko'rsatmalar Boshqarish markazi serverida bajarilishi kerak.
Odatiy bo'lib Boshqaruv markazida ishlaydigan Kafka ichki foydalanish uchun faqat localhost-da tinglash uchun tuzilgan.
Kafka sozlamalarini o'zgartirish orqali tashqi mijozlar uchun Kafkani ochish mumkin.
Kafka bilan bog'lanish: ogohlantirishlar
THE OUTDOOR PLUS TOP seriyali yong'in chuquriga ulanish to'plamlari va qo'shimchalari - 1-ikon DIQQAT:
Iltimos, buni diqqat bilan o'qing, chunki agar siz ushbu tushunchalarni tushunmagan bo'lsangiz, Kafka bilan bog'lanish muammosiga duch kelishingiz oson.
Ushbu hujjatda tasvirlangan Boshqarish markazi sozlamalarida faqat bitta Kafka brokeri mavjud.
Ammo shuni yodda tutingki, Kafka brokeri ko'plab Kafka brokerlaridan iborat bo'lishi mumkin bo'lgan Kafka klasterining bir qismi sifatida ishlash uchun mo'ljallangan.
Kafka brokeriga ulanishda dastlabki ulanish Kafka mijozi tomonidan o'rnatiladi. Shu munosabat bilan Kafka brokeri o'z navbatida bir yoki bir nechta Kafka brokerlarining ro'yxati bo'lgan "reklama qilingan tinglovchilar" ro'yxatini qaytaradi.
Ushbu ro'yxatni olgandan so'ng, Kafka mijozi aloqani uzadi, so'ngra ushbu reklama qilingan tinglovchilardan biriga qayta ulanadi. Reklama qilingan tinglovchilarda Kafka mijozi uchun ochiq bo'lgan xost nomlari yoki IP manzillari bo'lishi kerak, aks holda mijoz ulana olmaydi.
Agar SSL shifrlash ma'lum bir xost nomiga bog'langan SSL sertifikatidan foydalanilsa, Kafka mijozi ulanish uchun to'g'ri manzilni olishi muhimroqdir, chunki aks holda ulanish rad etilishi mumkin.
Kafka tinglovchilari haqida ko'proq ma'lumotni bu erda o'qing: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS shifrlash
Kafka va Streaming API-ga faqat ishonchli mijozlar kirishiga ruxsat berilganligiga ishonch hosil qilish uchun biz quyidagilarni sozlashimiz kerak:

  • Autentifikatsiya: Mijozlar mijoz va Kafka o'rtasida SSL/TLS xavfsiz ulanishi orqali foydalanuvchi nomi va parolni taqdim etishlari kerak.
  • Avtorizatsiya: Autentifikatsiya qilingan mijozlar ACL tomonidan tartibga solinadigan vazifalarni bajarishi mumkin.
    Mana tugadiview:

Juniper Streaming API - rasm

*) SSL-shifrlangan kanalda foydalanuvchi nomi/parolni autentifikatsiya qilish
Kafka uchun SSL/TLS shifrlash qanday ishlashini to'liq tushunish uchun rasmiy hujjatlarga murojaat qiling: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS sertifikati tugadiview
ESLATMA: Ushbu kichik bo'limda biz quyidagi atamalardan foydalanamiz:
Sertifikat: Sertifikat organi (CA) tomonidan imzolangan SSL sertifikati. Har bir Kafka brokerida bitta.
Kalit do‘koni: Kalit do'koni file sertifikatni saqlaydi. Kalit do'koni file sertifikatning shaxsiy kalitini o'z ichiga oladi; shuning uchun uni xavfsiz saqlash kerak.
Truststore: A file ishonchli CA sertifikatlarini o'z ichiga oladi.
Boshqarish markazida ishlaydigan tashqi mijoz va Kafka o'rtasida autentifikatsiyani o'rnatish uchun ikkala tomonda CA ildiz sertifikati bilan birga Sertifikat organi (CA) tomonidan imzolangan tegishli sertifikat bilan belgilangan kalit do'koni bo'lishi kerak.
Bunga qo'shimcha ravishda, mijozda CA ildiz sertifikatiga ega ishonchli do'kon ham bo'lishi kerak.
CA ildiz sertifikati Kafka brokeri va Kafka mijozi uchun umumiydir.
Kerakli sertifikatlarni yaratish
Bu 17-betdagi “Ilova”da yoritilgan.
Boshqaruv markazida Kafka Broker SSL/TLS konfiguratsiyasi
ESLATMA: Ushbu ko'rsatmalar Boshqarish markazi serverida bajarilishi kerak.
ESLATMA: Davom etishdan oldin siz 17-betdagi “Ilova”dagi ko‘rsatmalarga rioya qilib, SSL sertifikatini o‘z ichiga olgan kalit do‘konini yaratishingiz kerak. Quyida keltirilgan yo‘llar ushbu ko‘rsatmalardan kelib chiqadi.
SSL kalit do'koni a file bilan diskda saqlanadi file kengaytmasi .jks.
Kafka brokeri va Kafka mijozi uchun yaratilgan kerakli sertifikatlarga ega bo'lganingizdan so'ng, boshqaruv markazida ishlaydigan Kafka brokerini sozlashni davom ettirishingiz mumkin. Siz quyidagilarni bilishingiz kerak:

  • : Boshqaruv markazining umumiy xost nomi; Bu Kafka mijozlari tomonidan hal qilinishi va foydalanishi mumkin bo'lishi kerak.
  • : SSL sertifikatini yaratishda taqdim etiladigan kalit do'koni paroli.
  • va : Bular mos ravishda administrator va mijoz foydalanuvchisi uchun oʻrnatmoqchi boʻlgan parollardir.
    Esda tutingki, avvalgi maqolada ko'rsatilganidek, siz ko'proq foydalanuvchilarni qo'shishingiz mumkinample.
    /etc/kafka/server.properties da quyidagi xususiyatlarni tahrirlang yoki qo'shing (sudo ruxsati bilan), yuqoridagi o'zgaruvchilarni ko'rsatilganidek kiriting:

Elektr toki urish belgisi OGOHLANTIRISH: PLAINTEXT://localhost:9092 ni olib tashlamang; bu boshqaruv markazi funksiyasini buzadi, chunki ichki xizmatlar aloqa qila olmaydi.
…# Kafka brokeri tinglaydigan manzillar.
tinglovchilar=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Bu bog'langan har qanday mijozga e'lon qilingan xostlardir.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL://:9093…
####### MAXSUS KONFIG
# SSL KONFIGURASI
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=none
ssl.protocol=TLSv1.2
# SASL konfiguratsiyasi sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo talab qilinadi \ username=”admin” \ password=”” \ user_admin=” ” \ user_client=””; # DIQQAT user_= bilan yana foydalanuvchilar qoʻshilishi mumkin
# Avtorizatsiya, ACL'larni yoqing authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=User:admin
Kirishni boshqarish ro'yxatlarini (ACL) o'rnatish
Localhost-da ACL-larni yoqish
Elektr toki urish belgisi OGOHLANTIRISH: Biz birinchi navbatda localhost uchun ACL larni sozlashimiz kerak, shunda Boshqaruv markazining o'zi hali ham Kafkaga kira oladi. Agar bu bajarilmasa, narsalar buziladi.
######### Anonim foydalanuvchilar uchun ACL yozuvlari
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal Foydalanuvchi:ANONYMOUS –allow-host 127.0.0.1 –klaster
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal Foydalanuvchi:ANONYMOUS –allow-host 127.0.0.1 –mavzu ‘*’
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal Foydalanuvchi:ANONYMOUS –allow-host 127.0.0.1 –guruh ‘*’
Keyin tashqi foydalanuvchilarga paa.public.* mavzularini o'qishga ruxsat berish uchun tashqi faqat o'qish uchun ruxsat uchun ACLlarni yoqishimiz kerak.
ESLATMA: Aniqroq nazorat qilish uchun rasmiy Kafka hujjatlariga murojaat qiling.
######### Tashqi foydalanuvchilar uchun ACL yozuvlari
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties zookeeper.connect=localhost:2181 \
– qo‘shish – ruxsat berish-asosiy foydalanuvchi:* – operatsiyani o‘qish – operatsiyani tavsiflash \ – “NCC” guruhi
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
– qo‘shish – ruxsat berish-asosiy foydalanuvchi:* – operatsiyani o‘qish – operatsiyani tavsiflash \
-mavzu paa.public. –resurs-naqsh tipidagi prefiks
Buni tugatgandan so'ng, xizmatlarni qayta ishga tushirishingiz kerak:
sudo ncc xizmatlarini qayta ishga tushiring
Mijoz xavfsiz ulanish o'rnatishi mumkinligini tekshirish uchun tashqi mijoz kompyuterida quyidagi buyruqni bajaring (Boshqarish markazi serverida emas). Quyida PUBLIC_HOSTNAME boshqaruv markazining xost nomi:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Xavfsiz qayta muzokaralar qo'llab-quvvatlanadi"
Buyruqning chiqishida siz server sertifikatini, shuningdek quyidagilarni ko'rishingiz kerak:
Secure Renegotiation IS qo'llab-quvvatlanadi
Ichki xizmatlarga Kafka serveriga kirish huquqi berilganligiga ishonch hosil qilish uchun quyidagi jurnalni tekshiringfiles:

Tashqi mijoz ulanishini tekshirish

kafkakat
ESLATMA: Ushbu ko'rsatmalar mijoz kompyuterida (Boshqarish markazi serverida emas) bajarilishi kerak.
ESLATMA: Ko'rsatkichlar ma'lumotlarini ko'rsatish uchun Boshqarish markazida kamida bitta monitor ishlayotganligiga ishonch hosil qiling.
Tashqi mijoz sifatida ulanishni tekshirish va tasdiqlash uchun 4-betdagi “Oqimli API boshqaruv markazida ishlashini tekshirish” bo‘limida o‘rnatilgan kafkacat yordam dasturidan foydalanish mumkin.
Quyidagi amallarni bajaring:
ESLATMA: Quyida CLIENT_USER avval ko'rsatilgan foydalanuvchi file /etc/kafka/server.properties ichida
Boshqaruv markazi: ya'ni user_client va u erda o'rnatilgan parol.
Server tomonidagi SSL sertifikatini imzolash uchun foydalaniladigan CA ildiz sertifikati mijozda bo'lishi kerak.

  • Yaratish a file client.properties quyidagi tarkibga ega:
    security.protocol=SASL_SSL
    ssl.ca.location={PATH_TO_CA_CERT}
    sasl.mechanisms=PLAIN
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD} qayerda
    • {PATH_TO_CA_CERT} - Kafka brokeri tomonidan foydalaniladigan CA ildiz sertifikatining joylashuvi
    • {CLIENT_USER} va {CLIENT_PASSWORD} - mijoz uchun foydalanuvchi hisob ma'lumotlari.
    • Kafkacat tomonidan iste'mol qilingan xabarni ko'rish uchun quyidagi buyruqni bajaring:
    eksport KAFKA_FQDN=
    eksport METRICS_TOPIC=paa.public.accounts..metrikalar
    kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
    Bu yerda {METRICS_TOPIC} - “paa.public.” prefiksi bilan Kafka mavzusining nomi.

ESLATMA: Kafkacatning eski versiyalarida a dan mijoz sozlamalarini o'qish uchun -F opsiyasi mavjud emas file. Agar siz bunday versiyadan foydalanayotgan bo'lsangiz, quyida ko'rsatilganidek, buyruq satridan bir xil sozlamalarni taqdim etishingiz kerak.
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
Ulanishni disk raskadrovka qilish uchun siz -d opsiyasidan foydalanishingiz mumkin:
Iste'molchi aloqalarini tuzatish
kafkacat -d iste'molchi -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Broker aloqalarini tuzatish
kafkacat -d broker -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Amaldagi Kafka mijozlar kutubxonasi hujjatlariga murojaat qilishni unutmang, chunki xususiyatlar client.propertiesdagilardan farq qilishi mumkin.

Xabar formati

Ko'rsatkichlar va metama'lumotlar mavzulari uchun ishlatiladigan xabarlar Protokol buferlari (protobuf) formatida ketma-ketlashtiriladi (qarang. developers.google.com/protocol-buffers). Ushbu xabarlar uchun sxemalar quyidagi formatga mos keladi:
Metrik protobuf sxemasi
sintaksis = "proto3"; import “google/protobuf/timestamp.proto”; paket paa.streamgapi; variant go_package = “.;paa_streamgapi”; xabar Metrics { google.protobuf.Timestamp vaqtamp = 1; map qiymatlari = 2; int32 measure_id = 3; } /** * Metrik qiymat butun son yoki float bo'lishi mumkin. */
xabar MetricValue { oneof type { int64 int_val = 1; float float_val = 2; } }
Metadata Protobuf sxemasi
sintaksis = "proto3"; paket paa.streamgapi; variant go_package = “.;paa_streamgapi”; xabar Metadata {int32 measure_id = 1; string o'lchov_nomi = 2; xaritasi tags = 13; }

Mijoz Examples

ESLATMA: Ushbu buyruqlar tashqi mijozda ishlash uchun mo'ljallangan, masalanampBoshqaruv markazida emas, balki noutbuk yoki shunga o'xshash qurilmangizda.
ESLATMA: Ko'rsatkichlar ma'lumotlarini ko'rsatish uchun Boshqarish markazida kamida bitta monitor ishlayotganligiga ishonch hosil qiling.
Boshqarish markazi tarball paa-streaming-api-client-ex arxivini o'z ichiga oladiamples.tar.gz (mijoz-examples), unda sobiq mavjudampStreaming API-dan qanday foydalanishni ko'rsatadigan Python skripti.
Mijozni o'rnatish va sozlash Examples
Siz sobiq mijozni topasizamples Paragon Active Assurance Control Center papkasida:
eksport CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examples*
Client-ex-ni o'rnatish uchunamples tashqi mijoz kompyuteringizda quyidagi amallarni bajaring:
# Oldingi mijozning mazmunini olish uchun katalog yaratingamples tarball mkdir paa-streaming-api-client-examples
# Mijozning mazmunini chiqarib oling, oldingiamples tarball tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# Yangi yaratilgan CD paa-streaming-api-client-ex katalogiga o'tingamples client-examples ishlashi uchun Docker talab qilinadi. Docker uchun yuklab olish va o'rnatish bo'yicha ko'rsatmalarni quyidagi manzilda topishingiz mumkin https://docs.docker.com/engine/install.
Mijozdan foydalanish Examples
Sobiq mijozamples asboblari ex qurish uchun asosiy yoki kengaytirilgan rejimda ishlashi mumkinampturli xil murakkablikdagi narsalar. Ikkala holatda ham sobiqni ishga tushirish mumkinampkonfiguratsiyaga ega file mijoz tomonini yanada moslashtirish uchun qo'shimcha xususiyatlarni o'z ichiga oladi.
Asosiy rejim Asosiy rejimda ko'rsatkichlar va ularning metama'lumotlari alohida uzatiladi. Shu maqsadda mijoz tashqi kirish uchun mavjud bo'lgan har bir Kafka mavzusini tinglaydi va qabul qilingan xabarlarni konsolga chop etadi.
Asosiy ex bajarilishini boshlash uchunamples, ishga tushiring: ./build.sh run-basic –kafka-brokers localhost:9092 –hisob ACCOUNT_SHORTNAME
bu yerda ACCOUNT_SHORTNAME ko‘rsatkichlarni olmoqchi bo‘lgan hisobning qisqa nomi.
Sobiq ijroni tugatish uchunample, Ctrl + C tugmalarini bosing. (Ijro to'xtatilishidan oldin biroz kechikish bo'lishi mumkin, chunki mijoz vaqt tugashini kutadi.)
Kengaytirilgan rejim
ESLATMA:
Ko'rsatkichlar faqat Boshqarish markazida ishlaydigan HTTP monitorlari uchun ko'rsatiladi.
Kengaytirilgan rejimda bajarilish ko'rsatkichlar va metadata xabarlari o'rtasidagi bog'liqlikni ko'rsatadi. Bu har bir ko'rsatkich xabarida mos keladigan metadata xabariga tegishli oqim identifikatori maydonining mavjudligi tufayli mumkin.
Ilg'or sobiqni bajarish uchunamples, ishga tushiring: ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME bu yerda ACCOUNT_SHORTNAME ko‘rsatkichlarni olmoqchi bo‘lgan hisobning qisqa nomidir.
Sobiq ijroni tugatish uchunample, Ctrl + C tugmalarini bosing. (Ijro to'xtatilishidan oldin biroz kechikish bo'lishi mumkin, chunki mijoz vaqt tugashini kutadi.)
Qo'shimcha sozlamalar
Sobiqni ishga tushirish mumkinamp-config- yordamida mijozning qo'shimcha konfiguratsiyasi bilanfile variantidan keyin a file key=value shaklidagi xususiyatlarni o'z ichiga olgan nom.
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file client_config.properties
ESLATMA: Hammasi fileYuqoridagi buyruqda havola qilingan s joriy katalogda joylashgan bo'lishi va faqat nisbiy yo'llar yordamida havola qilinishi kerak. Bu -config- uchun ham amal qiladifile argument va konfiguratsiyadagi barcha yozuvlarga file bu tasvirlaydi file joylar.
Tashqi mijoz autentifikatsiyasini tekshirish
Client-ex-dan foydalanib, Boshqaruv markazidan tashqarida mijoz autentifikatsiyasini tekshirishamples uchun quyidagi amallarni bajaring:

  • Paragon Active Assurance Control Center jildidan paa-streaming-api-clientex-ga o'tingamples papkasi:
    cd paa-streaming-api-client-examples
  • CA ildiz sertifikati ca-sertifikatini joriy katalogga nusxalash.
  • client.properties yarating file quyidagi mazmun bilan:
    security.protocol=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=PLAIN
    sasl.username={CLIENT_USER}
    sasl.password={CLIENT_PASSWORD}
    bu yerda {CLIENT_USER} va {CLIENT_PASSWORD} mijoz uchun foydalanuvchi hisob maʼlumotlari.
  • Asosiy ex.ni ishga tushiringamples:
    eksport KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –hisob ACCOUNT_SHORTNAME
    -konfiguratsiya-file client.properties bu yerda ACCOUNT_SHORTNAME ko‘rsatkichlarni olmoqchi bo‘lgan hisobning qisqa nomidir.
  • Ilg'or sobiqni ishga tushiringamples:
    eksport KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –hisob ACCOUNT_SHORTNAME–config-file mijoz.properties

Ilova

Ushbu ilovada biz qanday yaratishni tasvirlaymiz:

  • kalit do'koni file Kafka brokerining SSL sertifikatini saqlash uchun
  • ishonchli do'kon file Kafka broker sertifikatini imzolash uchun foydalaniladigan Sertifikat organining (CA) ildiz sertifikatini saqlash uchun.

Kafka broker sertifikatini yaratish
Haqiqiy sertifikat organi yordamida sertifikat yaratish (tavsiya etiladi)
Ishonchli CAdan haqiqiy SSL sertifikatini olishingiz tavsiya etiladi.
CA ga qaror qilganingizdan so'ng, ularning CA ildiz sertifikati ca-sertifikatini nusxalash file Quyida ko'rsatilgandek o'z yo'lingizga:
eksport CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
O'z sertifikat idorangizni yarating
ESLATMA: Odatda sertifikatingiz haqiqiy sertifikat organi tomonidan imzolangan bo'lishi kerak; oldingi bo'limga qarang. Keyingi narsa faqat sobiqample.
Bu erda biz o'z Sertifikat organi (CA) ildiz sertifikatini yaratamiz file 999 kun davomida amal qiladi (ishlab chiqarishda tavsiya etilmaydi):
# CA eksportini saqlash uchun katalog yarating CA_PATH=~/my-ca mkdir ${CA_PATH}
# CA sertifikatini yarating openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -days 999
Client Truststore yaratish
Endi siz ishonchli do'kon yaratishingiz mumkin file unda yuqorida yaratilgan ca-sertifikat mavjud. Bu file Streaming API-ga kiradigan Kafka mijoziga kerak bo'ladi:
keytool -keystore kafka.client.truststore.jks \ -taxallus CARoot \ -importcert -file ${CA_PATH}/ca-sertifikat
Endi CA sertifikati ishonchli do'konda bo'lsa, mijoz u bilan imzolangan har qanday sertifikatga ishonadi.
Siz nusxa ko'chirishingiz kerak file kafka.client.truststore.jks -ni mijoz kompyuteringizdagi ma'lum joyga olib boring va sozlamalarda unga ishora qiling.
Kafka brokeri uchun kalit do'konini yaratish
Kafka brokerining SSL sertifikatini va keyin kafka.server.keystore.jks kalit do'konini yaratish uchun quyidagi amallarni bajaring:
SSL sertifikatini yaratish
Quyida 999 kalit doʻkonining amal qilish kunlari soni, FQDN esa mijozning toʻliq malakali domen nomidir (tugunning umumiy xost nomi).
ESLATMA: FQDN Kafka mijozi Boshqarish markaziga ulanish uchun foydalanadigan aniq xost nomiga mos kelishi muhim. sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private cd /var/ssl/private eksport FQDN=
keytool -keystore kafka.server.keystore.jks \ -taxallus server \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
Sertifikat imzolash so'rovini yarating va uni saqlang file nomli sertifikat-server-so'rovi:
keytool -keystore kafka.server.keystore.jks \ -taxallus server \ -certreq \ -file sertifikat-server-so'rov
Endi siz yuborishingiz kerak file cert-server-so'rov, agar siz haqiqiydan foydalanayotgan bo'lsangiz, sertifikat markaziga (CA) yuboring. Keyin ular imzolangan sertifikatni qaytaradilar. Biz buni quyida sertifikat-server tomonidan imzolangan deb nomlaymiz. O'z-o'zidan yaratilgan CA sertifikati yordamida SSL sertifikatini imzolash
ESLATMA: Shunga qaramay, ishlab chiqarish tizimida o'z CA dan foydalanish tavsiya etilmaydi. CA orqali sertifikatni imzolang file cert-server-so'rov, bu imzolangan sertifikat sertifikat-server tomonidan imzolangan. Pastga qarang; ca-parol - CA sertifikatini yaratishda o'rnatilgan parol.
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 \ -kunlar 999 -CAcreateserial \ -passin pass:{ca-password}
Imzolangan sertifikatni kalit do'koniga import qilish
Ca-sertifikat ildiz sertifikatini kalit do'koniga import qiling:
keytool -keystore kafka.server.keystore.jks \ -taxallus ca-cert \ -import \ -file ${CA_PATH}/ca-sertifikat
Sertifikat-server tomonidan imzolangan deb ataladigan imzolangan sertifikatni import qiling:
keytool -keystore kafka.server.keystore.jks \ -taxallus server \ -import \ -file sertifikat-server tomonidan imzolangan
The file kafka.server.keystore.jks Boshqaruv markazi serveridagi ma'lum joyga ko'chirilishi va keyin /etc/kafka/server.properties sahifasiga havola qilinishi kerak.
Streaming API-dan foydalanish

General

Oqimli API ham sinov, ham monitor ma'lumotlarini oladi. Ushbu toifalardan birini ajratib ko'rsatish mumkin emas.
Striming API Ethernet xizmatini faollashtirish testlari va shaffoflik testlari kabi skriptga asoslangan testlardan (Boshqarish markazi GUIdagi jigsa oʻrniga toʻrtburchaklar bilan ifodalanganlar) maʼlumotlarni olmaydi.
Kafka mavzu nomlari
Oqimli API uchun Kafka mavzu nomlari quyidagicha, bu erda %s Boshqarishning qisqa nomi
Markaz hisobi (hisob qaydnomasini yaratishda ko'rsatilgan):
const (exporterName = “kafka”metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics”)
ExampStreaming API-dan foydalanish
sobiqampQuyidagi les tarball paa-streaming-api-client-ex-da joylashganamples.tar.gz tarball boshqaruv markazida joylashgan.
Birinchidan, asosiy sobiq borample ko'rsatkichlar va ularning metama'lumotlari qanday qilib alohida uzatilishini va qabul qilingan xabarlarni konsolga chop etishni namoyish etadi. Siz uni quyidagicha ishga tushirishingiz mumkin: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account_SHORTNAME
Bundan tashqari, yanada rivojlangan sobiq ham borample bu erda o'lchovlar va metadata xabarlari korrelyatsiya qilinadi. Uni ishga tushirish uchun ushbu buyruqdan foydalaning:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME Yuqoridagi kabi Docker buyruqlarini ishga tushirish uchun sudo-dan foydalanishingiz kerak. Ixtiyoriy ravishda, siz Docker buyruqlarini sudosiz ishga tushirish uchun Linuxni o'rnatishdan keyingi bosqichlarni bajarishingiz mumkin.
Tafsilotlar uchun quyidagi manzilga o'ting docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, Juniper Networks logotipi, Juniper va Junos Juniper Networks, Inc. kompaniyasining Qo'shma Shtatlar va boshqa mamlakatlarda ro'yxatdan o'tgan savdo belgilaridir. Boshqa barcha savdo belgilari, xizmat ko'rsatish belgilari, ro'yxatdan o'tgan belgilar yoki ro'yxatdan o'tgan xizmat ko'rsatish belgilari ularning tegishli egalarining mulki hisoblanadi. Juniper Networks ushbu hujjatdagi noaniqliklar uchun javobgarlikni o'z zimmasiga olmaydi. Juniper Networks ushbu nashrni ogohlantirmasdan o'zgartirish, o'zgartirish, uzatish yoki boshqa tarzda qayta ko'rib chiqish huquqini o'zida saqlab qoladi. Mualliflik huquqi © 2022 Juniper Networks, Inc. Barcha huquqlar himoyalangan.

Juniper logotipi

Hujjatlar / manbalar

Juniper Streaming API [pdf] Foydalanuvchi uchun qoʻllanma
Streaming API, API

Ma'lumotnomalar

Fikr qoldiring

Sizning elektron pochta manzilingiz nashr etilmaydi. Majburiy maydonlar belgilangan *