Juniper NETWORKS Streaming API Software
Ապրանքի մասին տեղեկատվություն
Տեխնիկական պայմաններ
- Ապրանքի անվանումը՝ Paragon Active Assurance
- Տարբերակ՝ 4.1
- Հրատարակման ամսաթիվ՝ 2023-03-15
Ներածություն:
Այս ուղեցույցը տալիս է հրահանգներ, թե ինչպես կարելի է տվյալներ հանել Paragon Active Assurance-ից՝ օգտագործելով արտադրանքի հոսքային API-ը: Հոսքային հաճախորդը և API-ն ներառված են Paragon Active Assurance-ի տեղադրման մեջ, սակայն API-ն օգտագործելուց առաջ անհրաժեշտ է որոշակի կոնֆիգուրացիա: Կազմաձևման գործընթացը ընդգրկված է «Streaming API-ի կազմաձևում» բաժնում:
Streaming API-ի կարգավորում.
Հետևյալ քայլերը ուրվագծում են հոսքային API-ի կազմաձևման գործընթացը.
Ավարտվել էview
Kafka-ն իրադարձությունների հոսքային հարթակ է, որը նախատեսված է իրական ժամանակում տարբեր աղբյուրներից տվյալների հավաքագրման և պահպանման համար: Այն հնարավորություն է տալիս կառավարել իրադարձությունների հոսքերը բաշխված, մասշտաբային, սխալ հանդուրժող և անվտանգ եղանակով: Այս ուղեցույցը կենտրոնանում է Kafka-ի կազմաձևման վրա՝ Paragon Active Assurance Control Center-ում Streaming API ֆունկցիան օգտագործելու համար:
Տերմինաբանություն
Streaming API-ն թույլ է տալիս արտաքին հաճախորդներին առբերել չափման տեղեկատվությունը Kafka-ից: Թեստի կամ մոնիտորինգի առաջադրանքի ընթացքում փորձարկման գործակալների կողմից հավաքված չափումները ուղարկվում են Stream ծառայությանը: Մշակումից հետո Stream ծառայությունը հրապարակում է այս ցուցանիշները Kafka-ում լրացուցիչ մետատվյալների հետ միասին:
Streaming API-ն օգտագործում է Կաֆկայի թեմաները չափորոշիչներն ու մետատվյալները կազմակերպելու և պահելու համար: Կաֆկայի թեմաները կարող են ստեղծվել և կառավարվել ըստ կոնկրետ պահանջների:
Streaming API-ի ակտիվացում
Streaming API-ն ակտիվացնելու համար հետևեք հետևյալ քայլերին.
- Գործարկեք հետևյալ հրամանները Control Center սերվերի վրա՝ օգտագործելով sudo.
KAFKA_METRICS_ENABLED = True sudo ncc ծառայությունները միացնում են timescaledb մետրային sudo ncc ծառայությունների մեկնարկի ժամանակաչափըscaledb չափումների sudo ncc ծառայությունների վերագործարկումը
Ստուգելով, որ Streaming API-ն աշխատում է Control Center-ում.
Ստուգելու համար, որ չափումներ եք ստանում Կաֆկայի ճիշտ թեմաների վերաբերյալ.
- Տեղադրեք kafkacat կոմունալը հետևյալ հրամաններով.
sudo apt-get թարմացում
sudo apt-get install kafkacat
- «myaccount»-ը փոխարինեք ձեր հաշվի կարճ անունով
Վերահսկիչ կենտրոն URL:
արտահանել METRICS_TOPIC=paa.public.accounts.myaccount.metrics
արտահանել METADATA_TOPIC=paa.public.accounts.myaccount.metadata
- Գործարկեք հետևյալ հրամանը view չափումներ:
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
ՆշումՎերոնշյալ հրամանը կցուցադրի չափումները: - Դեպի view մետատվյալներ, գործարկեք հետևյալ հրամանը.
kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
ՆշումՎերոնշյալ հրամանը կցուցադրի մետատվյալներ, բայց դրանք այնքան հաճախ չեն թարմացվի:
Հաճախորդ Նախamples
Հաճախորդի համար նախկինampԼրացուցիչ տեղեկություններ և լրացուցիչ տեղեկություններ, տես օգտագործողի ձեռնարկի էջ 14:
ՀՏՀ (Հաճախակի տրվող հարցեր)
- Հարց: Ի՞նչ է Paragon Active Assurance-ը:
A: Paragon Active Assurance-ը արտադրանք է, որն ապահովում է մոնիտորինգի և փորձարկման հնարավորություններ: - Հարց: Ի՞նչ է Streaming API-ն:
A: Streaming API-ն Paragon Active Assurance-ի մի հատկանիշ է, որը թույլ է տալիս արտաքին հաճախորդներին առբերել չափման տեղեկատվությունը Kafka-ից: - Հարց. Ինչպե՞ս միացնել Streaming API-ն:
A. Streaming API-ն ակտիվացնելու համար հետևեք օգտագործողի ձեռնարկի «Streaming API-ի միացում» բաժնում նշված քայլերին: - Հարց. Ինչպե՞ս կարող եմ ստուգել, որ Streaming API-ն աշխատում է:
A: Տե՛ս «Ստուգում, որ Streaming API-ն աշխատում է Control Center-ում» բաժինը՝ Streaming API-ի ֆունկցիոնալությունը ստուգելու հրահանգների համար:
Ներածություն
Այս ուղեցույցը նկարագրում է, թե ինչպես կարելի է տվյալներ հանել Paragon Active Assurance-ից արտադրանքի հոսքային API-ի միջոցով:
API-ն, ինչպես նաև հոսքային հաճախորդը ներառված են Paragon Active Assurance-ի տեղադրման մեջ: Այնուամենայնիվ, API-ն օգտագործելու համար անհրաժեշտ է մի փոքր կոնֆիգուրացիա: Սա ընդգրկված է «Հոսքային API-ի կազմաձևում» էջի 1-ին գլխում:
Ավարտվել էview
Այս գլուխը նկարագրում է, թե ինչպես կարգավորել Streaming API-ն, որպեսզի թույլ տա բաժանորդագրվել չափման հաղորդագրություններին Kafka-ի միջոցով:
pr
Ստորև կանցնենք.
- Ինչպես միացնել Streaming API-ն
- Ինչպես կարգավորել Kafka-ն, որպեսզի լսի արտաքին հաճախորդներին
- Ինչպես կարգավորել Kafka-ն ACL-ներ օգտագործելու և նշված հաճախորդների համար SSL կոդավորումը կարգավորելու համար
Ի՞նչ է Կաֆկան:
Kafka-ն իրադարձությունների հոսքային հարթակ է, որը թույլ է տալիս իրական ժամանակում հավաքել իրադարձությունների տարբեր աղբյուրներից (տվիչներ, տվյալների բազաներ, շարժական սարքեր) ուղարկված տվյալները՝ իրադարձությունների հոսքերի տեսքով, ինչպես նաև այդ իրադարձությունների հոսքերի երկարաժամկետ պահպանում՝ հետագայում գտնելու և շահագործելու համար:
Kafka-ի միջոցով հնարավոր է կառավարել իրադարձությունների հոսքը ծայրից ծայր բաշխված, մեծ մասշտաբային, առաձգական, սխալ հանդուրժող և ապահով ձևով:
ԾԱՆՈԹՈՒԹՅՈՒՆ. Kafka-ն կարող է կազմաձևվել տարբեր ձևերով և նախատեսված է մասշտաբայնության և ավելորդ համակարգերի համար: Այս փաստաթուղթը կենտրոնանում է միայն այն բանի վրա, թե ինչպես կարելի է այն կարգավորել՝ Paragon Active Assurance Control Center-ում հայտնաբերված Streaming API ֆունկցիան օգտագործելու համար: Ավելի առաջադեմ կարգավորումների համար մենք դիմում ենք Կաֆկայի պաշտոնական փաստաթղթերին. kafka.apache.org/26/documentation.html:
Տերմինաբանություն
- Կաֆկա. Իրադարձությունների հոսքային հարթակ:
- Կաֆկա թեման. Իրադարձությունների ժողովածու.
- Kafka-ի բաժանորդ/սպառող. բաղադրիչ, որը պատասխանատու է Կաֆկայի թեմայում պահվող իրադարձությունների որոնման համար:
- Kafka բրոքեր. Kafka կլաստերի պահեստային շերտի սերվեր:
- SSL/TLS. SSL-ը անվտանգ արձանագրություն է, որը մշակվել է ինտերնետով տեղեկատվություն անվտանգ ուղարկելու համար: TLS-ը SSL-ի իրավահաջորդն է, որը ներկայացվել է 1999 թվականին:
- SASL. Շրջանակ, որն ապահովում է օգտատերերի նույնականացման, տվյալների ամբողջականության ստուգման և գաղտնագրման մեխանիզմներ:
- Streaming API-ի բաժանորդ. բաղադրիչ, որը պատասխանատու է Paragon Active Assurance-ում սահմանված թեմաներում պահվող իրադարձությունների որոնման համար և նախատեսված արտաքին մուտքի համար:
- Վկայագրման մարմին. վստահելի կազմակերպություն, որը թողարկում և չեղարկում է հանրային բանալիների վկայականները:
- Վկայագրման մարմնի արմատային վկայագիր. Հանրային բանալի վկայագիր, որը նույնականացնում է Վկայագրման մարմինը:
Ինչպես է աշխատում Streaming API-ն
Ինչպես նախկինում նշվեց, Streaming API-ն արտաքին հաճախորդներին հնարավորություն է տալիս Կաֆկայից ստանալ չափումների մասին տեղեկատվություն:
Փորձարկման կամ մոնիտորինգի առաջադրանքի ընթացքում փորձարկման գործակալների կողմից հավաքված բոլոր ցուցանիշներն ուղարկվում են Stream ծառայությանը: Մշակման փուլից հետո Stream ծառայությունը հրապարակում է այդ ցուցանիշները Kafka-ում լրացուցիչ մետատվյալների հետ միասին:
Կաֆկայի թեմաներ
Կաֆկան ունի թեմաների հայեցակարգ, որոնց վերաբերյալ հրապարակվում են բոլոր տվյալները: Paragon Active Assurance-ում կան բազմաթիվ նման Կաֆկայի թեմաներ։ սակայն դրանցից միայն մի ենթախումբ է նախատեսված արտաքին մուտքի համար:
Յուրաքանչյուր Paragon Active Assurance հաշիվ Control Center-ում ունի երկու հատուկ թեմա: Ստորև բերված է ACCOUNT հաշվի կարճ անվանումը.
- paa.public.accounts.{ACCOUNT}.metrics
- Տվյալ հաշվի բոլոր չափման հաղորդագրությունները հրապարակված են այս թեմայում
- Մեծ քանակությամբ տվյալներ
- Թարմացման բարձր հաճախականություն
- paa.public.accounts.{ACCOUNT}.metadata
- Պարունակում է մետատվյալներ՝ կապված չափումների տվյալների հետ, օրինակampչափումների հետ կապված թեստը, մոնիտորը կամ թեստային գործակալը
- Տվյալների փոքր քանակություն
- Թարմացման ցածր հաճախականություն
Streaming API-ի ակտիվացում
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆԱյս հրահանգները պետք է գործարկվեն Control Center սերվերի վրա՝ օգտագործելով sudo:
Քանի որ Streaming API-ն ավելացնում է որոշակի ծախսեր Control Center-ին, այն լռելյայն միացված չէ: API-ն ակտիվացնելու համար մենք նախ պետք է միացնենք չափումների հրապարակումը Կաֆկային հիմնական կազմաձևում file:
KAFKA_METRICS_ENABLED = Ճիշտ է
ԶԳՈՒՇԱՑՈՒՄ. Այս գործառույթի ակտիվացումը կարող է ազդել Control Center-ի աշխատանքի վրա: Համոզվեք, որ դուք համապատասխան չափել եք ձեր օրինակը:
Հաջորդը, այս չափորոշիչները Կաֆկայի ճիշտ թեմաներին փոխանցելու համար.
հոսքային-api՝ ճշմարիտ
Streaming API ծառայությունները միացնելու և գործարկելու համար գործարկեք՝
- sudo ncc ծառայությունները միացնում են timescaledb չափումները
- sudo ncc ծառայությունները սկսում են timescaledb չափումներ
Վերջապես, վերագործարկեք ծառայությունները.
- sudo ncc ծառայությունները վերագործարկվում են
Ստուգելով, որ Streaming API-ն աշխատում է Control Center-ում
ԾԱՆՈԹՈՒԹՅՈՒՆ. Այս հրահանգները պետք է գործարկվեն Control Center սերվերում:
Այժմ կարող եք ստուգել, որ չափումներ եք ստանում ճիշտ Կաֆկայի թեմաներով: Դա անելու համար տեղադրեք kafkacat կոմունալ ծրագիրը.
- sudo apt-get թարմացում
- sudo apt-get install kafkacat
Եթե դուք ունեք թեստ կամ մոնիտոր, որն աշխատում է Control Center-ում, դուք պետք է կարողանաք օգտագործել kafkacat-ը՝ այս թեմաների վերաբերյալ չափումներ և մետատվյալներ ստանալու համար:
Փոխարինեք իմ հաշիվը ձեր հաշվի կարճ անունով (սա այն է, ինչ տեսնում եք ձեր Կառավարման կենտրոնում): URL):
- արտահանել METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- արտահանել METADATA_TOPIC=paa.public.accounts.myaccount.metadata
Այժմ դուք պետք է տեսնեք չափումներ՝ գործարկելով այս հրամանը.
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
Դեպի view մետատվյալներ, գործարկեք հետևյալ հրամանը (նկատի ունեցեք, որ դա այնքան էլ հաճախ չի թարմացվի).
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
ԾԱՆՈԹՈՒԹՅՈՒՆ.
kafkacat”Հաճախորդ նախկինamples »էջ 14 -ում
Սա հաստատում է, որ մենք ունենք գործող Streaming API Control Center-ից: Այնուամենայնիվ, ամենայն հավանականությամբ, դուք շահագրգռված եք մուտք գործել արտաքին հաճախորդի տվյալների փոխարեն: Հաջորդ բաժինը նկարագրում է, թե ինչպես բացել Կաֆկան արտաքին մուտքի համար:
Կաֆկայի բացում արտաքին հյուրընկալողների համար
ԾԱՆՈԹՈՒԹՅՈՒՆ. Այս հրահանգները պետք է գործարկվեն Control Center սերվերում:
Լռելյայնորեն Կառավարման կենտրոնում աշխատող Kafka-ն կազմաձևված է այնպես, որ լսի միայն localhost-ում ներքին օգտագործման համար: Հնարավոր է բացել Kafka-ն արտաքին հաճախորդների համար՝ փոփոխելով Kafka-ի կարգավորումները:
Միացում Կաֆկային. զգուշացումներ
ՈՒՇԱԴՐՈՒԹՅՈՒՆ. Խնդրում եմ ուշադիր կարդացեք սա, քանի որ հեշտ է Կաֆկայի հետ կապի խնդիրներ ունենալ, եթե չեք հասկացել այս հասկացությունները:
Այս փաստաթղթում նկարագրված Կառավարման կենտրոնի կարգավորումներում կա միայն մեկ Kafka բրոքեր:
Այնուամենայնիվ, նկատի ունեցեք, որ Kafka բրոքերը նախատեսված է որպես Kafka կլաստերի մի մաս, որը կարող է բաղկացած լինել Kafka-ի բազմաթիվ բրոքերներից:
Kafka բրոքերի հետ միանալիս նախնական կապը ստեղծվում է Kafka հաճախորդի կողմից: Այս կապակցությամբ Kafka բրոքերն իր հերթին կվերադարձնի «գովազդված ունկնդիրների» ցուցակը, որը մեկ կամ մի քանի Kafka բրոքերների ցուցակ է:
Այս ցուցակը ստանալուց հետո Kafka-ի հաճախորդը կանջատվի, այնուհետև նորից կմիանա այս գովազդված լսողներից մեկին: Գովազդված ունկնդիրները պետք է պարունակեն հյուրընկալող անուններ կամ IP հասցեներ, որոնք հասանելի են Kafka-ի հաճախորդին, հակառակ դեպքում հաճախորդը չի կարողանա միանալ:
Եթե օգտագործվում է SSL կոդավորումը, որը ներառում է SSL վկայագիր, որը կապված է որոշակի հոսթի անվան հետ, ավելի կարևոր է, որ Kafka-ի հաճախորդը ստանա ճիշտ հասցեն՝ միանալու համար, քանի որ հակառակ դեպքում կապը կարող է մերժվել:
Կաֆկայի ունկնդիրների մասին ավելին կարդացեք այստեղ. www.confluent.io/blog/kafka-listeners-explained
SSL/TLS գաղտնագրում
Համոզվելու համար, որ միայն վստահելի հաճախորդներին թույլատրվում է մուտք գործել Kafka և Streaming API, մենք պետք է կարգավորենք հետևյալը.
- ՆույնականացումՀաճախորդները պետք է տրամադրեն օգտվողի անուն և գաղտնաբառ հաճախորդի և Կաֆկայի միջև SSL/TLS անվտանգ կապի միջոցով:
- ԹույլտվությունՎավերացված հաճախորդները կարող են կատարել ACL-ներով կարգավորվող առաջադրանքներ:
Ահա ավարտview:
*) Օգտագործողի անունը/գաղտնաբառի իսկությունը, որն իրականացվում է SSL կոդավորված ալիքով
Լիովին հասկանալու համար, թե ինչպես է աշխատում SSL/TLS կոդավորումը Կաֆկայի համար, խնդրում ենք դիմել պաշտոնական փաստաթղթերին՝ docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS վկայականն ավարտված էview
ԾԱՆՈԹՈՒԹՅՈՒՆ. Այս ենթաբաժնում մենք կօգտագործենք հետևյալ տերմինաբանությունը.
ՎկայականSSL վկայագիր՝ ստորագրված սերտիֆիկատների մարմնի (CA) կողմից: Յուրաքանչյուր Kafka բրոքեր ունի մեկը:
Keystore: Բանալիների պահեստը file որը պահպանում է վկայականը: Բանալիների խանութ file պարունակում է վկայագրի մասնավոր բանալին. հետևաբար, այն պետք է ապահով պահվի:
Truststore: Ա file որոնք պարունակում են վստահելի CA վկայականներ:
Արտաքին հաճախորդի և Կաֆկայի միջև նույնականացումը կարգավորելու համար, որն աշխատում է Control Center-ում, երկու կողմերն էլ պետք է ունենան բանալիների պահեստ, որը սահմանված է համապատասխան վկայականով, որը ստորագրված է Վկայական մարմնի (CA) կողմից՝ CA արմատային վկայագրի հետ միասին:
Բացի սրանից, հաճախորդը պետք է ունենա նաև CA արմատային վկայականով վստահության խանութ:
CA արմատային վկայագիրը սովորական է Kafka բրոքերի և Kafka հաճախորդի համար:
Պահանջվող վկայագրերի ստեղծում
Սա ընդգրկված է 17-րդ էջի «Հավելվածում»։
Kafka Broker SSL/TLS կոնֆիգուրացիա կառավարման կենտրոնում
ԾԱՆՈԹՈՒԹՅՈՒՆ. Այս հրահանգները պետք է գործարկվեն Control Center սերվերում:
ԾԱՆՈԹՈՒԹՅՈՒՆ. Շարունակելուց առաջ դուք պետք է ստեղծեք բանալիների պահեստ, որը պարունակում է SSL վկայագիր՝ հետևելով 17-րդ էջի «Հավելվածի» հրահանգներին: Ստորև նշված ուղիները գալիս են այս հրահանգներից:
SSL բանալիների պահեստը ա file պահվում է սկավառակի վրա file ընդլայնում .jks.
Երբ դուք ունեք պահանջվող վկայագրերը, որոնք ստեղծվել են և՛ Kafka բրոքերի, և՛ Kafka հաճախորդի համար, կարող եք շարունակել՝ կարգավորելով Kafka բրոքերը, որն աշխատում է Control Center-ում: Դուք պետք է իմանաք հետևյալը.
- Կառավարման կենտրոնի հանրային հոսթի անունը; սա պետք է լուծելի և հասանելի լինի Kafka-ի հաճախորդների համար:
- SSL վկայագիր ստեղծելիս տրամադրված բանալիների պահեստի գաղտնաբառը:
- և Սրանք այն գաղտնաբառերն են, որոնք ցանկանում եք սահմանել համապատասխանաբար ադմինիստրատորի և հաճախորդի օգտագործողի համար: Նկատի ունեցեք, որ դուք կարող եք ավելացնել ավելի շատ օգտվողներ, ինչպես նշված է նախկինումampլե.
Խմբագրեք կամ ավելացրեք (sudo մուտքով) ստորև նշված հատկությունները /etc/kafka/server.properties-ում՝ տեղադրելով վերը նշված փոփոխականները, ինչպես ցույց է տրված.
ԶԳՈՒՇԱՑՈՒՄ. Մի հեռացրեք PLAINTEXT://localhost:9092; Սա կխախտի Control Center-ի գործառույթը, քանի որ ներքին ծառայությունները չեն կարողանա հաղորդակցվել:
- …
- # Հասցեները, որոնց լսում է Կաֆկա բրոքերը։
- լսողներ=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
- # Սրանք այն հյուրընկալողներն են, որոնք գովազդվում են ցանկացած հաճախորդի հետ կապող:
- advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
- ####### CUSTOM CONFIG
- # SSL ԿԱԶՄԱՎՈՐՈՒՄ
- 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 կոնֆիգուրացիա
- sasl.enabled.mechanisms=PLAIN
- օգտվողի անուն=”ադմին” \
- գաղտնաբառը=” \
- user_admin=” \
- user_client=” »;
- # ՆՇՈՒՄ կարող են ավելացվել ևս օգտվողներ user_-ի հետ =
- # Թույլտվություն, միացրեք ACL-ները
- autorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Օգտագործող:admin
Մուտքի վերահսկման ցուցակների (ACL) կարգավորում
ACL-ների միացում localhost-ում
ԶԳՈՒՇԱՑՈՒՄ. Մենք նախ պետք է ստեղծենք ACL-ներ localhost-ի համար, որպեսզի Control Center ինքը դեռ կարողանա մուտք գործել Kafka: Եթե դա չարվի, ամեն ինչ կկոտրվի։
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- – ավելացնել –թույլատրել-հիմնական օգտատեր:ANONYMOUS –allow-host 127.0.0.1 –կլաստեր
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- – ավելացնել –թույլատրել-հիմնական օգտատեր:ANONYMOUS –allow-host 127.0.0.1 –թեմա «*»
- /usr/lib/kafka/bin/kafka-acls.sh \
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- – ավելացնել –թույլատրել-հիմնական օգտատեր:ANONYMOUS –allow-host 127.0.0.1 – խումբ «*»
Այնուհետև մենք պետք է միացնենք ACL-ները արտաքին միայն կարդալու հասանելիության համար, որպեսզի արտաքին օգտատերերին թույլատրվի կարդալ paa.public.* թեմաները:
### ACL-ի գրառումներ անանուն օգտվողների համար /usr/lib/kafka/bin/kafka-acls.sh \
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆԱվելի մանրամասն վերահսկողության համար խնդրում ենք դիմել Կաֆկայի պաշտոնական փաստաթղթերին:
- –authorizer kafka.security.authorizer.AclAuthorizer \
- –authorizer-properties zookeeper.connect=localhost:2181 \
- – ավելացնել –թույլատրել-հիմնական օգտատեր.
- /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 describe \ –topic paa.public. - ռեսուրս-օրինաչափություն-տիպի նախածանցով
Դա անելուց հետո դուք պետք է վերագործարկեք ծառայությունները.
### ACL-ի գրառումներ արտաքին օգտագործողների համար /usr/lib/kafka/bin/kafka-acls.sh \
- sudo ncc ծառայությունները վերագործարկվում են
Ստուգելու համար, որ հաճախորդը կարող է անվտանգ կապ հաստատել, գործարկեք հետևյալ հրամանը արտաքինի վրա
հաճախորդի համակարգիչ (ոչ Control Center սերվերի վրա): Ստորև՝ PUBLIC_HOSTNAME-ը Կառավարման կենտրոնի հոսթի անունն է՝
- openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep «Անվտանգ վերաբանակցությունը աջակցում է ԻՊ-ին»
Հրամանի ելքում դուք պետք է տեսնեք սերվերի վկայականը, ինչպես նաև հետևյալը.
- Անվտանգ վերաբանակցությունը աջակցում է ԻՊ-ին
Ապահովելու համար, որ ներքին ծառայություններին տրվել է մուտք դեպի Kafka սերվեր, խնդրում ենք ստուգել հետևյալ մատյանըfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
Արտաքին հաճախորդի կապի վավերացում
kafkacat
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆԱյս հրահանգները պետք է գործարկվեն հաճախորդի համակարգչում (ոչ Control Center սերվերի վրա):
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆՉափման մասին տեղեկատվությունը ցուցադրելու համար համոզվեք, որ առնվազն մեկ մոնիտոր աշխատում է Control Center-ում:
Որպես արտաքին հաճախորդ կապ հաստատելու և հաստատելու համար հնարավոր է օգտագործել kafkacat օգտակար ծրագիրը, որը տեղադրված է «Ստուգում, որ հոսքային API-ն աշխատում է կառավարման կենտրոնում» բաժնում՝ 4-րդ էջում:
Կատարեք հետևյալ քայլերը.
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆՍտորև, CLIENT_USER-ն այն օգտվողն է, որը նախկինում նշված է file /etc/kafka/server.properties Control Center-ում. մասնավորապես՝ user_client և այնտեղ սահմանված գաղտնաբառը:
CA արմատային վկայագիրը, որն օգտագործվում է սերվերի կողմից SSL վկայագրի ստորագրման համար, պետք է առկա լինի հաճախորդի վրա:
Ստեղծել ա file client.properties հետևյալ բովանդակությամբ.
- security.protocol=SASL_SSL
- ssl.ca.location={PATH_TO_CA_CERT}
- sasl.mechanisms=PLAIN
- sasl.username={CLIENT_USER}
- sasl.password={CLIENT_PASSWORD}
որտեղ
- {PATH_TO_CA_CERT}-ը CA արմատային վկայագրի գտնվելու վայրն է, որն օգտագործվում է Kafka բրոքերի կողմից
- {CLIENT_USER}-ը և {CLIENT_PASSWORD}-ը հաճախորդի հավատարմագրերն են:
Գործարկեք հետևյալ հրամանը՝ kafkacat-ի կողմից սպառված հաղորդագրությունը տեսնելու համար.
- արտահանել KAFKA_FQDN=
- արտահանել METRICS_TOPIC=paa.public.accounts: .մետրիկա
- kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
որտեղ {METRICS_TOPIC}-ը Կաֆկայի թեմայի անվանումն է՝ «paa.public» նախածանցով։
ԾԱՆՈԹՈՒԹՅՈՒՆ. kafkacat-ի հին տարբերակները չեն տրամադրում -F տարբերակը՝ a-ից հաճախորդի կարգավորումները կարդալու համար file. Եթե դուք օգտագործում եք նման տարբերակ, դուք պետք է տրամադրեք նույն կարգավորումները հրամանի տողից, ինչպես ցույց է տրված ստորև:
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
Կապը վրիպազերծելու համար կարող եք օգտագործել -d տարբերակը.
Վրիպազերծել սպառողների հաղորդակցությունը
kafkacat -d սպառող -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
# Վրիպազերծել բրոքերային հաղորդակցությունը
kafkacat -d բրոքեր -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
Անպայման դիմեք օգտագործվող Kafka հաճախորդի գրադարանի փաստաթղթերին, քանի որ հատկությունները կարող են տարբերվել client.properties-ի հատկություններից:
Հաղորդագրության ձևաչափ
Չափումների և մետատվյալների թեմաների համար օգտագործվող հաղորդագրությունները սերիականացված են Արձանագրության բուֆերների (protobuf) ձևաչափով (տես developers.google.com/protocol-buffers) Այս հաղորդագրությունների սխեմաները համապատասխանում են հետևյալ ձևաչափին.
Չափման Protobuf սխեման
- շարահյուսություն = «proto3»;
- ներմուծել «google/protobuf/timestamp.proto»;
- փաթեթ paa.streamingapi;
- տարբերակ go_package = «.;paa_streamingapi»;
- հաղորդագրության չափումներ {
- google.protobuf.Timestamp ժամանակինamp = 1;
- քարտեզ արժեքներ = 2;
- int32 stream_id = 3;
- }
- /**
- * Մետրային արժեքը կարող է լինել կամ ամբողջ թիվ կամ լողացող:
- */
- հաղորդագրություն MetricValue {
- մեկը տեսակից {
- int64 int_val = 1;
- float float_val = 2;
- }
- }
Մետատվյալների Protobuf սխեման
- շարահյուսություն = «proto3»;
- փաթեթ paa.streamingapi;
- տարբերակ go_package = «.;paa_streamingapi»;
- հաղորդագրության մետատվյալներ {
- int32 stream_id = 1;
- լարային հոսքի անունը = 2;
- քարտեզ tags = 13;
- }
Հաճախորդ Նախamples
ԾԱՆՈԹՈՒԹՅՈՒՆ. Այս հրամանները նախատեսված են արտաքին հաճախորդի վրա գործելու համար, օրինակampթողեք ձեր նոութբուքը կամ նմանատիպը, և ոչ կառավարման կենտրոնում:
ԾԱՆՈԹՈՒԹՅՈՒՆ. Չափման տեղեկատվությունը ցուցադրելու համար համոզվեք, որ առնվազն մեկ մոնիտոր աշխատում է Control Center-ում:
Control Center tarball-ը ներառում է paa-streaming-api-client-ex արխիվըamples.tar.gz (հաճախորդ-նախamples), որը պարունակում է նախկինample Python սկրիպտը, որը ցույց է տալիս, թե ինչպես օգտագործել Streaming API-ը:
Հաճախորդի տեղադրում և կարգավորում Examples
Դուք գտնում եք հաճախորդ-նախկինampParagon Active Assurance Control Center պանակում.
- արտահանել CC_VERSION=4.1.0
- cd ./paa-control-center_${CC_VERSION}
- ls paa-streaming-api-client-exampլես*
Հաճախորդ-նախկին տեղադրելու համարampձեր արտաքին հաճախորդի համակարգչի վրա, գործեք հետևյալ կերպ.
- # Ստեղծեք տեղեկատու՝ հաճախորդի բովանդակությունը հանելու համար, օրինակamples tarball
- mkdir paa-streaming-api-client-examples
- # Արտահանեք հաճախորդի բովանդակությունը նախկինումamples tarball
- tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
- # Գնացեք նոր ստեղծված գրացուցակ
- cd paa-streaming-api-client-examples
հաճախորդ-նախկինamples-ը պահանջում է Docker-ը գործարկել: Docker-ի ներբեռնումները և տեղադրման հրահանգները կարելի է գտնել այստեղ https://docs.docker.com/engine/install.
Օգտագործելով Client Examples
Հաճախորդը-նախկինamples գործիքները կարող են աշխատել ինչպես հիմնական, այնպես էլ առաջադեմ ռեժիմով՝ նախկին ստեղծման համարampտարբեր բարդության les. Երկու դեպքում էլ հնարավոր է վազել նախկինamples կոնֆիգուրացիայով file պարունակող լրացուցիչ հատկություններ հաճախորդի կողմի հետագա հարմարեցման համար:
Հիմնական ռեժիմ
Հիմնական ռեժիմում չափիչները և դրանց մետատվյալները հեռարձակվում են առանձին: Այդ նպատակով հաճախորդը լսում է Կաֆկայի յուրաքանչյուր թեմա, որը հասանելի է արտաքին մուտքի համար և պարզապես տպում է ստացված հաղորդագրությունները վահանակի վրա:
Սկսելու հիմնական օրինակի կատարումըamples, վազել:
- build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
որտեղ ACCOUNT_SHORTNAME-ն այն հաշվի կարճ անունն է, որից ցանկանում եք ստանալ չափումները:
դադարեցնել նախկինի կատարումըample, սեղմեք Ctrl + C: (Կարող է լինել մի փոքր ուշացում, մինչև կատարման դադարեցումը, քանի որ հաճախորդը սպասում է ժամանակի ավարտի իրադարձությանը):
Ընդլայնված ռեժիմ
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆՉափիչները ցուցադրվում են միայն կառավարման կենտրոնում աշխատող HTTP մոնիտորների համար:
Ընդլայնված ռեժիմով կատարումը ցույց է տալիս չափումների և մետատվյալների հաղորդագրությունների հարաբերակցությունը: Սա
հնարավոր է յուրաքանչյուր չափման հաղորդագրության մեջ հոսքի id դաշտի առկայության շնորհիվ, որը վերաբերում է համապատասխան մետատվյալների հաղորդագրությանը:
Կատարել առաջադեմ նախկինamples, վազել:
- build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
որտեղ ACCOUNT_SHORTNAME-ն այն հաշվի կարճ անունն է, որից ցանկանում եք ստանալ չափումները:
դադարեցնել նախկինի կատարումըample, սեղմեք Ctrl + C: (Կարող է լինել մի փոքր ուշացում, մինչև կատարման դադարեցումը, քանի որ հաճախորդը սպասում է ժամանակի ավարտի իրադարձությանը):
Լրացուցիչ կարգավորումներ
Հնարավոր է վազել նախկինampհաճախորդի լրացուցիչ կոնֆիգուրացիայով les՝ օգտագործելով –config-file տարբերակ, որին հաջորդում է ա file key=value ձևով հատկություններ պարունակող անուն:
- build.sh run-advanced \
- –kafka-brokers localhost:9092 \
- – հաշիվ ACCOUNT_SHORTNAME \
- - կազմաձևում -file client_config.properties
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ: Բոլորը fileՎերևի հրամանում նշված s-երը պետք է գտնվեն ընթացիկ գրացուցակում և նշվեն միայն հարաբերական ուղիների միջոցով: Սա վերաբերում է ինչպես –config-ինfile փաստարկը և կազմաձևման բոլոր մուտքերը file որոնք նկարագրում են file վայրերը.
Արտաքին հաճախորդի նույնականացման վավերացում
Հաճախորդի նույնականացումը Կառավարման կենտրոնից դուրս հաստատելու համար՝ օգտագործելով client-examples, կատարեք հետևյալ քայլերը.
Paragon Active Assurance Control Center պանակից անցեք paa-streaming-api-client-examples թղթապանակ:
cd paa-streaming-api-client-examples
- Պատճենեք CA արմատային վկայագրի ca-cert-ը ընթացիկ գրացուցակում:
- Ստեղծեք client.properties file հետևյալ բովանդակությամբ.
security.protocol=SASL_SSL ssl.ca.location=ca-cert
sasl.մեխանիզմ=ՊԱՍՏ
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
որտեղ {CLIENT_USER}-ը և {CLIENT_PASSWORD}-ը հաճախորդի համար օգտագործողի հավատարմագրերն են:
Գործարկել հիմնական նախկինamples:
- արտահանել KAFKA_FQDN=
- build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
- – հաշիվ ACCOUNT_SHORTNAME
- - կազմաձևում -file հաճախորդ.հատկություններ
որտեղ ACCOUNT_SHORTNAME-ն այն հաշվի կարճ անունն է, որից ցանկանում եք ստանալ չափումները:
Գործարկել առաջադեմ նախկինamples:
- արտահանել KAFKA_FQDN=
- build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
- – հաշիվ ACCOUNT_SHORTNAME
- - կազմաձևում -file հաճախորդ.հատկություններ
Հավելված
Այս հավելվածում մենք նկարագրում ենք, թե ինչպես ստեղծել.
- բանալիների խանութ file Kafka բրոքերի SSL վկայագիրը պահելու համար
- վստահության խանութ file Certificate Authority (CA) արմատային վկայականը պահելու համար, որն օգտագործվում է Kafka բրոքերի վկայականը ստորագրելու համար:
Կաֆկա բրոքերի վկայականի ստեղծում
Վկայագրի ստեղծում՝ օգտագործելով իրական վկայականի լիազորություն (խորհուրդ է տրվում)
Խորհուրդ է տրվում իրական SSL վկայագիր ստանալ վստահելի CA-ից:
Երբ որոշեք CA-ի մասին, պատճենեք նրանց CA արմատային վկայագրի ca-cert-ը file դեպի ձեր սեփական ճանապարհը, ինչպես ցույց է տրված ստորև.
- արտահանել CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- cp ca-cert ${CA_PATH}
Ստեղծեք ձեր սեփական վկայականի մարմինը
ԾԱՆՈԹՈՒԹՅՈՒՆ. Սովորաբար դուք պետք է ունենաք ձեր վկայականը ստորագրված իրական Վկայական մարմնի կողմից. տես նախորդ ենթաբաժինը: Այն, ինչ հետևում է, պարզապես նախկին էampլե.
Այստեղ մենք ստեղծում ենք մեր սեփական Սերտիֆիկատների մարմնի (CA) արմատային վկայագիրը file վավեր է 999 օր (արտադրության մեջ խորհուրդ չի տրվում).
- # Ստեղծեք տեղեկատու CA-ն պահելու համար
- արտահանել CA_PATH=~/my-ca
- mkdir ${CA_PATH}
- # Ստեղծեք CA վկայագիր
- openssl req -new -x509 -keyout ${CA_PATH}/ca-key -out ${CA_PATH}/ca-cert -օր 999
Հաճախորդների վստահության խանութի ստեղծում
Այժմ դուք կարող եք ստեղծել վստահության խանութ file որը պարունակում է վերևում ստեղծված ca-վկայագիրը: Սա file կպահանջվի Kafka հաճախորդին, որը մուտք կունենա Streaming API.
- keytool -keystore kafka.client.truststore.jks \
- այլանուն CARoot \
- ներմուծող -file ${CA_PATH}/ca-cert
Այժմ, երբ CA վկայականը վստահության խանութում է, հաճախորդը կվստահի դրա հետ ստորագրված ցանկացած վկայական:
Դուք պետք է պատճենեք file kafka.client.truststore.jks-ը դեպի ձեր հաճախորդի համակարգչի հայտնի վայր և մատնանշեք այն կարգավորումներում:
Կաֆկա բրոքերի համար Keystore-ի ստեղծում
Kafka բրոքերի SSL վկայականը, այնուհետև keystore kafka.server.keystore.jks-ը ստեղծելու համար կատարեք հետևյալը.
SSL վկայագրի ստեղծում
Ստորև՝ 999-ը keystore-ի վավերականության օրերի թիվն է, իսկ FQDN-ը հաճախորդի լրիվ որակավորված տիրույթի անունն է (հանգույցի հանրային հոսթի անվանումը):
ԾԱՆՈԹՈՒԹՅՈՒՆ. Կարևոր է, որ FQDN-ը համապատասխանի ճշգրիտ հոսթի անվանը, որը Կաֆկա հաճախորդը կօգտագործի կառավարման կենտրոնին միանալու համար:
- sudo mkdir -p /var/ssl/private
- sudo chown -R $USER: /var/ssl/private
- cd /var/ssl/private
- արտահանել FQDN= keytool -keystore kafka.server.keystore.jks \
- – կեղծանուն սերվեր \
- – վավերականությունը 999 \
- – genkey -keyalg RSA -ext SAN=dns:${FQDN}
Ստեղծեք վկայագրի ստորագրման հարցում և պահեք այն file անվանված cert-server- request:
- keytool -keystore kafka.server.keystore.jks \
- – կեղծանուն սերվեր \
- – certreq \
- – file վկայական-սերվեր-խնդրանք
Այժմ դուք պետք է ուղարկեք file cert-server- հարցում ձեր Վկայագրման մարմնին (CA), եթե դուք իրականից եք օգտագործում: Այնուհետև նրանք կվերադարձնեն ստորագրված վկայականը: Ստորև մենք կանդրադառնանք դրան որպես վկայական սերվերի ստորագրված:
SSL վկայագրի ստորագրում` օգտագործելով ինքնուրույն ստեղծված CA վկայական
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆԿրկին, ձեր սեփական CA-ն օգտագործելը խորհուրդ չի տրվում արտադրական համակարգում:
Ստորագրեք վկայագիրը՝ օգտագործելով CA-ի միջոցով file cert-server-request, որը արտադրում է ստորագրված վկայականը cert-server-signed. Տես ներքեւում; ca-password-ը գաղտնաբառ է, որը սահմանված է CA վկայականը ստեղծելիս:
- cd /var/ssl/private openssl x509 -req \
- – CA ${CA_PATH}/ca-cert \
- – CAkey ${CA_PATH}/ca-key \
- – վկայական-սերվերի հարցում \
- – դուրս սերտի սերվերի ստորագրությամբ \
- – օր 999 -CAcreateserial \
- – անցագիր՝{ca-password}
Ստորագրված վկայականի ներմուծում Keystore
Ներմուծեք ca-cert արմատային վկայագիրը keystore.
- keytool -keystore kafka.server.keystore.jks \
- – alias ca-cert \
- – ներմուծում \
- – file ${CA_PATH}/ca-cert
Ներմուծեք ստորագրված վկայագիրը, որը կոչվում է սերվերի կողմից ստորագրված.
- keytool -keystore kafka.server.keystore.jks \
- – կեղծանուն սերվեր \
- – ներմուծում \
- – file վկայական-սերվերի ստորագրված
Այն file kafka.server.keystore.jks-ը պետք է պատճենվի Control Center սերվերի հայտնի վայրում, այնուհետև նշվի /etc/kafka/server.properties-ում:
Օգտագործելով Streaming API
ԱՅՍ ԲԱԺԻՆ
- Ընդհանուր | 20
- Կաֆկա Թեմաների անուններ | 21
- ExampStreaming API-ի օգտագործումը | 21
Գեներալ
Հոսքային API-ն վերցնում է և՛ թեստավորման, և՛ մոնիտորինգի տվյալները: Հնարավոր չէ առանձնացնել այս կատեգորիաներից մեկը։
Հոսքային API-ն չի առբերում տվյալներ սկրիպտի վրա հիմնված թեստերից (որոնք ներկայացված են ուղղանկյունով, քան ոլորահատ սղոցի կտորով Control Center GUI-ում), ինչպիսիք են Ethernet ծառայության ակտիվացման թեստերը և թափանցիկության թեստերը:
Կաֆկա թեմաների անուններ
Հոսքային API-ի Kafka թեմաների անվանումները հետևյալն են, որտեղ %s-ը Control Center-ի հաշվի կարճ անունն է (նշվում է հաշիվը ստեղծելիս).
- const (
- exporterName = «կաֆկա»
- metadataTopicTpl = «paa.public.accounts.%s.metadata» metricsTopicTpl = «paa.public.accounts.%s.metrics» )
ExampStreaming API-ի օգտագործումը
ՆախկինampՀետևյալները գտնվում են tarball paa-streaming-api-client-ex-ումamples.tar.gz-ը պարունակվում է Control Center tarball-ում:
Նախ, կա հիմնական նախկինampցույց տալով, թե ինչպես են չափումները և դրանց մետատվյալները հեռարձակվում առանձին և ուղղակի տպում ստացված հաղորդագրությունները վահանակում: Դուք կարող եք այն գործարկել հետևյալ կերպ.
- sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Կա նաև ավելի առաջադեմ նախկինampորտեղ չափումները և մետատվյալների հաղորդագրությունները փոխկապակցված են: Օգտագործեք այս հրամանը այն գործարկելու համար.
- sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
Դուք պետք է օգտագործեք sudo Docker հրամանները գործարկելու համար, ինչպիսիք են վերը նշվածները: Ցանկության դեպքում կարող եք հետևել Linux-ի հետտեղադրման քայլերին, որպեսզի կարողանաք գործարկել Docker հրամաններն առանց sudo-ի: Մանրամասների համար այցելեք docs.docker.com/engine/install/linux-postinstall.
Juniper Networks-ը, Juniper Networks-ի լոգոն, Juniper-ը և Junos-ը Միացյալ Նահանգներում և այլ երկրներում Juniper Networks, Inc.-ի գրանցված ապրանքանիշերն են: Բոլոր այլ ապրանքային նշանները, սպասարկման նշանները, գրանցված նշանները կամ գրանցված ծառայությունների նշանները իրենց համապատասխան սեփականատերերի սեփականությունն են: Juniper Networks-ը պատասխանատվություն չի կրում այս փաստաթղթում առկա որևէ անճշտության համար: Juniper Networks-ն իրեն իրավունք է վերապահում փոփոխելու, փոփոխելու, փոխանցելու կամ այլ կերպ վերանայելու այս հրապարակումն առանց ծանուցման: Հեղինակային իրավունք © 2023 Juniper Networks, Inc. Բոլոր իրավունքները պաշտպանված են:
Փաստաթղթեր / ռեսուրսներ
![]() |
Juniper NETWORKS Streaming API Software [pdf] Օգտագործողի ուղեցույց Streaming API Software, API Software, Software |