जुनिपर नेटवर्क - लोगो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

यह अध्याय बताता है कि Kafka के माध्यम से मेट्रिक्स संदेशों की सदस्यता लेने की अनुमति देने के लिए स्ट्रीमिंग API को कैसे कॉन्फ़िगर किया जाए।
नीचे हम इस विषय पर चर्चा करेंगे:

  • स्ट्रीमिंग API को सक्षम कैसे करें
  • बाहरी क्लाइंट्स को सुनने के लिए काफ़्का को कैसे कॉन्फ़िगर करें
  • ACL का उपयोग करने के लिए Kafka को कैसे कॉन्फ़िगर करें और उक्त क्लाइंट के लिए 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 कैसे काम करता है
जैसा कि पहले बताया गया है, स्ट्रीमिंग एपीआई बाहरी क्लाइंट को काफ़्का से मेट्रिक्स के बारे में जानकारी प्राप्त करने की अनुमति देता है।
परीक्षण या निगरानी कार्य के दौरान टेस्ट एजेंट द्वारा एकत्रित सभी मेट्रिक्स स्ट्रीम सेवा को भेजे जाते हैं।
प्रसंस्करण चरण के बाद, स्ट्रीम सेवा उन मेट्रिक्स को अतिरिक्त मेटाडेटा के साथ काफ़्का पर प्रकाशित करती है।
काफ़्का विषय
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}.मेट्रिक्स
  • दिए गए खाते के सभी मीट्रिक संदेश इस विषय पर प्रकाशित किए गए हैं
  • बड़ी मात्रा में डेटा
  • उच्च अद्यतन आवृत्ति
  • paa.public.accounts.{ACCOUNT}.मेटाडेटा
  • इसमें मेट्रिक्स डेटा से संबंधित मेटाडेटा शामिल है, उदाहरण के लिएampमेट्रिक्स से जुड़े टेस्ट, मॉनिटर या टेस्ट एजेंट को ले जाएं
  • डेटा की छोटी मात्रा
  • कम अद्यतन आवृत्ति

स्ट्रीमिंग API सक्षम करना
टिप्पणी: These instructions are to be run on the Control Center server using sudor.
चूंकि स्ट्रीमिंग एपीआई कंट्रोल सेंटर में कुछ ओवरहेड जोड़ता है, इसलिए यह डिफ़ॉल्ट रूप से सक्षम नहीं है। एपीआई को सक्षम करने के लिए, हमें पहले मुख्य कॉन्फ़िगरेशन में काफ़्का में मेट्रिक्स के प्रकाशन को सक्षम करना होगा file:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = सत्य
KAFKA_PUBLISH_METADATA_FOR_STREAMS = True

इलेक्ट्रिक चेतावनी आइकन चेतावनी: इस सुविधा को सक्षम करने से कंट्रोल सेंटर के प्रदर्शन पर असर पड़ सकता है। सुनिश्चित करें कि आपने अपने इंस्टेंस को उसी के अनुसार आयामित किया है।
इसके बाद, इन मेट्रिक्स को सही काफ़्का विषयों पर अग्रेषित करने के लिए:

  • /etc/netrounds/metrics.yaml

स्ट्रीमिंग-एपीआई: सत्य
स्ट्रीमिंग API सेवाओं को सक्षम और प्रारंभ करने के लिए, चलाएँ:

  • sudo ncc सेवाएं timescaledb मेट्रिक्स सक्षम करें
  • sudo ncc सेवाएं प्रारंभ timescaledb मेट्रिक्स

अंत में, सेवाएँ पुनः आरंभ करें:

  • सुडो एनसीसी सेवाएं पुनरारंभ करें

टिप्पणी: 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:

  • सुडो एप्ट-गेट अपडेट
  • सुडो एप्ट-गेट इंस्टॉल काफ्काकैट

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 मेटाडेटा के लिए, निम्नलिखित कमांड चलाएँ (ध्यान दें कि यह बार-बार अपडेट नहीं होगा):

  • 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 है। हालाँकि, सबसे अधिक संभावना है कि आप इसके बजाय किसी बाहरी क्लाइंट से डेटा एक्सेस करने में रुचि रखते हैं। अगला अनुभाग बताता है कि बाहरी पहुँच के लिए काफ़्का को कैसे खोला जाए।
बाहरी होस्ट के लिए काफ़्का खोलना
नोट: ये निर्देश नियंत्रण केंद्र सर्वर पर चलाए जाने हैं।
डिफ़ॉल्ट रूप से, नियंत्रण केंद्र पर चलने वाला काफ़्का केवल आंतरिक उपयोग के लिए लोकलहोस्ट पर सुनने के लिए कॉन्फ़िगर किया गया है।
काफ़्का सेटिंग्स को संशोधित करके काफ़्का को बाहरी क्लाइंट्स के लिए खोलना संभव है।
काफ़्का से जुड़ना: चेतावनियाँ
चेतावनी चिह्न सावधानी:
कृपया इसे ध्यानपूर्वक पढ़ें, क्योंकि यदि आपने इन अवधारणाओं को नहीं समझा है तो काफ्का के साथ कनेक्शन संबंधी समस्याएं आना आसान है।
इस दस्तावेज़ में वर्णित नियंत्रण केंद्र सेटअप में, केवल एक ही काफ़्का ब्रोकर है।
हालाँकि, ध्यान दें कि एक काफ़्का ब्रोकर काफ़्का क्लस्टर के भाग के रूप में चलने के लिए है, जिसमें कई काफ़्का ब्रोकर शामिल हो सकते हैं।
काफ़्का ब्रोकर से कनेक्ट करते समय, काफ़्का क्लाइंट द्वारा एक प्रारंभिक कनेक्शन स्थापित किया जाता है। इस कनेक्शन पर काफ़्का ब्रोकर बदले में "विज्ञापित श्रोताओं" की एक सूची लौटाएगा, जो एक या अधिक काफ़्का ब्रोकरों की सूची है।
यह सूची प्राप्त करने पर, काफ़्का क्लाइंट डिस्कनेक्ट हो जाएगा, फिर इन विज्ञापित श्रोताओं में से किसी एक से फिर से कनेक्ट हो जाएगा। विज्ञापित श्रोताओं में होस्टनाम या आईपी पते होने चाहिए जो काफ़्का क्लाइंट के लिए सुलभ हों, अन्यथा क्लाइंट कनेक्ट करने में विफल हो जाएगा।
यदि SSL एन्क्रिप्शन का उपयोग किया जाता है, जिसमें SSL प्रमाणपत्र शामिल होता है जो किसी विशेष होस्टनाम से जुड़ा होता है, तो यह और भी अधिक महत्वपूर्ण है कि काफ्का क्लाइंट को कनेक्ट करने के लिए सही पता प्राप्त हो, क्योंकि अन्यथा कनेक्शन अस्वीकार किया जा सकता है।
काफ़्का श्रोताओं के बारे में अधिक जानकारी यहां पढ़ें: www.confluent.io/blog/kafka-listeners-explained
एसएसएल/टीएलएस एन्क्रिप्शन
यह सुनिश्चित करने के लिए कि केवल विश्वसनीय क्लाइंट को ही काफ़्का और स्ट्रीमिंग API तक पहुंच की अनुमति है, हमें निम्नलिखित को कॉन्फ़िगर करना होगा:

  • प्रमाणीकरण: क्लाइंट को क्लाइंट और काफ़्का के बीच SSL/TLS सुरक्षित कनेक्शन के माध्यम से उपयोगकर्ता नाम और पासवर्ड प्रदान करना होगा।
  • प्राधिकरण: प्रमाणीकृत क्लाइंट ACL द्वारा विनियमित कार्य निष्पादित कर सकते हैं।

यहाँ एक ओवर हैview:
यह पूरी तरह से समझने के लिए कि काफ़्का के लिए SSL/TLS एन्क्रिप्शन कैसे काम करता है, कृपया आधिकारिक दस्तावेज़ देखें: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS प्रमाणपत्र समाप्तview
टिप्पणी:
इस उपखंड में हम निम्नलिखित शब्दावली का प्रयोग करेंगे:
प्रमाणपत्र: प्रमाणपत्र प्राधिकरण (CA) द्वारा हस्ताक्षरित एक SSL प्रमाणपत्र। प्रत्येक काफ़्का ब्रोकर के पास एक होता है।
कीस्टोर: कीस्टोर file जो प्रमाणपत्र संग्रहीत करता है। file इसमें प्रमाणपत्र की निजी कुंजी होती है; इसलिए इसे सुरक्षित रूप से रखा जाना चाहिए।
ट्रस्टस्टोर: A 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
# ये वे होस्ट हैं जो किसी भी क्लाइंट से जुड़ने पर विज्ञापित किए जाते हैं।
विज्ञापित.श्रोता=PLAINTEXT://localhost:9092,SASL_SSL:// :9093
… ####### CUSTOM CONFIG
# एसएसएल कॉन्फ़िगरेशन
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.पासवर्ड=
ssl.कुंजी.पासवर्ड=
ssl.client.auth=कोई नहीं
ssl.प्रोटोकॉल=TLSv1.2
# SASL कॉन्फ़िगरेशन
sasl.enabled.mechanisms=सादा
श्रोता.नाम.sasl_ssl.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginMo
dule आवश्यक \
उपयोगकर्ता नाम = "व्यवस्थापक" \
पासवर्ड =” ” \
User:admin=”<admin_pwd>” \
user client=”<client_pwd>”;
# ध्यान दें user_ के साथ और अधिक उपयोगकर्ता जोड़े जा सकते हैं =
# प्राधिकरण, ACL चालू करें
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
superusers=User:admin
एक्सेस कंट्रोल लिस्ट (ACL) सेट अप करना
लोकलहोस्ट पर ACL चालू करना
इलेक्ट्रिक चेतावनी आइकन  चेतावनी: हमें सबसे पहले लोकलहोस्ट के लिए ACL सेट करना होगा, ताकि कंट्रोल सेंटर खुद भी काफ़्का तक पहुँच सके। अगर ऐसा नहीं किया जाता है, तो चीज़ें टूट जाएँगी।
######### अनाम उपयोगकर्ताओं के लिए ACL प्रविष्टियाँ
/usr/lib/kafka/bin/kafka-acls.sh \
–प्राधिकरण 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 \
–प्राधिकरण kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal उपयोगकर्ता:ANONYMOUS –allow-host 127.0.0.1 –topic '*'
/usr/lib/kafka/bin/kafka-acls.sh \
–प्राधिकरण kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User: ANONYMOUS –allow-host 127.0.0.1 –group ‘*’
फिर हमें बाह्य केवल-पठन पहुंच के लिए ACL को सक्षम करने की आवश्यकता है, ताकि बाहरी उपयोगकर्ताओं को paa.public.* विषयों को पढ़ने की अनुमति मिल सके।
टिप्पणी: अधिक विस्तृत नियंत्रण के लिए कृपया आधिकारिक काफ़्का दस्तावेज़ देखें।
######### बाहरी उपयोगकर्ताओं के लिए ACL प्रविष्टियाँ
/usr/lib/kafka/bin/kafka-acls.sh \
–प्राधिकरण kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal उपयोगकर्ता:* –ऑपरेशन पढ़ें –ऑपरेशन वर्णन \
– समूह 'एनसीसी'
/usr/lib/kafka/bin/kafka-acls.sh \
–प्राधिकरण kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal उपयोगकर्ता:* –ऑपरेशन पढ़ें –ऑपरेशन वर्णन \
–topic paa.public. –resource-pattern-type उपसर्ग
ऐसा करने के बाद, आपको सेवाओं को पुनः आरंभ करना होगा:
सुडो एनसीसी सेवाएं पुनरारंभ करें
यह सत्यापित करने के लिए कि कोई क्लाइंट सुरक्षित कनेक्शन स्थापित कर सकता है, किसी बाहरी क्लाइंट कंप्यूटर पर निम्न कमांड चलाएँ (कंट्रोल सेंटर सर्वर पर नहीं)। नीचे, 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

बाहरी क्लाइंट कनेक्टिविटी को मान्य करना
काफ्काकैट
टिप्पणी: ये निर्देश क्लाइंट कंप्यूटर पर चलाए जाने हैं (नियंत्रण केंद्र सर्वर पर नहीं)।
टिप्पणी: मेट्रिक्स जानकारी प्रदर्शित करने के लिए, सुनिश्चित करें कि नियंत्रण केंद्र में कम से कम एक मॉनिटर चल रहा है।
बाहरी क्लाइंट के रूप में कनेक्टिविटी को सत्यापित और मान्य करने के लिए, काफ्काकैट उपयोगिता का उपयोग करना संभव है, जिसे पृष्ठ 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.
एक बनाने के file client.properties में निम्नलिखित सामग्री है:
सुरक्षा.प्रोटोकॉल=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mechanisms=सादा
sasl.उपयोगकर्ता नाम={CLIENT_USER}
sasl.पासवर्ड={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यदि आप ऐसे संस्करण का उपयोग कर रहे हैं, तो आपको कमांड लाइन से वही सेटिंग्स प्रदान करनी होंगी जैसा कि नीचे दिखाया गया है।
काफ्काकैट -बी ${KAFKA_FQDN}:9093 \
-X सुरक्षा.प्रोटोकॉल=SASL_SSL \
-X ssl.ca.location={PATH_TO_CA_CERT} \
-X sasl.mechanisms=प्लेन \
-X sasl.username={CLIENT_USER} \
-X sasl.पासवर्ड={CLIENT_PASSWORD} \
-t ${METRICS_TOPIC} -सी -ई
कनेक्टिविटी को डीबग करने के लिए, आप -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 में दिए गए गुणों से भिन्न हो सकते हैं।
संदेश प्रारूप
The messages used for the metrics and metadata topics are serialized in the Protocol buffers (protobuf)format (see डेवलपर्स.google.com/protocol-buffers) इन संदेशों के लिए स्कीमा निम्नलिखित प्रारूप का पालन करती है:
मेट्रिक्स प्रोटोबफ स्कीमा
सिंटैक्स = “प्रोटो3”;
आयात करें “google/protobuf/timestamp.प्रोटो”;
पैकेज paa.streamingapi;
विकल्प go_package = “.;paa_streamingapi”;
संदेश मेट्रिक्स {
google.protobuf.टाइमस्टamp टाइमस्टamp = 1;
नक्शा मान = 2;
int32 स्ट्रीम_आईडी = 3;
}
/**
* मीट्रिक मान पूर्णांक या फ़्लोट हो सकता है.
*/
संदेश मीट्रिक मान {
एकप्रकार {
int64 int_val = १;
फ्लोट फ्लोट_वैल = 2;
}
}
मेटाडेटा प्रोटोबफ स्कीमा
सिंटैक्स = “प्रोटो3”;
पैकेज paa.streamingapi;
विकल्प go_package = “.;paa_streamingapi”;
संदेश मेटाडेटा {
int32 स्ट्रीम_आईडी = 1;
स्ट्रिंग स्ट्रीम_नाम = 2;
नक्शा tags = 13;
}
ग्राहक पूर्वampलेस
टिप्पणी:
ये कमांड बाहरी क्लाइंट पर चलाने के लिए हैं, उदाहरण के लिएampअपने लैपटॉप या इसी तरह के अन्य डिवाइस पर, तथा कंट्रोल सेंटर में नहीं।
टिप्पणी: मीट्रिक्स जानकारी प्रदर्शित करने के लिए, सुनिश्चित करें कि नियंत्रण केंद्र में कम से कम एक मॉनिटर चल रहा है।
नियंत्रण केंद्र टारबॉल में संग्रह paa-streaming-api-client-ex शामिल हैamples.tar.gz (क्लाइंट-exampलेस), जिसमें एक पूर्व शामिल हैampयह पायथन स्क्रिप्ट दिखाती है कि स्ट्रीमिंग एपीआई का उपयोग कैसे करें।
क्लाइंट एक्स को स्थापित और कॉन्फ़िगर करनाampलेस
आप ग्राहक-पूर्व पाते हैंampरूटिंग सक्रिय परीक्षण नियंत्रण केंद्र फ़ोल्डर में les:
निर्यात CC_VERSION=4.6.0
सीडी ./paa-control-center_${CC_VERSION}
एलएस paa-स्ट्रीमिंग-api-client-exampलेस*
क्लाइंट-एक्स स्थापित करने के लिएampअपने बाहरी क्लाइंट कंप्यूटर पर les स्थापित करने के लिए, निम्नानुसार आगे बढ़ें:
# क्लाइंट एक्स की सामग्री निकालने के लिए निर्देशिका बनाएँampलेस टारबॉल
mkdir paa-स्ट्रीमिंग-api-client-exampलेस
# क्लाइंट एक्स की सामग्री निकालेंampलेस टारबॉल
tar xzf paa-स्ट्रीमिंग-api-client-examples.tar.gz -C paa-स्ट्रीमिंग-api-client-exampलेस
# नई बनाई गई निर्देशिका पर जाएँ
सीडी paa-स्ट्रीमिंग-api-client-exampलेस
क्लाइंट-एक्सamples को Docker चलाने की आवश्यकता है। Docker के लिए डाउनलोड और इंस्टॉलेशन निर्देश यहाँ पाए जा सकते हैं https://docs.docker.com/engine/install.
क्लाइंट एक्स का उपयोग करनाampलेस
ग्राहक-पूर्वampमॉडल बनाने के लिए उपकरण बुनियादी या उन्नत मोड में चल सकते हैंampअलग-अलग जटिलता के मामले। दोनों ही मामलों में, एक्स को चलाना भी संभव हैampएक विन्यास के साथ les file इसमें क्लाइंट साइड के आगे अनुकूलन के लिए अतिरिक्त गुण शामिल हैं।
मूल मोड
बेसिक मोड में, मेट्रिक्स और उनके मेटाडेटा को अलग-अलग स्ट्रीम किया जाता है। इसके लिए, क्लाइंट बाहरी एक्सेस के लिए उपलब्ध प्रत्येक काफ़्का टॉपिक को सुनता है और प्राप्त संदेशों को कंसोल पर प्रिंट करता है।
बुनियादी पूर्व के निष्पादन शुरू करने के लिएampलेस, रन:
./build.sh रन-बेसिक –काफ्का-ब्रोकर्स लोकलहोस्ट:9092 –खाता ACCOUNT_SHORTNAME
जहाँ ACCOUNT_SHORTNAME उस खाते का संक्षिप्त नाम है जिससे आप मीट्रिक्स प्राप्त करना चाहते हैं.
पूर्व के निष्पादन को समाप्त करने के लिएampफ़ाइल खोलने के लिए, Ctrl + C दबाएँ। (निष्पादन रुकने से पहले थोड़ा विलंब हो सकता है, क्योंकि क्लाइंट टाइमआउट इवेंट की प्रतीक्षा करता है।)
उन्नत मोड
टिप्पणी: मीट्रिक्स केवल नियंत्रण केंद्र में चल रहे HTTP मॉनीटरों के लिए प्रदर्शित किए जाते हैं।
उन्नत मोड में निष्पादन मेट्रिक्स और मेटाडेटा संदेशों के बीच सहसंबंध दिखाता है। यह प्रत्येक मेट्रिक्स संदेश में स्ट्रीम आईडी फ़ील्ड की उपस्थिति के कारण संभव है जो संबंधित मेटाडेटा संदेश को संदर्भित करता है।
उन्नत एक्स को निष्पादित करने के लिएampलेस, रन:
./build.sh रन-एडवांस्ड –काफ्का-ब्रोकर्स लोकलहोस्ट:9092 –खाता ACCOUNT_SHORTNAME
जहाँ ACCOUNT_SHORTNAME उस खाते का संक्षिप्त नाम है जिससे आप मीट्रिक्स प्राप्त करना चाहते हैं.
पूर्व के निष्पादन को समाप्त करने के लिएampफ़ाइल खोलने के लिए, Ctrl + C दबाएँ। (निष्पादन रुकने से पहले थोड़ा विलंब हो सकता है, क्योंकि क्लाइंट टाइमआउट इवेंट की प्रतीक्षा करता है।)
अतिरिक्त सेटिंग्स
पूर्व को चलाना संभव हैamp–config- का उपयोग करके क्लाइंट के अतिरिक्त कॉन्फ़िगरेशन के साथ lesfile विकल्प के बाद a file नाम जिसमें कुंजी=मान के रूप में गुण शामिल हैं।
./build.sh रन-एडवांस्ड \
–काफ्का-ब्रोकर्स लोकलहोस्ट: 9092 \
–खाता ACCOUNT_SHORTNAME \
–कॉन्फ़िगरेशन-file client_config.properties
टिप्पणी: सभी fileउपरोक्त कमांड में संदर्भित s को वर्तमान निर्देशिका में स्थित होना चाहिए और केवल सापेक्ष पथों का उपयोग करके संदर्भित किया जाना चाहिए। यह –config- दोनों पर लागू होता हैfile तर्क और कॉन्फ़िगरेशन में सभी प्रविष्टियों के लिए file जो वर्णन करता है file स्थान.
बाहरी क्लाइंट प्रमाणीकरण मान्य करना
client-ex का उपयोग करके नियंत्रण केंद्र के बाहर से क्लाइंट प्रमाणीकरण को मान्य करनाampलेस, निम्न चरणों का पालन करें:

  • From the Routing Active Testing Control Center folder, switch to the paa-streaming-api-client-exampलेस फ़ोल्डर:
    सीडी paa-स्ट्रीमिंग-api-client-exampलेस
  • CA रूट प्रमाणपत्र ca-cert को वर्तमान निर्देशिका में कॉपी करें।
  • एक client.properties बनाएँ file निम्नलिखित सामग्री के साथ:
    सुरक्षा.प्रोटोकॉल=SASL_SSL
    ssl.ca.location=ca-cert
    sasl.mechanism=सादा
    sasl.उपयोगकर्ता नाम={CLIENT_USER}
    sasl.पासवर्ड={CLIENT_PASSWORD}
    जहाँ {CLIENT_USER} और {CLIENT_PASSWORD} क्लाइंट के लिए उपयोगकर्ता क्रेडेंशियल हैं।
  • बेसिक एक्स चलाएंampलेस:
    निर्यात KAFKA_FQDN=
    ./build.sh रन-बेसिक –काफ्का-ब्रोकर्स ${KAFKA_FQDN}:9093 \
    –खाता ACCOUNT_SHORTNAME
    –कॉन्फ़िगरेशन-file क्लाइंट.प्रॉपर्टीज
    जहाँ ACCOUNT_SHORTNAME उस खाते का संक्षिप्त नाम है जिससे आप मीट्रिक्स प्राप्त करना चाहते हैं.
  • उन्नत एक्स चलाएंampलेस:
    निर्यात KAFKA_FQDN=
    ./build.sh रन-एडवांस्ड –काफ्का-ब्रोकर्स ${KAFKA_FQDN}:9093 \
    –खाता ACCOUNT_SHORTNAME
    –कॉन्फ़िगरेशन-file क्लाइंट.प्रॉपर्टीज

परिशिष्ट

इस परिशिष्ट में हम वर्णन करते हैं कि कैसे बनाएं:

  • एक कुंजीस्टोर file काफ़्का ब्रोकर SSL प्रमाणपत्र संग्रहीत करने के लिए
  • एक ट्रस्टस्टोर file काफ्का ब्रोकर प्रमाणपत्र पर हस्ताक्षर करने के लिए उपयोग किए जाने वाले प्रमाणपत्र प्राधिकरण (सीए) रूट प्रमाणपत्र को संग्रहीत करने के लिए।

काफ़्का ब्रोकर प्रमाणपत्र बनाना
वास्तविक प्रमाणपत्र प्राधिकरण का उपयोग करके प्रमाणपत्र बनाना (अनुशंसित)
यह अनुशंसित है कि आप किसी विश्वसनीय CA से वास्तविक SSL प्रमाणपत्र प्राप्त करें।
एक बार जब आप CA पर निर्णय ले लें, तो उनके CA रूट प्रमाणपत्र की प्रतिलिपि बनाएँ ca-cert file अपने स्वयं के मार्ग पर चलें जैसा कि नीचे दिखाया गया है:
निर्यात CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-प्रमाणपत्र ${CA_PATH}
अपना स्वयं का प्रमाणपत्र प्राधिकरण बनाएं
टिप्पणी:
आम तौर पर आपको अपने प्रमाणपत्र को किसी वास्तविक प्रमाणपत्र प्राधिकारी द्वारा हस्ताक्षरित करवाना चाहिए; पिछला उपखंड देखें। आगे जो कुछ भी लिखा गया है वह सिर्फ़ एक उदाहरण हैampले.
यहाँ हम अपना स्वयं का प्रमाणपत्र प्राधिकरण (CA) रूट प्रमाणपत्र बनाते हैं file 999 दिनों के लिए वैध (उत्पादन में अनुशंसित नहीं):
# CA को संग्रहीत करने के लिए एक निर्देशिका बनाएँ
निर्यात CA_PATH=~/my-ca
mkdir ${CA_PATH}
# CA प्रमाणपत्र तैयार करें
ओपनएसएसएल रिक्वेस्ट -न्यू -x509 -कीआउट ${CA_PATH}/ca-key -आउट ${CA_PATH}/ca-cert -दिन 999
क्लाइंट ट्रस्टस्टोर बनाना
अब आप एक ट्रस्टस्टोर बना सकते हैं file जिसमें ऊपर जनरेट किया गया ca-cert शामिल है। यह file will be needed by the Kafka client that will access the Streaming API: keytool -keystore kafka.client.truststore.jks \
-उपनाम CARoot \
-आयातप्रमाणपत्र-file ${CA_PATH}/ca-प्रमाणपत्र
अब चूंकि CA प्रमाणपत्र ट्रस्टस्टोर में है, इसलिए क्लाइंट इसके साथ हस्ताक्षरित किसी भी प्रमाणपत्र पर भरोसा करेगा।
आपको कॉपी करना चाहिए file kafka.client.truststore.jks को अपने क्लाइंट कंप्यूटर पर किसी ज्ञात स्थान पर ले जाएं और सेटिंग्स में उसे इंगित करें।
काफ़्का ब्रोकर के लिए कीस्टोर बनाना
काफ़्का ब्रोकर SSL प्रमाणपत्र और फिर कुंजीस्टोर 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
सुडो चाउन -आर $USER: /var/ssl/private
सीडी /var/ssl/private
निर्यात CC_IP=
keytool -keystore kafka.server.keystore.jks \
-उपनाम सर्वर \
-वैधता 999 \
-genkey -keyalg RSA -ext SAN=ip:${CC_IP}
SSL प्रमाणपत्र सत्यापित करने के लिए, आप निम्न आदेश का उपयोग कर सकते हैं:
keytool -v -list -keystore kafka.server.keystore.jks -alias सर्वर
You should ensure that the port 9093 is accessible from external clients.
प्रमाणपत्र हस्ताक्षर अनुरोध बनाएं और उसे संग्रहीत करें file नामित प्रमाणपत्र-सर्वर-अनुरोध:
keytool -keystore kafka.server.keystore.jks \
-उपनाम सर्वर \
-सर्ट्रेक \
-file प्रमाणपत्र-सर्वर-अनुरोध
अब आपको भेजना चाहिए file यदि आप वास्तविक प्रमाणपत्र का उपयोग कर रहे हैं, तो अपने प्रमाणपत्र प्राधिकरण (CA) को cert-server-request भेजें। फिर वे हस्ताक्षरित प्रमाणपत्र लौटा देंगे। हम इसे नीचे cert-server-signed के रूप में संदर्भित करेंगे।
स्व-निर्मित CA प्रमाणपत्र का उपयोग करके SSL प्रमाणपत्र पर हस्ताक्षर करना
टिप्पणी: पुनः, उत्पादन प्रणाली में अपने स्वयं के CA का उपयोग करना अनुशंसित नहीं है।
CA का उपयोग करके प्रमाणपत्र पर हस्ताक्षर करें file cert-server-request, जो हस्ताक्षरित प्रमाणपत्र cert-server-signed बनाता है। नीचे देखें; ca-password वह पासवर्ड है जिसे CA प्रमाणपत्र बनाते समय सेट किया जाता है।
सीडी /var/ssl/private
ओपनएसएसएल x509 -req \

  • -सीए ${CA_PATH}/ca-cert \
  • -CAkey ${CA_PATH}/ca-key \
  • -in प्रमाणपत्र-सर्वर-अनुरोध \
  • -आउट प्रमाणपत्र-सर्वर-हस्ताक्षरित \
  • -दिन 999 -CAcreateserial \
  • -पासिन पास:{ca-पासवर्ड}

हस्ताक्षरित प्रमाणपत्र को कुंजीस्टोर में आयात करना
ca-cert रूट प्रमाणपत्र को कुंजीस्टोर में आयात करें:
keytool -keystore kafka.server.keystore.jks \
-उपनाम ca-प्रमाणपत्र \
-आयात \
-file ${CA_PATH}/ca-प्रमाणपत्र
हस्ताक्षरित प्रमाणपत्र को आयात करें जिसे cert-server-signed कहा जाता है:
keytool -keystore kafka.server.keystore.jks \
-उपनाम सर्वर \
-आयात \
-file प्रमाणपत्र-सर्वर-हस्ताक्षरित
द file kafka.server.keystore.jks को नियंत्रण केंद्र सर्वर पर किसी ज्ञात स्थान पर कॉपी किया जाना चाहिए, और फिर /etc/kafka/server.properties में संदर्भित किया जाना चाहिए।
स्ट्रीमिंग एपीआई का उपयोग करना

सामान्य

स्ट्रीमिंग एपीआई परीक्षण और मॉनिटर दोनों डेटा प्राप्त करता है। इनमें से किसी एक श्रेणी को अलग करना संभव नहीं है।
स्ट्रीमिंग एपीआई स्क्रिप्ट-आधारित परीक्षणों (जिन्हें नियंत्रण केंद्र GUI में जिगसॉ टुकड़े के बजाय एक आयत द्वारा दर्शाया जाता है) से डेटा प्राप्त नहीं करता है, जैसे कि ईथरनेट सेवा सक्रियण परीक्षण और पारदर्शिता परीक्षण।

काफ़्का विषय नाम

स्ट्रीमिंग API के लिए काफ़्का विषय नाम इस प्रकार हैं, जहाँ %s नियंत्रण केंद्र खाते का संक्षिप्त नाम है (खाता बनाते समय इंगित किया गया):
कॉन्स्ट (
exporterName = “काफ़्का”
मेटाडेटाTopicTpl = “paa.public.accounts.%s.metadata”
मेट्रिक्सटॉपिकTpl = “paa.public.accounts.%s.metrics”
)
Exampस्ट्रीमिंग एपीआई का उपयोग करने के लाभ
भूतपूर्वampनिम्नलिखित फ़ाइलें टारबॉल paa-streaming-api-client-ex में पाई जाती हैंamples.tar.gz नियंत्रण केंद्र टारबॉल के भीतर निहित है।
सबसे पहले, एक बुनियादी उदाहरण हैampयह दर्शाता है कि मेट्रिक्स और उनके मेटाडेटा को अलग-अलग कैसे स्ट्रीम किया जाता है और प्राप्त संदेशों को कंसोल पर आसानी से प्रिंट किया जाता है। आप इसे निम्न प्रकार से चला सकते हैं:
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.
जुनिपर नेटवर्क, जुनिपर नेटवर्क लोगो, जुनिपर और जूनोस संयुक्त राज्य अमेरिका और अन्य देशों में जुनिपर नेटवर्क, इंक. के पंजीकृत ट्रेडमार्क हैं। अन्य सभी ट्रेडमार्क, सेवा चिह्न, पंजीकृत चिह्न या पंजीकृत सेवा चिह्न उनके संबंधित स्वामियों की संपत्ति हैं। जुनिपर नेटवर्क इस दस्तावेज़ में किसी भी अशुद्धि के लिए कोई जिम्मेदारी नहीं लेता है। जुनिपर नेटवर्क बिना किसी सूचना के इस प्रकाशन को बदलने, संशोधित करने, स्थानांतरित करने या अन्यथा संशोधित करने का अधिकार सुरक्षित रखता है। कॉपीराइट © 2025 जुनिपर नेटवर्क,
इंक। सभी अधिकार सुरक्षित

जुनिपर नेटवर्क - लोगो

दस्तावेज़ / संसाधन

जुनिपर नेटवर्क्स रूटिंग सक्रिय परीक्षण समाधान संक्षिप्त [पीडीएफ] उपयोगकर्ता गाइड
रूटिंग सक्रिय परीक्षण समाधान संक्षिप्त, सक्रिय परीक्षण समाधान संक्षिप्त, परीक्षण समाधान संक्षिप्त, समाधान संक्षिप्त

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *