എഞ്ചിനീയറിംഗ് ലാളിത്യം
സ്ട്രീമിംഗ് API ഗൈഡ്
ആമുഖം
ഉൽപ്പന്നത്തിന്റെ സ്ട്രീമിംഗ് API വഴി പാരഗൺ ആക്റ്റീവ് അഷ്വറൻസിൽ നിന്ന് എങ്ങനെ ഡാറ്റ എക്സ്ട്രാക്റ്റ് ചെയ്യാമെന്ന് ഈ ഗൈഡ് വിവരിക്കുന്നു.
എപിഐയും സ്ട്രീമിംഗ് ക്ലയന്റും പാരഗൺ ആക്റ്റീവ് അഷ്വറൻസ് ഇൻസ്റ്റാളേഷനിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
എന്നിരുന്നാലും, നിങ്ങൾക്ക് API ഉപയോഗിക്കുന്നതിന് മുമ്പ് കുറച്ച് കോൺഫിഗറേഷൻ ആവശ്യമാണ്. പേജ് 1 അധ്യായത്തിലെ "സ്ട്രീമിംഗ് API കോൺഫിഗർ ചെയ്യൽ" എന്നതിൽ ഇത് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
കഴിഞ്ഞുview
കാഫ്ക വഴി മെട്രിക്സ് സന്ദേശങ്ങൾ സബ്സ്ക്രൈബുചെയ്യാൻ അനുവദിക്കുന്നതിന് സ്ട്രീമിംഗ് API എങ്ങനെ കോൺഫിഗർ ചെയ്യാമെന്ന് ഈ അധ്യായം വിവരിക്കുന്നു.
ചുവടെ ഞങ്ങൾ കടന്നുപോകും:
- സ്ട്രീമിംഗ് API എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം
- ബാഹ്യ ക്ലയന്റുകളെ ശ്രദ്ധിക്കാൻ കാഫ്ക എങ്ങനെ ക്രമീകരിക്കാം
- ACL-കൾ ഉപയോഗിക്കുന്നതിന് കാഫ്ക എങ്ങനെ കോൺഫിഗർ ചെയ്യാം, പറഞ്ഞ ക്ലയന്റുകൾക്കായി SSL എൻക്രിപ്ഷൻ സജ്ജീകരിക്കാം
എന്താണ് കാഫ്ക?
ഇവന്റ് സ്ട്രീമുകളുടെ രൂപത്തിൽ വിവിധ ഇവന്റ് സ്രോതസ്സുകളിൽ നിന്ന് (സെൻസറുകൾ, ഡാറ്റാബേസുകൾ, മൊബൈൽ ഉപകരണങ്ങൾ) അയയ്ക്കുന്ന ഡാറ്റ തത്സമയ ക്യാപ്ചർ ചെയ്യാൻ അനുവദിക്കുന്ന ഒരു ഇവന്റ് സ്ട്രീമിംഗ് പ്ലാറ്റ്ഫോമാണ് കാഫ്ക.
വിതരണം ചെയ്തതും ഉയർന്ന തോതിലുള്ളതും ഇലാസ്റ്റിക് ആയതും തെറ്റ് സഹിഷ്ണുതയുള്ളതും സുരക്ഷിതവുമായ രീതിയിൽ ഇവന്റ് സ്ട്രീമിംഗ് അവസാനം മുതൽ അവസാനം വരെ നിയന്ത്രിക്കാൻ കാഫ്ക ഉപയോഗിച്ച് സാധ്യമാണ്.
കുറിപ്പ്: കാഫ്കയെ വ്യത്യസ്ത രീതികളിൽ ക്രമീകരിക്കാം, സ്കേലബിളിറ്റിക്കും അനാവശ്യ സംവിധാനങ്ങൾക്കും വേണ്ടി രൂപകൽപ്പന ചെയ്തതാണ്. പാരഗൺ ആക്റ്റീവ് അഷ്വറൻസ് കൺട്രോൾ സെന്ററിൽ കാണുന്ന സ്ട്രീമിംഗ് API ഫീച്ചർ ഉപയോഗിക്കുന്നതിന് ഇത് എങ്ങനെ കോൺഫിഗർ ചെയ്യാം എന്നതിൽ മാത്രമാണ് ഈ ഡോക്യുമെന്റ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്. കൂടുതൽ വിപുലമായ സജ്ജീകരണങ്ങൾക്കായി ഞങ്ങൾ ഔദ്യോഗിക കാഫ്ക ഡോക്യുമെന്റേഷൻ റഫർ ചെയ്യുന്നു: kafka.apache.org/26/documentation.html.
ടെർമിനോളജി
- കാഫ്ക: ഇവന്റ്-സ്ട്രീമിംഗ് പ്ലാറ്റ്ഫോം.
- കാഫ്ക വിഷയം: സംഭവങ്ങളുടെ ശേഖരം.
- കാഫ്ക വരിക്കാരൻ/ഉപഭോക്താവ്: കാഫ്ക വിഷയത്തിൽ സംഭരിച്ചിരിക്കുന്ന ഇവന്റുകൾ വീണ്ടെടുക്കുന്നതിനുള്ള ഉത്തരവാദിത്തമുള്ള ഘടകം.
- കാഫ്ക ബ്രോക്കർ: ഒരു കാഫ്ക ക്ലസ്റ്ററിന്റെ സ്റ്റോറേജ് ലെയർ സെർവർ.
- SSL/TLS: ഇൻറർനെറ്റിലൂടെ സുരക്ഷിതമായി വിവരങ്ങൾ അയയ്ക്കുന്നതിനായി വികസിപ്പിച്ചെടുത്ത ഒരു സുരക്ഷിത പ്രോട്ടോക്കോൾ ആണ് SSL. 1999-ൽ അവതരിപ്പിച്ച SSL-ന്റെ പിൻഗാമിയാണ് TLS.
- SASL: ഉപയോക്തൃ ആധികാരികത, ഡാറ്റ സമഗ്രത പരിശോധിക്കൽ, എൻക്രിപ്ഷൻ എന്നിവയ്ക്കുള്ള സംവിധാനങ്ങൾ നൽകുന്ന ചട്ടക്കൂട്.
- സ്ട്രീമിംഗ് API സബ്സ്ക്രൈബർ: പാരഗൺ ആക്റ്റീവ് അഷ്വറൻസിൽ നിർവചിച്ചിരിക്കുന്നതും ബാഹ്യ ആക്സസിനായി ഉദ്ദേശിച്ചിട്ടുള്ളതുമായ വിഷയങ്ങളിൽ സംഭരിച്ചിരിക്കുന്ന ഇവന്റുകൾ വീണ്ടെടുക്കുന്നതിനുള്ള ഉത്തരവാദിത്തമുള്ള ഘടകം.
- സർട്ടിഫിക്കറ്റ് അതോറിറ്റി: പൊതു കീ സർട്ടിഫിക്കറ്റുകൾ നൽകുകയും പിൻവലിക്കുകയും ചെയ്യുന്ന ഒരു വിശ്വസനീയ സ്ഥാപനം.
- സർട്ടിഫിക്കറ്റ് അതോറിറ്റി റൂട്ട് സർട്ടിഫിക്കറ്റ്: ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റിയെ തിരിച്ചറിയുന്ന പൊതു കീ സർട്ടിഫിക്കറ്റ്.
സ്ട്രീമിംഗ് API എങ്ങനെ പ്രവർത്തിക്കുന്നു
മുമ്പ് സൂചിപ്പിച്ചതുപോലെ, സ്ട്രീമിംഗ് API ബാഹ്യ ക്ലയന്റുകളെ കാഫ്കയിൽ നിന്ന് മെട്രിക്സിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ വീണ്ടെടുക്കാൻ അനുവദിക്കുന്നു.
ഒരു ടെസ്റ്റ് അല്ലെങ്കിൽ മോണിറ്ററിംഗ് ടാസ്ക് സമയത്ത് ടെസ്റ്റ് ഏജന്റുമാർ ശേഖരിക്കുന്ന എല്ലാ മെട്രിക്കുകളും സ്ട്രീം സേവനത്തിലേക്ക് അയയ്ക്കുന്നു.
ഒരു പ്രോസസ്സിംഗ് ഘട്ടത്തിന് ശേഷം, അധിക മെറ്റാഡാറ്റയ്ക്കൊപ്പം സ്ട്രീം സേവനം കാഫ്കയിൽ ആ മെട്രിക്കുകൾ പ്രസിദ്ധീകരിക്കുന്നു.
കാഫ്ക വിഷയങ്ങൾ
എല്ലാ ഡാറ്റയും പ്രസിദ്ധീകരിക്കുന്ന വിഷയങ്ങളുടെ ആശയം കാഫ്കയിലുണ്ട്. പാരഗൺ ആക്റ്റീവ് അഷ്വറൻസിൽ അത്തരം നിരവധി കാഫ്ക വിഷയങ്ങൾ ലഭ്യമാണ്; എന്നിരുന്നാലും, ഇവയുടെ ഒരു ഉപവിഭാഗം മാത്രമേ ബാഹ്യ പ്രവേശനത്തിനായി ഉദ്ദേശിച്ചിട്ടുള്ളൂ.
നിയന്ത്രണ കേന്ദ്രത്തിലെ ഓരോ പാരഗൺ ആക്റ്റീവ് അഷ്വറൻസ് അക്കൗണ്ടിനും രണ്ട് പ്രത്യേക വിഷയങ്ങളുണ്ട്. താഴെ, 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
streaming-api: true
സ്ട്രീമിംഗ് API സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിനും ആരംഭിക്കുന്നതിനും, പ്രവർത്തിപ്പിക്കുക:
sudo ncc സേവനങ്ങൾ ടൈംസ്കെയിൽഡ് ബി മെട്രിക്സ് പ്രാപ്തമാക്കുന്നു sudo ncc സേവനങ്ങൾ ടൈംസ്കെയിൽഡ് ബി മെട്രിക്സ് ആരംഭിക്കുന്നു
അവസാനമായി, സേവനങ്ങൾ പുനരാരംഭിക്കുക:
sudo ncc സേവനങ്ങൾ പുനരാരംഭിക്കുന്നു
നിയന്ത്രണ കേന്ദ്രത്തിൽ സ്ട്രീമിംഗ് API പ്രവർത്തിക്കുന്നുവെന്ന് പരിശോധിക്കുന്നു
കുറിപ്പ്: ഈ നിർദ്ദേശങ്ങൾ കൺട്രോൾ സെന്റർ സെർവറിൽ പ്രവർത്തിപ്പിക്കേണ്ടതാണ്.
ശരിയായ കാഫ്ക വിഷയങ്ങളിൽ നിങ്ങൾക്ക് മെട്രിക്സ് ലഭിക്കുന്നുണ്ടെന്ന് ഇപ്പോൾ നിങ്ങൾക്ക് പരിശോധിച്ചുറപ്പിക്കാം. അതിനായി, kafkacat യൂട്ടിലിറ്റി ഇൻസ്റ്റാൾ ചെയ്യുക:
sudo apt-get update sudo apt-get install 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ലെസ് ”പേജ് 14 ൽ
നിയന്ത്രണ കേന്ദ്രത്തിൽ നിന്ന് ഞങ്ങൾക്ക് ഒരു പ്രവർത്തിക്കുന്ന സ്ട്രീമിംഗ് API ഉണ്ടെന്ന് ഇത് സ്ഥിരീകരിക്കുന്നു. എന്നിരുന്നാലും, പകരം ഒരു ബാഹ്യ ക്ലയന്റിൽ നിന്ന് ഡാറ്റ ആക്സസ് ചെയ്യാൻ നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ട്. ബാഹ്യ പ്രവേശനത്തിനായി കാഫ്ക എങ്ങനെ തുറക്കാമെന്ന് അടുത്ത വിഭാഗം വിവരിക്കുന്നു.
ബാഹ്യ ഹോസ്റ്റുകൾക്കായി കാഫ്ക തുറക്കുന്നു
കുറിപ്പ്: ഈ നിർദ്ദേശങ്ങൾ കൺട്രോൾ സെന്റർ സെർവറിൽ പ്രവർത്തിപ്പിക്കേണ്ടതാണ്.
ഡിഫോൾട്ടായി, കൺട്രോൾ സെന്ററിൽ പ്രവർത്തിക്കുന്ന കാഫ്ക, ആന്തരിക ഉപയോഗത്തിനായി ലോക്കൽ ഹോസ്റ്റിൽ മാത്രം കേൾക്കാൻ ക്രമീകരിച്ചിരിക്കുന്നു.
കാഫ്ക ക്രമീകരണങ്ങൾ പരിഷ്ക്കരിക്കുന്നതിലൂടെ ബാഹ്യ ക്ലയന്റുകൾക്കായി കാഫ്ക തുറക്കാൻ സാധിക്കും.
കാഫ്കയുമായി ബന്ധിപ്പിക്കുന്നു: മുന്നറിയിപ്പ്
ജാഗ്രത: ദയവായി ഇത് ശ്രദ്ധാപൂർവ്വം വായിക്കുക, കാരണം നിങ്ങൾക്ക് ഈ ആശയങ്ങൾ മനസ്സിലായിട്ടില്ലെങ്കിൽ കാഫ്കയുമായുള്ള കണക്ഷൻ പ്രശ്നങ്ങൾ നേരിടാൻ എളുപ്പമാണ്.
ഈ ഡോക്യുമെന്റിൽ വിവരിച്ചിരിക്കുന്ന നിയന്ത്രണ കേന്ദ്ര സജ്ജീകരണത്തിൽ, ഒരൊറ്റ കാഫ്ക ബ്രോക്കർ മാത്രമേയുള്ളൂ.
എന്നിരുന്നാലും, ഒരു കാഫ്ക ബ്രോക്കർ എന്നത് ഒരു കാഫ്ക ക്ലസ്റ്ററിന്റെ ഭാഗമായി പ്രവർത്തിക്കാനാണ് ഉദ്ദേശിക്കുന്നത്, അതിൽ നിരവധി കാഫ്ക ബ്രോക്കർമാർ ഉൾപ്പെട്ടേക്കാം.
ഒരു കാഫ്ക ബ്രോക്കറുമായി ബന്ധിപ്പിക്കുമ്പോൾ, കാഫ്ക ക്ലയന്റ് ഒരു പ്രാരംഭ കണക്ഷൻ സജ്ജീകരിക്കുന്നു. ഈ കണക്ഷനിലൂടെ കാഫ്ക ബ്രോക്കർ ഒന്നോ അതിലധികമോ കാഫ്ക ബ്രോക്കർമാരുടെ പട്ടികയായ "പരസ്യം ചെയ്യപ്പെട്ട ശ്രോതാക്കളുടെ" ഒരു ലിസ്റ്റ് തിരികെ നൽകും.
ഈ ലിസ്റ്റ് ലഭിക്കുമ്പോൾ, കാഫ്ക ക്ലയന്റ് വിച്ഛേദിക്കും, തുടർന്ന് ഈ പരസ്യം ചെയ്ത ശ്രോതാക്കളിൽ ഒരാളുമായി വീണ്ടും കണക്റ്റുചെയ്യും. പരസ്യം ചെയ്ത ശ്രോതാക്കളിൽ കാഫ്ക ക്ലയന്റിലേക്ക് ആക്സസ് ചെയ്യാവുന്ന ഹോസ്റ്റ് നെയിമുകളോ IP വിലാസങ്ങളോ ഉണ്ടായിരിക്കണം, അല്ലെങ്കിൽ ക്ലയന്റ് കണക്റ്റുചെയ്യുന്നതിൽ പരാജയപ്പെടും.
ഒരു പ്രത്യേക ഹോസ്റ്റ്നാമവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു SSL സർട്ടിഫിക്കറ്റ് ഉൾപ്പെടുന്ന SSL എൻക്രിപ്ഷൻ ഉപയോഗിക്കുകയാണെങ്കിൽ, കണക്ഷൻ നിരസിക്കപ്പെട്ടേക്കാവുന്നതിനാൽ, കണക്ട് ചെയ്യുന്നതിനുള്ള ശരിയായ വിലാസം കാഫ്ക ക്ലയന്റിന് ലഭിക്കുന്നത് അതിലും പ്രധാനമാണ്.
കാഫ്ക ശ്രോതാക്കളെ കുറിച്ച് ഇവിടെ കൂടുതൽ വായിക്കുക: www.confluent.io/blog/kafka-listeners-explained
SSL/TLS എൻക്രിപ്ഷൻ
കാഫ്കയും സ്ട്രീമിംഗ് എപിഐയും ആക്സസ് ചെയ്യാൻ വിശ്വസ്തരായ ക്ലയന്റുകളെ മാത്രമേ അനുവദിക്കൂ എന്ന് ഉറപ്പാക്കാൻ, ഞങ്ങൾ ഇനിപ്പറയുന്നവ കോൺഫിഗർ ചെയ്യണം:
- പ്രാമാണീകരണം: ക്ലയന്റും കാഫ്കയും തമ്മിലുള്ള ഒരു SSL/TLS സുരക്ഷിത കണക്ഷനിലൂടെ ഉപഭോക്താക്കൾ ഉപയോക്തൃനാമവും പാസ്വേഡും നൽകണം.
- അംഗീകാരം: അംഗീകൃത ക്ലയന്റുകൾക്ക് ACL-കൾ നിയന്ത്രിക്കുന്ന ജോലികൾ ചെയ്യാൻ കഴിയും.
ഇതാ ഒരു ഓവർview:
*) ഒരു SSL-എൻക്രിപ്റ്റ് ചെയ്ത ചാനലിൽ ഉപയോക്തൃനാമം/പാസ്വേഡ് പ്രാമാണീകരണം നടത്തി
SSL/TLS എൻക്രിപ്ഷൻ കാഫ്കയ്ക്കായി എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് പൂർണ്ണമായി മനസ്സിലാക്കാൻ, ദയവായി ഔദ്യോഗിക ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക: docs.confluent.io/platform/current/kafka/encryption.html
SSL/TLS സർട്ടിഫിക്കറ്റ് കഴിഞ്ഞുview
കുറിപ്പ്: ഈ ഉപവിഭാഗത്തിൽ ഞങ്ങൾ ഇനിപ്പറയുന്ന പദാവലി ഉപയോഗിക്കും:
സർട്ടിഫിക്കറ്റ്: ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി (CA) ഒപ്പിട്ട ഒരു SSL സർട്ടിഫിക്കറ്റ് ഓരോ കാഫ്ക ബ്രോക്കർക്കും ഒരാളുണ്ട്.
കീസ്റ്റോർ: കീസ്റ്റോർ file അത് സർട്ടിഫിക്കറ്റ് സംഭരിക്കുന്നു. കീസ്റ്റോർ file സർട്ടിഫിക്കറ്റിന്റെ സ്വകാര്യ കീ അടങ്ങിയിരിക്കുന്നു; അതിനാൽ, അത് സുരക്ഷിതമായി സൂക്ഷിക്കേണ്ടതുണ്ട്.
ട്രസ്റ്റ്സ്റ്റോർ: A file വിശ്വസനീയമായ CA സർട്ടിഫിക്കറ്റുകൾ അടങ്ങിയിരിക്കുന്നു.
കൺട്രോൾ സെന്ററിൽ പ്രവർത്തിക്കുന്ന ഒരു എക്സ്റ്റേണൽ ക്ലയന്റും കാഫ്കയും തമ്മിലുള്ള പ്രാമാണീകരണം സജ്ജീകരിക്കുന്നതിന്, സിഎ റൂട്ട് സർട്ടിഫിക്കറ്റിനൊപ്പം ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി (സിഎ) ഒപ്പിട്ട അനുബന്ധ സർട്ടിഫിക്കറ്റുമായി നിർവചിച്ചിരിക്കുന്ന ഒരു കീസ്റ്റോർ ഇരുവശത്തും ഉണ്ടായിരിക്കണം.
ഇതുകൂടാതെ, ക്ലയന്റിന് CA റൂട്ട് സർട്ടിഫിക്കറ്റ് ഉള്ള ഒരു ട്രസ്റ്റ്സ്റ്റോറും ഉണ്ടായിരിക്കണം.
CA റൂട്ട് സർട്ടിഫിക്കറ്റ് കാഫ്ക ബ്രോക്കർക്കും കാഫ്ക ക്ലയന്റിനും സാധാരണമാണ്.
ആവശ്യമായ സർട്ടിഫിക്കറ്റുകൾ സൃഷ്ടിക്കുന്നു
ഇത് പേജ് 17-ലെ "അനുബന്ധം" ൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
നിയന്ത്രണ കേന്ദ്രത്തിൽ കാഫ്ക ബ്രോക്കർ SSL/TLS കോൺഫിഗറേഷൻ
കുറിപ്പ്: ഈ നിർദ്ദേശങ്ങൾ കൺട്രോൾ സെന്റർ സെർവറിൽ പ്രവർത്തിപ്പിക്കേണ്ടതാണ്.
കുറിപ്പ്: തുടരുന്നതിന് മുമ്പ്, പേജ് 17-ലെ "അനുബന്ധം" എന്നതിലെ നിർദ്ദേശങ്ങൾ പാലിച്ചുകൊണ്ട് നിങ്ങൾ SSL സർട്ടിഫിക്കറ്റ് അടങ്ങുന്ന കീസ്റ്റോർ സൃഷ്ടിക്കണം. താഴെ സൂചിപ്പിച്ചിരിക്കുന്ന പാതകൾ ഈ നിർദ്ദേശങ്ങളിൽ നിന്നാണ്.
SSL കീസ്റ്റോർ a file കൂടെ ഡിസ്കിൽ സംഭരിച്ചിരിക്കുന്നു file വിപുലീകരണം .jks.
കാഫ്ക ബ്രോക്കറിനും കാഫ്ക ക്ലയന്റിനും ആവശ്യമായ സർട്ടിഫിക്കറ്റുകൾ സൃഷ്ടിച്ചുകഴിഞ്ഞാൽ, നിയന്ത്രണ കേന്ദ്രത്തിൽ പ്രവർത്തിക്കുന്ന കാഫ്ക ബ്രോക്കർ കോൺഫിഗർ ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് തുടരാം. ഇനിപ്പറയുന്നവ നിങ്ങൾ അറിയേണ്ടതുണ്ട്:
- : നിയന്ത്രണ കേന്ദ്രത്തിന്റെ പൊതു ഹോസ്റ്റ്നാമം; ഇത് കാഫ്ക ക്ലയന്റുകൾക്ക് പരിഹരിക്കാവുന്നതും ആക്സസ് ചെയ്യാവുന്നതുമായിരിക്കണം.
- : SSL സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുമ്പോൾ നൽകിയിരിക്കുന്ന കീസ്റ്റോർ പാസ്വേഡ്.
- ഒപ്പം : അഡ്മിനും ക്ലയന്റ് ഉപയോക്താവിനും യഥാക്രമം നിങ്ങൾ സജ്ജമാക്കാൻ ആഗ്രഹിക്കുന്ന പാസ്വേഡുകളാണിത്.
മുൻ-ൽ സൂചിപ്പിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് കൂടുതൽ ഉപയോക്താക്കളെ ചേർക്കാനാകുമെന്നത് ശ്രദ്ധിക്കുകample.
മുകളിൽ പറഞ്ഞിരിക്കുന്ന വേരിയബിളുകൾ ചേർത്തുകൊണ്ട് /etc/kafka/server.properties-ൽ താഴെയുള്ള പ്രോപ്പർട്ടികൾ എഡിറ്റ് ചെയ്യുക അല്ലെങ്കിൽ കൂട്ടിച്ചേർക്കുക (sudo ആക്സസോടെ):
മുന്നറിയിപ്പ്: നീക്കം ചെയ്യരുത് PLAINTEXT://localhost:9092 ; ആന്തരിക സേവനങ്ങൾക്ക് ആശയവിനിമയം നടത്താൻ കഴിയാത്തതിനാൽ ഇത് നിയന്ത്രണ കേന്ദ്രത്തിന്റെ പ്രവർത്തനത്തെ തകർക്കും.
…# കാഫ്ക ബ്രോക്കർ ശ്രദ്ധിക്കുന്ന വിലാസങ്ങൾ.
ശ്രോതാക്കൾ=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# കണക്റ്റുചെയ്യുന്ന ഏതൊരു ക്ലയന്റിലേക്കും തിരികെ പരസ്യം ചെയ്യുന്ന ഹോസ്റ്റുകളാണിവ.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093…
####### കസ്റ്റം കോൺഫിഗറേഷൻ
# SSL കോൺഫിഗറേഷൻ
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=ഒന്നുമില്ല
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 ഓണാക്കുക
ആക്സസ് കൺട്രോൾ ലിസ്റ്റുകൾ (ACL) സജ്ജീകരിക്കുന്നു
ലോക്കൽ ഹോസ്റ്റിൽ ACL-കൾ ഓണാക്കുന്നു
മുന്നറിയിപ്പ്: ഞങ്ങൾ ആദ്യം ലോക്കൽ ഹോസ്റ്റിനായി ACL-കൾ സജ്ജീകരിക്കണം, അതുവഴി നിയന്ത്രണ കേന്ദ്രത്തിന് തന്നെ തുടർന്നും കാഫ്ക ആക്സസ് ചെയ്യാൻ കഴിയും. ഇത് ചെയ്തില്ലെങ്കിൽ കാര്യങ്ങൾ തകരും.
######### അജ്ഞാത ഉപയോക്താക്കൾക്കുള്ള ACL-കളുടെ എൻട്രികൾ
/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-ഗ്രൂപ്പ് '
ബാഹ്യ വായന-മാത്രം ആക്സസിനായി ഞങ്ങൾ ACL-കൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്, അതുവഴി ബാഹ്യ ഉപയോക്താക്കളെ paa.public.* വിഷയങ്ങൾ വായിക്കാൻ അനുവദിക്കും.
കുറിപ്പ്: കൂടുതൽ സൂക്ഷ്മമായ നിയന്ത്രണത്തിനായി, ഔദ്യോഗിക കാഫ്ക ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക.
######### ബാഹ്യ ഉപയോക്താക്കൾക്കുള്ള ACL-കളുടെ എൻട്രികൾ
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \–authorizer-properties zookeeper.connect=localhost:2181 \
–ചേർക്കുക –അനുവദിക്കുക-പ്രിൻസിപ്പൽ ഉപയോക്താവ്:* –ഓപ്പറേഷൻ റീഡ് –ഓപ്പറേഷൻ വിവരിക്കുക \–ഗ്രൂപ്പ് 'NCC'
/usr/lib/kafka/bin/kafka-acls.sh \
–authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–ചേർക്കുക –അനുവദിക്കുക-പ്രിൻസിപ്പൽ ഉപയോക്താവ്:* –ഓപ്പറേഷൻ റീഡ് –ഓപ്പറേഷൻ വിവരിക്കുക \
–വിഷയം paa.public. -വിഭവ-പാറ്റേൺ-തരം പ്രിഫിക്സ്
ഇത് ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങൾ സേവനങ്ങൾ പുനരാരംഭിക്കേണ്ടതുണ്ട്:
sudo ncc സേവനങ്ങൾ പുനരാരംഭിക്കുന്നു
ഒരു ക്ലയന്റിന് സുരക്ഷിതമായ ഒരു കണക്ഷൻ സ്ഥാപിക്കാനാകുമെന്ന് പരിശോധിക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് ഒരു ബാഹ്യ ക്ലയന്റ് കമ്പ്യൂട്ടറിൽ പ്രവർത്തിപ്പിക്കുക (നിയന്ത്രണ കേന്ദ്ര സെർവറിൽ അല്ല). താഴെ, PUBLIC_HOSTNAME എന്നത് നിയന്ത്രണ കേന്ദ്രത്തിന്റെ ഹോസ്റ്റ് നാമമാണ്:
openssl s_client -debug -കണക്ട് ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "സുരക്ഷിത പുനരാലോചന പിന്തുണയ്ക്കുന്നു"
കമാൻഡ് ഔട്ട്പുട്ടിൽ നിങ്ങൾ സെർവർ സർട്ടിഫിക്കറ്റും ഇനിപ്പറയുന്നവയും കാണും:
സുരക്ഷിതമായ പുനരാലോചനയെ പിന്തുണയ്ക്കുന്നു
ആന്തരിക സേവനങ്ങൾക്ക് കാഫ്ക സെർവറിലേക്ക് പ്രവേശനം അനുവദിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ, ദയവായി ഇനിപ്പറയുന്ന ലോഗ് പരിശോധിക്കുകfiles:
ബാഹ്യ ക്ലയന്റ് കണക്റ്റിവിറ്റി സാധൂകരിക്കുന്നു
കാഫ്കാക്കാറ്റ്
കുറിപ്പ്: ഈ നിർദ്ദേശങ്ങൾ ഒരു ക്ലയന്റ് കമ്പ്യൂട്ടറിൽ പ്രവർത്തിപ്പിക്കേണ്ടതാണ് (നിയന്ത്രണ കേന്ദ്ര സെർവറിൽ അല്ല).
കുറിപ്പ്: മെട്രിക്സ് വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന്, നിയന്ത്രണ കേന്ദ്രത്തിൽ ഒരു മോണിറ്ററെങ്കിലും പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
ഒരു എക്സ്റ്റേണൽ ക്ലയന്റ് എന്ന നിലയിൽ കണക്റ്റിവിറ്റി പരിശോധിച്ചുറപ്പിക്കാനും സാധൂകരിക്കാനും, പേജ് 4-ലെ “കൺട്രോൾ സെന്ററിൽ സ്ട്രീമിംഗ് API പ്രവർത്തിക്കുന്നുവെന്ന് പരിശോധിക്കുന്നു” എന്ന വിഭാഗത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള kafkacat യൂട്ടിലിറ്റി ഉപയോഗിക്കാൻ കഴിയും.
ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ നടപ്പിലാക്കുക:
കുറിപ്പ്: താഴെ, CLIENT_USER എന്നതിൽ മുമ്പ് വ്യക്തമാക്കിയ ഉപയോക്താവാണ് file /etc/kafka/server.properties in
നിയന്ത്രണ കേന്ദ്രം: അതായത്, user_client, അവിടെ സജ്ജീകരിച്ച പാസ്വേഡ്.
സെർവർ സൈഡ് SSL സർട്ടിഫിക്കറ്റിൽ ഒപ്പിടാൻ ഉപയോഗിക്കുന്ന CA റൂട്ട് സർട്ടിഫിക്കറ്റ് ക്ലയന്റിൽ ഉണ്ടായിരിക്കണം.
- എ സൃഷ്ടിക്കുക file ഇനിപ്പറയുന്ന ഉള്ളടക്കമുള്ള client.properties:
security.protocol=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mechanisms=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD} എവിടെ
• കാഫ്ക ബ്രോക്കർ ഉപയോഗിക്കുന്ന CA റൂട്ട് സർട്ടിഫിക്കറ്റിന്റെ ലൊക്കേഷനാണ് {PATH_TO_CA_CERT}
• {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
ഇവിടെ "paa.public" എന്ന പ്രിഫിക്സുള്ള കാഫ്ക വിഷയത്തിന്റെ പേരാണ് {METRICS_TOPIC}.
കുറിപ്പ്: 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 Broker -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 measurement_id = 3; } /** * ഒരു മെട്രിക് മൂല്യം ഒന്നുകിൽ ഒരു പൂർണ്ണസംഖ്യ അല്ലെങ്കിൽ ഒരു ഫ്ലോട്ട് ആകാം. */
സന്ദേശം MetricValue {ഒരു തരം {int64 int_val = 1; ഫ്ലോട്ട് float_val = 2; } }
മെറ്റാഡാറ്റ പ്രോട്ടോബഫ് സ്കീമ
വാക്യഘടന = "പ്രോട്ടോ3"; പാക്കേജ് paa.streamingapi; ഓപ്ഷൻ go_package = ".;paa_streamingapi"; സന്ദേശം മെറ്റാഡാറ്റ {int32 measurement_id = 1; സ്ട്രിംഗ് മെഷർമെന്റ്_നെയിം = 2; ഭൂപടം tags = 13; }
ക്ലയന്റ് എക്സ്ampലെസ്
കുറിപ്പ്: ഈ കമാൻഡുകൾ ഒരു ബാഹ്യ ക്ലയന്റിൽ പ്രവർത്തിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്, ഉദാഹരണത്തിന്ampനിങ്ങളുടെ ലാപ്ടോപ്പ് അല്ലെങ്കിൽ സമാനമായത്, നിയന്ത്രണ കേന്ദ്രത്തിലല്ല.
കുറിപ്പ്: മെട്രിക്സ് വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന്, നിയന്ത്രണ കേന്ദ്രത്തിൽ ഒരു മോണിറ്ററെങ്കിലും പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
നിയന്ത്രണ കേന്ദ്രം ടാർബോളിൽ ആർക്കൈവ് paa-streaming-api-client-ex ഉൾപ്പെടുന്നുamples.tar.gz (client-exampലെസ്), അതിൽ ഒരു മുൻ അടങ്ങിയിരിക്കുന്നുampസ്ട്രീമിംഗ് API എങ്ങനെ ഉപയോഗിക്കാമെന്ന് കാണിക്കുന്ന le പൈത്തൺ സ്ക്രിപ്റ്റ്.
ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുന്നു Exampലെസ്
നിങ്ങൾ ക്ലയന്റ്-എക്സ് കണ്ടെത്തുന്നുampപാരാഗൺ ആക്റ്റീവ് അഷ്വറൻസ് കൺട്രോൾ സെന്റർ ഫോൾഡറിൽ les:
കയറ്റുമതി CC_VERSION=3.3.1
cd ./paa-control-center_${CC_VERSION} ls paa-streaming-api-client-exampലെസ്*
ക്ലയന്റ്-എക്സ് ഇൻസ്റ്റാൾ ചെയ്യാൻampനിങ്ങളുടെ ബാഹ്യ ക്ലയന്റ് കമ്പ്യൂട്ടറിൽ, ഇനിപ്പറയുന്ന രീതിയിൽ തുടരുക:
# മുൻ ക്ലയന്റ് ഉള്ളടക്കം എക്സ്ട്രാക്റ്റുചെയ്യുന്നതിന് ഡയറക്ടറി സൃഷ്ടിക്കുകampലെസ് ടാർബോൾ mkdir paa-streaming-api-client-exampലെസ്
# ഉപഭോക്താവിന്റെ ഉള്ളടക്കം എക്സ്ട്രാക്റ്റ് ചെയ്യുകampലെസ് ടാർബോൾ ടാർ 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.
ക്ലയന്റ് എക്സ് ഉപയോഗിക്കുന്നുampലെസ്
ക്ലയന്റ്-മുൻampലെസ് ടൂളുകൾ നിർമ്മിക്കുന്നതിന് അടിസ്ഥാന അല്ലെങ്കിൽ വിപുലമായ മോഡിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുംampവ്യത്യസ്ത സങ്കീർണ്ണതകൾ. രണ്ട് സാഹചര്യങ്ങളിലും, എക്സിയെ പ്രവർത്തിപ്പിക്കാനും സാധിക്കുംampഒരു കോൺഫിഗറേഷൻ ഉള്ള les file ക്ലയന്റ് വശത്തെ കൂടുതൽ ഇഷ്ടാനുസൃതമാക്കുന്നതിനുള്ള അധിക പ്രോപ്പർട്ടികൾ അടങ്ങിയിരിക്കുന്നു.
അടിസ്ഥാന മോഡ് അടിസ്ഥാന മോഡിൽ, മെട്രിക്സും അവയുടെ മെറ്റാഡാറ്റയും വെവ്വേറെ സ്ട്രീം ചെയ്യുന്നു. ഇതിനായി, ക്ലയന്റ് ബാഹ്യ പ്രവേശനത്തിനായി ലഭ്യമായ ഓരോ കാഫ്ക വിഷയവും ശ്രദ്ധിക്കുകയും ലഭിച്ച സന്ദേശങ്ങൾ കൺസോളിലേക്ക് പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്നു.
അടിസ്ഥാന എക്സിക്യൂഷൻ ആരംഭിക്കുന്നതിന്amples, run: ./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 ACCOUNT_SHORTNAME ഇവിടെ ACCOUNT_SHORTNAME എന്നത് നിങ്ങൾ മെട്രിക്സ് ലഭിക്കാൻ ആഗ്രഹിക്കുന്ന അക്കൗണ്ടിന്റെ ഹ്രസ്വ നാമമാണ്.
മുൻ പ്രതിയുടെ വധശിക്ഷ അവസാനിപ്പിക്കാൻample, Ctrl + C അമർത്തുക. (നിർവ്വഹണം നിർത്തുന്നതിന് മുമ്പ് ഒരു ചെറിയ കാലതാമസം ഉണ്ടാകാം, കാരണം ക്ലയന്റ് ഒരു കാലഹരണപ്പെടൽ ഇവന്റിനായി കാത്തിരിക്കുന്നു.)
അധിക ക്രമീകരണങ്ങൾ
മുൻ പ്രവർത്തിപ്പിക്കാൻ സാധ്യമാണ്amp-config- ഉപയോഗിച്ച് ക്ലയന്റിന്റെ അധിക കോൺഫിഗറേഷൻ ഉള്ള lesfile ഓപ്ഷൻ പിന്നാലെ a file കീ=മൂല്യം എന്ന രൂപത്തിൽ ഉള്ള പ്രോപ്പർട്ടികൾ അടങ്ങിയ പേര്.
./build.sh run-advanced \ –kafka-brokers localhost:9092 \ –acCOUNT_SHORTNAME അക്കൗണ്ട് ACCOUNT_SHORTNAME \ –config-file client_config.properties
കുറിപ്പ്: എല്ലാം fileമുകളിലെ കമാൻഡിൽ പരാമർശിച്ചിരിക്കുന്ന s നിലവിലെ ഡയറക്ടറിയിൽ സ്ഥിതിചെയ്യുകയും ആപേക്ഷിക പാതകൾ മാത്രം ഉപയോഗിച്ച് റഫർ ചെയ്യുകയും വേണം. ഇത് - കോൺഫിഗറേഷനും ബാധകമാണ്.file ആർഗ്യുമെന്റും കോൺഫിഗറേഷനിലെ എല്ലാ എൻട്രികളിലേക്കും file അത് വിവരിക്കുന്നു file സ്ഥാനങ്ങൾ.
ബാഹ്യ ക്ലയന്റ് പ്രാമാണീകരണം സാധൂകരിക്കുന്നു
ക്ലയന്റ്-എക്സ് ഉപയോഗിച്ച് കൺട്രോൾ സെന്ററിന് പുറത്ത് നിന്ന് ക്ലയന്റ് പ്രാമാണീകരണം സാധൂകരിക്കുന്നതിന്ampലെസ്, ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ ചെയ്യുക:
- പാരാഗൺ ആക്റ്റീവ് അഷ്വറൻസ് കൺട്രോൾ സെന്റർ ഫോൾഡറിൽ നിന്ന്, paa-streaming-api-clientex-ലേക്ക് മാറുകampലെസ് ഫോൾഡർ:
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} എന്നിവ ക്ലയന്റിനുള്ള ഉപയോക്തൃ ക്രെഡൻഷ്യലുകളാണ്. - അടിസ്ഥാന മുൻ പ്രവർത്തിപ്പിക്കുകampകുറവ്:
കയറ്റുമതി KAFKA_FQDN= ./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \ –acCOUNT_SHORTNAME അക്കൗണ്ട്
-കോൺഫിഗേഷൻ-file ACCOUNT_SHORTNAME എന്നത് നിങ്ങൾ മെട്രിക്സ് ലഭിക്കാൻ ആഗ്രഹിക്കുന്ന അക്കൗണ്ടിന്റെ ഹ്രസ്വ നാമമായ client.properties. - വികസിത മുൻ പ്രവർത്തിപ്പിക്കുകampകുറവ്:
കയറ്റുമതി KAFKA_FQDN= ./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \ –acCOUNT_SHORTNAME–config- അക്കൗണ്ട്file ക്ലയന്റ്. പ്രോപ്പർട്ടികൾ
അനുബന്ധം
എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് ഈ അനുബന്ധത്തിൽ ഞങ്ങൾ വിവരിക്കുന്നു:
- ഒരു കീസ്റ്റോർ file കാഫ്ക ബ്രോക്കർ SSL സർട്ടിഫിക്കറ്റ് സംഭരിക്കുന്നതിന്
- ഒരു ട്രസ്റ്റ്സ്റ്റോർ file കാഫ്ക ബ്രോക്കർ സർട്ടിഫിക്കറ്റിൽ ഒപ്പിടാൻ ഉപയോഗിക്കുന്ന സർട്ടിഫിക്കറ്റ് അതോറിറ്റി (സിഎ) റൂട്ട് സർട്ടിഫിക്കറ്റ് സംഭരിക്കുന്നതിന്.
ഒരു കാഫ്ക ബ്രോക്കർ സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുന്നു
ഒരു യഥാർത്ഥ സർട്ടിഫിക്കറ്റ് അതോറിറ്റി ഉപയോഗിച്ച് ഒരു സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുന്നു (ശുപാർശ ചെയ്യുന്നു)
വിശ്വസനീയമായ CA-യിൽ നിന്ന് നിങ്ങൾക്ക് ഒരു യഥാർത്ഥ SSL സർട്ടിഫിക്കറ്റ് ലഭിക്കാൻ ശുപാർശ ചെയ്യുന്നു.
നിങ്ങൾ ഒരു സിഎ തീരുമാനിച്ചുകഴിഞ്ഞാൽ, അവരുടെ 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 സർട്ടിഫിക്കറ്റും തുടർന്ന് kafka.server.keystore.jks എന്ന കീസ്റ്റോറും ജനറേറ്റുചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന രീതിയിൽ തുടരുക:
SSL സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുന്നു
താഴെ, 999 എന്നത് കീസ്റ്റോറിന്റെ സാധുതയുള്ള ദിവസങ്ങളുടെ എണ്ണമാണ്, കൂടാതെ FQDN എന്നത് ക്ലയന്റിന്റെ പൂർണ്ണ യോഗ്യതയുള്ള ഡൊമെയ്ൻ നാമമാണ് (നോഡിന്റെ പൊതു ഹോസ്റ്റ് നാമം).
കുറിപ്പ്: നിയന്ത്രണ കേന്ദ്രത്തിലേക്ക് കണക്റ്റുചെയ്യാൻ കാഫ്ക ക്ലയന്റ് ഉപയോഗിക്കുന്ന കൃത്യമായ ഹോസ്റ്റ്നാമവുമായി FQDN പൊരുത്തപ്പെടുന്നത് പ്രധാനമാണ്. sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private cd /var/ssl/private export FQDN=
keytool -keystore kafka.server.keystore.jks \ -അലിയാസ് സെർവർ \ -validity 999 \ -genkey -keyalg RSA -ext SAN=dns:${FQDN}
ഒരു സർട്ടിഫിക്കറ്റ് സൈനിംഗ് അഭ്യർത്ഥന സൃഷ്ടിച്ച് അതിൽ സംഭരിക്കുക file cert-server-request എന്ന് പേരിട്ടിരിക്കുന്നത്:
കീടൂൾ -കീസ്റ്റോർ kafka.server.keystore.jks \ -alias server \ -certreq \ -file സർട്ടിഫിക്കറ്റ്-സെർവർ-അഭ്യർത്ഥന
നിങ്ങൾ ഇപ്പോൾ അയയ്ക്കണം file cert-server-request to your Certificate Authority (CA) നിങ്ങളാണ് ഉപയോഗിക്കുന്നത് എങ്കിൽ. തുടർന്ന് ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് തിരികെ നൽകും. ഞങ്ങൾ ഇതിനെ താഴെ സർട്ട്-സെർവർ-സൈൻ ചെയ്തതായി പരാമർശിക്കും. സ്വയം സൃഷ്ടിച്ച CA സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് SSL സർട്ടിഫിക്കറ്റിൽ ഒപ്പിടുന്നു
കുറിപ്പ്: വീണ്ടും, നിങ്ങളുടെ സ്വന്തം സിഎ ഉപയോഗിക്കുന്നത് ഒരു പ്രൊഡക്ഷൻ സിസ്റ്റത്തിൽ ശുപാർശ ചെയ്യുന്നില്ല. CA ഉപയോഗിച്ച് സർട്ടിഫിക്കറ്റിൽ ഒപ്പിടുക file cert-server-request, അത് ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് cert-server-signed നിർമ്മിക്കുന്നു. താഴെ നോക്കുക; CA സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുമ്പോൾ സജ്ജമാക്കിയ പാസ്വേഡാണ് ca-password.
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 \ -days 999 -CAcreateserial \ -passin pass:{ca-password}
ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് കീസ്റ്റോറിലേക്ക് ഇറക്കുമതി ചെയ്യുന്നു
ca-cert റൂട്ട് സർട്ടിഫിക്കറ്റ് കീസ്റ്റോറിലേക്ക് ഇറക്കുമതി ചെയ്യുക:
keytool -keystore kafka.server.keystore.jks \ -alias ca-cert \ -import \ -file ${CA_PATH}/ca-cert
cert-server-signed എന്ന് പരാമർശിക്കുന്ന ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് ഇറക്കുമതി ചെയ്യുക:
കീടൂൾ -കീസ്റ്റോർ kafka.server.keystore.jks \ -അലിയാസ് സെർവർ \ -ഇറക്കുമതി \ -file cert-server-signed
ദി 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-ൽ കാണപ്പെടുന്നുampനിയന്ത്രണ കേന്ദ്രം ടാർബോളിനുള്ളിൽ les.tar.gz അടങ്ങിയിരിക്കുന്നു.
ആദ്യം, ഒരു അടിസ്ഥാന മുൻ ഉണ്ട്ampമെട്രിക്കുകളും അവയുടെ മെറ്റാഡാറ്റയും വെവ്വേറെ സ്ട്രീം ചെയ്യുന്നതെങ്ങനെയെന്ന് കാണിക്കുകയും ലഭിച്ച സന്ദേശങ്ങൾ കൺസോളിലേക്ക് പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്നു. നിങ്ങൾക്ക് ഇത് ഇനിപ്പറയുന്ന രീതിയിൽ പ്രവർത്തിപ്പിക്കാം: sudo ./build.sh run-basic –kafka-brokers localhost:9092 –acCOUNT_SHORTNAME അക്കൗണ്ട്
കൂടുതൽ വിപുലമായ ഒരു മുൻ ഉണ്ട്ampമെട്രിക്കുകളും മെറ്റാഡാറ്റ സന്ദേശങ്ങളും പരസ്പരം ബന്ധപ്പെട്ടിരിക്കുന്നു. ഇത് പ്രവർത്തിപ്പിക്കാൻ ഈ കമാൻഡ് ഉപയോഗിക്കുക:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME മുകളിൽ പറഞ്ഞിരിക്കുന്നതുപോലുള്ള ഡോക്കർ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾ sudo ഉപയോഗിക്കേണ്ടതുണ്ട്. ഓപ്ഷണലായി, sudo കൂടാതെ ഡോക്കർ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് Linux പോസ്റ്റ്-ഇൻസ്റ്റലേഷൻ ഘട്ടങ്ങൾ പിന്തുടരാവുന്നതാണ്.
വിശദാംശങ്ങൾക്ക്, എന്നതിലേക്ക് പോകുക docs.docker.com/engine/install/linux-postinstall.
ജുനൈപ്പർ നെറ്റ്വർക്കുകൾ, ജുനൈപ്പർ നെറ്റ്വർക്കുകളുടെ ലോഗോ, ജുനൈപ്പർ, ജുനോസ് എന്നിവ യുണൈറ്റഡ് സ്റ്റേറ്റ്സിലും മറ്റ് രാജ്യങ്ങളിലും ജുനൈപ്പർ നെറ്റ്വർക്ക്സ്, Inc. ൻ്റെ രജിസ്റ്റർ ചെയ്ത വ്യാപാരമുദ്രകളാണ്. മറ്റ് എല്ലാ വ്യാപാരമുദ്രകളും, സേവന മാർക്കുകളും, രജിസ്റ്റർ ചെയ്ത മാർക്കുകളും അല്ലെങ്കിൽ രജിസ്റ്റർ ചെയ്ത സേവന മാർക്കുകളും അവയുടെ ഉടമസ്ഥരുടെ സ്വത്താണ്. ഈ ഡോക്യുമെൻ്റിലെ അപാകതകൾക്ക് ജുനൈപ്പർ നെറ്റ്വർക്കുകൾ ഒരു ഉത്തരവാദിത്തവും ഏറ്റെടുക്കുന്നില്ല. അറിയിപ്പ് കൂടാതെ ഈ പ്രസിദ്ധീകരണം മാറ്റാനോ പരിഷ്ക്കരിക്കാനോ കൈമാറ്റം ചെയ്യാനോ അല്ലെങ്കിൽ പരിഷ്ക്കരിക്കാനോ ഉള്ള അവകാശം ജുനൈപ്പർ നെറ്റ്വർക്കുകളിൽ നിക്ഷിപ്തമാണ്. പകർപ്പവകാശം © 2022 Juniper Networks, Inc. എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്തം.
പ്രമാണങ്ങൾ / വിഭവങ്ങൾ
![]() |
ജുനൈപ്പർ സ്ട്രീമിംഗ് API [pdf] ഉപയോക്തൃ ഗൈഡ് സ്ട്രീമിംഗ് API, API |