Инженердик жөнөкөйлүк
Streaming API колдонмосу
Introduction
Бул колдонмо өнүмдүн агымдык API аркылуу Paragon Active Assurance'тен маалыматтарды кантип алуу керектигин сүрөттөйт.
API, ошондой эле агымдык кардар Paragon Active Assurance орнотуусуна киргизилген.
Бирок, API колдонуудан мурун бир аз конфигурация керек. Бул 1-беттеги “Агым API конфигурациялоо” бөлүмүндө камтылган.
Бүттүview
Бул бөлүмдө Кафка аркылуу метрикалык билдирүүлөргө жазылууга уруксат берүү үчүн Streaming API кантип конфигурациялоо керектиги сүрөттөлөт.
Төмөндө биз өтөбүз:
- Streaming API кантип иштетүү керек
- Кафканы тышкы кардарларды угуу үчүн кантип конфигурациялоо керек
- Кафканы кантип конфигурациялоо керек ACLлерди колдонууга жана айтылган кардарлар үчүн SSL шифрлөөсүн орнотууга
Кафка деген эмне?
Кафка бул окуя агымынын платформасы, ал окуялардын агымы түрүндө ар кандай окуялар булактарынан (сенсорлор, маалымат базалары, мобилдик түзүлүштөр) жөнөтүлгөн маалыматтарды реалдуу убакыт режиминде басып алууга, ошондой эле бул окуя агымдарын кийинчерээк издөө жана манипуляциялоо үчүн туруктуу сактоого мүмкүндүк берет.
Кафка менен окуянын акырына чейин агымын бөлүштүрүлгөн, масштабдуу, ийкемдүү, каталарга чыдамдуу жана коопсуз түрдө башкарууга болот.
ЭСКЕРТҮҮ: Кафканы ар кандай жолдор менен конфигурациялоого болот жана масштабдуулук жана ашыкча системалар үчүн иштелип чыккан. Бул документ Paragon Active Assurance Control Centerде табылган Streaming API функциясын колдонуу үчүн аны кантип конфигурациялоого гана багытталган. Өркүндөтүлгөн орнотуулар үчүн биз расмий Кафка документтерине кайрылабыз: kafka.apache.org/26/documentation.html.
Терминология
- Кафка: Окуяларды өткөрүү платформасы.
- Кафка темасы: Окуялардын жыйнагы.
- Кафка абоненти/керектөөчүсү: Кафка темасында сакталган окуяларды издөө үчүн жооптуу компонент.
- Кафка брокери: Кафка кластеринин сактагыч катмарынын сервери.
- SSL/TLS: SSL Интернет аркылуу коопсуз маалыматты жөнөтүү үчүн иштелип чыккан коопсуз протокол. TLS 1999-жылы киргизилген SSL мураскери болуп саналат.
- SASL: Колдонуучунун аныктыгын текшерүү, маалыматтардын бүтүндүгүн текшерүү жана шифрлөө механизмдерин камсыз кылган алкак.
- Streaming API жазылуучусу: Paragon Active Assurance ичинде аныкталган жана тышкы кирүү үчүн арналган темаларда сакталган окуяларды издөө үчүн жооптуу компонент.
- Сертификат органы: Ачык ачкыч сертификаттарын чыгарган жана жокко чыгарган ишенимдүү уюм.
- Сертификаттын түпкү сертификаты: Тастыктоочу борборду аныктаган ачык ачкычтын сертификаты.
Streaming API кантип иштейт
Мурда айтылгандай, Streaming API тышкы кардарларга Кафкадан метрика жөнүндө маалыматты алууга мүмкүнчүлүк берет.
Сыноо же мониторинг тапшырмасы учурунда Сыноо Агенттери тарабынан чогултулган бардык көрсөткүчтөр Stream кызматына жөнөтүлөт.
Иштеп чыгуу баскычынан кийин, Stream кызматы бул көрсөткүчтөрдү кошумча метадайындар менен бирге Кафкада жарыялайт.

Кафка темалары
Кафка бардык маалыматтар жарыяланган темалардын концепциясына ээ. Paragon Active Assurance программасында көптөгөн Кафка темалары бар; бирок булардын бир бөлүгү гана тышкы кирүү үчүн арналган.
Башкаруу борборундагы ар бир Paragon Active Assurance эсебинде эки атайын тема бар. Төмөндө, ACCOUNT каттоо эсебинин кыска аталышы:
- paa.public.accounts.{ACCOUNT}.metrics
- Берилген каттоо эсеби үчүн бардык метрикалык билдирүүлөр бул темага жарыяланган
- Маалыматтын чоң көлөмү
- Жогорку жаңыртуу жыштыгы
- paa.public.accounts.{ACCOUNT}.metadata
- Метрика дайындарына тиешелүү метадайындарды камтыйт, мисалыampкөрсөткүчтөр менен байланышкан тест, монитор же Test Agent
- Чакан көлөмдөгү маалыматтар
- Төмөн жаңыртуу жыштыгы
Streaming API иштетүү
ЭСКЕРТҮҮ: Бул нускамалар sudo аркылуу Башкаруу борборунун серверинде аткарылышы керек.
Streaming API Башкаруу борборуна бир аз кошумча чыгымдарды кошкондуктан, ал демейки боюнча иштетилген эмес. APIди иштетүү үчүн, адегенде негизги конфигурацияда метрикаларды Кафкага жарыялоону иштетишибиз керек file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = Чын
ЭСКЕРТҮҮ: Бул функцияны иштетүү Башкаруу борборунун иштешине таасирин тийгизиши мүмкүн. Сиздин инстанцияңызды ошого жараша өлчөгөнүңүздү текшериңиз.
Андан кийин, бул көрсөткүчтөрдү туура Кафка темаларына жөнөтүүнү иштетүү үчүн: - /etc/netrounds/metrics.yaml
streaming-api: чындык
Streaming API кызматтарын иштетүү жана иштетүү үчүн:
sudo ncc кызматтары timescaledb метрикасын иштетет sudo ncc кызматтары timescaledb метрикасын баштайт
Акырында, кызматтарды өчүрүп күйгүзүңүз:
sudo ncc кызматтарын кайра иштетүү
Streaming API Башкаруу борборунда иштээрин текшерүү
ЭСКЕРТҮҮ: Бул нускамалар Башкаруу борборунун серверинде аткарылышы керек.
Эми сиз туура Кафка темалары боюнча көрсөткүчтөрдү алып жатканыңызды текшере аласыз. Бул үчүн, kafkacat утилитасын орнотуңуз:
sudo apt-get жаңыртуу Sudo apt-get орнотуу kafkacat
Эгер сизде Башкаруу борборунда иштеп жаткан тест же монитор бар болсо, анда бул темалар боюнча метрикаларды жана метаберилиштерди алуу үчүн kafkacat колдоно билишиңиз керек.
Аккаунтуңуздун кыска аты менен менин каттоо эсебимди алмаштырыңыз (бул сиз Башкаруу борборунан көрүнүп турган нерсе URL):
экспорт METRICS_TOPIC=paa.public.accounts.myaccount.metrics
экспорт METADATA_TEPIC=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 бар экенин ырастайт. Бирок, балким, сиз анын ордуна тышкы кардардан маалымат алууга кызыкдарсыз. Кийинки бөлүмдө тышкы кирүү үчүн Кафканы кантип ачуу керектиги сүрөттөлөт.
Тышкы хосттор үчүн Кафканы ачуу
ЭСКЕРТҮҮ: Бул нускамалар Башкаруу борборунун серверинде аткарылышы керек.
Демейки боюнча Башкаруу борборунда иштеген Кафка ички колдонуу үчүн жергиликтүү хостто гана угууга конфигурацияланган.
Кафка орнотууларын өзгөртүү менен тышкы кардарлар үчүн Кафканы ачууга болот.
Кафкага кошулуу: эскертүүлөр
ЭСКЕРТҮҮ: Сураныч, муну кунт коюп окуп чыгыңыз, анткени сиз бул түшүнүктөрдү түшүнбөсөңүз, Кафка менен байланышуу маселелери оңой болот.
Бул документте сүрөттөлгөн Башкаруу борборунун жөндөөсүндө бир гана Кафка брокери бар.
Бирок, Кафка брокери көптөгөн Кафка брокерлеринен турушу мүмкүн болгон Кафка кластеринин бир бөлүгү катары иштөө үчүн арналганын эске алыңыз.
Кафка брокерине туташтырылганда, Кафка кардары алгачкы байланышты орнотот. Буга байланыштуу Кафка брокери өз кезегинде бир же бир нече Кафка брокерлеринин тизмеси болгон “жарнамаланган угуучулардын” тизмесин кайтарат.
Бул тизмени алгандан кийин, Кафка кардары өчүрүлөт, андан кийин бул жарнамаланган угуучулардын бирине кайра туташат. Жарнамаланган угуучулар Кафка кардары үчүн жеткиликтүү болгон хост аттары же IP даректерди камтышы керек, болбосо кардар туташа албай калат.
Эгер SSL шифрлөө колдонулса, ал белгилүү бир хосттун аталышына байланган SSL сертификатын камтыса, Кафка кардары туташуу үчүн туура даректи алышы андан да маанилүү, анткени антпесе байланыш четке кагылышы мүмкүн.
Кафканын угуучулары тууралуу кененирээк бул жерден окуңуз: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS шифрлөө
Кафкага жана Streaming API'ге ишенимдүү кардарларга гана кирүүгө уруксат берүү үчүн, биз төмөнкүлөрдү конфигурациялашыбыз керек:
- Аутентификация: Кардарлар кардар менен Кафканын ортосундагы SSL/TLS коопсуз байланышы аркылуу колдонуучу атын жана паролду бериши керек.
- Авторизация: Аутентификацияланган кардарлар ACL менен жөнгө салынган тапшырмаларды аткара алышат.
Мына, бүттүview:

*) Колдонуучунун аты/паролдун аутентификациясы SSL-шифрленген каналда аткарылган
SSL/TLS шифрлөө Кафка үчүн кандай иштээрин толук түшүнүү үчүн расмий документацияны караңыз: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS сертификаты бүттүview
ЭСКЕРТҮҮ: Бул бөлүмдө биз төмөнкү терминологияны колдонобуз:
Сертификат: Сертификат органы (CA) тарабынан кол коюлган SSL сертификаты. Ар бир Кафка брокеринде бирөө бар.
Ачкыч дүкөнү: Ачкыч дүкөнү file сертификатты сактайт. Ачкыч дүкөнү file күбөлүктүн купуя ачкычын камтыйт; ошондуктан, аны коопсуз сактоо керек.
Truststore: A file ишенимдүү CA сертификаттарын камтыйт.
Башкаруу борборунда иштеген тышкы кардар менен Кафканын ортосунда аутентификацияны орнотуу үчүн эки тарапта тең CA тамыр сертификаты менен бирге Сертификат органы (CA) кол койгон тиешелүү сертификат менен аныкталган ачкыч кампасы болушу керек.
Мындан тышкары, кардар CA тамыр сертификаты менен ишенимдүү дүкөнгө ээ болушу керек.
CA тамыр сертификаты Кафка брокери жана Кафка кардары үчүн жалпы болуп саналат.
Керектүү күбөлүктөрдү түзүү
Бул 17-беттеги «Тиркемеде» камтылган.
Башкаруу борборунда Kafka Broker SSL/TLS конфигурациясы
ЭСКЕРТҮҮ: Бул нускамалар Башкаруу борборунун серверинде аткарылышы керек.
ЭСКЕРТҮҮ: Улантуудан мурун, 17-беттеги “Тиркемедеги” нускамаларды аткаруу менен SSL сертификатын камтыган ачкыч кампасын түзүшүңүз керек. Төмөндө айтылган жолдор ушул нускамалардан келип чыгат.
SSL ачкыч дүкөнү болуп саналат file менен дискте сакталат file кеңейтүү .jks.
Кафка брокери жана Кафка кардары үчүн түзүлгөн талап кылынган сертификаттарга ээ болгондон кийин, Башкаруу борборунда иштеген Кафка брокерин конфигурациялоо менен уланта аласыз. Сиз төмөнкүлөрдү билишиңиз керек:
- : Башкаруу борборунун коомдук хост аты; бул чечилүүчү жана Кафка кардарлары үчүн жеткиликтүү болушу керек.
- : SSL сертификатын түзүүдө берилген ачкыч дүкөнүнүн сырсөзү.
- жана : Булар администратор жана кардар колдонуучу үчүн орноткуңуз келген сырсөздөр.
Эсиңизде болсун, сиз экс-де көрсөтүлгөндөй, көбүрөөк колдонуучуларды кошо аласызample.
/etc/kafka/server.properties ичинде төмөндөгү касиеттерди түзөтүңүз же кошуңуз (sudo мүмкүнчүлүгү менен), жогорудагы өзгөрмөлөрдү көрсөтүлгөндөй кыстарыңыз:
ЭСКЕРТҮҮ: PLAINTEXT://localhost:9092 алып салба; бул Башкаруу борборунун функцияларын бузуп салат, анткени ички кызматтар байланыша албайт.
…# Кафка брокери угуучу даректер.
угуучулар=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# Бул туташкан каалаган кардарга кайра жарнамаланган хосттор.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### КОНФИГ
# 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
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo dule талап кылынат \ username =”admin” \ password=” ” \ user_admin =” ” \ user_client =” ”; # ЭСКЕРТҮҮ дагы колдонуучуларды user_ менен кошууга болот =
# Авторизация, ACL'лерди күйгүзүңүз authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=Колдонуучу:admin
Кирүүнү башкаруу тизмелерин (ACL) орнотуу
Localhostто ACL күйгүзүлүүдө
ЭСКЕРТҮҮ: Башкаруу борборунун өзү дагы эле Кафкага кире алгыдай кылып, биз адегенде localhost үчүн ACLлерди орнотушубуз керек. Бул аткарылбаса, иштер бузулат.
######### Анонимдүү колдонуучулар үчүн ACL жазуулары
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \ –authorizer-properties zookeeper.connect=localhost:2181 \ –add –allow-principal Колдонуучу: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 \ –add –allow-principal Колдонуучу: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 \ –add –allow-principal Колдонуучу:ANONYMOUS –allow-host 127.0.0.1 –топ '*'
Андан кийин тышкы колдонуучуларга paa.public.* темаларын окууга уруксат берүү үчүн, биз ACLлерди тышкы окуу үчүн гана мүмкүнчүлүгүн иштетишибиз керек.
ЭСКЕРТҮҮ: Көбүрөөк көзөмөл үчүн Кафканын расмий документтерине кайрылыңыз.
######### Тышкы колдонуучулар үчүн ACL жазуулары
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties zookeeper.connect=localhost:2181 \
–кошуу –уруксат-негизги Колдонуучу:* –операцияны окуу –операцияны сүрөттөө \–“NCC” тобу
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
– кошуу – уруксат берүү-негизги Колдонуучу:* – операцияны окуу – операцияны сүрөттөп берүү \
– тема paa.public. –ресурс-үлгү түрүндөгү префикс
Муну менен бүткөндөн кийин, сиз кызматтарды кайра иштетүү керек:
sudo ncc кызматтарын кайра иштетүү
Кардар коопсуз байланыш түзө аларын текшерүү үчүн тышкы кардар компьютеринде төмөнкү буйрукту иштетиңиз (Башкаруу борборунун серверинде эмес). Төмөндө, PUBLIC_HOSTNAME Башкаруу борборунун хост аты:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "Коопсуз кайра сүйлөшүүлөр колдоого алынат"
Буйрук чыгарууда сиз сервердин сертификатын, ошондой эле төмөнкүлөрдү көрүшүңүз керек:
Secure Renegotiation IS колдоого алынат
Ички кызматтарга Кафка серверине кирүү мүмкүнчүлүгү берилгенин текшерүү үчүн төмөнкү журналды текшериңизfiles:
Тышкы кардар байланышын текшерүү
kafkacat
ЭСКЕРТҮҮ: Бул нускамалар кардар компьютеринде аткарылышы керек (Башкаруу борборунун серверинде эмес).
ЭСКЕРТҮҮ: Метрика маалыматын көрсөтүү үчүн Башкаруу борборунда жок дегенде бир монитор иштеп жатканын текшериңиз.
Тышкы кардар катары туташууну текшерүү жана ырастоо үчүн 4-беттеги “Агымдын API башкаруу борборунда иштээрин текшерүү” бөлүмүндө орнотулган kafkacat утилитасын колдонсоңуз болот.
Төмөнкү кадамдарды аткарыңыз:
ЭСКЕРТҮҮ: Төмөндө, CLIENT_USER мурда көрсөтүлгөн колдонуучу file /etc/kafka/server.properties in
Башкаруу борбору: тактап айтканда, user_client жана анда коюлган сырсөз.
Сервер тараптын SSL сертификатына кол коюу үчүн колдонулган CA тамыр сертификаты кардарда болушу керек.
- түзүү а 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 тамыр сертификатынын жайгашкан жери
• {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 опциясын камсыз кылбайт 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
Колдонулуп жаткан Кафка кардар китепканасынын документтерине кайрылууну унутпаңыз, анткени касиеттер client.properties ичиндегилерден айырмаланышы мүмкүн.
Кабардын форматы
Метрикалар жана метадайындар темалары үчүн колдонулган билдирүүлөр Протокол буферлери (протобуф) форматында серияланган (караңыз). developers.google.com/protocol-buffers). Бул билдирүүлөрдүн схемалары төмөнкү форматка ылайык келет:
Metrics Protobuf схемасы
синтаксис = "proto3"; импорттоо "google/protobuf/timestamp.proto”; paket paa.streamgapi; option go_package = “.;paa_streamgapi”; билдирүү Metrics { google.protobuf.Timestamp убакытamp = 1; карта баалуулуктар = 2; int32 measure_id = 3; } /** * Метрикалык маани бүтүн же калкыма болушу мүмкүн. */
билдирүү MetricValue { oneof type { int64 int_val = 1; float float_val = 2; } }
Метадата протобуф схемасы
синтаксис = "proto3"; paket paa.streamgapi; option go_package = “.;paa_streamgapi”; билдирүү Метадата {int32 ölçüm_id = 1; сап өлчөө_аты = 2; карта tags = 13; }
Кардар Эксamples
ЭСКЕРТҮҮ: Бул буйруктар тышкы кардарда иштөөгө арналган, мисалыampБашкаруу борборунда эмес, ноутбук же ушуга окшош.
ЭСКЕРТҮҮ: Метрикалык маалымат көрсөтүлүшү үчүн Башкаруу борборунда жок дегенде бир монитор иштеп жатканын текшериңиз.
Башкаруу борборунун тарболуна paa-streaming-api-client-ex архиви киретamples.tar.gz (кардар мурункуamples), анда эксampStreaming API кантип колдонууну көрсөткөн Python скрипти.
Кардарды орнотуу жана конфигурациялоо Examples
Сиз мурунку кардарды табасызampParagon Active Assurance Control Center папкасындагы les:
экспорттоо CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-examples*
Клиент-экс орнотуу үчүнamples тышкы кардар компьютериңизде төмөнкүнү аткарыңыз:
# Кардардын мурунку мазмунун алуу үчүн каталогду түзүңүзamples tarball mkdir paa-streaming-api-клиент-эксamples
# Кардардын мазмунун чыгарып алыңыз, мурункуamples tarball tar xzf paa-streaming-api-клиент-эксamples.tar.gz -C paa-streaming-api-client-examples
# Жаңы түзүлгөн CD paa-streaming-api-client-ex каталогуна өтүңүзamples client-examples иштетүү үчүн Докерди талап кылат. Docker үчүн жүктөөлөрдү жана орнотуу нускамаларын бул жерден тапса болот https://docs.docker.com/engine/install.
Client Examples
Мурунку кардарamples куралдар экс куруу үчүн негизги же кошумча режимде иштей алатampар кандай татаалдыктар. Эки учурда тең экс-ди иштетүүгө болотampконфигурацияга ээ file кардар тарабын андан ары ыңгайлаштыруу үчүн кошумча касиеттерди камтыган.
Негизги режим Негизги режимде метрика жана алардын метаберилиштери өзүнчө агылып чыгат. Бул максатта кардар сырттан кирүү үчүн жеткиликтүү болгон ар бир Кафка темасын угат жана жөн гана кабыл алынган билдирүүлөрдү консолго басып чыгарат.
Негизги экс аткарылышын баштоо үчүнamples, иштетүү: ./build.sh run-basic –kafka-brokers localhost:9092 –аккаунт 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-config- колдонуу менен кардардын кошумча конфигурациясы мененfile параметрден кийин а file key=value формасында касиеттерди камтыган аталыш.
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –account ACCOUNT_SHORTNAME \ –config-file client_config.properties
ЭСКЕРТҮҮ: Баары fileЖогорудагы буйрукта шилтемеленген s учурдагы каталогдо жайгашып, салыштырмалуу жолдор менен гана шилтеме кылынышы керек. Бул –config-ге да тиешелүүfile аргумент жана конфигурациядагы бардык жазууларга file деп сүрөттөйт file жерлер.
Тышкы кардар аутентификациясын текшерүү
Кардар-экс колдонуу менен Башкаруу борборунан тышкары кардар аныктыгын текшерүү үчүнamples, төмөнкү кадамдарды аткарыңыз:
- Paragon Active Assurance Control Center папкасынан paa-streaming-api-clientex папкасына которулуңузamples папкасы:
cd paa-streaming-api-клиент-эксamples - Учурдагы каталогго CA тамыр сертификатын көчүрүңүз.
- client.properties түзүү file төмөнкү мазмун менен:
security.protocol=SASL_SSL
ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
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 client.properties мында ACCOUNT_SHORTNAME - сиз көрсөткүчтөрдү алгыңыз келген каттоо эсебинин кыска аты. - Өркүндөтүлгөн эксamples:
экспорт KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –аккаунт ACCOUNT_SHORTNAME–config-file client.properties
Тиркеме
Бул тиркемеде биз кантип түзүүнү сүрөттөйбүз:
- ачкыч дүкөнү file Kafka брокеринин SSL сертификатын сактоо үчүн
- ишеним дүкөнү file Кафка брокеринин сертификатына кол коюу үчүн колдонулган күбөлүк органынын (CA) түпкү сертификатын сактоо үчүн.
Кафка брокеринин сертификатын түзүү
Чыныгы күбөлүк органын колдонуу менен күбөлүк түзүү (сунушталат)
Ишенимдүү CAдан чыныгы SSL сертификатын алуу сунушталат.
CA жөнүндө чечим кабыл алгандан кийин, алардын CA түпкү сертификатынын ca-сертификатын көчүрүңүз file төмөндө көрсөтүлгөндөй өз жолуңузга:
экспорт CA_PATH=~/my-ca mkdir ${CA_PATH} cp ca-cert ${CA_PATH}
Өзүңүздүн күбөлүк органыңызды түзүңүз
ЭСКЕРТҮҮ: Адатта, күбөлүккө чыныгы Күбөлүк органы кол койгон болушу керек; мурунку бөлүмдү караңыз. Андан кийинкиси жөн гана эксample.
Бул жерде биз өзүбүздүн күбөлүк органыбыздын (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 -days 999
Client Truststore түзүү
Эми сиз ишенимдүү дүкөн түзө аласыз file жогоруда түзүлгөн ка-сертификатты камтыйт. Бул file Streaming API'ге кире турган Кафка кардары керек болот:
keytool -keystore kafka.client.truststore.jks \ -лакап ат CARoot \ -importcert -file ${CA_PATH}/ca-cert
Эми CA сертификаты ишенимдүү дүкөндө болгондуктан, кардар аны менен кол коюлган бардык сертификаттарга ишенет.
Сиз көчүрүү керек file kafka.client.truststore.jks кардар компьютериңиздеги белгилүү жерге жана орнотуулардан аны көрсөтүңүз.
Кафка брокери үчүн ачкыч дүкөнүн түзүү
Kafka брокеринин SSL сертификатын жана андан кийин kafka.server.keystore.jks ачкыч дүкөнүн түзүү үчүн, төмөнкүнү аткарыңыз:
SSL сертификатын түзүү
Төмөндө 999 – ачкыч дүкөнүнүн жарактуу күндөрдүн саны, ал эми FQDN – кардардын толук квалификациялуу домендик аталышы (түйүндүн жалпы хостунун аталышы).
ЭСКЕРТҮҮ: FQDN Кафка кардары Башкаруу борборуна туташуу үчүн колдоно турган хосттун так аталышына дал келиши маанилүү. sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/жеке CD /var/ssl/жеке экспорт 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) эгер сиз чыныгысын колдонуп жатсаңыз. Андан кийин алар кол коюлган сертификатты кайтарып беришет. Биз муну төмөндө сертификат-сервер кол коюлган деп атайбыз. Өз алдынча түзүлгөн CA сертификатын колдонуу менен SSL сертификатына кол коюу
ЭСКЕРТҮҮ: Дагы бир жолу, өндүрүш системасында өзүңүздүн 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 \ -incert-server-request \ -out cert-server-signed \ -күн 999 -CAcreateserial \ -passin pass:{ca-password}
Кол коюлган сертификатты ачкыч дүкөнүнө импорттоо
Ca-cert тамыр сертификатын ачкыч дүкөнүнө импорттоо:
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
Сервер-сервер кол коюлган деп аталган кол коюлган сертификатты импорттоо:
keytool -keystore kafka.server.keystore.jks \ -алиас сервер \ -импорт \ -file cert-server-кол коюлган
The file kafka.server.keystore.jks Башкаруу борборунун сервериндеги белгилүү жерге көчүрүлүп, андан кийин /etc/kafka/server.properties дарегине шилтеме кылынышы керек.
Streaming API колдонуу
Генерал
Агымдык API тесттик жана монитор дайындарын алып келет. Бул категориялардын бирин бөлүп көрсөтүү мүмкүн эмес.
Агымдык API Ethernet кызматын активдештирүү тесттери жана айкындуулук сыноолору сыяктуу скриптке негизделген тесттерден (Башкаруу борборунун GUIде тик бурчтуктун ордуна тик бурчтук менен көрсөтүлгөн) маалыматтарды ала албайт.
Кафка темалардын аталыштары
Кафка агымдык API үчүн темалардын аталыштары төмөндөгүдөй, мында %s башкаруунун кыска аталышы
Борбордук эсеп (эсеп жазууну түзүүдө көрсөтүлөт):
const (exporterName = “kafka”metadataTopicTpl = “paa.public.accounts.%s.metadata” metricsTopicTpl = “paa.public.accounts.%s.metrics”)
ExampStreaming API колдонуу
мурдагыampкийинки les tarball paa-streaming-api-клиент-экс табылганamples.tar.gz Башкаруу борборунун tarball ичинде камтылган.
Биринчиден, негизги экс барample көрсөткүчтөр жана алардын метадайындары өз-өзүнчө агылып кантип көрсөтүлөрүн жана жөн гана кабыл алынган билдирүүлөрдү консолго басып чыгарууну көрсөтөт. Сиз аны төмөнкүдөй иштетсеңиз болот: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –аккаунт ACCOUNT_SHORTNAME
дагы өнүккөн экс барample жерде метрика жана метаберилиш билдирүүлөрү корреляцияланат. Аны иштетүү үчүн бул буйрукту колдонуңуз:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME Жогорудагылар сыяктуу Docker буйруктарын иштетүү үчүн sudo колдонушуңуз керек. Кошумча, сиз Docker буйруктарын sudoсуз иштете алуу үчүн Linux орнотуудан кийинки кадамдарды аткарсаңыз болот.
чоо-жайы үчүн, өтүү docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, Juniper Networks логотиби, Juniper жана Junos Кошмо Штаттардагы жана башка өлкөлөрдө Juniper Networks, Inc. компаниясынын катталган соода белгилери болуп саналат. Бардык башка соода белгилери, тейлөө белгилери, катталган белгилер же катталган тейлөө белгилери тиешелүү ээлеринин менчиги болуп саналат. Juniper Networks бул документтеги так эместиктер үчүн эч кандай жоопкерчиликти албайт. Juniper Networks бул басылманы эскертүүсүз өзгөртүү, өзгөртүү, өткөрүп берүү же башка жол менен кайра карап чыгуу укугун өзүнө калтырат. Copyright © 2022 Juniper Networks, Inc. Бардык укуктар корголгон.

Документтер / Ресурстар
![]() |
Juniper Streaming API [pdf] Колдонуучунун колдонмосу Streaming API, API |




