Routing Active Testing Streaming API
ھدايت
تعارف
This guide describes how to extract data from Routing Active Testing via the product’s streaming API.
The API as well as the streaming client are included in the Routing Active Testing installation. However, a bit of configuration is needed before you can use the API. This is covered in the “Configuring the Streaming API” on page 1 chapter.
اسٽريمنگ API کي ترتيب ڏيڻ
مٿانview
هي باب بيان ڪري ٿو ته ڪيئن اسٽريمنگ API کي ترتيب ڏيڻ لاءِ ڪفڪا ذريعي ميٽرڪس پيغامن جي رڪنيت حاصل ڪرڻ جي اجازت ڏيڻ لاءِ.
هيٺ اسين اڳتي وڌنداسين:
- اسٽريمنگ API کي ڪيئن فعال ڪجي
- ٻاهرين گراهڪن کي ٻڌڻ لاءِ ڪافڪا کي ڪيئن ترتيب ڏيو
- ACLs استعمال ڪرڻ لاءِ ڪافڪا کي ڪيئن ترتيب ڏيو ۽ چيو ويو ڪلائنٽ لاءِ SSL انڪرپشن سيٽ اپ ڪريو
ڪافڪا ڇا آهي؟
ڪافڪا هڪ ايونٽ اسٽريمنگ پليٽ فارم آهي جيڪو ايونٽ اسٽريمز جي صورت ۾ مختلف ايونٽ ذريعن (سينسر، ڊيٽابيس، موبائيل ڊيوائسز) مان موڪليل ڊيٽا جي حقيقي وقت تي قبضو ڪرڻ جي اجازت ڏئي ٿو، انهي سان گڏ انهن ايونٽ اسٽريمز جي پائيدار اسٽوريج بعد ۾ ٻيهر حاصل ڪرڻ ۽ هٿرادو ڪرڻ لاءِ.
ڪافڪا سان اهو ممڪن آهي ته ايونٽ اسٽريمنگ جي آخر کان آخر تائين ورهايل، انتهائي اسپيبلبل، لچڪدار، غلطي برداشت ڪندڙ، ۽ محفوظ انداز ۾.
نوٽ: Kafka can be configured in many different ways and was designed for scalability and redundant systems. This document focuses only on how to configure it to make use of the Streaming API feature found in Routing Active Testing Control Center. For more advanced setups we refer to the official Kafka documentation: kafka.apache.org/26/documentation.html.
اصطلاحات
- ڪافڪا: ايونٽ اسٽريمنگ پليٽ فارم.
- ڪافڪا موضوع: واقعن جو مجموعو.
- ڪافڪا سبسڪرائبر/صارف: ڪافڪا موضوع ۾ ذخيرو ٿيل واقعن جي ٻيهر حاصل ڪرڻ جو ذميوار جزو.
- ڪافڪا بروکر: ڪافڪا ڪلستر جو اسٽوريج پرت سرور.
- SSL/TLS: SSL هڪ محفوظ پروٽوڪول آهي جيڪو انٽرنيٽ تي محفوظ معلومات موڪلڻ لاءِ تيار ڪيو ويو آهي. TLS SSL جو جانشين آهي، 1999 ۾ متعارف ڪرايو ويو.
- SASL: فريم ورڪ جيڪو صارف جي تصديق، ڊيٽا جي سالميت جي چڪاس، ۽ انڪرپشن لاءِ ميکانيزم مهيا ڪري ٿو.
- Streaming API subscriber: Component responsible for retrieval of events stored in topics defined in Routing Active Testing and meant for external access.
- سرٽيفڪيٽ اٿارٽي: هڪ قابل اعتماد ادارو جيڪو مسئلن ۽ عوامي اهم سرٽيفڪيٽ کي رد ڪري ٿو.
- سرٽيفڪيٽ اٿارٽي روٽ سرٽيفڪيٽ: پبلڪ ڪيئي سرٽيفڪيٽ جيڪو سرٽيفڪيٽ اٿارٽي جي سڃاڻپ ڪري ٿو.
ڪيئن اسٽريمنگ API ڪم ڪندو آهي
جيئن اڳ ذڪر ڪيو ويو آهي، اسٽريمنگ API خارجي گراهڪن کي ڪافڪا کان ميٽرڪس بابت معلومات حاصل ڪرڻ جي اجازت ڏئي ٿي.
ٽيسٽ يا نگراني جي ڪم دوران ٽيسٽ ايجنٽن پاران گڏ ڪيل سڀئي ميٽرڪ اسٽريم سروس ڏانهن موڪليا ويا آهن.
پروسيسنگ مرحلي کان پوءِ، اسٽريم سروس شايع ڪري ٿي اهي ميٽرڪ ڪافڪا تي اضافي ميٽا ڊيٽا سان گڏ.
ڪافڪا جا موضوع
Kafka has the concept of topics to which all data is published. In Routing Active Testing there are many such Kafka topics available; however, only a subset of these are meant for external access.
Each Routing Active Testing account in Control Center has two dedicated topics. Below, ACCOUNT is the account short name:
- paa.public.accounts.{ACCOUNT}.metrics
- ڏنل اڪائونٽ لاءِ سڀئي ميٽرڪ پيغام هن موضوع تي شايع ٿيل آهن
- ڊيٽا جي وڏي مقدار
- اعلي اپڊيٽ فریکوئنسي
- paa.public.accounts.{ACCOUNT}.metadata
- ميٽرڪ ڊيٽا سان لاڳاپيل ميٽا ڊيٽا تي مشتمل آهي، مثال طورampميٽرڪ سان لاڳاپيل ٽيسٽ، مانيٽر يا ٽيسٽ ايجنٽ
- ڊيٽا جي ننڍي مقدار
- گھٽ اپڊيٽ فریکوئنسي
اسٽريمنگ API کي فعال ڪرڻ
نوٽ: These instructions are to be run on the Control Center server using sudor.
جيئن ته اسٽريمنگ API ڪنٽرول سينٽر ۾ ڪجهه اوور هيڊ شامل ڪري ٿو، اهو ڊفالٽ طور فعال نه آهي. API کي فعال ڪرڻ لاءِ، اسان کي لازمي طور تي ڪفڪا ۾ ميٽرڪس جي اشاعت کي مکيه ترتيب ۾ فعال ڪرڻ گهرجي. file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = سچ
KAFKA_PUBLISH_METADATA_FOR_STREAMS = True
خبردار: ھن خصوصيت کي فعال ڪرڻ سان ڪنٽرول سينٽر جي ڪارڪردگي متاثر ٿي سگھي ٿي. پڪ ڪريو ته توهان پنهنجي مثال جي مطابق طول و عرض ڪيو آهي.
اڳيون، صحيح ڪافڪا جي عنوانن ڏانهن انهن ميٽرڪس کي اڳتي وڌائڻ لاءِ:
- /etc/netrounds/metrics.yaml
streaming-api: سچو
اسٽريمنگ API خدمتن کي فعال ۽ شروع ڪرڻ لاءِ، ھلايو:
- sudo ncc خدمتون timecaledb metrics کي فعال ڪن ٿيون
- sudo ncc خدمتون شروع ٿين ٿيون timecaledb metrics
آخرڪار، خدمتون ٻيهر شروع ڪريو:
- sudo ncc خدمتون ٻيهر شروع
نوٽ: The KAFKA_PUBLISH_RESOURCES setting has been deprecated. It should be removed from your configuration. Use KAFKA_PUBLISH_METADATA_FOR_STREAMS = True instead.
تصديق ڪندي ته اسٽريمنگ API ڪم ڪري ٿي ڪنٽرول سينٽر ۾
نوٽ: اهي هدايتون ڪنٽرول سينٽر سرور تي هلائڻ لاء آهن.
You can now verify that you are receiving metrics on the correct Kafka topics. To do so, install the Kafka cat utility:
- sudo apt- اپڊيٽ حاصل ڪريو
- sudo apt-gat install kafkacat
If you have a test or monitor running in Control Center, you should be able to use Kafka cat to receive metrics and metadata on these topics.
myaccount کي پنھنجي اڪائونٽ جي مختصر نالي سان تبديل ڪريو (اھو اھو آھي جيڪو توھان پنھنجي ڪنٽرول سينٽر ۾ ڏسندا آھيو 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 metadata، ھيٺ ڏنل حڪم ھلايو (نوٽ ڪريو ته اھو اڪثر ڪري اپڊيٽ نه ٿيندو):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
نوٽ: This is just a sanity check to make sure things are being published correctly. The data you see being published will be in binary form, which kafkacat will not decode by default. For properly subscribing to these topics, please see the “Client Examples” on page 13 section.
اهو تصديق ڪري ٿو ته اسان وٽ ڪم ڪندڙ اسٽريمنگ API آهي اندر کان ڪنٽرول سينٽر. بهرحال، گهڻو ڪري توهان چاهيو ٿا ته ڊيٽا تائين رسائي حاصل ڪرڻ جي بدران ٻاهرين ڪلائنٽ کان. ايندڙ حصي ۾ بيان ڪيو ويو آهي ته ڪيئن کوليو ڪافڪا کي ٻاهرين رسائي لاءِ.
ٻاهرين ميزبانن لاءِ ڪافڪا کي کولڻ
نوٽ: اهي هدايتون ڪنٽرول سينٽر سرور تي هلائڻ لاءِ آهن.
ڊفالٽ طور تي ڪنٽرول سينٽر تي هلندڙ ڪافڪا صرف اندروني استعمال لاءِ لوڪل هوسٽ تي ٻڌڻ لاءِ ترتيب ڏنل آهي.
اهو ممڪن آهي ته Kafka کي کولڻ لاءِ ٻاهرين گراهڪن لاءِ ڪافڪا سيٽنگون تبديل ڪندي.
ڪافڪا سان ڳنڍڻ: Caveats
احتياط: مھرباني ڪري ھن کي غور سان پڙھو، ڇو ته ڪافڪا سان رابطي جي مسئلن ۾ ھلڻ آسان آھي جيڪڏھن توھان انھن تصورن کي نه سمجھيو آھيو.
هن دستاويز ۾ بيان ڪيل ڪنٽرول سينٽر سيٽ اپ ۾، صرف هڪ واحد ڪافڪا بروکر آهي.
بهرحال، نوٽ ڪريو ته ڪافڪا بروکر جو مطلب آهي هلائڻ لاءِ ڪافڪا ڪلستر جو حصو جنهن ۾ شايد ڪيترن ئي ڪافڪا بروڪرز تي مشتمل هجي.
جڏهن ڪافڪا بروکر سان ڳنڍڻ، هڪ ابتدائي ڪنيڪشن قائم ڪيو ويو آهي ڪافڪا ڪلائنٽ طرفان. انهي سلسلي ۾، ڪافڪا بروکر موٽ ۾ "اشتهار ٻڌندڙن" جي هڪ فهرست واپس ڪندو، جيڪو هڪ يا وڌيڪ ڪافڪا بروکرز جي فهرست آهي.
هن لسٽ کي حاصل ڪرڻ تي، ڪافڪا ڪلائنٽ ختم ٿي ويندو، پوء انهن اشتهارن جي ٻڌندڙن مان هڪ سان ٻيهر ڳنڍيندو. مشھور ٻڌندڙن ۾ ھوسٽ جا نالا يا IP پتا شامل ھجن جيڪي ڪافڪا ڪلائنٽ تائين پھچائي سگھن، يا ڪلائنٽ ڳنڍڻ ۾ ناڪام ٿيندو.
جيڪڏهن SSL انڪرپشن استعمال ٿئي ٿي، جنهن ۾ SSL سرٽيفڪيٽ شامل آهي جيڪو هڪ خاص ميزبان نالي سان جڙيل آهي، اهو اڃا به وڌيڪ ضروري آهي ته ڪافڪا ڪلائنٽ کي ڳنڍڻ لاءِ صحيح پتو ملي، ڇو ته ٻي صورت ۾ ڪنيڪشن رد ٿي سگهي ٿو.
هتي ڪافڪا ٻڌندڙن بابت وڌيڪ پڙهو: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS انڪرپشن
پڪ ڪرڻ لاءِ صرف قابل اعتماد ڪلائنٽ کي اجازت ڏني وئي آهي رسائي ڪافڪا ۽ اسٽريمنگ API، اسان کي هيٺين کي ترتيب ڏيڻ گهرجي:
- تصديق: ڪلائنٽ کي لازمي طور تي صارف جو نالو ۽ پاسورڊ مهيا ڪرڻ گهرجي SSL/TLS محفوظ ڪنيڪشن ذريعي ڪلائنٽ ۽ ڪافڪا جي وچ ۾.
- اختيار: تصديق ٿيل گراهڪ ACLs پاران منظم ڪيل ڪم انجام ڏئي سگھن ٿا.
هتي هڪ اوور آهيview:
مڪمل طور تي سمجھڻ لاءِ ته SSL/TLS انڪرپشن ڪافڪا لاءِ ڪيئن ڪم ڪري ٿي، مھرباني ڪري سرڪاري دستاويز ڏسو: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS سرٽيفڪيٽ ختمview
نوٽ: هن ذيلي سيڪشن ۾ اسان هيٺ ڏنل اصطلاح استعمال ڪنداسين:
سرٽيفڪيٽ: سرٽيفڪيٽ اٿارٽي (CA) پاران دستخط ٿيل هڪ SSL سرٽيفڪيٽ. هر ڪافڪا بروکر وٽ هڪ آهي.
ڪيسٽور: ڪي اسٽور file جيڪو سرٽيفڪيٽ محفوظ ڪري ٿو. چاٻي جو دڪان file سرٽيفڪيٽ جي خانگي ڪنجي تي مشتمل آهي؛ تنهن ڪري، ان کي محفوظ رکڻ جي ضرورت آهي.
ٽرسٽ اسٽور: اي file قابل اعتماد CA سرٽيفڪيٽن تي مشتمل.
ڪنٽرول سينٽر ۾ هلندڙ هڪ خارجي ڪلائنٽ ۽ ڪافڪا جي وچ ۾ تصديق قائم ڪرڻ لاءِ، ٻنهي پاسن وٽ لازمي طور تي هڪ اهم اسٽور هجڻ گهرجي جنهن سان لاڳاپيل سرٽيفڪيٽ سان لاڳاپيل سرٽيفڪيٽ اٿارٽي (CA) جي دستخط سان گڏ CA روٽ سرٽيفڪيٽ سان گڏ.
ان کان علاوه، ڪلائنٽ کي پڻ CA روٽ سرٽيفڪيٽ سان گڏ هڪ ٽرسٽ اسٽور هجڻ گهرجي.
CA روٽ سرٽيفڪيٽ ڪافڪا بروکر ۽ ڪافڪا ڪلائنٽ لاءِ عام آهي.
گهربل سرٽيفڪيٽ ٺاهڻ
اهو صفحو 16 تي ”ضميمه“ ۾ ڏنل آهي.
ڪافڪا بروکر SSL/TLS ڪنٽرول سينٽر ۾ ترتيب
نوٽ: اهي هدايتون ڪنٽرول سينٽر سرور تي هلائڻ لاء آهن.
نوٽ: Before continuing, you must create the keystone which contains the SSL certificate by following the instructions in the “Appendix” on page 16. The paths mentioned below come from these instructions. The SSL keystore is a file سان گڏ ڊسڪ تي ذخيرو ٿيل file واڌ .jks.
هڪ دفعو توهان وٽ ڪافڪا بروکر ۽ ڪافڪا ڪلائنٽ ٻنهي لاءِ گهربل سرٽيفڪيٽ ٺاهيل آهن، توهان ڪنٽرول سينٽر ۾ هلندڙ ڪافڪا بروکر کي ترتيب ڏيندي جاري رکي سگهو ٿا. توھان کي ھيٺ ڏنل ڄاڻڻ جي ضرورت آھي:
- : عوامي ميزبان جو نالو ڪنٽرول سينٽر؛ اهو لازمي طور تي حل ڪيو وڃي ٿو ۽ ڪافڪا جي گراهڪن طرفان دستياب هجي.
- : ڪي اسٽور پاسورڊ مهيا ڪيو ويو جڏهن SSL سرٽيفڪيٽ ٺاهي.
- ۽ : ھي اھي پاسورڊ آھن جيڪي توھان ترتيب ڏيڻ چاھيو ٿا منتظم ۽ ڪلائنٽ استعمال ڪندڙ لاءِ. نوٽ ڪريو ته توھان وڌيڪ استعمال ڪندڙ شامل ڪري سگھو ٿا، جيئن اڳ ۾ اشارو ڪيو ويو آھيampلي.
Edit or append (with sudo access) the properties below in /etc/kafka/server.properties, inserting the above
variables as shown:
خبردار: نه هٽايو PLAINTEXT://localhost:9092; هي ڪنٽرول سينٽر جي ڪارڪردگي کي ٽوڙي ڇڏيندو ڇو ته اندروني خدمتون گفتگو ڪرڻ جي قابل نه هوندا.
...
# اهي پتا جن تي ڪافڪا بروکر ٻڌندو آهي.
ٻڌندڙ=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=ڪو به نه
ssl.protocol=TLSv1.2
# SASL ترتيب
sasl.enabled.mechanisms=PLAIN
listener.name.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
ڊول گهربل \
يوزر نالو = ”منتظم“ \
پاسورڊ =” ”\
User:admin=”<admin_pwd>” \
user client=”<client_pwd>”;
# نوٽ وڌيڪ صارفين کي شامل ڪري سگھجي ٿو user_ =
# اختيار، ACLs تي ڦيرايو
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
superusers=User:admin
سيٽ اپ رسائي ڪنٽرول لسٽون (ACLs)
مقامي هوسٽ تي ACLs کي چالو ڪرڻ
خبردار: اسان کي پهريان مقامي هوسٽ لاءِ ACLs قائم ڪرڻ گهرجن، ته جيئن ڪنٽرول سينٽر پاڻ اڃا تائين ڪافڪا تائين رسائي ڪري سگهي. جيڪڏهن اهو نه ڪيو ويو، شيون خراب ٿي وينديون.
######### گمنام استعمال ڪندڙن لاءِ ACLs داخلائون
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User: ANONYMOUS –allow-host 127.0.0.1 –cluster
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-add -allow-principal User: Anonymous -allow-host 127.0.0.1 -topic '*'
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User: ANONYMOUS –allow-host 127.0.0.1 –group ‘*’
پوءِ اسان کي ضرورت آهي ACLs کي فعال ڪرڻ لاءِ ٻاهرين صرف پڙهڻ جي رسائي لاءِ، ته جيئن ٻاهرين استعمال ڪندڙن کي paa.public.* عنوان پڙهڻ جي اجازت ملي.
نوٽ: وڌيڪ نفيس ڪنٽرول لاءِ، مهرباني ڪري ڏسو سرڪاري ڪافڪا دستاويز.
######### ٻاهرين استعمال ڪندڙن لاءِ ACLs داخلون
/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 \
-گروپ 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
-authorizer-properties zookeeper.connect=localhost:2181 \
-add -allow-principal User:* -operation read -operation describe \
-موضوع paa.public. -resource-pattern-type prefixed
هڪ دفعو هن سان ڪيو، توهان کي خدمتن کي ٻيهر شروع ڪرڻ جي ضرورت آهي:
sudo ncc خدمتون ٻيهر شروع
تصديق ڪرڻ لاءِ ته هڪ ڪلائنٽ هڪ محفوظ ڪنيڪشن قائم ڪري سگهي ٿو، هيٺ ڏنل ڪمانڊ هلايو ٻاهرين ڪلائنٽ ڪمپيوٽر تي (نه ڪنٽرول سينٽر سرور تي). هيٺ، PUBLIC_HOSTNAME آهي ڪنٽرول سينٽر ميزبان جو نالو:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "محفوظ ٻيهر ڳالهين جي حمايت ڪئي وئي آهي"
حڪم جي ٻاھر ۾ توھان کي ڏسڻ گھرجي سرور سرٽيفڪيٽ سان گڏ ھيٺ ڏنل:
محفوظ ٻيهر ڳالهين جي حمايت ڪئي وئي آهي
انهي کي يقيني بڻائڻ لاءِ ته اندروني خدمتن کي ڪافڪا سرور تائين رسائي ڏني وئي آهي، مهرباني ڪري هيٺيون لاگ چيڪ ڪريوfiles:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
خارجي ڪلائنٽ رابطي جي تصديق ڪرڻ
ڪافڪاڪٽ
نوٽ: اهي هدايتون ڪلائنٽ ڪمپيوٽر تي هلائڻ لاءِ آهن (نه ڪنٽرول سينٽر سرور تي).
نوٽ: ميٽرڪس جي معلومات کي ڊسپلي ڪرڻ لاء، پڪ ڪريو ته گهٽ ۾ گهٽ هڪ مانيٽر ڪنٽرول سينٽر ۾ هلندڙ آهي.
هڪ خارجي ڪلائنٽ جي طور تي ڪنيڪشن جي تصديق ۽ تصديق ڪرڻ لاءِ، اهو ممڪن آهي ته ڪيفڪڪٽ يوٽيلٽي کي استعمال ڪيو وڃي جيڪا سيڪشن ۾ نصب ڪئي وئي هئي “تصديق ڪرڻ ته اسٽريمنگ API ڪم ڪري ٿو ڪنٽرول سينٽر ۾” صفحي 4 تي.
ھيٺ ڏنل قدمن تي عمل ڪريو:
نوٽ: هيٺ، CLIENT_USER استعمال ڪندڙ آهي اڳ ۾ بيان ڪيل file /etc/kafka/ server.properties in Control Center: namely, user_client and the password set there. The CA root certificate used to sign the server side SSL certificate must be present on the client.
ٺاھيو a 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
ڪفڪا ڪلائنٽ لئبريري لاءِ استعمال ۾ آيل دستاويزن جو حوالو ڏيڻ جي پڪ ڪريو، ڇاڪاڻ ته جائيدادون ڪلائنٽ. پراپرٽيز کان مختلف ٿي سگهن ٿيون.
پيغام جي شڪل
The messages used for the metrics and metadata topics are serialized in the Protocol buffers (protobuf)format (see developers.google.com/protocol-buffers). انهن پيغامن لاءِ اسڪيم هيٺ ڏنل فارميٽ تي عمل ڪن ٿا:
ميٽرڪس پروٽوبوف اسڪيما
نحو = "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؛
}
}
Metadata Protobuf اسڪيما
نحو = "proto3"؛
پيڪيج paa.streamingapi؛
آپشن go_package = ".;paa_streamingapi"؛
پيغام ميٽاداٽا {
int32 stream_id = 1؛
string stream_name = 2؛
نقشو tags = 13؛
}
ڪلائنٽ Examples
نوٽ: اهي حڪم هڪ خارجي ڪلائنٽ تي هلائڻ جو مقصد آهن، مثال طورampتوهان جو ليپ ٽاپ يا ساڳيو، ۽ نه ڪنٽرول سينٽر ۾.
نوٽ: ميٽرڪس جي معلومات کي ظاهر ڪرڻ لاء، پڪ ڪريو ته گهٽ ۾ گهٽ هڪ مانيٽر ڪنٽرول سينٽر ۾ هلندڙ آهي.
ڪنٽرول سينٽر ٽربال ۾ آرڪائيو paa-streaming-api-client-ex شامل آهيamples.tar.gz (ڪلائنٽ-examples)، جنهن ۾ هڪ سابق شامل آهيample Python اسڪرپٽ ڏيکاري ٿو ته ڪيئن استعمال ڪجي اسٽريمنگ API.
انسٽال ڪرڻ ۽ ترتيب ڏيڻ ڪلائنٽ Examples
توھان ڳوليو کلائنٽ-examples in the Routing Active Testing Control Center folder:
ايڪسپورٽ CC_VERSION=4.6.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-examples*
ڪلائنٽ-ex انسٽال ڪرڻ لاءِamples توهان جي خارجي ڪلائنٽ ڪمپيوٽر تي، هن ريت اڳتي وڌو:
# ڪلائنٽ جي مواد کي ڪڍڻ لاء ڊاريڪٽري ٺاھيو examples tarball
mkdir paa-streaming-api-client-examples
# ڪلائنٽ جو مواد ڪڍيو examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# نئين ٺاهيل ڊاريڪٽري ڏانھن وڃو
cd paa-streaming-api-client-examples
ڪلائنٽ-examples Docker کي هلائڻ جي ضرورت آهي. ڊاڪر لاءِ ڊائون لوڊ ۽ تنصيب جون هدايتون ڳولي سگهجن ٿيون https://docs.docker.com/engine/install.
استعمال ڪندي ڪلائنٽ Examples
ڪلائنٽ-examples اوزار يا ته بنيادي يا ترقي يافته موڊ ۾ هلائي سگهن ٿا ex تعمير ڪرڻ لاءampمختلف پيچيدگين جي ڪري. ٻنهي صورتن ۾، اهو پڻ ممڪن آهي ته اڳوڻي هلائڻ لاءamples هڪ ترتيب سان file ڪلائنٽ پاسي جي وڌيڪ حسب ضرورت لاء اضافي ملڪيتن تي مشتمل.
بنيادي موڊ
بنيادي موڊ ۾، ميٽرڪس ۽ انهن جي ميٽاداٽا الڳ الڳ ٿي ويا آهن. انهي جي پڇاڙيء ۾، ڪلائنٽ هر ڪافڪا موضوع کي ٻڌندو آهي جيڪو ٻاهرين رسائي لاء دستياب آهي ۽ صرف وصول ڪيل پيغامن کي ڪنسول ڏانهن پرنٽ ڪري ٿو.
بنيادي execution شروع ڪرڻ لاءamples, run:
./build.sh run-basic -kafka-brokers localhost:9092 -account ACCOUNT_SHORTNAME
جتي ACCOUNT_SHORTNAME اڪائونٽ جو مختصر نالو آهي جنهن مان توهان ميٽرڪ حاصل ڪرڻ چاهيو ٿا.
اڳوڻي جي سزا کي ختم ڪرڻ لاءample، Ctrl + C کي دٻايو. (عملي بند ٿيڻ کان اڳ ٿوري دير ٿي سگھي ٿي ڇاڪاڻ ته ڪلائنٽ وقت ختم ٿيڻ واري واقعي جو انتظار ڪري ٿو.)
ڳوڙهي موڊ
نوٽ: ميٽرڪس صرف ڪنٽرول سينٽر ۾ هلندڙ HTTP مانيٽرز لاءِ ڏيکاريا ويندا آهن.
ترقي يافته موڊ ۾ عمل ڏيکاري ٿو ميٽرڪس ۽ ميٽا ڊيٽا پيغامن جي وچ ۾ لاڳاپو. اهو ممڪن آهي ته هر ميٽرڪس پيغام ۾ موجود هجڻ جي مهرباني هڪ اسٽريم id فيلڊ جي جيڪو لاڳاپيل ميٽا ڊيٽا پيغام ڏانهن اشارو ڪري ٿو.
ترقي يافته execute ڪرڻ لاءamples, run:
./build.sh run-advanced -kafka-brokers localhost:9092 -account ACCOUNT_SHORTNAME
جتي ACCOUNT_SHORTNAME اڪائونٽ جو مختصر نالو آهي جنهن مان توهان ميٽرڪ حاصل ڪرڻ چاهيو ٿا.
اڳوڻي جي سزا کي ختم ڪرڻ لاءample، Ctrl + C کي دٻايو. (عملي بند ٿيڻ کان اڳ ٿوري دير ٿي سگھي ٿي ڇاڪاڻ ته ڪلائنٽ وقت ختم ٿيڻ واري واقعي جو انتظار ڪري ٿو.)
اضافي سيٽنگون
اهو ممڪن آهي ته اڳوڻي هلائڻ لاءamples -config- استعمال ڪندي ڪلائنٽ جي اضافي ترتيب سانfile اختيار بعد ۾ a file نالو جنهن ۾ خاصيتون شامل آهن فارم ۾ key=value.
./build.sh run-advanced \
-kafka-brokers localhost:9092 \
- کاتو ACCOUNT_SHORTNAME \
ترتيب ڏيڻ-file client_config.properties
نوٽ: سڀ fileمٿي ڏنل حڪم ۾ حوالو ڏنو ويو آهي موجوده ڊاريڪٽري ۾ واقع هجڻ گهرجي ۽ صرف لاڳاپيل رستا استعمال ڪندي حوالو ڏنو ويو آهي. اهو ٻنهي تي لاڳو ٿئي ٿو -config-file argument ۽ ترتيب ۾ سڀني داخلن کي file جيڪو بيان ڪري ٿو file جڳھون.
خارجي ڪلائنٽ جي تصديق جي تصديق
ڪلائنٽ-ايڪس استعمال ڪندي ڪنٽرول سينٽر جي ٻاهران ڪلائنٽ جي تصديق جي تصديق ڪرڻ لاءِamples، هيٺيان قدم انجام ڏيو:
- From the Routing Active Testing Control Center folder, switch to the 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.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
جتي {CLIENT_USER} ۽ {CLIENT_PASSWORD} ڪلائنٽ لاءِ صارف سندون آهن. - هلايو بنيادي examples:
برآمد KAFKA_FQDN=
./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
-اڪائونٽ ACCOUNT_SHORTNAME
ترتيب ڏيڻ-file client.properties
جتي ACCOUNT_SHORTNAME اڪائونٽ جو مختصر نالو آهي جنهن مان توهان ميٽرڪ حاصل ڪرڻ چاهيو ٿا. - ترقي يافته examples:
برآمد KAFKA_FQDN=
./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
-اڪائونٽ ACCOUNT_SHORTNAME
ترتيب ڏيڻ-file client.properties
ضميمو
هن ضميمي ۾ اسان بيان ڪريون ٿا ته ڪيئن ٺاهيو:
- هڪ اهم اسٽور file محفوظ ڪرڻ لاءِ ڪافڪا بروکر SSL سرٽيفڪيٽ
- هڪ ٽرسٽ اسٽور file سرٽيفڪيٽ اٿارٽي (CA) روٽ سرٽيفڪيٽ کي محفوظ ڪرڻ لاءِ استعمال ڪيو ويو ڪافڪا بروکر سرٽيفڪيٽ تي دستخط ڪرڻ لاءِ.
ڪافڪا بروکر سرٽيفڪيٽ ٺاهڻ
حقيقي سرٽيفڪيٽ اٿارٽي استعمال ڪندي هڪ سرٽيفڪيٽ ٺاهڻ (سفارش ٿيل)
اها صلاح ڏني وئي آهي ته توهان هڪ قابل اعتماد CA کان حقيقي SSL سرٽيفڪيٽ حاصل ڪريو.
هڪ دفعو توهان هڪ 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 -days 999
ڪلائنٽ ٽرسٽ اسٽور ٺاهڻ
هاڻي توهان هڪ ٽرسٽ اسٽور ٺاهي سگهو ٿا file جنهن ۾ مٿي ٺاهيل ca-cert تي مشتمل آهي. هي file will be needed by the Kafka client that will access the Streaming API: keytool -keystore kafka.client.truststore.jks \
عرف ڪاروٽ \
- درآمد جي تصديق -file ${CA_PATH}/ca-cert
هاڻي ته CA سرٽيفڪيٽ ٽرسٽ اسٽور ۾ آهي، ڪلائنٽ ان سان دستخط ٿيل ڪنهن به سرٽيفڪيٽ تي اعتماد ڪندو.
توهان کي نقل ڪرڻ گهرجي file kafka.client.truststore.jks توهان جي ڪلائنٽ ڪمپيوٽر تي هڪ سڃاتل هنڌ ڏانهن وڃو ۽ سيٽنگون ۾ ان ڏانهن اشارو ڪريو.
ڪافڪا بروکر لاءِ ڪيسٽ اسٽور ٺاهڻ
ڪافڪا بروکر SSL سرٽيفڪيٽ ٺاهڻ ۽ پوءِ keystore kafka.server.keystore.jks، اڳتي وڌو جيئن:
SSL سرٽيفڪيٽ ٺاهي
Use these commands to generate the SSL certificate. Below, 999 is the number of days of validity of the keystore.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
سي ڊي /var/ssl/نجي
export CC_IP=<Control Center IP>
keytool -keystore kafka.server.keystore.jks \
عرف سرور \
-صحت 999 \
-genkey -keyalg RSA -ext SAN=ip:${CC_IP}
To verify the SSL certificate, you can use the following command:
keytool -v -list -keystore kafka.server.keystore.jks -alias server
You should ensure that the port 9093 is accessible from external clients.
سرٽيفڪيٽ جي دستخط جي درخواست ٺاهيو ۽ ان ۾ ذخيرو ڪريو file نالو cert-server-request:
keytool -keystore kafka.server.keystore.jks \
عرف سرور \
-certreq \
-file cert-server-request
توھان کي ھاڻي موڪلڻ گھرجي file cert-server-request to your Certificate Authority (CA) جيڪڏھن توھان استعمال ڪري رھيا آھيو حقيقي. اهي وري دستخط ٿيل سرٽيفڪيٽ واپس ڪندا. اسان هن کي هيٺ ڏنل سرٽيف سرور-دستخط طور حوالو ڏينداسين.
SSL سرٽيفڪيٽ تي دستخط ڪرڻ هڪ خود ٺاهيل CA سرٽيفڪيٽ استعمال ڪندي
نوٽ: ٻيهر، توهان جي پنهنجي CA استعمال ڪرڻ جي سفارش نه ڪئي وئي آهي پيداوار سسٽم ۾.
جي ذريعي CA استعمال ڪندي سند تي دستخط ڪريو file cert-server-request، جيڪو پيدا ڪري ٿو دستخط ٿيل سرٽيفڪيٽ cert-server-signed. هيٺ ڏسو؛ ca-password پاسورڊ سيٽ آهي جڏهن CA سرٽيفڪيٽ ٺاهي ٿي.
سي ڊي /var/ssl/نجي
openssl x509 -req \
- -CA ${CA_PATH}/ca-cert \
- -ڪيڪي ${CA_PATH}/ca-key \
- -سرٽيف-سرور-درخواست ۾ \
- -آؤٽ سرٽيفڪيٽ-سرور-دستخط ٿيل \
- -ڏينهن 999 -CAcreateserial \
- پاسن پاس:{ca-password}
دستخط ٿيل سرٽيفڪيٽ کي ڪيسٽور ۾ درآمد ڪرڻ
ڪي-سرٽ روٽ سرٽيفڪيٽ کي ڪي اسٽور ۾ درآمد ڪريو:
keytool -keystore kafka.server.keystore.jks \
عرف ڪي-سرٽيف \
- درآمد \
-file ${CA_PATH}/ca-cert
درآمد ڪريو دستخط ٿيل سرٽيفڪيٽ جنهن کي حوالو ڏنو ويو سرٽيف سرور-سائن ٿيل:
keytool -keystore kafka.server.keystore.jks \
عرف سرور \
- درآمد \
-file cert-server-signed
جي file kafka.server.keystore.jks کي ڪنٽرول سينٽر سرور تي ڄاڻايل هنڌ تي نقل ڪيو وڃي، ۽ پوءِ /etc/kafka/server.properties ۾ حوالو ڏنو وڃي.
اسٽريمنگ API استعمال ڪندي
جنرل
اسٽريمنگ API ٻنهي ٽيسٽ ۽ مانيٽر ڊيٽا کڻي ٿي. انهن مان ڪنهن هڪ کي الڳ ڪرڻ ممڪن ناهي.
اسٽريمنگ API اسڪرپٽ تي ٻڌل ٽيسٽن مان ڊيٽا نه آڻيندو آهي (جيڪي ڪنٽرول سينٽر GUI ۾ jigsaw پيس جي بدران مستطيل جي نمائندگي ڪن ٿا)، جهڙوڪ ايٿرنيٽ سروس ايڪٽيويشن ٽيسٽ ۽ شفافيت جا امتحان.
ڪافڪا موضوع جا نالا
اسٽريمنگ API لاءِ Kafka موضوع جا نالا هن ريت آهن، جتي %s ڪنٽرول سينٽر اڪائونٽ جو مختصر نالو آهي (اڪاؤنٽ ٺاهڻ وقت اشارو ڪيو ويو آهي):
const (
برآمد ڪندڙ جو نالو = "ڪافڪا"
metadataTopicTpl = "paa.public.accounts.%s.metadata"
metricsTopicTpl = "paa.public.accounts.%s.metrics"
)
Exampاسٽريمنگ API استعمال ڪرڻ جا طريقا
سابقamples جيڪي پيروي ڪندا آهن tarball paa-streaming-api-client-ex ۾ مليا آهنamples.tar.gz ڪنٽرول سينٽر ٽربال ۾ شامل آهي.
پهريون، اتي هڪ بنيادي example demonstrated how metrics and their metadata is streamed in differently and sprint the وصول ٿيل پيغامن کي ڪنسول تي. توھان ھيٺ ڏنل طريقي سان هلائي سگھو ٿا:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME There is also a more advanced example جتي ميٽرڪس ۽ ميٽا ڊيٽا پيغامن سان لاڳاپيل آهن. ان کي هلائڻ لاءِ ھي حڪم استعمال ڪريو:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME You need to use sudo to run Docker commands such as the ones above. Optionally, you can follow the Linux post-installation steps to be able to run Docker commands without sudo. For details, go to docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, the Juniper Networks logo, Juniper, and Junos آمريڪا ۽ ٻين ملڪن ۾ Juniper Networks, Inc. جا رجسٽرڊ ٽريڊ مارڪ آھن. ٻيا سڀئي ٽريڊ مارڪ، سروس جا نشان، رجسٽرڊ مارڪ، يا رجسٽرڊ سروس جا نشان انهن جي لاڳاپيل مالڪن جي ملڪيت آهن. Juniper Networks هن دستاويز ۾ ڪنهن به غلطيءَ جي ذميواري قبول نه ڪندو آهي. Juniper Networks بغير اطلاع جي ھن اشاعت کي تبديل ڪرڻ، تبديل ڪرڻ، منتقلي ڪرڻ، يا ٻي صورت ۾ نظرثاني ڪرڻ جو حق محفوظ رکي ٿو. ڪاپي رائيٽ © 2025 جونيپر نيٽ ورڪ،
Inc. سڀ حق محفوظ آهن.

دستاويز / وسيلا
![]() |
JUNIPER NETWORKS Routing Active Testing Solution Brief [pdf] استعمال ڪندڙ ھدايت Routing Active Testing Solution Brief, Active Testing Solution Brief, Testing Solution Brief, Solution Brief |
