Juniper-լոգոն

Juniper NETWORKS Streaming API SoftwareJuniper-NETWORKS-Streaming-API-Software-product

Ապրանքի մասին տեղեկատվություն

Տեխնիկական պայմաններ

  • Ապրանքի անվանումը՝ 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-ն ակտիվացնելու համար հետևեք հետևյալ քայլերին.

  1. Գործարկեք հետևյալ հրամանները Control Center սերվերի վրա՝ օգտագործելով sudo.
KAFKA_METRICS_ENABLED = True sudo ncc ծառայությունները միացնում են timescaledb մետրային sudo ncc ծառայությունների մեկնարկի ժամանակաչափըscaledb չափումների sudo ncc ծառայությունների վերագործարկումը

Ստուգելով, որ Streaming API-ն աշխատում է Control Center-ում.
Ստուգելու համար, որ չափումներ եք ստանում Կաֆկայի ճիշտ թեմաների վերաբերյալ.

  1. Տեղադրեք kafkacat կոմունալը հետևյալ հրամաններով.
    sudo apt-get թարմացում
    sudo apt-get install kafkacat
  1. «myaccount»-ը փոխարինեք ձեր հաշվի կարճ անունով
    Վերահսկիչ կենտրոն URL:
    արտահանել METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    արտահանել METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. Գործարկեք հետևյալ հրամանը view չափումներ:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    ՆշումՎերոնշյալ հրամանը կցուցադրի չափումները:
  2. Դեպի 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-ում լրացուցիչ մետատվյալների հետ միասին:

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

Կաֆկայի թեմաներ
Կաֆկան ունի թեմաների հայեցակարգ, որոնց վերաբերյալ հրապարակվում են բոլոր տվյալները: 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:

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

*) Օգտագործողի անունը/գաղտնաբառի իսկությունը, որն իրականացվում է 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

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *