जुनिपर नेटवर्क लोगोस्ट्रीमिंग API मार्गदर्शक
प्रकाशित
५७४-५३७-८९००
सोडा
4.2

परिचय

हे मार्गदर्शक उत्पादनाच्या स्ट्रीमिंग API द्वारे Paragon Active Assurance मधून डेटा कसा काढायचा याचे वर्णन करते.
Paragon Active Assurance इंस्टॉलेशनमध्ये API तसेच स्ट्रीमिंग क्लायंटचा समावेश केला आहे.
तथापि, तुम्ही API वापरण्यापूर्वी थोडे कॉन्फिगरेशन आवश्यक आहे. हे पृष्ठ 1 प्रकरणावरील “स्ट्रीमिंग API कॉन्फिगर करणे” मध्ये समाविष्ट आहे.

स्ट्रीमिंग API कॉन्फिगर करत आहे

ओव्हरview
काफ्का द्वारे मेट्रिक्स संदेशांची सदस्यता घेण्यास अनुमती देण्यासाठी स्ट्रीमिंग API कसे कॉन्फिगर करावे याचे हे प्रकरण वर्णन करते.
pr
खाली आम्ही पुढे जाऊ:

  • स्ट्रीमिंग API कसे सक्षम करावे
  • बाह्य क्लायंट ऐकण्यासाठी काफ्का कॉन्फिगर कसे करावे
  • ACLs वापरण्यासाठी Kafka कसे कॉन्फिगर करावे आणि सांगितलेल्या क्लायंटसाठी SSL एनक्रिप्शन कसे सेट करावे

काफ्का हे एक इव्हेंट-स्ट्रीमिंग प्लॅटफॉर्म आहे जे इव्हेंट स्ट्रीमच्या स्वरूपात विविध इव्हेंट स्रोत (सेन्सर्स, डेटाबेस, मोबाइल डिव्हाइस) वरून पाठवलेला डेटा रिअल-टाइम कॅप्चर करण्यास तसेच नंतरच्या पुनर्प्राप्तीसाठी आणि हाताळणीसाठी या इव्हेंट प्रवाहांचे टिकाऊ संचयन करण्यास अनुमती देते.
Kafka द्वारे इव्हेंट स्ट्रीमिंग एंड-टू-एंड वितरित, अत्यंत स्केलेबल, लवचिक, दोष-सहिष्णु आणि सुरक्षित पद्धतीने व्यवस्थापित करणे शक्य आहे.
टीप: काफ्का अनेक प्रकारे कॉन्फिगर केले जाऊ शकते आणि स्केलेबिलिटी आणि रिडंडंट सिस्टमसाठी डिझाइन केले आहे. हे दस्तऐवज केवळ पॅरागॉन अ‍ॅक्टिव्ह अॅश्युरन्स कंट्रोल सेंटरमध्ये आढळलेल्या स्ट्रीमिंग API वैशिष्ट्याचा वापर करण्यासाठी ते कॉन्फिगर कसे करायचे यावर लक्ष केंद्रित करते. अधिक प्रगत सेटअपसाठी आम्ही अधिकृत काफ्का दस्तऐवजीकरण पहा: kafka.apache.org/26/documentation.html.

शब्दावली

  • काफ्का: इव्हेंट-स्ट्रीमिंग प्लॅटफॉर्म.
  • काफ्का विषय: घटनांचा संग्रह.
  • काफ्का सदस्य/ग्राहक: काफ्का विषयामध्ये संग्रहित घटनांच्या पुनर्प्राप्तीसाठी जबाबदार घटक.
  • काफ्का ब्रोकर: काफ्का क्लस्टरचा स्टोरेज लेयर सर्व्हर.
  • SSL/TLS: SSL हा इंटरनेटवर सुरक्षितपणे माहिती पाठवण्यासाठी विकसित केलेला एक सुरक्षित प्रोटोकॉल आहे. TLS हा SSL चा उत्तराधिकारी आहे, 1999 मध्ये सादर केला गेला.
  • SASL: फ्रेमवर्क जे वापरकर्ता प्रमाणीकरण, डेटा अखंडता तपासणी आणि एन्क्रिप्शनसाठी यंत्रणा प्रदान करते.
  • स्ट्रीमिंग API सदस्य: पॅरागॉन अ‍ॅक्टिव्ह अॅश्युरन्समध्ये परिभाषित केलेल्या आणि बाह्य प्रवेशासाठी असलेल्या विषयांमध्ये संग्रहित केलेल्या इव्हेंटच्या पुनर्प्राप्तीसाठी जबाबदार घटक.
  • प्रमाणपत्र प्राधिकरण: एक विश्वसनीय संस्था जी सार्वजनिक की प्रमाणपत्रे जारी करते आणि रद्द करते.
  • प्रमाणपत्र प्राधिकरण मूळ प्रमाणपत्र: सार्वजनिक की प्रमाणपत्र जे प्रमाणपत्र प्राधिकरण ओळखते.

स्ट्रीमिंग API कसे कार्य करते
आधी सांगितल्याप्रमाणे, स्ट्रीमिंग API बाह्य क्लायंटना काफ्काकडून मेट्रिक्सबद्दल माहिती पुनर्प्राप्त करण्यास अनुमती देते.
चाचणी किंवा देखरेखीच्या कार्यादरम्यान चाचणी एजंटद्वारे गोळा केलेले सर्व मेट्रिक्स स्ट्रीम सेवेला पाठवले जातात.
प्रक्रियेच्या टप्प्यानंतर, प्रवाह सेवा अतिरिक्त मेटाडेटासह काफ्कावर ते मेट्रिक्स प्रकाशित करते.जुनिपर नेटवर्क स्ट्रीमिंग API सक्रिय आश्वासन - स्ट्रीमिंग API कसे कार्य करतेकाफ्का विषय
काफ्काकडे विषयांची संकल्पना आहे ज्यावर सर्व डेटा प्रकाशित केला जातो. Paragon Active Assurance मध्ये असे अनेक काफ्का विषय उपलब्ध आहेत; तथापि, यापैकी फक्त उपसंच बाह्य प्रवेशासाठी आहेत.
नियंत्रण केंद्रातील प्रत्येक पॅरागॉन अॅक्टिव्ह अॅश्युरन्स खात्यामध्ये दोन समर्पित विषय असतात. खाली, ACCOUNT हे खात्याचे लहान नाव आहे:

  • paa.public.accounts.{ACCOUNT}.metrics
  • दिलेल्या खात्यासाठी सर्व मेट्रिक्स संदेश या विषयावर प्रकाशित केले आहेत
  • मोठ्या प्रमाणात डेटा
  • उच्च अद्यतन वारंवारता
  • paa.public.accounts.{ACCOUNT}.metadata
  • मेट्रिक्स डेटाशी संबंधित मेटाडेटा आहे, उदाहरणार्थampमेट्रिक्सशी संबंधित चाचणी, मॉनिटर किंवा चाचणी एजंट
  • लहान प्रमाणात डेटा
  • कमी अद्यतन वारंवारता

स्ट्रीमिंग API सक्षम करत आहे
टीप: या सूचना सुडो वापरून कंट्रोल सेंटर सर्व्हरवर चालवायच्या आहेत.
स्ट्रीमिंग API नियंत्रण केंद्रात काही ओव्हरहेड जोडत असल्याने, ते डीफॉल्टनुसार सक्षम केलेले नाही. API सक्षम करण्यासाठी, आम्ही प्रथम मुख्य कॉन्फिगरेशनमध्ये काफ्कावर मेट्रिक्सचे प्रकाशन सक्षम केले पाहिजे file:

  • /etc/netrounds/netrounds.conf

KAFKA_METRICS_ENABLED = खरे
चेतावणी: हे वैशिष्ट्य सक्षम केल्याने नियंत्रण केंद्राच्या कार्यक्षमतेवर परिणाम होऊ शकतो. आपण त्यानुसार आपल्या उदाहरणाचे परिमाण केले असल्याचे सुनिश्चित करा.
पुढे, या मेट्रिक्सचे योग्य काफ्का विषयांवर अग्रेषित करणे सक्षम करण्यासाठी:

  • /etc/netrounds/metrics.yaml

स्ट्रीमिंग-एपीआय: खरे
स्ट्रीमिंग API सेवा सक्षम आणि सुरू करण्यासाठी, चालवा:
sudo ncc सेवा timecaledb मेट्रिक्स सक्षम करतात
sudo ncc सेवा वेळापत्रकबद्ध मेट्रिक्स सुरू करतात
शेवटी, सेवा रीस्टार्ट करा:
sudo ncc सेवा रीस्टार्ट
स्ट्रीमिंग API नियंत्रण केंद्रामध्ये कार्य करते याची पडताळणी करत आहे
टीप: या सूचना कंट्रोल सेंटर सर्व्हरवर चालवायच्या आहेत.
तुम्ही आता सत्यापित करू शकता की तुम्हाला योग्य काफ्का विषयांवर मेट्रिक्स मिळत आहेत. असे करण्यासाठी, kafkacat युटिलिटी स्थापित करा:
sudo apt-अद्यतन मिळवा
sudo apt-get install kafkacat
तुमच्याकडे नियंत्रण केंद्रामध्ये चाचणी किंवा मॉनिटर चालू असल्यास, तुम्ही या विषयांवर मेट्रिक्स आणि मेटाडेटा प्राप्त करण्यासाठी kafkacat वापरण्यास सक्षम असावे.
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
टीप:
kafkacat”क्लायंट माजीampपृष्ठ ६ वर
हे सत्यापित करते की आमच्याकडे कंट्रोल सेंटरमधून कार्यरत स्ट्रीमिंग API आहे. तथापि, बहुधा तुम्हाला त्याऐवजी बाह्य क्लायंटकडून डेटा ऍक्सेस करण्यात स्वारस्य असेल. पुढील भागात बाह्य प्रवेशासाठी काफ्काला कसे उघडायचे याचे वर्णन केले आहे.
बाह्य यजमानांसाठी काफ्का उघडत आहे
टीप: या सूचना कंट्रोल सेंटर सर्व्हरवर चालवायच्या आहेत.
डिफॉल्टनुसार नियंत्रण केंद्रावर चालणारे काफ्का केवळ अंतर्गत वापरासाठी लोकलहोस्टवर ऐकण्यासाठी कॉन्फिगर केले आहे.
काफ्का सेटिंग्जमध्ये बदल करून बाह्य क्लायंटसाठी काफ्का उघडणे शक्य आहे.
काफ्काशी कनेक्ट करणे: चेतावणी
जुनिपर नेटवर्क स्ट्रीमिंग API सक्रिय आश्वासन - चिन्हे खबरदारी: कृपया हे काळजीपूर्वक वाचा, कारण जर तुम्हाला या संकल्पना समजल्या नसतील तर काफ्काशी संबंध समस्या सोडवणे सोपे आहे.
या दस्तऐवजात वर्णन केलेल्या कंट्रोल सेंटर सेटअपमध्ये, फक्त एकच काफ्का ब्रोकर आहे.
तथापि, लक्षात घ्या की काफ्का ब्रोकर हे काफ्का क्लस्टरचा भाग म्हणून चालवायचे आहे ज्यामध्ये अनेक काफ्का दलाल असू शकतात.
काफ्का ब्रोकरशी कनेक्ट करताना, काफ्का क्लायंटद्वारे प्रारंभिक कनेक्शन सेट केले जाते. या संबंधात काफ्का ब्रोकर "जाहिरात दिलेल्या श्रोत्यांची" यादी परत करेल, जी एक किंवा अधिक काफ्का दलालांची यादी आहे.
ही यादी मिळाल्यावर, काफ्का क्लायंट डिस्कनेक्ट होईल, नंतर या जाहिरात केलेल्या श्रोत्यांपैकी एकाशी पुन्हा कनेक्ट होईल. जाहिरात केलेल्या श्रोत्यांमध्ये काफ्का क्लायंटसाठी प्रवेशयोग्य होस्टनावे किंवा IP पत्ते असणे आवश्यक आहे, अन्यथा क्लायंट कनेक्ट करण्यात अयशस्वी होईल.
SSL एन्क्रिप्शन वापरले असल्यास, विशिष्ट होस्टनावाशी जोडलेले SSL प्रमाणपत्र समाविष्ट असल्यास, काफ्का क्लायंटला कनेक्ट करण्यासाठी योग्य पत्ता प्राप्त करणे अधिक महत्त्वाचे आहे, कारण अन्यथा कनेक्शन नाकारले जाऊ शकते.
येथे काफ्का श्रोत्यांबद्दल अधिक वाचा: www.confluent.io/blog/kafka-listeners-explained
SSL/TLSE एन्क्रिप्शन
काफ्का आणि स्ट्रीमिंग API मध्ये फक्त विश्वसनीय क्लायंटना प्रवेश करण्याची परवानगी आहे हे सुनिश्चित करण्यासाठी, आम्ही खालील कॉन्फिगर करणे आवश्यक आहे:

  • प्रमाणीकरण: क्लायंट आणि काफ्का यांच्यातील SSL/TLS सुरक्षित कनेक्शनद्वारे ग्राहकांनी वापरकर्तानाव आणि पासवर्ड प्रदान करणे आवश्यक आहे.
  • अधिकृतता: प्रमाणीकृत क्लायंट ACL द्वारे नियमन केलेली कार्ये करू शकतात.

येथे एक ओव्हर आहेview:
जुनिपर नेटवर्क्स स्ट्रीमिंग API सक्रिय आश्वासन - स्ट्रीमिंग API कसे कार्य करते 1*) वापरकर्तानाव/संकेतशब्द प्रमाणीकरण SSL-एनक्रिप्टेड चॅनेलवर केले जाते

काफ्कासाठी SSL/TLS एन्क्रिप्शन कसे कार्य करते हे पूर्णपणे समजून घेण्यासाठी, कृपया अधिकृत दस्तऐवजीकरण पहा: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS प्रमाणपत्र संपलेview
टीप: या उपविभागात आम्ही खालील शब्दावली वापरणार आहोत:
प्रमाणपत्र: प्रमाणपत्र प्राधिकरण (CA) द्वारे स्वाक्षरी केलेले SSL प्रमाणपत्र. प्रत्येक काफ्का ब्रोकरचा एक असतो.
कीस्टोर: कीस्टोर file जे प्रमाणपत्र साठवते. कीस्टोअर file प्रमाणपत्राची खाजगी की समाविष्ट आहे; म्हणून, ते सुरक्षितपणे ठेवणे आवश्यक आहे.
ट्रस्टस्टोअर: ए file विश्वसनीय CA प्रमाणपत्रे असलेले.
बाह्य क्लायंट आणि कंट्रोल सेंटरमध्ये चालणारे काफ्का यांच्यामध्ये प्रमाणीकरण सेट करण्यासाठी, दोन्ही बाजूंना CA रूट प्रमाणपत्रासह प्रमाणपत्र प्राधिकरण (CA) द्वारे स्वाक्षरी केलेल्या संबंधित प्रमाणपत्रासह परिभाषित केलेले कीस्टोर असणे आवश्यक आहे.
या व्यतिरिक्त, क्लायंटकडे CA रूट प्रमाणपत्रासह ट्रस्टस्टोअर देखील असणे आवश्यक आहे.
काफ्का ब्रोकर आणि काफ्का क्लायंटसाठी CA रूट प्रमाणपत्र सामान्य आहे.
आवश्यक प्रमाणपत्रे तयार करणे
हे पृष्ठ 17 वरील "परिशिष्ट" मध्ये समाविष्ट आहे.
कंट्रोल सेंटरमध्ये काफ्का ब्रोकर SSL/TLS कॉन्फिगरेशन
टीप: या सूचना कंट्रोल सेंटर सर्व्हरवर चालवल्या जाणार आहेत.
टीप: सुरू ठेवण्यापूर्वी, तुम्ही पृष्ठ १७ वरील “परिशिष्ट” मधील सूचनांचे पालन करून SSL प्रमाणपत्र असलेले कीस्टोर तयार केले पाहिजे. खाली नमूद केलेले पथ या सूचनांमधून आले आहेत.
SSL कीस्टोअर आहे a file सह डिस्कवर संग्रहित file विस्तार .jks.
एकदा का तुमच्याकडे काफ्का ब्रोकर आणि काफ्का क्लायंट या दोघांसाठी आवश्यक प्रमाणपत्रे तयार झाल्यावर, तुम्ही कंट्रोल सेंटरमध्ये चालणारे काफ्का ब्रोकर कॉन्फिगर करून पुढे चालू ठेवू शकता. आपल्याला खालील गोष्टी माहित असणे आवश्यक आहे:

  • : नियंत्रण केंद्राचे सार्वजनिक होस्टनाव; हे काफ्का क्लायंटद्वारे निराकरण करण्यायोग्य आणि प्रवेश करण्यायोग्य असणे आवश्यक आहे.
  • : SSL प्रमाणपत्र तयार करताना प्रदान केलेला कीस्टोर पासवर्ड.
  • आणि : हे पासवर्ड तुम्ही अनुक्रमे प्रशासक आणि क्लायंट वापरकर्त्यासाठी सेट करू इच्छिता. लक्षात ठेवा की तुम्ही अधिक वापरकर्ते जोडू शकता, जसे माजी मध्ये सूचित केले आहेampले

/etc/kafka/server.properties मध्ये खालील गुणधर्म संपादित करा किंवा जोडा (sudo ऍक्सेससह), वर दर्शविल्याप्रमाणे व्हेरिएबल्स समाविष्ट करा:
जुनिपर नेटवर्क स्ट्रीमिंग API सक्रिय आश्वासन - चिन्हे चेतावणी: PLAINTEXT://localhost:9092 काढू नका; हे नियंत्रण केंद्राची कार्यक्षमता खंडित करेल कारण अंतर्गत सेवा संप्रेषण करू शकणार नाहीत.


# काफ्का दलाल ज्या पत्त्यावर ऐकतो.
listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# कोणत्याही क्लायंटशी कनेक्ट होण्यासाठी परत जाहिरात केलेले हे होस्ट आहेत.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :९०९३

####### कस्टम कॉन्फिग
# 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
dule आवश्यक \
वापरकर्तानाव=”प्रशासक” \
पासवर्ड=” \
user_admin=” \
user_client=” ”;
# टीप वापरकर्त्यासह आणखी वापरकर्ते जोडले जाऊ शकतात_ =
# अधिकृतता, ACL चालू करा
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=User:admin

प्रवेश नियंत्रण सूची (ACL) सेट करणे
लोकलहोस्टवर ACL चालू करत आहे
जुनिपर नेटवर्क स्ट्रीमिंग API सक्रिय आश्वासन - चिन्हे चेतावणी: आम्ही प्रथम लोकलहोस्टसाठी ACL सेट करणे आवश्यक आहे, जेणेकरून नियंत्रण केंद्र स्वतः अजूनही काफ्कामध्ये प्रवेश करू शकेल. जर हे केले नाही तर गोष्टी खंडित होतील.

######### अनामित वापरकर्त्यांसाठी ACL नोंदी
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
-जोडा -अनुमती-मुख्य वापरकर्ता:अनामित -परवानगी-होस्ट 127.0.0.1 -क्लस्टर
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
-जोडा -अनुमती-मुख्य वापरकर्ता:अनामित -परवानगी-होस्ट 127.0.0.1 -विषय '*'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
-जोडा -अनुमती-मुख्य वापरकर्ता:अनामित -परवानगी-होस्ट 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 \
-जोडा -परवानगी-मुख्य वापरकर्ता:* -ऑपरेशन वाचा -ऑपरेशन वर्णन \
-विषय paa.public. -संसाधन-नमुना-प्रकार उपसर्ग

एकदा हे पूर्ण झाल्यावर, तुम्हाला सेवा रीस्टार्ट करण्याची आवश्यकता आहे:
sudo ncc सेवा रीस्टार्ट
क्लायंट सुरक्षित कनेक्शन स्थापित करू शकतो हे सत्यापित करण्यासाठी, बाह्य क्लायंट संगणकावर (नियंत्रण केंद्र सर्व्हरवर नाही) खालील आदेश चालवा. खाली, PUBLIC_HOSTNAME हे कंट्रोल सेंटर होस्टनाव आहे:
openssl s_client -debug -कनेक्ट ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "सुरक्षित पुनर्निगोशिएशन समर्थित आहे"
कमांड आउटपुटमध्ये तुम्हाला सर्व्हर प्रमाणपत्र तसेच खालील गोष्टी दिसल्या पाहिजेत:
सुरक्षित पुनर्निगोशिएशन IS समर्थित आहे
काफ्का सर्व्हरवर अंतर्गत सेवांना प्रवेश दिला गेला आहे याची खात्री करण्यासाठी, कृपया खालील लॉग तपासाfiles:

  • /var/log/kafka/server.log
  • /var/log/kafka/kafka-authorizer.log

बाह्य क्लायंट कनेक्टिव्हिटी सत्यापित करणे
kafkacat
टीप: या सूचना क्लायंट संगणकावर चालवल्या जाव्यात (नियंत्रण केंद्र सर्व्हरवर नाही).
टीप: मेट्रिक्स माहिती प्रदर्शित करण्यासाठी, नियंत्रण केंद्रामध्ये किमान एक मॉनिटर चालू असल्याची खात्री करा.
बाह्य क्लायंट म्हणून कनेक्टिव्हिटीची पडताळणी आणि प्रमाणीकरण करण्यासाठी, पृष्ठ 4 वरील “स्ट्रीमिंग API वर्क्स इन कंट्रोल सेंटर” या विभागात स्थापित केलेली kafkacat युटिलिटी वापरणे शक्य आहे.
खालील पायऱ्या करा:
टीप: खाली, CLIENT_USER हा पूर्वी नमूद केलेला वापरकर्ता आहे file नियंत्रण केंद्रात /etc/kafka/server.properties: म्हणजे, 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 च्या जुन्या आवृत्त्या a वरून क्लायंट सेटिंग्ज वाचण्यासाठी -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). या संदेशांचे स्कीमा खालील स्वरूपाचे पालन करतात:

मेट्रिक्स प्रोटोबफ स्कीमा

वाक्यरचना = "प्रोटो3";
"google/protobuf/timest" आयात कराamp.प्रोटो";
पॅकेज 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;
}
}

मेटाडेटा प्रोटोबफ स्कीमा

वाक्यरचना = "प्रोटो3";
पॅकेज paa.streamingapi;
पर्याय go_package = “.;paa_streamingapi”;
संदेश मेटाडेटा {
int32 stream_id = 1;
string stream_name = 2;
नकाशा tags = 13;
}

क्लायंट माजीampलेस

टीप: या आज्ञा बाह्य क्लायंटवर चालवण्याच्या उद्देशाने आहेत, उदाampतुमचा लॅपटॉप किंवा तत्सम, आणि नियंत्रण केंद्रात नाही.
टीप: मेट्रिक्स माहिती प्रदर्शित करण्यासाठी, नियंत्रण केंद्रामध्ये किमान एक मॉनिटर चालू असल्याची खात्री करा.
कंट्रोल सेंटर टारबॉलमध्ये संग्रहण paa-streaming-api-client-ex समाविष्ट आहेamples.tar.gz (क्लायंट-उदाamples), ज्यामध्ये माजी आहेampली पायथन स्क्रिप्ट स्ट्रीमिंग API कसे वापरावे हे दर्शविते.
क्लायंट स्थापित करणे आणि कॉन्फिगर करणे उदाampलेस
तुम्ही क्लायंट-माजी शोधाampपॅरागॉन अ‍ॅक्टिव्ह अॅश्युरन्स कंट्रोल सेंटर फोल्डरमध्ये:

CC_VERSION=4.2.0 निर्यात करा
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-exampलेस*
क्लायंट-एक्स स्थापित करण्यासाठीampआपल्या बाह्य क्लायंट संगणकावर, खालीलप्रमाणे पुढे जा:
# क्लायंट एक्सची सामग्री काढण्यासाठी निर्देशिका तयार कराampलेस टारबॉल
mkdir paa-streaming-api-client-exampलेस
# क्लायंटची सामग्री एक्सट्रॅक्ट कराampलेस टारबॉल
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-exampलेस
# नव्याने तयार केलेल्या निर्देशिकेवर जा
cd paa-streaming-api-client-exampलेस
क्लायंट-माजीamples ला डॉकर चालवण्यासाठी आवश्यक आहे. डॉकरसाठी डाउनलोड आणि स्थापना सूचना येथे आढळू शकतात https://docs.docker.com/engine/install.

क्लायंट वापरणे उदाampलेस
क्लायंट-माजीampलेस टूल्स एक्स बिल्ड करण्यासाठी मूलभूत किंवा प्रगत मोडमध्ये चालू शकतातampविविध जटिलता. दोन्ही प्रकरणांमध्ये, माजी चालवणे देखील शक्य आहेampकॉन्फिगरेशनसह les file क्लायंट बाजूच्या पुढील सानुकूलनासाठी अतिरिक्त गुणधर्म समाविष्टीत आहे.
मूलभूत मोड
मूलभूत मोडमध्ये, मेट्रिक्स आणि त्यांचा मेटाडेटा स्वतंत्रपणे प्रवाहित केला जातो. यासाठी, क्लायंट बाह्य प्रवेशासाठी उपलब्ध असलेला प्रत्येक काफ्का विषय ऐकतो आणि प्राप्त झालेले संदेश कन्सोलवर प्रिंट करतो.
मूलभूत माजी अंमलबजावणी सुरू करण्यासाठीampलेस, धावा:
./build.sh run-basic –kafka-brokers localhost:9092 –खाते ACCOUNT_SHORTNAME
जिथे ACCOUNT_SHORTNAME हे ज्या खात्यातून तुम्हाला मेट्रिक्स मिळवायचे आहेत त्याचे छोटे नाव आहे.
माजी ची अंमलबजावणी समाप्त करण्यासाठीample, Ctrl + C दाबा. (अंमलबजावणी थांबण्यापूर्वी थोडा विलंब होऊ शकतो कारण क्लायंट कालबाह्य कार्यक्रमाची वाट पाहत आहे.)
प्रगत मोड
टीप: मेट्रिक्स फक्त कंट्रोल सेंटरमध्ये चालणाऱ्या HTTP मॉनिटर्ससाठी प्रदर्शित केले जातात.
प्रगत मोडमध्ये अंमलबजावणी मेट्रिक्स आणि मेटाडेटा संदेश यांच्यातील परस्परसंबंध दर्शवते. संबंधित मेटाडेटा संदेशाचा संदर्भ असलेल्या स्ट्रीम आयडी फील्डच्या प्रत्येक मेट्रिक्स संदेशातील उपस्थितीमुळे हे शक्य आहे.
प्रगत माजी कार्यान्वित करण्यासाठीampलेस, धावा:
./build.sh run-advanced –kafka-brokers localhost:9092 –खाते ACCOUNT_SHORTNAME
जिथे ACCOUNT_SHORTNAME हे ज्या खात्यातून तुम्हाला मेट्रिक्स मिळवायचे आहेत त्याचे छोटे नाव आहे.
माजी ची अंमलबजावणी समाप्त करण्यासाठीample, Ctrl + C दाबा. (अंमलबजावणी थांबण्यापूर्वी थोडा विलंब होऊ शकतो कारण क्लायंट कालबाह्य कार्यक्रमाची वाट पाहत आहे.)
अतिरिक्त सेटिंग्ज
माजी चालवणे शक्य आहेamp-config- वापरून क्लायंटच्या अतिरिक्त कॉन्फिगरेशनसहfile पर्याय त्यानंतर a file फॉर्म key=value मध्ये गुणधर्म असलेले नाव.
./build.sh रन-प्रगत \
–kafka-brokers localhost:9092 \
–खाते ACCOUNT_SHORTNAME \
-कॉन्फिगरेशन-file client_config.properties

टीप: सर्व fileवरील आदेशात संदर्भित s वर्तमान निर्देशिकेत स्थित असणे आवश्यक आहे आणि फक्त संबंधित पथ वापरून संदर्भित केले पाहिजे. हे दोन्ही -config- वर लागू होतेfile argument आणि कॉन्फिगरेशनमधील सर्व नोंदी file जे वर्णन करतात file स्थाने
बाह्य क्लायंट प्रमाणीकरण सत्यापित करणे
क्लायंट-एक्स वापरून कंट्रोल सेंटरच्या बाहेरून क्लायंट प्रमाणीकरण सत्यापित करण्यासाठीamples, खालील पायऱ्या करा:

  • Paragon Active Assurance Control Center फोल्डरमधून, paa-streaming-api-clientex वर स्विच कराampलेस फोल्डर:
    cd paa-streaming-api-client-exampलेस
  • वर्तमान निर्देशिकेत 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} क्लायंटसाठी वापरकर्ता क्रेडेन्शियल आहेत.
  • मूलभूत माजी चालवाampलेस:
    निर्यात KAFKA_FQDN=
    ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
    –खाते ACCOUNT_SHORTNAME
    -कॉन्फिगरेशन-file client.properties
    जिथे ACCOUNT_SHORTNAME हे ज्या खात्यातून तुम्हाला मेट्रिक्स मिळवायचे आहेत त्याचे छोटे नाव आहे.
  • प्रगत माजी चालवाampलेस:
    निर्यात 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 स्ट्रीमिंग API मध्ये प्रवेश करणार्या काफ्का क्लायंटला आवश्यक असेल:

keytool -keystore kafka.client.truststore.jks \
-उर्फ कॅरूट \
-आयात प्रमाणपत्र -file ${CA_PATH}/ca-cert

आता CA प्रमाणपत्र ट्रस्टस्टोअरमध्ये आहे, क्लायंट त्याच्यासह स्वाक्षरी केलेल्या कोणत्याही प्रमाणपत्रावर विश्वास ठेवेल.
आपण कॉपी करावी file kafka.client.truststore.jks तुमच्या क्लायंट संगणकावरील ज्ञात स्थानावर जा आणि सेटिंग्जमध्ये त्यास निर्देशित करा.
काफ्का ब्रोकरसाठी कीस्टोअर तयार करणे
Kafka ब्रोकर SSL प्रमाणपत्र आणि नंतर keystore kafka.server.keystore.jks व्युत्पन्न करण्यासाठी, पुढीलप्रमाणे पुढे जा:
SSL प्रमाणपत्र व्युत्पन्न करत आहे
खाली, कीस्टोअरच्या वैधतेच्या दिवसांची संख्या 999 आहे आणि FQDN हे क्लायंटचे पूर्णतः पात्र डोमेन नाव आहे (नोडचे सार्वजनिक होस्ट नाव).
टीप: हे महत्त्वाचे आहे की FQDN हे अचूक होस्टनावाशी जुळते जे काफ्का क्लायंट कंट्रोल सेंटरशी कनेक्ट करण्यासाठी वापरेल.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/खाजगी
निर्यात FQDN=
keytool -keystore kafka.server.keystore.jks \
- उर्फ ​​सर्व्हर \
-वैधता 999 \
-genkey -keyalg RSA -ext SAN=dns:${FQDN}
प्रमाणपत्र स्वाक्षरी विनंती तयार करा आणि मध्ये संग्रहित करा file नामांकित प्रमाणपत्र-सर्व्हर-विनंती:
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/खाजगी
openssl x509 -req \
-CA ${CA_PATH}/ca-cert \
-CAkey ${CA_PATH}/ca-key \
-सर्ट-सर्व्हर-विनंती मध्ये \
-आउट प्रमाणपत्र-सर्व्हर-स्वाक्षरी केलेले \
-दिवस 999 -CAcreateserial \
-पासीन पास:{ca-password}

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

स्ट्रीमिंग API वापरणे

सामान्य
स्ट्रीमिंग API चाचणी आणि मॉनिटर डेटा दोन्ही मिळवते. यापैकी एक वर्गवारी करणे शक्य नाही.
स्ट्रीमिंग API स्क्रिप्ट-आधारित चाचण्यांमधून डेटा आणत नाही (ज्यांना कंट्रोल सेंटर GUI मधील जिगसॉच्या तुकड्याऐवजी आयताद्वारे प्रस्तुत केले जाते), जसे की इथरनेट सेवा सक्रियकरण चाचण्या आणि पारदर्शकता चाचण्या.

काफ्का विषयाची नावे
स्ट्रीमिंग API साठी Kafka विषयाची नावे खालीलप्रमाणे आहेत, जेथे %s हे नियंत्रण केंद्र खात्याचे छोटे नाव आहे (खाते तयार करताना सूचित केले जाते):

const (
निर्यातक नाव = "काफ्का"
metadataTopicTpl = “paa.public.accounts.%s.metadata”
metricsTopicTpl = “paa.public.accounts.%s.metrics”
)

Exampस्ट्रीमिंग API वापरणे
माजीampजे फॉलो करतात ते टारबॉल paa-streaming-api-client-ex मध्ये आढळतातamples.tar.gz कंट्रोल सेंटर टारबॉलमध्ये समाविष्ट आहे.
प्रथम, एक मूलभूत माजी आहेample मेट्रिक्स आणि त्यांचा मेटाडेटा स्वतंत्रपणे कसा प्रवाहित केला जातो आणि फक्त प्राप्त झालेले संदेश कन्सोलवर मुद्रित केले जातात हे दर्शविते. आपण ते खालीलप्रमाणे चालवू शकता:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –खाते ACCOUNT_SHORTNAME
एक अधिक प्रगत माजी देखील आहेample जेथे मेट्रिक्स आणि मेटाडेटा संदेश परस्परसंबंधित आहेत. ते चालविण्यासाठी ही आज्ञा वापरा:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –खाते ACCOUNT_SHORTNAME
वरीलप्रमाणे डॉकर कमांड चालवण्यासाठी तुम्हाला sudo वापरण्याची आवश्यकता आहे. वैकल्पिकरित्या, सुडो शिवाय डॉकर कमांड चालवण्यास सक्षम होण्यासाठी तुम्ही लिनक्स पोस्ट-इंस्टॉलेशन चरणांचे अनुसरण करू शकता. तपशीलांसाठी, येथे जा docs.docker.com/engine/install/linux-postinstall.

ज्युनिपर नेटवर्क, जुनिपर नेटवर्क लोगो, जुनिपर आणि जुनोस हे युनायटेड स्टेट्स आणि इतर देशांमध्ये जुनिपर नेटवर्क, इंक. चे नोंदणीकृत ट्रेडमार्क आहेत. इतर सर्व ट्रेडमार्क, सेवा चिन्ह, नोंदणीकृत चिन्हे किंवा नोंदणीकृत सेवा चिन्ह त्यांच्या संबंधित मालकांची मालमत्ता आहेत. ज्युनिपर नेटवर्क या दस्तऐवजातील कोणत्याही चुकीची जबाबदारी घेत नाही. जुनिपर नेटवर्क्सने हे प्रकाशन बदलण्याचा, सुधारण्याचा, हस्तांतरित करण्याचा किंवा अन्यथा सूचना न देता सुधारण्याचा अधिकार राखून ठेवला आहे. कॉपीराइट © 2023 जुनिपर नेटवर्क्स, इंक. सर्व हक्क राखीव.

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

कागदपत्रे / संसाधने

जुनिपर नेटवर्क स्ट्रीमिंग API सक्रिय आश्वासन [pdf] वापरकर्ता मार्गदर्शक
स्ट्रीमिंग API सक्रिय आश्वासन, API सक्रिय आश्वासन, सक्रिय आश्वासन, आश्वासन

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *