
इन्जिनियरिङ् सरलता
स्ट्रिमिङ API गाइड
परिचय
यो गाइडले उत्पादनको स्ट्रिमिङ API मार्फत Paragon Active Assurance बाट डाटा कसरी निकाल्ने भनेर वर्णन गर्दछ।
API र स्ट्रिमिङ क्लाइन्टलाई Paragon Active Assurance स्थापनामा समावेश गरिएको छ।
यद्यपि, तपाईंले API प्रयोग गर्न सक्नु अघि अलिकति कन्फिगरेसन आवश्यक छ। यो पृष्ठ १ अध्यायमा "स्ट्रिमिङ API कन्फिगर गर्दै" मा समावेश गरिएको छ।
माथिview
यस अध्यायले काफ्का मार्फत मेट्रिक्स सन्देशहरूको सदस्यता लिन अनुमति दिन स्ट्रिमिङ API कसरी कन्फिगर गर्ने भनेर वर्णन गर्दछ।
तल हामी मार्फत जानेछौं:
- स्ट्रिमिङ API कसरी सक्षम गर्ने
- बाह्य ग्राहकहरू सुन्न काफ्कालाई कसरी कन्फिगर गर्ने
- ACL हरू प्रयोग गर्न काफ्कालाई कसरी कन्फिगर गर्ने र भनेका ग्राहकहरूको लागि SSL इन्क्रिप्शन सेटअप गर्ने
काफ्का के हो?
काफ्का एक घटना-स्ट्रिमिङ प्लेटफर्म हो जसले घटना स्ट्रिमहरूको रूपमा विभिन्न घटना स्रोतहरू (सेन्सरहरू, डाटाबेसहरू, मोबाइल उपकरणहरू) बाट पठाइएको डेटाको वास्तविक-समय क्याप्चर गर्न अनुमति दिन्छ, साथै पछि पुन: प्राप्ति र हेरफेरको लागि यी घटना स्ट्रिमहरूको टिकाऊ भण्डारण गर्न अनुमति दिन्छ।
काफ्काको साथमा वितरित, अत्यधिक मापनयोग्य, लोचदार, गल्ती-सहिष्णु, र सुरक्षित तरिकाले घटना स्ट्रिमिङ अन्त्य-देखि-अन्त व्यवस्थापन गर्न सम्भव छ।
नोट: काफ्का धेरै फरक तरिकामा कन्फिगर गर्न सकिन्छ र स्केलेबिलिटी र अनावश्यक प्रणालीहरूको लागि डिजाइन गरिएको थियो। यो कागजातले Paragon Active Assurance Control Center मा पाइने स्ट्रिमिङ API सुविधाको प्रयोग गर्न यसलाई कसरी कन्फिगर गर्ने भन्नेमा मात्र केन्द्रित छ। थप उन्नत सेटअपहरूको लागि हामी आधिकारिक काफ्का दस्तावेजलाई सन्दर्भ गर्छौं: kafka.apache.org/26/documentation.html.
शब्दावली
- काफ्का: घटना-स्ट्रिमिङ प्लेटफर्म।
- काफ्का विषय: घटनाहरूको संग्रह।
- काफ्का सब्सक्राइबर/उपभोक्ता: काफ्का शीर्षकमा भण्डार गरिएका घटनाहरूको पुन: प्राप्तिको लागि जिम्मेवार घटक।
- काफ्का ब्रोकर: काफ्का क्लस्टरको भण्डारण तह सर्भर।
- SSL/TLS: SSL इन्टरनेट मार्फत सुरक्षित रूपमा जानकारी पठाउनको लागि विकसित गरिएको एक सुरक्षित प्रोटोकल हो। TLS SSL को उत्तराधिकारी हो, 1999 मा पेश गरियो।
- SASL: फ्रेमवर्क जसले प्रयोगकर्ता प्रमाणीकरण, डेटा अखण्डता जाँच, र इन्क्रिप्शनको लागि संयन्त्र प्रदान गर्दछ।
- स्ट्रिमिङ API सब्सक्राइबर: Paragon Active Assurance मा परिभाषित विषयहरूमा भण्डारण गरिएका घटनाहरूको पुन: प्राप्तिको लागि जिम्मेवार घटक र बाह्य पहुँचको लागि हो।
- प्रमाणपत्र प्राधिकरण: एक विश्वसनीय संस्था जसले सार्वजनिक कुञ्जी प्रमाणपत्रहरू जारी गर्दछ र रद्द गर्दछ।
- प्रमाणपत्र प्राधिकरण मूल प्रमाणपत्र: सार्वजनिक कुञ्जी प्रमाणपत्र जसले प्रमाणपत्र प्राधिकरणलाई पहिचान गर्दछ।
स्ट्रिमिङ API ले कसरी काम गर्छ
पहिले उल्लेख गरिएझैं, स्ट्रिमिङ API ले बाह्य ग्राहकहरूलाई काफ्काबाट मेट्रिक्स बारे जानकारी प्राप्त गर्न अनुमति दिन्छ।
परीक्षण वा निगरानी कार्यको क्रममा परीक्षण एजेन्टहरूद्वारा सङ्कलन गरिएका सबै मेट्रिकहरू स्ट्रिम सेवामा पठाइन्छ।
प्रशोधन चरण पछि, स्ट्रिम सेवाले ती मेट्रिकहरू काफ्कामा अतिरिक्त मेटाडेटाका साथ प्रकाशित गर्दछ।

काफ्का विषयहरू
काफ्कासँग विषयहरूको अवधारणा छ जसमा सबै डेटा प्रकाशित हुन्छन्। Paragon Active Assurance मा काफ्काका यस्ता धेरै विषयहरू उपलब्ध छन्; यद्यपि, यी मध्ये केवल एक उपसमूह बाह्य पहुँचको लागि हो।
नियन्त्रण केन्द्रमा प्रत्येक प्यारागोन सक्रिय आश्वासन खातामा दुईवटा समर्पित विषयहरू छन्। तल, ACCOUNT खाताको छोटो नाम हो:
- paa.public.accounts।ACCOUNT}.metrics
- दिइएको खाताका लागि सबै मेट्रिक्स सन्देशहरू यस विषयमा प्रकाशित छन्
- डाटा को ठूलो मात्रा
- उच्च अपडेट आवृत्ति
- paa.public.accounts।ACCOUNT}।metadata
- मेट्रिक्स डेटासँग सम्बन्धित मेटाडेटा समावेश गर्दछ, उदाहरणका लागिampमेट्रिक्ससँग सम्बन्धित परीक्षण, निगरानी वा परीक्षण एजेन्ट
- डाटा को सानो मात्रा
- कम अद्यावधिक आवृत्ति
स्ट्रिमिङ API सक्षम गर्दै
नोट: यी निर्देशनहरू कन्ट्रोल सेन्टर सर्भरमा sudo प्रयोग गरेर चलाउन सकिन्छ।
स्ट्रिमिङ API ले नियन्त्रण केन्द्रमा केही ओभरहेड थपेको हुनाले, यो पूर्वनिर्धारित रूपमा सक्षम गरिएको छैन। API सक्षम गर्न, हामीले पहिले मुख्य कन्फिगरेसनमा काफ्कामा मेट्रिक्सको प्रकाशन सक्षम गर्नुपर्छ। file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = सत्य
चेतावनी: यो सुविधा सक्षम गर्नाले नियन्त्रण केन्द्रको कार्यसम्पादनलाई असर गर्न सक्छ। निश्चित गर्नुहोस् कि तपाईंले तदनुसार आफ्नो उदाहरण आयाम गर्नुभएको छ।
अर्को, यी मेट्रिक्सलाई सही काफ्का शीर्षकहरूमा फर्वार्डिङ सक्षम गर्न: - /etc/netrounds/metrics.yaml
स्ट्रिमिङ-एपीआई: सत्य
स्ट्रिमिङ API सेवाहरू सक्षम र सुरु गर्न, चलाउनुहोस्:
sudo ncc सेवाहरूले टाइमस्केलेडब मेट्रिक्स सक्षम गर्दछ sudo ncc सेवाहरू टाइमस्केल्डबी मेट्रिक्स सुरु
अन्तमा, सेवाहरू पुन: सुरु गर्नुहोस्:
sudo ncc सेवाहरू पुन: सुरु गर्नुहोस्
स्ट्रिमिङ एपीआईले नियन्त्रण केन्द्रमा काम गर्छ भनेर प्रमाणित गर्दै
नोट: यी निर्देशनहरू कन्ट्रोल सेन्टर सर्भरमा चलाइनुपर्छ।
तपाईंले अब प्रमाणित गर्न सक्नुहुन्छ कि तपाईंले सही काफ्का शीर्षकहरूमा मेट्रिक्स प्राप्त गर्दै हुनुहुन्छ। त्यसो गर्न, kafkacat उपयोगिता स्थापना गर्नुहोस्:
sudo apt-get update 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"ग्राहक पूर्वamples "पृष्ठ 14 मा
यसले प्रमाणित गर्छ कि हामीसँग नियन्त्रण केन्द्र भित्रबाट एउटा काम गर्ने स्ट्रिमिङ API छ। यद्यपि, सम्भवतः तपाइँ यसको सट्टा बाह्य ग्राहकबाट डाटा पहुँच गर्न इच्छुक हुनुहुन्छ। अर्को खण्डले बाह्य पहुँचको लागि काफ्कालाई कसरी खोल्ने भनेर वर्णन गर्दछ।
बाह्य होस्टहरूको लागि काफ्का खोल्दै
नोट: यी निर्देशनहरू कन्ट्रोल सेन्टर सर्भरमा चलाइनुपर्छ।
पूर्वनिर्धारित रूपमा नियन्त्रण केन्द्रमा चलिरहेको काफ्का आन्तरिक प्रयोगको लागि स्थानीय होस्टमा मात्र सुन्न कन्फिगर गरिएको छ।
काफ्का सेटिङहरू परिमार्जन गरेर बाह्य ग्राहकहरूको लागि काफ्का खोल्न सम्भव छ।
काफ्कासँग जोड्दै: चेतावनीहरू
सावधानी: कृपया यसलाई ध्यानपूर्वक पढ्नुहोस्, यदि तपाईंले यी अवधारणाहरू बुझ्नुभएको छैन भने काफ्कासँग जडान समस्याहरूमा भाग लिन सजिलो छ।
यस कागजातमा वर्णन गरिएको कन्ट्रोल सेन्टर सेटअपमा, त्यहाँ एक मात्र काफ्का ब्रोकर छ।
यद्यपि, ध्यान दिनुहोस् कि काफ्का ब्रोकर भनेको काफ्का क्लस्टरको भागको रूपमा चलाउनको लागि हो जसमा धेरै काफ्का दलालहरू समावेश हुन सक्छन्।
काफ्का ब्रोकरसँग जडान गर्दा, काफ्का ग्राहकद्वारा प्रारम्भिक जडान सेटअप गरिन्छ। यस सम्बन्धमा काफ्का ब्रोकरले "विज्ञापित श्रोताहरू" को सूची फिर्ता गर्नेछ, जुन एक वा धेरै काफ्का दलालहरूको सूची हो।
यो सूची प्राप्त गरेपछि, काफ्का क्लाइन्टले विच्छेद गर्नेछ, त्यसपछि यी विज्ञापन गरिएका श्रोताहरू मध्ये एकसँग पुन: जडान हुनेछ। विज्ञापित श्रोताहरूले काफ्का क्लाइन्टमा पहुँचयोग्य होस्टनाम वा IP ठेगानाहरू समावेश गर्नुपर्छ, वा ग्राहक जडान गर्न असफल हुनेछ।
यदि SSL एन्क्रिप्शन प्रयोग गरिएको छ, SSL प्रमाणपत्र समावेश गरिएको छ जुन एक विशेष होस्टनामसँग जोडिएको छ, यो अझ महत्त्वपूर्ण छ कि काफ्का ग्राहकले जडान गर्नको लागि सही ठेगाना प्राप्त गर्दछ, अन्यथा जडान अस्वीकार हुन सक्छ।
यहाँ काफ्का श्रोताहरूको बारेमा थप पढ्नुहोस्: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS एन्क्रिप्शन
केवल विश्वसनीय ग्राहकहरूलाई Kafka र स्ट्रिमिङ API पहुँच गर्न अनुमति दिइएको छ भनी सुनिश्चित गर्न, हामीले निम्न कन्फिगर गर्नुपर्छ:
- प्रमाणीकरण: ग्राहकहरूले ग्राहक र काफ्का बीचको SSL/TLS सुरक्षित जडान मार्फत प्रयोगकर्ता नाम र पासवर्ड प्रदान गर्नुपर्छ।
- प्राधिकरण: प्रमाणीकृत ग्राहकहरूले ACLs द्वारा विनियमित कार्यहरू गर्न सक्छन्।
यहाँ एक ओभर छview:

*) एक SSL-इन्क्रिप्टेड च्यानल मा प्रदर्शन प्रयोगकर्ता नाम/पासवर्ड प्रमाणीकरण
काफ्काका लागि SSL/TLS इन्क्रिप्सनले कसरी काम गर्छ भन्ने पूर्ण रूपमा बुझ्नको लागि, कृपया आधिकारिक कागजातहरू हेर्नुहोस्: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS प्रमाणपत्र समाप्त भयोview
नोट: यस उपखण्डमा हामी निम्न शब्दावली प्रयोग गर्नेछौं:
प्रमाणपत्र: प्रमाणपत्र प्राधिकरण (CA) द्वारा हस्ताक्षर गरिएको एक SSL प्रमाणपत्र। प्रत्येक काफ्का ब्रोकरसँग एउटा हुन्छ।
किस्टोर: किस्टोर file जसले प्रमाणपत्र भण्डार गर्दछ। किस्टोर file प्रमाणपत्रको निजी कुञ्जी समावेश गर्दछ; त्यसैले, यसलाई सुरक्षित राख्न आवश्यक छ।
ट्रस्टस्टोर: A file विश्वसनीय CA प्रमाणपत्रहरू समावेश।
कन्ट्रोल सेन्टरमा चलिरहेको बाह्य क्लाइन्ट र काफ्का बीच प्रमाणीकरण सेटअप गर्न, दुवै पक्षसँग CA रूट प्रमाणपत्रको साथ प्रमाणपत्र प्राधिकरण (CA) द्वारा हस्ताक्षर गरिएको सम्बन्धित प्रमाणपत्रको साथ परिभाषित गरिएको किस्टोर हुनुपर्छ।
यसका अतिरिक्त, ग्राहकसँग CA रूट प्रमाणपत्रको साथ ट्रस्टस्टोर पनि हुनुपर्छ।
CA रूट प्रमाणपत्र काफ्का ब्रोकर र काफ्का ग्राहकको लागि सामान्य छ।
आवश्यक प्रमाणपत्रहरू सिर्जना गर्दै
यो पृष्ठ १७ मा "परिशिष्ट" मा समेटिएको छ।
काफ्का ब्रोकर SSL/TLS कन्फिगरेसन नियन्त्रण केन्द्रमा
नोट: यी निर्देशनहरू कन्ट्रोल सेन्टर सर्भरमा चलाइनुपर्छ।
नोट: जारी राख्नु अघि, तपाईंले पृष्ठ 17 मा "परिशिष्ट" मा निर्देशनहरू पालना गरेर SSL प्रमाणपत्र समावेश गर्ने किस्टोर सिर्जना गर्नुपर्छ। तल उल्लेखित मार्गहरू यी निर्देशनहरूबाट आउँछन्।
SSL किस्टोर एक हो file संग डिस्क मा भण्डारण file विस्तार .jks।
एकचोटि तपाईंले काफ्का ब्रोकर र काफ्का ग्राहक दुवैका लागि आवश्यक प्रमाणपत्रहरू उपलब्ध गरिसकेपछि, तपाईं नियन्त्रण केन्द्रमा चलिरहेको काफ्का ब्रोकर कन्फिगर गरेर जारी राख्न सक्नुहुन्छ। तपाईंले निम्न जान्न आवश्यक छ:
- : नियन्त्रण केन्द्रको सार्वजनिक होस्टनाम; यो काफ्का ग्राहकहरु द्वारा समाधान योग्य र पहुँचयोग्य हुनुपर्छ।
- : SSL प्रमाणपत्र सिर्जना गर्दा किस्टोर पासवर्ड प्रदान गरियो।
- र : यी पासवर्डहरू हुन् जुन तपाईंले क्रमशः प्रशासक र ग्राहक प्रयोगकर्ताका लागि सेट गर्न चाहनुहुन्छ।
नोट गर्नुहोस् कि तपाईले थप प्रयोगकर्ताहरू थप्न सक्नुहुन्छ, जस्तै पूर्वमा संकेत गरिएको छample।
सम्पादन गर्नुहोस् वा जोड्नुहोस् (sudo पहुँचको साथ) तलका गुणहरू /etc/kafka/server.properties मा, देखाइए अनुसार माथिका चरहरू घुसाउनुहोस्:
चेतावनी: PLAINTEXT://localhost:9092 नहटाउनुहोस्; आन्तरिक सेवाहरूले सञ्चार गर्न नसक्ने हुनाले यसले नियन्त्रण केन्द्रको कार्यक्षमतालाई तोड्नेछ।
…# काफ्का दलालले सुनेका ठेगानाहरू।
श्रोताहरू=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 आवश्यक \ username=”admin” \ password=” " \ user_admin = " \ user_client = " "; # नोट प्रयोगकर्तासँग थप प्रयोगकर्ताहरू थप्न सकिन्छ_ =
# प्राधिकरण, ACLs authorizer.class.name=kafka.security.authorizer.AclAuthorizer लाई सक्रिय गर्नुहोस् super.users=User:admin
पहुँच नियन्त्रण सूचीहरू (ACLs) सेटअप गर्दै
लोकलहोस्टमा ACL अन गर्दै
चेतावनी: हामीले पहिले स्थानीयहोस्टको लागि ACL हरू सेट अप गर्नुपर्छ, ताकि नियन्त्रण केन्द्र आफैले अझै पनि काफ्का पहुँच गर्न सक्छ। यदि यो गरिएन भने, चीजहरू बिग्रन्छ।
######### बेनामी प्रयोगकर्ताहरूको लागि 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 '*
त्यसपछि बाह्य प्रयोगकर्ताहरूलाई paa.public.* विषयहरू पढ्न अनुमति दिनको लागि हामीले बाह्य पढ्ने-मात्र पहुँचको लागि ACLs सक्षम गर्न आवश्यक छ।
नोट: थप फाइन-ग्रेन्ड नियन्त्रणको लागि, कृपया आधिकारिक काफ्का कागजातहरू हेर्नुहोस्।
########## बाह्य प्रयोगकर्ताहरूको लागि ACL प्रविष्टिहरू
/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। - संसाधन-ढाँचा-प्रकार उपसर्ग
यो गरेपछि, तपाईंले सेवाहरू पुन: सुरु गर्न आवश्यक छ:
sudo ncc सेवाहरू पुन: सुरु गर्नुहोस्
क्लाइन्टले सुरक्षित जडान स्थापना गर्न सक्छ भनी प्रमाणित गर्न, बाह्य क्लाइन्ट कम्प्युटरमा निम्न आदेश चलाउनुहोस् (नियन्त्रण केन्द्र सर्भरमा होइन)। तल, PUBLIC_HOSTNAME नियन्त्रण केन्द्रको होस्टनाम हो:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "सुरक्षित पुनर्गठन समर्थित छ"
आदेश आउटपुटमा तपाईंले सर्भर प्रमाणपत्र साथै निम्न देख्नुपर्छ:
सुरक्षित पुनर्गठन IS समर्थित
काफ्का सर्भरमा आन्तरिक सेवाहरूलाई पहुँच प्रदान गरिएको छ भनी सुनिश्चित गर्न, कृपया निम्न लग जाँच गर्नुहोस्files:
बाह्य ग्राहक जडान प्रमाणित गर्दै
kafkacat
नोट: यी निर्देशनहरू क्लाइन्ट कम्प्युटर (कन्ट्रोल सेन्टर सर्भरमा होइन) मा चलाउनु पर्छ।
नोट: मेट्रिक्स जानकारी प्रदर्शन गर्न, कम्तिमा एक मनिटर नियन्त्रण केन्द्र मा चलिरहेको छ भनेर सुनिश्चित गर्नुहोस्।
बाह्य ग्राहकको रूपमा जडान प्रमाणित गर्न र प्रमाणित गर्न, पृष्ठ 4 मा "स्ट्रिमिङ एपीआईले काम गर्दछ" भन्ने खण्डमा स्थापित भएको 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 को पुरानो संस्करणहरूले ग्राहक सेटिङहरू पढ्नको लागि -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)। यी सन्देशहरूका लागि योजनाहरू निम्न ढाँचामा पछ्याउँछन्:
मेट्रिक्स प्रोटोबफ स्कीमा
वाक्य रचना = "proto3"; आयात गर्नुहोस् "google/protobuf/timestampप्रोटो"; प्याकेज paa.streamingapi; विकल्प go_package = ".;paa_streamingapi"; सन्देश मेट्रिक्स { google.protobuf.Timestamp टाइमस्टamp = 1; नक्सा मान = २; int2 मापन_आईडी = 32; } /** * एक मेट्रिक मान या त पूर्णांक वा फ्लोट हुन सक्छ। */
सन्देश MetricValue { प्रकारको एक { int64 int_val = 1; float float_val = 2; } }
मेटाडेटा प्रोटोबफ स्कीमा
वाक्य रचना = "proto3"; प्याकेज paa.streamingapi; विकल्प go_package = ".;paa_streamingapi"; सन्देश मेटाडाटा { int32 मापन_id = 1; स्ट्रिङ मापन_नाम = 2; नक्सा tags = १३; }
ग्राहक पूर्वampलेस
नोट: यी आदेशहरू बाह्य क्लाइन्टमा चलाउनको लागि, पूर्वका लागिampतपाईंको ल्यापटप वा समान, र नियन्त्रण केन्द्रमा होइन।
नोट: मेट्रिक्स जानकारी प्रदर्शित गर्न, कम्तिमा एउटा मनिटर नियन्त्रण केन्द्रमा चलिरहेको छ भनेर सुनिश्चित गर्नुहोस्।
कन्ट्रोल सेन्टर टारबलले अभिलेख paa-streaming-api-client-ex समावेश गर्दछamples.tar.gz (ग्राहक-पूर्वamples), जसमा एक पूर्व समावेश छample पाइथन स्क्रिप्टले स्ट्रिमिङ API कसरी प्रयोग गर्ने भनेर देखाउँदै।
क्लाइन्ट स्थापना र कन्फिगर गर्दै पूर्वampलेस
तपाईंले ग्राहक-पूर्व फेला पार्नुभयोampParagon Active Assurance Control Center फोल्डरमा les:
निर्यात CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-exampलेस*
ग्राहक-पूर्व स्थापना गर्नampतपाईंको बाह्य ग्राहक कम्प्युटरमा, निम्नानुसार अगाडि बढ्नुहोस्:
# ग्राहक पूर्वको सामग्री निकाल्नको लागि निर्देशिका सिर्जना गर्नुहोस्amples tarball mkdir paa-streaming-api-client-exampलेस
# ग्राहक पूर्वको सामग्री निकाल्नुहोस्amples tarball tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-exampलेस
# नयाँ सिर्जना गरिएको डाइरेक्टरी cd paa-streaming-api-client-ex मा जानुहोस्ampलेस ग्राहक-पूर्वampलेस चलाउन डकर आवश्यक छ। डकरका लागि डाउनलोड र स्थापना निर्देशनहरू फेला पार्न सकिन्छ https://docs.docker.com/engine/install.
ग्राहक Exampलेस
ग्राहक - पूर्वampलेस उपकरणहरू पूर्व निर्माण गर्न आधारभूत वा उन्नत मोडमा चल्न सक्छampविभिन्न जटिलताहरू। दुबै अवस्थामा, पूर्व चलाउन पनि सम्भव छampएक कन्फिगरेसन संग file ग्राहक पक्षको थप अनुकूलनको लागि अतिरिक्त गुणहरू समावेश।
आधारभूत मोड आधारभूत मोडमा, मेट्रिक्स र तिनीहरूको मेटाडेटा अलग-अलग स्ट्रिम गरिन्छ। यस अन्तको लागि, ग्राहकले बाह्य पहुँचको लागि उपलब्ध प्रत्येक काफ्का विषय सुन्छ र प्राप्त सन्देशहरू कन्सोलमा प्रिन्ट गर्दछ।
आधारभूत पूर्व को कार्यान्वयन सुरु गर्नampलेस, रन: ./build.sh run-basic –kafka-brokers localhost:9092 –खाता ACCOUNT_SHORTNAME
जहाँ ACCOUNT_SHORTNAME तपाईले मेट्रिक्स प्राप्त गर्न चाहनु भएको खाताको छोटो नाम हो।
पूर्व को मृत्युदण्ड समाप्त गर्नample, Ctrl + C थिच्नुहोस्। (कार्यान्वयन रोकिनु अघि थोरै ढिलाइ हुन सक्छ किनभने ग्राहकले टाइमआउट घटनाको लागि पर्खिरहेको छ।)
उन्नत मोड
नोट: मेट्रिकहरू केवल नियन्त्रण केन्द्रमा चलिरहेको HTTP मनिटरहरूको लागि प्रदर्शित हुन्छन्।
उन्नत मोडमा कार्यान्वयनले मेट्रिक्स र मेटाडेटा सन्देशहरू बीचको सम्बन्ध देखाउँछ। स्ट्रिम आईडी फिल्डको प्रत्येक मेट्रिक्स सन्देशमा उपस्थितिको लागि यो सम्भव छ जसले सम्बन्धित मेटाडेटा सन्देशलाई जनाउँछ।
उन्नत पूर्व कार्यान्वयन गर्नamples, run: ./build.sh run-advanced –kafka-brokers localhost:9092 –खाता ACCOUNT_SHORTNAME जहाँ ACCOUNT_SHORTNAME तपाईले मेट्रिक्स प्राप्त गर्न चाहनु भएको खाताको छोटो नाम हो।
पूर्व को मृत्युदण्ड समाप्त गर्नample, Ctrl + C थिच्नुहोस्। (कार्यान्वयन रोकिनु अघि थोरै ढिलाइ हुन सक्छ किनभने ग्राहकले टाइमआउट घटनाको लागि पर्खिरहेको छ।)
अतिरिक्त सेटिङहरू
पूर्व चलाउन सम्भव छamp-कन्फिगरेसन प्रयोग गरेर ग्राहकको अतिरिक्त कन्फिगरेसनको साथ।file विकल्प पछि a file फारम कुञ्जी = मानमा गुणहरू समावेश गर्ने नाम।
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –खाता 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-client-exampलेस - हालको डाइरेक्टरीमा CA मूल प्रमाणपत्र ca-cert प्रतिलिपि गर्नुहोस्।
- ग्राहक गुणहरू सिर्जना गर्नुहोस् 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 काफ्का ब्रोकर SSL प्रमाणपत्र भण्डारण गर्नका लागि
- एक ट्रस्टस्टोर file काफ्का ब्रोकर प्रमाणपत्रमा हस्ताक्षर गर्न प्रयोग गरिने प्रमाणपत्र प्राधिकरण (CA) मूल प्रमाणपत्र भण्डारण गर्नका लागि।
काफ्का ब्रोकर प्रमाणपत्र सिर्जना गर्दै
वास्तविक प्रमाणपत्र प्राधिकरण प्रयोग गरी प्रमाणपत्र सिर्जना गर्दै (सिफारिस गरिएको)
यो सिफारिस गरिन्छ कि तपाइँ एक विश्वसनीय CA बाट वास्तविक SSL प्रमाणपत्र प्राप्त गर्नुहोस्।
एकपटक तपाईंले CA मा निर्णय गरेपछि, तिनीहरूको CA मूल प्रमाणपत्र ca-cert प्रतिलिपि गर्नुहोस् 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 उत्पन्न गर्नुहोस्
ग्राहक ट्रस्टस्टोर सिर्जना गर्दै
अब तपाइँ ट्रस्टस्टोर बनाउन सक्नुहुन्छ file जसमा माथि उत्पन्न गरिएको ca-cert समावेश छ। यो file काफ्का क्लाइन्टलाई आवश्यक पर्नेछ जसले स्ट्रिमिङ API पहुँच गर्नेछ:
keytool -keystore kafka.client.truststore.jks \ -alias CARoot \ -importcert -file ${CA_PATH}/ca-cert
अब जब CA प्रमाणपत्र ट्रस्टस्टोरमा छ, ग्राहकले यससँग हस्ताक्षर गरिएको कुनै पनि प्रमाणपत्रलाई विश्वास गर्नेछ।
तपाईंले प्रतिलिपि गर्नुपर्छ file kafka.client.truststore.jks लाई तपाइँको क्लाइन्ट कम्प्यूटरमा ज्ञात स्थानमा जानुहोस् र सेटिङहरूमा देखाउनुहोस्।
काफ्का ब्रोकरको लागि किस्टोर सिर्जना गर्दै
काफ्का ब्रोकर 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 \ -alias सर्भर \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
प्रमाणपत्र हस्ताक्षर अनुरोध सिर्जना गर्नुहोस् र यसलाई भण्डारण गर्नुहोस् file नाम दिइएको cert-server-request:
keytool -keystore kafka.server.keystore.jks \ -alias सर्भर \ -certreq \ -file प्रमाणपत्र-सर्भर-अनुरोध
तपाईले अब पठाउनु पर्छ file यदि तपाइँ एक वास्तविक प्रयोग गर्दै हुनुहुन्छ भने तपाइँको प्रमाणपत्र प्राधिकरण (CA) लाई cert-server-अनुरोध। त्यसपछि उनीहरूले हस्ताक्षर गरेको प्रमाणपत्र फिर्ता गर्नेछन्। हामी यसलाई तल प्रमाणपत्र-सर्भर-हस्ताक्षरित रूपमा उल्लेख गर्नेछौं। स्व-निर्मित 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 \ -in cert-server-request \ -out cert-server-signed \ -दिन ९९९ -CAcreateserial \ -passin पास:{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 \ -alias सर्भर \ -import \ -file प्रमाणपत्र-सर्भर-हस्ताक्षरित
द file kafka.server.keystore.jks लाई कन्ट्रोल सेन्टर सर्भरको ज्ञात स्थानमा प्रतिलिपि गरिनु पर्छ, र त्यसपछि /etc/kafka/server.properties मा उल्लेख गरिएको छ।
स्ट्रिमिङ API प्रयोग गर्दै
सामान्य
स्ट्रिमिङ API ले परीक्षण र मोनिटर डेटा दुवै ल्याउँछ। यी मध्ये कुनै एक वर्गलाई छुट्याउन सम्भव छैन।
स्ट्रिमिङ API ले लिपि-आधारित परीक्षणहरूबाट डेटा ल्याउँदैन (नियन्त्रण केन्द्र GUI मा जिगस टुक्राको सट्टा आयतद्वारा प्रतिनिधित्व गरिएको), जस्तै इथरनेट सेवा सक्रियता परीक्षण र पारदर्शिता परीक्षणहरू।
काफ्का विषय नामहरू
स्ट्रिमिङ API को लागि काफ्का विषय नामहरू निम्नानुसार छन्, जहाँ %s नियन्त्रणको छोटो नाम हो।
केन्द्र खाता (खाता सिर्जना गर्दा संकेत गरिएको):
const (exporterName = "kafka"metadataTopicTpl = "paa.public.accounts.%s.metadata" metricsTopicTpl = "paa.public.accounts.%s.metrics")
Exampस्ट्रिमिङ API प्रयोग गरेर
पूर्वampपछ्याउने les tarball paa-streaming-api-client-ex मा पाइन्छamples.tar.gz नियन्त्रण केन्द्र टारबल भित्र समावेश छ।
पहिलो, त्यहाँ एक आधारभूत पूर्व छampले कसरी मेट्रिक्स र तिनीहरूको मेटाडेटा अलग-अलग स्ट्रिम गरिन्छ र कन्सोलमा प्राप्त सन्देशहरू प्रिन्ट गर्ने प्रदर्शन गर्दछ। तपाइँ यसलाई निम्न रूपमा चलाउन सक्नुहुन्छ: sudo ./build.sh run-basic –kafka-brokers localhost:9092 -खाता ACCOUNT_SHORTNAME
त्यहाँ एक थप उन्नत पूर्व पनि छampजहाँ मेट्रिक्स र मेटाडेटा सन्देशहरू सहसम्बन्धित छन्। यसलाई चलाउन यो आदेश प्रयोग गर्नुहोस्:
sudo। वैकल्पिक रूपमा, तपाइँ sudo बिना डकर आदेशहरू चलाउन सक्षम हुन लिनक्स पोस्ट-स्थापना चरणहरू पालना गर्न सक्नुहुन्छ।
विवरणहरूको लागि, जानुहोस् docs.docker.com/engine/install/linux-postinstall.
जुनिपर नेटवर्क, जुनिपर नेटवर्क लोगो, जुनिपर, र जुनोस संयुक्त राज्य अमेरिका र अन्य देशहरूमा जुनिपर नेटवर्क, Inc. का दर्ता ट्रेडमार्कहरू हुन्। अन्य सबै ट्रेडमार्कहरू, सेवा चिन्हहरू, दर्ता चिन्हहरू, वा दर्ता गरिएका सेवा चिन्हहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्। जुनिपर नेटवर्कले यस कागजातमा कुनै पनि त्रुटिहरूको लागि कुनै जिम्मेवारी लिने छैन। जुनिपर नेटवर्कले सूचना बिना यो प्रकाशनलाई परिवर्तन, परिमार्जन, स्थानान्तरण वा अन्यथा परिमार्जन गर्ने अधिकार सुरक्षित राख्छ। प्रतिलिपि अधिकार © 2022 जुनिपर नेटवर्क्स, Inc. सबै अधिकार सुरक्षित।

कागजातहरू / स्रोतहरू
![]() | स्ट्रिमिङ API |
सन्दर्भहरू
- प्रयोगकर्ता पुस्तिकाmanual.tools
