Juniper-logo

Juniper NETWORKS ṣiṣan API SoftwareJuniper-NETWORKS-Sisanwọle-API-Software-ọja

ọja Alaye

Awọn pato

  • Orukọ Ọja: Idaniloju Nṣiṣẹ Paragon
  • Ẹya: 4.1
  • Atejade Ọjọ: 2023-03-15

Iṣaaju:
Itọsọna yii n pese awọn ilana lori bi o ṣe le jade data lati Idaniloju Iṣeduro Paragon nipa lilo API ṣiṣanwọle ọja naa. Onibara ṣiṣanwọle ati API wa ninu fifi sori Idaniloju Active Paragon, ṣugbọn diẹ ninu iṣeto ni a nilo ṣaaju lilo API. Ilana iṣeto ni bo ni apakan "Ṣiṣeto API ṣiṣanwọle".

Ṣiṣeto API ṣiṣanwọle naa:
Awọn igbesẹ wọnyi ṣe ilana ilana lati tunto API ṣiṣanwọle:

Pariview
Kafka jẹ iru ẹrọ ṣiṣanwọle iṣẹlẹ ti a ṣe apẹrẹ fun gbigba akoko gidi ati ibi ipamọ data lati awọn orisun oriṣiriṣi. O jẹ ki iṣakoso awọn ṣiṣan iṣẹlẹ ni pinpin, iwọn, ifarada-aṣiṣe, ati ọna aabo. Itọsọna yii dojukọ lori atunto Kafka lati lo ẹya API ṣiṣanwọle ni Ile-iṣẹ Iṣakoso Idaniloju Active Paragon.

Itumọ ọrọ
API ṣiṣanwọle ngbanilaaye awọn alabara ita lati gba alaye awọn metiriki lati Kafka. Awọn wiwọn ti a gba nipasẹ Awọn aṣoju Idanwo lakoko idanwo tabi iṣẹ-ṣiṣe ibojuwo ni a firanṣẹ si iṣẹ ṣiṣan. Lẹhin sisẹ, iṣẹ ṣiṣan ṣe atẹjade awọn metiriki wọnyi lori Kafka pẹlu afikun metadata.

Awọn koko-ọrọ Kafka
API ṣiṣanwọle nlo awọn koko-ọrọ Kafka lati ṣeto ati tọju awọn metiriki ati metadata. Awọn koko-ọrọ Kafka le ṣẹda ati ṣakoso ni ibamu si awọn ibeere kan pato.

Ṣiṣẹda API ṣiṣanwọle
Lati mu API ṣiṣanwọle ṣiṣẹ, tẹle awọn igbesẹ wọnyi:

  1. Ṣiṣe awọn aṣẹ wọnyi lori olupin Ile-iṣẹ Iṣakoso ni lilo sudo:
KAFKA_METRICS_ENABLED = Awọn iṣẹ sudo ncc otitọ jẹ ki awọn metiriki timescaledb sudo ncc bẹrẹ timescaledb metrics sudo ncc awọn iṣẹ tun bẹrẹ.

Ijerisi pe API ṣiṣanwọle Nṣiṣẹ ni Ile-iṣẹ Iṣakoso:
Lati rii daju pe o ngba awọn metiriki lori awọn koko-ọrọ Kafka to pe:

  1. Fi sori ẹrọ ohun elo kafkacat pẹlu awọn aṣẹ wọnyi:
    sudo apt-gba imudojuiwọn
    sudo apt-gba fi sori ẹrọ kafkacat
  1. Rọpo “myaccount” pẹlu orukọ kukuru ti akọọlẹ rẹ ninu
    Iṣakoso ile-iṣẹ URL:
    okeere METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    okeere METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Ṣiṣe aṣẹ atẹle si view awọn metiriki:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    Akiyesi: Aṣẹ ti o wa loke yoo ṣe afihan awọn metiriki naa.
  2. Si view metadata, ṣiṣe aṣẹ wọnyi:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

Akiyesi: Aṣẹ ti o wa loke yoo ṣe afihan metadata, ṣugbọn kii yoo ṣe imudojuiwọn bi igbagbogbo.

Onibara Examples
Fun onibara examples ati alaye siwaju sii, tọka si oju-iwe 14 ti itọnisọna olumulo.

FAQ (Awọn ibeere Nigbagbogbo)

  • Q: Kini Idaniloju Nṣiṣẹ Paragon?
    A: Idaniloju Nṣiṣẹ Paragon jẹ ọja ti o pese ibojuwo ati awọn agbara idanwo.
  • Q: Kini API ṣiṣanwọle?
    A: API ṣiṣanwọle jẹ ẹya kan ni Idaniloju Iṣeduro Paragon ti o fun laaye awọn alabara ita lati gba alaye awọn metiriki lati Kafka.
  • Q: Bawo ni MO ṣe mu API ṣiṣanwọle ṣiṣẹ?
    A: Lati mu API ṣiṣanwọle ṣiṣẹ, tẹle awọn igbesẹ ti a ṣe ilana ni apakan “Ṣiṣe API ṣiṣanwọle” ti afọwọṣe olumulo.
  • Q: Bawo ni MO ṣe le rii daju pe API ṣiṣanwọle n ṣiṣẹ?
    A: Tọkasi si apakan “Idaniloju Pe API ṣiṣan Nṣiṣẹ ni Ile-iṣẹ Iṣakoso” fun awọn ilana lori bi o ṣe le rii daju iṣẹ ṣiṣe ti API ṣiṣanwọle.

Ọrọ Iṣaaju

Itọsọna yii ṣe apejuwe bi o ṣe le yọkuro data lati Idaniloju Iṣeduro Paragon nipasẹ API ṣiṣanwọle ọja naa.
API naa bakanna bi alabara ṣiṣanwọle wa ninu fifi sori Idaniloju Active Paragon. Sibẹsibẹ, diẹ ti iṣeto ni a nilo ṣaaju ki o to le lo API. Eyi ni aabo ninu “Ṣiṣeto API ṣiṣanwọle” ni oju-iwe 1 ori.

Pariview
Ori yii ṣe apejuwe bi o ṣe le tunto API ṣiṣanwọle lati gba ṣiṣe alabapin si awọn ifiranṣẹ metiriki nipasẹ Kafka.
pr
Ni isalẹ a yoo lọ nipasẹ:

  • Bi o ṣe le mu API ṣiṣanwọle ṣiṣẹ
  • Bii o ṣe le tunto Kafka lati tẹtisi awọn alabara ita
  • Bii o ṣe le tunto Kafka lati lo awọn ACLs ati ṣeto fifi ẹnọ kọ nkan SSL fun awọn alabara wi

Kini Kafka?
Kafka jẹ iru ẹrọ ṣiṣanwọle iṣẹlẹ ti o fun laaye gbigba akoko gidi ti data ti a firanṣẹ lati oriṣiriṣi awọn orisun iṣẹlẹ (awọn sensọ, awọn apoti isura infomesonu, awọn ẹrọ alagbeka) ni irisi ṣiṣan iṣẹlẹ, bakanna bi ipamọ ti o tọ ti awọn ṣiṣan iṣẹlẹ wọnyi fun igbapada ati ifọwọyi nigbamii.
Pẹlu Kafka o ṣee ṣe lati ṣakoso iṣẹlẹ ṣiṣanwọle ipari-si-opin ni pinpin, iwọn ti o ga julọ, rirọ, ọlọdun ẹbi, ati ọna aabo.

AKIYESI: Kafka le jẹ tunto ni ọpọlọpọ awọn ọna oriṣiriṣi ati pe a ṣe apẹrẹ fun iwọn ati awọn ọna ṣiṣe laiṣe. Iwe yii dojukọ nikan lori bii o ṣe le tunto rẹ lati lo ẹya API ṣiṣanwọle ti a rii ni Ile-iṣẹ Iṣakoso Idaniloju Active Paragon. Fun awọn iṣeto ilọsiwaju diẹ sii a tọka si iwe aṣẹ Kafka osise: kafka.apache.org/26/documentation.html.

Itumọ ọrọ

  • Kafka: Syeed-sisanwọle iṣẹlẹ.
  • Kafka koko: Gbigba ti awọn iṣẹlẹ.
  • Alabapin Kafka/olumulo: Ẹka ti o ni iduro fun igbapada awọn iṣẹlẹ ti o fipamọ sinu koko Kafka kan.
  • Kafka alagbata: Ibi ipamọ Layer olupin ti a Kafka iṣupọ.
  • SSL/TLS: SSL jẹ ilana aabo ti o dagbasoke fun fifiranṣẹ alaye ni aabo lori Intanẹẹti. TLS jẹ arọpo ti SSL, ti a ṣe ni 1999.
  • SASL: Ilana ti o pese awọn ọna ṣiṣe fun ijẹrisi olumulo, ṣayẹwo iyege data, ati fifi ẹnọ kọ nkan.
  • Alabapin API ṣiṣanwọle: Ẹka ti o ni iduro fun igbapada ti awọn iṣẹlẹ ti o fipamọ sinu awọn akọle asọye ni Idaniloju Iṣeduro Paragon ati itumọ fun iraye si ita.
  • Alaṣẹ Iwe-ẹri: Ohun kan ti o ni igbẹkẹle ti o funni ati fagile awọn iwe-ẹri bọtini gbangba.
  • Ijẹrisi root Aṣẹ Aṣẹ: Ijẹrisi bọtini gbangba ti o ṣe idanimọ Alaṣẹ ijẹrisi kan.

Bawo ni API ṣiṣanwọle Nṣiṣẹ
Gẹgẹbi a ti sọ tẹlẹ, API ṣiṣanwọle ngbanilaaye awọn alabara ita lati gba alaye nipa awọn metiriki lati Kafka.

Gbogbo awọn metiriki ti a gba nipasẹ Awọn aṣoju Idanwo lakoko idanwo tabi iṣẹ ṣiṣe ibojuwo ni a firanṣẹ si iṣẹ ṣiṣan. Lẹhin ipele ilana kan, iṣẹ ṣiṣan n ṣe atẹjade awọn metiriki wọnyẹn lori Kafka papọ pẹlu awọn metadata afikun.

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

Awọn koko-ọrọ Kafka
Kafka ni ero ti awọn koko-ọrọ si eyiti a gbejade gbogbo data. Ni Paragon Iroyin Iṣeduro ọpọlọpọ iru awọn koko-ọrọ Kafka wa; sibẹsibẹ, nikan kan ipin ti awọn wọnyi ti wa ni túmọ fun ita wiwọle.
Iwe iroyin Iṣeduro Iṣeduro Paragon kọọkan ni Ile-iṣẹ Iṣakoso ni awọn akọle iyasọtọ meji. Ni isalẹ, ACCOUNT ni orukọ kukuru akọọlẹ:

  • paa.gbangba.iroyin.{ACCOUNT}.metrics
    • Gbogbo awọn ifiranṣẹ metiriki fun akọọlẹ ti a fun ni a gbejade si koko yii
    • Ti o tobi oye akojo ti data
    • Igbohunsafẹfẹ imudojuiwọn giga
  • paa.accounts.{ACCOUNT}.metadata
    • Ni metadata ti o ni ibatan si data metiriki, fun example idanwo, atẹle tabi Aṣoju Idanwo ti o ni nkan ṣe pẹlu awọn metiriki
    • Awọn iwọn kekere ti data
    • Igbohunsafẹfẹ imudojuiwọn kekere

Ṣiṣẹda API ṣiṣanwọle

AKIYESIAwọn ilana wọnyi ni lati ṣiṣẹ lori olupin Ile-iṣẹ Iṣakoso ni lilo sudo.

Niwọn igba ti API ṣiṣanwọle n ṣafikun diẹ si oke si Ile-iṣẹ Iṣakoso, ko ṣiṣẹ nipasẹ aiyipada. Lati mu API ṣiṣẹ, a gbọdọ kọkọ ṣiṣẹ titẹjade awọn metiriki si Kafka ni iṣeto akọkọ file:

KAFKA_METRICS_ENABLED = Otitọ

IKILO: Ṣiṣe ẹya ara ẹrọ yii le ni ipa lori iṣẹ ṣiṣe Ile-iṣẹ Iṣakoso. Rii daju pe o ti ṣe iwọn apẹẹrẹ rẹ ni ibamu.

Nigbamii, lati jẹ ki fifiranṣẹ siwaju awọn metiriki wọnyi si awọn koko-ọrọ Kafka ti o pe:

sisanwọle-api: otitọ

Lati mu ṣiṣẹ ati bẹrẹ awọn iṣẹ API ṣiṣanwọle, ṣiṣe:

  • awọn iṣẹ sudo ncc ṣiṣẹ awọn metiriki timescaledb
  • awọn iṣẹ sudo ncc bẹrẹ awọn metiriki timescaledb

Ni ipari, tun bẹrẹ awọn iṣẹ:

  • awọn iṣẹ sudo ncc tun bẹrẹ

Ijerisi pe API ṣiṣanwọle Nṣiṣẹ ni Ile-iṣẹ Iṣakoso

AKIYESI: Awọn ilana wọnyi ni lati ṣiṣẹ lori olupin Ile-iṣẹ Iṣakoso.

O le rii daju pe o n gba awọn metiriki lori awọn koko-ọrọ Kafka ti o pe. Lati ṣe bẹ, fi sori ẹrọ ohun elo kafkacat:

  • sudo apt-gba imudojuiwọn
  • sudo apt-gba fi sori ẹrọ kafkacat

Ti o ba ni idanwo tabi atẹle ṣiṣiṣẹ ni Ile-iṣẹ Iṣakoso, o yẹ ki o ni anfani lati lo kafkacat lati gba awọn metiriki ati metadata lori awọn akọle wọnyi.
Ropo myaccount pẹlu orukọ kukuru ti akọọlẹ rẹ (eyi ni ohun ti o rii ninu Ile-iṣẹ Iṣakoso rẹ URL):

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

O yẹ ki o wo awọn metiriki bayi nipa ṣiṣe aṣẹ yii:

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

Si view metadata, ṣiṣe aṣẹ wọnyi (ṣe akiyesi pe eyi kii yoo ṣe imudojuiwọn bi igbagbogbo):

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

AKIYESI:
kafkacat” Client Examples ”ni oju -iwe 14

Eyi jẹri pe a ni API ṣiṣanwọle ti n ṣiṣẹ lati inu Ile-iṣẹ Iṣakoso. Sibẹsibẹ, o ṣeese julọ o nifẹ si iraye si data lati ọdọ alabara ita dipo. Abala ti o tẹle ṣe apejuwe bi o ṣe le ṣii Kafka fun iraye si ita.

Nsii Up Kafka fun Ita Ogun

AKIYESI: Awọn ilana wọnyi ni lati ṣiṣẹ lori olupin Ile-iṣẹ Iṣakoso.

Nipa aiyipada Kafka nṣiṣẹ lori Ile-iṣẹ Iṣakoso ti tunto lati gbọ nikan lori localhost fun lilo inu. O ṣee ṣe lati ṣii Kafka fun awọn alabara ita nipasẹ iyipada awọn eto Kafka.

Nsopọ si Kafka: Caveats

IKIRA: Jọwọ ka eyi ni pẹkipẹki, nitori o rọrun lati ṣiṣe sinu awọn ọran asopọ pẹlu Kafka ti o ko ba loye awọn imọran wọnyi.

Ninu iṣeto Ile-iṣẹ Iṣakoso ti a ṣalaye ninu iwe yii, alagbata Kafka kan ṣoṣo wa.
Sibẹsibẹ, ṣe akiyesi pe alagbata Kafka kan ni itumọ lati ṣiṣẹ gẹgẹbi apakan ti iṣupọ Kafka eyiti o le ni ọpọlọpọ awọn alagbata Kafka.
Nigbati o ba n sopọ si alagbata Kafka kan, asopọ ibẹrẹ ti ṣeto nipasẹ alabara Kafka. Lori asopọ yii, alagbata Kafka yoo pada akojọ kan ti "awọn olutẹtisi ti a kede", eyi ti o jẹ akojọ awọn alagbata Kafka kan tabi diẹ sii.
Lori gbigba atokọ yii, alabara Kafka yoo ge asopọ, lẹhinna tun sopọ si ọkan ninu awọn olutẹtisi ipolowo wọnyi. Awọn olutẹtisi ti o polowo gbọdọ ni awọn orukọ igbalejo tabi adirẹsi IP ti o wa si alabara Kafka, tabi alabara yoo kuna lati sopọ.
Ti o ba ti lo fifi ẹnọ kọ nkan SSL, ti o kan ijẹrisi SSL kan eyiti o so mọ orukọ agbalejo kan, paapaa ṣe pataki diẹ sii ki alabara Kafka gba adirẹsi ti o pe lati sopọ si, nitori bibẹẹkọ asopọ le jẹ kọ.
Ka diẹ sii nipa awọn olutẹtisi Kafka nibi: www.confluent.io/blog/kafka-listeners-explained

SSL/TLS ìsekóòdù
Lati rii daju pe awọn alabara ti o ni igbẹkẹle nikan ni a gba laaye lati wọle si Kafka ati API ṣiṣanwọle, a gbọdọ tunto atẹle naa:

  • Ijeri: Awọn alabara gbọdọ pese orukọ olumulo ati ọrọ igbaniwọle nipasẹ asopọ aabo SSL/TLS laarin alabara ati Kafka.
  • Aṣẹ: Awọn onibara ti o ni idaniloju le ṣe awọn iṣẹ-ṣiṣe ti ofin nipasẹ ACLs.

Eyi jẹ ipariview:

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

*) Orukọ olumulo / ijẹrisi ọrọ igbaniwọle ti a ṣe lori ikanni ti paroko SSL

Lati loye ni kikun bi fifi ẹnọ kọ nkan SSL/TLS ṣiṣẹ fun Kafka, jọwọ tọka si iwe aṣẹ osise: docs.confluent.io/platform/current/kafka/encryption.html

Iwe-ẹri SSL/TLS Pariview

AKIYESI: Ninu abala yii a yoo lo awọn ọrọ-ọrọ wọnyi:

Iwe-ẹri: Iwe-ẹri SSL ti o fowo si nipasẹ Alaṣẹ Ijẹrisi (CA). Oluṣowo Kafka kọọkan ni ọkan.
Keystore: Ile itaja file ti o tọju iwe-ẹri naa. Ile-itaja bọtini file ni bọtini ikọkọ ti ijẹrisi naa; nitorina, o nilo lati wa ni ipamọ lailewu.
Ile-itaja igbẹkẹle: A file ti o ni awọn iwe-ẹri CA ti o gbẹkẹle.

Lati ṣeto ijẹrisi laarin alabara ita ati Kafka ti n ṣiṣẹ ni Ile-iṣẹ Iṣakoso, awọn ẹgbẹ mejeeji gbọdọ ni keyystore ti a ṣalaye pẹlu ijẹrisi ti o jọmọ ti o fowo si nipasẹ Alaṣẹ Ijẹrisi (CA) papọ pẹlu ijẹrisi gbongbo CA.
Ni afikun si eyi, alabara gbọdọ tun ni ile-itaja igbẹkẹle pẹlu ijẹrisi root CA.
Iwe ijẹrisi root CA jẹ wọpọ si alagbata Kafka ati alabara Kafka.

Ṣiṣẹda Awọn iwe-ẹri ti a beere
Èyí wà nínú “Àfikún” ní ojú ìwé 17.

Kafka alagbata SSL/TLS iṣeto ni ni Iṣakoso ile-iṣẹ

AKIYESI: Awọn ilana wọnyi ni lati ṣiṣẹ lori olupin Ile-iṣẹ Iṣakoso.

AKIYESI: Ṣaaju ki o to tẹsiwaju, o gbọdọ ṣẹda ile-ipamọ ti o ni ijẹrisi SSL nipa titẹle awọn itọnisọna ni “Afikun” ni oju-iwe 17. Awọn ọna ti a mẹnuba ni isalẹ wa lati awọn ilana wọnyi.
Ibi-itaja SSL jẹ a file ti o ti fipamọ lori disk pẹlu awọn file itẹsiwaju .jks.

Ni kete ti o ba ni awọn iwe-ẹri ti o nilo fun mejeeji alagbata Kafka ati alabara Kafka ti o wa, o le tẹsiwaju nipa atunto alagbata Kafka ti n ṣiṣẹ ni Ile-iṣẹ Iṣakoso. O nilo lati mọ awọn wọnyi:

  • : Orukọ ile-iṣẹ gbogbogbo ti Ile-iṣẹ Iṣakoso; eyi gbọdọ jẹ atunṣe ati wiwọle nipasẹ awọn onibara Kafka.
  • : Ọrọ igbaniwọle ibi ipamọ ti a pese nigba ṣiṣẹda ijẹrisi SSL.
  • ati : Iwọnyi ni awọn ọrọ igbaniwọle ti o fẹ ṣeto fun alabojuto ati olumulo alabara lẹsẹsẹ. Ṣe akiyesi pe o le ṣafikun awọn olumulo diẹ sii, gẹgẹ bi itọkasi ninu example.

Ṣatunkọ tabi fi kun (pẹlu wiwọle sudo) awọn ohun-ini ti o wa ni isalẹ ni /etc/kafka/server.properties, fi sii awọn oniyipada loke bi o ṣe han:

IKILO: Maṣe yọ PLAINTEXT: // localhost:9092; eyi yoo fọ iṣẹ ṣiṣe Ile-iṣẹ Iṣakoso nitori awọn iṣẹ inu kii yoo ni anfani lati baraẹnisọrọ.

  • # Awọn adirẹsi ti alagbata Kafka tẹtisi.
  • awọn olutẹtisi=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # Iwọnyi jẹ awọn agbalejo ti a kede pada si eyikeyi asopọ alabara.
  • advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093 …
  • ####### Aṣa atunto
  • # SSL atunto
  • ssl.endpoint.identification.algorithm=
    ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
  • ssl.keystore.ọrọigbaniwọle =
  • ssl.key.ọrọigbaniwọle =
  • ssl.client.auth=ko si
  • ssl.protocol=TLSv1.2
  • # SASL iṣeto ni
  • sasl.enabled.mechanisms=PLAIN
  • oruko olumulo=”abojuto” \
  • ọrọigbaniwọle =" ” \
  • user_admin=” ” \
  • user_client=” ”;
  • # AKIYESI awọn olumulo diẹ sii le ṣafikun pẹlu olumulo_ =
  • # Aṣẹ, tan ACLs
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Oníṣe:admin

Ṣiṣeto Awọn atokọ Iṣakoso Wiwọle (ACLs)

Titan-an ACLs lori localhost

IKILO: A gbọdọ kọkọ ṣeto awọn ACLs fun localhost, ki Ile-iṣẹ Iṣakoso funrararẹ tun le wọle si Kafka. Ti a ko ba ṣe eyi, awọn nkan yoo fọ.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –fi –allow-olumulo akọkọ:ANONYMOUS –allow-host 127.0.0.1 – iṣupọ
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –fi –allow-olumulo akọkọ:ANONYMOUS –allow-ogun 127.0.0.1 –koko ‘*'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –fi –allow-olumulo akọkọ:ANONYMOUS –allow-host 127.0.0.1 –ẹgbẹ '*'

Lẹhinna a nilo lati mu awọn ACL ṣiṣẹ fun iraye si kika-nikan, ki awọn olumulo ita le gba ọ laaye lati ka awọn koko paa.public.*.

### Awọn titẹ sii ACLs fun awọn olumulo ailorukọ /usr/lib/kafka/bin/kafka-acls.sh

AKIYESI: Fun iṣakoso ti o dara diẹ sii, jọwọ tọka si iwe aṣẹ Kafka osise.

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • – add –allow-principal User:* –iṣiṣẹ ka –apejuwe isẹ \ –ẹgbẹ 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties zookeeper.connect=localhost:2181 \
  • –add –allow-principal User:* –operation read –operation explain \ –koko paa.public. –oro-apẹẹrẹ-iru iru-iṣaaju

Ni kete ti o ba ṣe eyi, o nilo lati tun awọn iṣẹ naa bẹrẹ:

### Awọn titẹ sii ACLs fun awọn olumulo ita /usr/lib/kafka/bin/kafka-acls.sh
  • awọn iṣẹ sudo ncc tun bẹrẹ

Lati rii daju pe alabara le fi idi asopọ to ni aabo mulẹ, ṣiṣe aṣẹ atẹle lori ita
kọmputa onibara (kii ṣe lori olupin Iṣakoso ile-iṣẹ). Ni isalẹ, PUBLIC_HOSTNAME ni orukọ agbalejo Ile-iṣẹ Iṣakoso:

  • openssl s_client -debug -so ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep “Idunadura to ni aabo WA ni atilẹyin”

Ninu iṣelọpọ aṣẹ o yẹ ki o wo ijẹrisi olupin bi atẹle:

  • Idunadura to ni aabo WA ni atilẹyin

Lati rii daju pe awọn iṣẹ inu ti ni iraye si olupin Kafka, jọwọ ṣayẹwo akọọlẹ atẹle naafiles:

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

Ifọwọsi Asopọmọra Onibara Ita

kafkacat

AKIYESIAwọn ilana wọnyi ni lati ṣiṣẹ lori kọnputa alabara (kii ṣe lori olupin Ile-iṣẹ Iṣakoso).
AKIYESI: Lati ṣafihan alaye awọn metiriki, rii daju pe o kere ju ọkan atẹle n ṣiṣẹ ni Ile-iṣẹ Iṣakoso.

Lati jẹrisi ati fọwọsi isopọmọ gẹgẹbi alabara itagbangba, o ṣee ṣe lati lo ohun elo kafkacat eyiti o ti fi sii ni apakan “Ijeri Wipe API ṣiṣan Nṣiṣẹ ni Ile-iṣẹ Iṣakoso” ni oju-iwe 4.
Ṣe awọn igbesẹ wọnyi:

AKIYESI: Ni isalẹ, CLIENT_USER ni olumulo ti a sọ tẹlẹ ninu file /etc/kafka/server.properties ni Iṣakoso ile-iṣẹ: eyun, user_client ati ọrọigbaniwọle ṣeto nibẹ.
Ijẹrisi gbongbo CA ti a lo lati fowo si ijẹrisi SSL ẹgbẹ olupin gbọdọ wa lori alabara.

Ṣẹda a file client.properties pẹlu akoonu wọnyi:

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

ibo

  • {PATH_TO_CA_CERT} ni ibi ijẹrisi root CA ti alagbata Kafka lo
  • {CLIENT_USER} ati {CLIENT_PASSWORD} ni iwe eri olumulo fun onibara.

Ṣiṣe aṣẹ atẹle lati wo ifiranṣẹ ti o jẹ nipasẹ kafkacat:

  • okeere KAFKA_FQDN =
  • okeere METRICS_TOPIC=paa.public.accounts. .metiriki
  • kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

nibiti {METRICS_TOPIC} ti jẹ orukọ koko-ọrọ Kafka pẹlu ìpele “paa.public.”.

AKIYESI: Awọn ẹya agbalagba ti kafkacat ko pese aṣayan -F fun kika awọn eto alabara lati a file. Ti o ba nlo iru ẹya kan, o gbọdọ pese awọn eto kanna lati laini aṣẹ bi a ṣe han ni isalẹ.

kafkacat -b ${KAFKA_FQDN}:9093 \

  • X security.protocol=SASL_SSL \
  • X ssl.ca.location={PATH_TO_CA_CERT} \
  • X sasl.mechanisms=PLAIN \
  • X sasl.orukọ olumulo={CLIENT_USER} \
  • X sasl.password={CLIENT_PASSWORD} \
  • t ${METRICS_TOPIC} -C -e

Lati ṣatunṣe asopọ, o le lo aṣayan -d:

Ṣatunkọ awọn ibaraẹnisọrọ olumulo
kafkacat -d olumulo -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Ṣatunkọ awọn ibaraẹnisọrọ alagbata
kafkacat -d alagbata -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e

Rii daju lati tọka si iwe fun ile-ikawe alabara Kafka ti o wa ni lilo, nitori awọn ohun-ini le yato si awọn ti o wa ni client.properties.

Ifiranṣẹ kika
Awọn ifiranšẹ ti a lo fun awọn metiriki ati awọn koko-ọrọ metadata jẹ lẹsẹsẹ ni ọna kika awọn buffers Protocol (wo developers.google.com/protocol-buffers). Awọn eto fun awọn ifiranṣẹ wọnyi faramọ ọna kika atẹle:

Metiriki Protobuf Ero

  • sintasi = "proto3";
  • gbe wọle "google/protobuf/timestamp.proto”;
  • package paa.streamingapi;
  • aṣayan go_package = ".;paa_streamingapi";
  • Awọn Metiriki ifiranṣẹ {
  • google.protobuf.Timestamp igbaamp = 1;
  • maapu iye = 2;
  • int32 ṣiṣan_id = 3;
  • }
  • /**
  • * Iwọn metiriki le jẹ boya odidi kan tabi leefofo loju omi.
  • */
  • ifiranṣẹ MetricValue {
  • ọkan ninu iru {
  • int64 int_val = 1;
  • leefofo float_val = 2;
  • }
  • }

Metadata Protobuf Schema

  • sintasi = "proto3";
  • package paa.streamingapi;
  • aṣayan go_package = ".;paa_streamingapi";
  • Metadata ifiranṣẹ {
  • int32 ṣiṣan_id = 1;
  • okun stream_name = 2;
  • maapu tags = 13;
  • }

Onibara Examples

AKIYESI: Awọn aṣẹ wọnyi jẹ ipinnu lati ṣiṣẹ lori alabara ita, fun example rẹ laptop tabi iru, ati ki o ko ni Iṣakoso ile-iṣẹ.
AKIYESI: Lati ṣafihan alaye awọn metiriki, rii daju pe o kere ju ọkan atẹle n ṣiṣẹ ni Ile-iṣẹ Iṣakoso.

Bọọlu ile-iṣẹ Iṣakoso pẹlu ibi ipamọ paa-sisanwọle-api-client-examples.tar.gz (onibara-examples), eyiti o ni example Python akosile nfihan bi o ṣe le lo API ṣiṣanwọle.

Fifi sori ẹrọ ati Iṣeto Onibara Examples
O ri client-examples ninu folda Iṣakoso Idaniloju Iṣẹ Paragon:

  • okeere CC_VERSION = 4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-sisanwọle-api-client-examples*

Lati fi sori ẹrọ client-examples lori kọnputa alabara ita rẹ, tẹsiwaju bi atẹle:

  • # Ṣẹda itọsọna fun yiyọ akoonu ti alabara examples tarball
  • mkdir paa-sisanwọle-api-onibara-examples
  • # Jade akoonu ti alabara examples tarball
  • tar xzf paa-sisanwọle-api-client-examples.tar.gz -C paa-sisanwọle-api-onibara-examples
  • # Lọ si itọsọna tuntun ti a ṣẹda
  • cd paa-sisanwọle-api-client-examples

onibara-examples nilo Docker lati ṣiṣẹ. Awọn igbasilẹ ati awọn ilana fifi sori ẹrọ fun Docker ni a le rii ni https://docs.docker.com/engine/install.

Lilo Client Examples
Onibara-examples irinṣẹ le ṣiṣe ni boya ipilẹ tabi to ti ni ilọsiwaju mode lati kọ Mofiamples ti orisirisi complexity. Ni igba mejeeji, o jẹ tun ṣee ṣe lati ṣiṣe awọn Mofiamples pẹlu kan iṣeto ni file ti o ni awọn ohun-ini afikun fun isọdi siwaju ti ẹgbẹ alabara.

Ipilẹ Ipo
Ni ipo ipilẹ, awọn metiriki ati metadata wọn jẹ ṣiṣan lọtọ. Ni ipari yii, alabara tẹtisi koko Kafka kọọkan ti o wa fun iraye si ita ati tẹ awọn ifiranṣẹ ti o gba wọle nirọrun si console.
Lati bẹrẹ ipaniyan ti ipilẹ examples, ṣiṣe:

  • build.sh run-ipilẹ –kafka-brokers localhost:9092 –iroyin ACCOUNT_SHORTNAME

nibiti ACCOUNT_SHORTNAME jẹ orukọ kukuru ti akọọlẹ ti o fẹ gba awọn metiriki lati.
Lati fopin si ipaniyan ti example, tẹ Ctrl + C. (Idaduro diẹ le wa ṣaaju ki ipaniyan duro nitori pe alabara n duro de iṣẹlẹ akoko kan.)

Ipo to ti ni ilọsiwaju

AKIYESI: Metiriki ti han nikan fun HTTP diigi nṣiṣẹ ni Iṣakoso ile-iṣẹ.

Iṣiṣẹ ni ipo ilọsiwaju fihan ibamu laarin awọn metiriki ati awọn ifiranṣẹ metadata. Eyi ni
ṣee ṣe ọpẹ si wiwa ninu ifiranṣẹ metiriki kọọkan ti aaye id ṣiṣan eyiti o tọka si ifiranṣẹ metadata ti o baamu.
Lati ṣiṣẹ awọn to ti ni ilọsiwaju examples, ṣiṣe:

  • build.sh ṣiṣe-to ti ni ilọsiwaju –kafka-brokers localhost:9092 –iroyin ACCOUNT_SHORTNAME

nibiti ACCOUNT_SHORTNAME jẹ orukọ kukuru ti akọọlẹ ti o fẹ gba awọn metiriki lati.
Lati fopin si ipaniyan ti example, tẹ Ctrl + C. (Idaduro diẹ le wa ṣaaju ki ipaniyan duro nitori pe alabara n duro de iṣẹlẹ akoko kan.)

Afikun Eto
O ti wa ni ṣee ṣe lati ṣiṣe awọn examples pẹlu iṣeto ni afikun ti alabara nipa lilo –config-file aṣayan atẹle nipa a file orukọ ti o ni awọn ohun-ini ninu bọtini fọọmu = iye.

  • build.sh ìlọsíwájú \
  • –kafka-brokers localhost:9092 \
  • -iroyin ACCOUNT_SHORTNAME \
  • – atunto-file client_config.properties

AKIYESI: Gbogbo fileAwọn itọkasi ni aṣẹ ti o wa loke gbọdọ wa ni itọsọna lọwọlọwọ ati tọka nipa lilo awọn ọna ibatan nikan. Eyi kan mejeeji si –config-file ariyanjiyan ati si gbogbo awọn titẹ sii ni iṣeto ni file ti o se apejuwe file awọn ipo.

Ifọwọsi Ijeri Onibara Ita
Lati fọwọsi ijẹrisi alabara lati ita Ile-iṣẹ Iṣakoso ni lilo alabara-examples, ṣe awọn igbesẹ wọnyi:

Lati folda Ile-iṣẹ Idaniloju Iṣẹ ṣiṣe Paragon, yipada si paa-streaming-api-client-examples folda:

cd paa-sisanwọle-api-client-examples

  • Da ca-cert ijẹrisi root root sinu itọsọna lọwọlọwọ.
  • Ṣẹda client.properties file pẹlu akoonu wọnyi:

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

nibiti {CLIENT_USER} ati {CLIENT_PASSWORD} ti jẹ ẹri olumulo fun alabara.

Ṣiṣe awọn ipilẹ example:

  • okeere KAFKA_FQDN =
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • -iroyin ACCOUNT_SHORTNAME
  • – atunto-file klient.ohun-ini

nibiti ACCOUNT_SHORTNAME jẹ orukọ kukuru ti akọọlẹ ti o fẹ gba awọn metiriki lati.

Ṣiṣe awọn ilọsiwaju example:

  • okeere KAFKA_FQDN =
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • -iroyin ACCOUNT_SHORTNAME
  • – atunto-file klient.ohun-ini

Àfikún

Ni afikun yii a ṣe apejuwe bi o ṣe le ṣẹda:

  • ibi-itaja kan file fun titoju Kafka alagbata SSL ijẹrisi
  • ile itaja kan file fun titoju ijẹrisi root Aṣẹ Aṣẹ (CA) ti a lo lati fowo si ijẹrisi alagbata Kafka.

Ṣiṣẹda Iwe-ẹri alagbata Kafka kan
Ṣiṣẹda Iwe-ẹri Lilo Alaṣẹ Ijẹrisi Gidi kan (Ṣiṣeduro)
A gba ọ niyanju pe ki o gba ijẹrisi SSL gidi lati ọdọ CA ti o gbẹkẹle.
Ni kete ti o ba ti pinnu lori CA kan, daakọ ijẹrisi root CA-cert wọn file si ọna ti ara rẹ bi a ṣe han ni isalẹ:

  • okeere CA_PATH=~/mi-ca
  • mkdir ${CA_PATH}
  • cp ca-cert ${CA_PATH}

Ṣẹda Aṣẹ Iwe-ẹri tirẹ

AKIYESI: Ni deede o yẹ ki o ni ijẹrisi rẹ ti fowo si nipasẹ Alaṣẹ Ijẹrisi gidi kan; wo apakan ti o ti kọja. Ohun ti wọnyi jẹ o kan ohun Mofiample.

Nibi a ṣẹda ijẹrisi root Aṣẹ Ijẹrisi tiwa (CA). file wulo fun awọn ọjọ 999 (kii ṣe iṣeduro ni iṣelọpọ):

  • # Ṣẹda itọsọna kan fun titoju CA
  • okeere CA_PATH=~/mi-ca
  • mkdir ${CA_PATH}
  • # Ṣẹda ijẹrisi CA
  • openssl req -new -x509 -keyout ${CA_PATH}/ca-key-out ${CA_PATH}/ca-cert -days 999

Ṣiṣẹda Onibara Truststore
Bayi o le ṣẹda ile itaja kan file ti o ni awọn ca-cert ti ipilẹṣẹ loke. Eyi file yoo nilo nipasẹ alabara Kafka ti yoo wọle si API ṣiṣanwọle:

  • keytool -keystore kafka.client.truststore.jks \
    • inagijẹ CARoot \
    • agbewọle agbewọle -file ${CA_PATH}/ca-cert

Ni bayi pe ijẹrisi CA wa ni ile-itaja igbẹkẹle, alabara yoo gbẹkẹle eyikeyi ijẹrisi ti o fowo si.
O yẹ ki o daakọ naa file kafka.client.truststore.jks si ipo ti a mọ lori kọnputa alabara rẹ ki o tọka si ninu awọn eto.

Ṣiṣẹda Keyystore fun Alagbata Kafka
Lati ṣe ipilẹṣẹ ijẹrisi SSL alagbata Kafka ati lẹhinna keystore kafka.server.keystore.jks, tẹsiwaju bi atẹle:

Ṣiṣẹda ijẹrisi SSL
Ni isalẹ, 999 ni nọmba awọn ọjọ ti iwulo ti ibi-ipamọ, ati FQDN jẹ orukọ ìkápá ti o ni kikun ti alabara (orukọ agbalejo gbogbogbo ti ipade).

AKIYESI: O ṣe pataki pe FQDN baamu orukọ olupin gangan ti alabara Kafka yoo lo lati sopọ si Ile-iṣẹ Iṣakoso.

  • sudo mkdir -p /var/ssl/ikọkọ
  • sudo chown -R $ USER: /var/ssl/ikọkọ
  • cd /var/ssl/ikọkọ
  • okeere FQDN= keytool -keystore kafka.server.keystore.jks \
  • – olupin inagijẹ \
  • – wulo 999 \
  • – genkey -keyalg RSA -ext SAN=dns:${FQDN}

Ṣẹda ibeere ibuwọlu ijẹrisi ati tọju rẹ sinu file ti a npè ni ijẹrisi-olupin-ibeere:

  • keytool -keystore kafka.server.keystore.jks \
    • – olupin inagijẹ \
    • – Certreq \
    • – file ijẹrisi-olupin-ibeere

O yẹ ki o firanṣẹ bayi file ibeere ijẹrisi-olupin si Alaṣẹ Iwe-ẹri rẹ (CA) ti o ba nlo ọkan gidi kan. Wọn yoo da iwe-ẹri ti o fowo si pada. A yoo tọka si eyi bi ijẹrisi-olupin ti o fowo si ni isalẹ.

Wíwọlé Iwe-ẹri SSL Lilo Iwe-ẹri CA ti ara ẹni ti o ṣẹda

AKIYESI: Lẹẹkansi, lilo CA ti ara rẹ ko ṣe iṣeduro ni eto iṣelọpọ kan.

Wole iwe-ẹri nipa lilo CA nipasẹ awọn file ijẹrisi-olupin-ibeere, eyiti o ṣe agbejade iwe-ẹri ti o fowo si ijẹrisi olupin-fọwọsi. Wo isalẹ; ca-ọrọigbaniwọle jẹ ọrọ igbaniwọle ṣeto nigbati o ṣẹda ijẹrisi CA.

  • cd /var/ssl/ikọkọ openssl x509 -req \
    • – CA ${CA_PATH}/ca-cert \
    • – Cakey ${CA_PATH}/bọtini-ca-\
    • – ninu ijẹrisi-olupin-ibeere \
    • – jade ijẹrisi-olupin-fọwọsi \
    • - ọjọ 999 -CAcreateserial \
    • – passin pass: {ca-password}

Gbigbe Iwe-ẹri Ibuwọlu wọle sinu Keyystore

Ṣe agbewọle ijẹrisi root ca-cert sinu ibi-itaja bọtini:

  • keytool -keystore kafka.server.keystore.jks \
    • – inagijẹ ca-cert \
    • – gbe wọle \
    • – file ${CA_PATH}/ca-cert

Ṣe agbewọle ijẹrisi ti o fowo si ti a tọka si bi olupin-fọwọsi ijẹrisi:

  • keytool -keystore kafka.server.keystore.jks \
    • – olupin inagijẹ \
    • – gbe wọle \
    • – file ijẹrisi-olupin-wole

Awọn file kafka.server.keystore.jks yẹ ki o daakọ si ipo ti a mọ lori olupin Ile-iṣẹ Iṣakoso, ati lẹhinna tọka si /etc/kafka/server.properties.

Lilo API ṣiṣanwọle

NI APA YI

  • Gbogbogbo | 20
  • Awọn orukọ Kafka Koko | 21
  • Examples of Lilo API ṣiṣanwọle | 21

Gbogboogbo
API ṣiṣanwọle n ṣe idanwo mejeeji ati atẹle data. Ko ṣee ṣe lati ya ọkan ninu awọn ẹka wọnyi.
API ṣiṣanwọle ko gba data lati awọn idanwo ti o da lori iwe afọwọkọ (awọn ti o jẹ aṣoju nipasẹ igun onigun dipo nkan jigsaw ni GUI Ile-iṣẹ Iṣakoso), gẹgẹbi awọn idanwo imuṣiṣẹ iṣẹ Ethernet ati awọn idanwo akoyawo.

Awọn orukọ Kafka Koko
Awọn orukọ koko Kafka fun API ṣiṣanwọle jẹ atẹle yii, nibiti %s jẹ orukọ kukuru ti akọọlẹ Ile-iṣẹ Iṣakoso (itọkasi nigbati o ṣẹda akọọlẹ naa):

  • const (
  • Orukọ okeere = "kafka"
  • metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics" )

Examples ti Lilo API ṣiṣanwọle
Awọn examples ti o tẹle ni a rii ni tarball paa-streaming-api-client-examples.tar.gz ti o wa ninu bọọlu ile-iṣẹ Iṣakoso.
First, nibẹ ni a ipilẹ example ṣe afihan bi awọn metiriki ati metadata wọn ṣe n san ni lọtọ ati tẹ awọn ifiranṣẹ ti o gba wọle nirọrun si console. O le ṣiṣẹ bi atẹle:

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

Wa ti tun kan diẹ to ti ni ilọsiwaju Mofiampnibi ti awọn metiriki ati awọn ifiranṣẹ metadata ti ni ibatan. Lo aṣẹ yii lati ṣiṣẹ:

  • sudo ./build.sh ṣiṣe-to ti ni ilọsiwaju –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

O nilo lati lo sudo lati ṣiṣe awọn aṣẹ Docker gẹgẹbi awọn ti o wa loke. Ni yiyan, o le tẹle awọn igbesẹ fifi sori Linux lẹhin fifi sori ẹrọ lati ni anfani lati ṣiṣe awọn aṣẹ Docker laisi sudo. Fun awọn alaye, lọ si docs.docker.com/engine/install/linux-postinstall.

Juniper Networks, aami Juniper Networks, Juniper, ati Junos jẹ aami-išowo ti a forukọsilẹ ti Juniper Networks, Inc. ni Amẹrika ati awọn orilẹ-ede miiran. Gbogbo awọn aami-išowo miiran, awọn ami iṣẹ, awọn aami ti a forukọsilẹ, tabi awọn aami iṣẹ ti a forukọsilẹ jẹ ohun-ini awọn oniwun wọn. Juniper Networks ko gba ojuse fun eyikeyi awọn aiṣedeede ninu iwe yii. Juniper Networks ni ẹtọ lati yipada, yipada, gbigbe, tabi bibẹẹkọ tunwo atẹjade yii laisi akiyesi. Aṣẹ-lori-ara © 2023 Juniper Networks, Inc. Gbogbo ẹtọ wa ni ipamọ.

Awọn iwe aṣẹ / Awọn orisun

Juniper NETWORKS ṣiṣan API Software [pdf] Itọsọna olumulo
Ṣiṣanwọle API Software, API Software, Software

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *