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.
ຕັ້ງຄ່າ Streaming API
ເກີນview
ບົດນີ້ອະທິບາຍວິທີການປັບຄ່າ Streaming API ເພື່ອອະນຸຍາດໃຫ້ສະໝັກຮັບຂໍ້ຄວາມ metrics ຜ່ານ Kafka.
ຂ້າງລຸ່ມນີ້ພວກເຮົາຈະຜ່ານ:
- ວິທີການເປີດໃຊ້ Streaming API
- ວິທີການຕັ້ງຄ່າ Kafka ເພື່ອຟັງລູກຄ້າພາຍນອກ
- ວິທີການຕັ້ງຄ່າ Kafka ເພື່ອໃຊ້ ACLs ແລະຕັ້ງຄ່າການເຂົ້າລະຫັດ SSL ສໍາລັບລູກຄ້າດັ່ງກ່າວ
Kafka ແມ່ນຫຍັງ?
Kafka ເປັນແພລດຟອມການຖ່າຍທອດເຫດການທີ່ອະນຸຍາດໃຫ້ຈັບເວລາຈິງຂອງຂໍ້ມູນທີ່ສົ່ງມາຈາກແຫຼ່ງເຫດການຕ່າງໆ (ເຊັນເຊີ, ຖານຂໍ້ມູນ, ອຸປະກອນມືຖື) ໃນຮູບແບບການຖ່າຍທອດເຫດການ, ເຊັ່ນດຽວກັນກັບການເກັບຮັກສາຄົງທົນຂອງກະແສເຫດການເຫຼົ່ານີ້ສໍາລັບການດຶງຂໍ້ມູນແລະການຈັດການຕໍ່ມາ.
ດ້ວຍ Kafka ມັນເປັນໄປໄດ້ທີ່ຈະຈັດການການຖ່າຍທອດເຫດການໃນຕອນທ້າຍເຖິງຈຸດສິ້ນສຸດໃນລັກສະນະທີ່ແຈກຢາຍ, ຂະຫຍາຍໄດ້ສູງ, ຢືດຢຸ່ນ, ທົນທານຕໍ່ຄວາມຜິດ, ແລະຄວາມປອດໄພ.
ໝາຍເຫດ: 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.
ຄໍາສັບ
- Kafka: ເວທີການຖ່າຍທອດເຫດການ.
- ຫົວຂໍ້ Kafka: ການລວບລວມເຫດການ.
- ຜູ້ຈອງ / ຜູ້ບໍລິໂພກ Kafka: ອົງປະກອບທີ່ຮັບຜິດຊອບສໍາລັບການດຶງຂໍ້ມູນເຫດການທີ່ເກັບໄວ້ໃນຫົວຂໍ້ Kafka.
- ນາຍໜ້າ Kafka: ເຊີບເວີຊັ້ນເກັບຂໍ້ມູນຂອງກຸ່ມ Kafka.
- 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.
- ໜ່ວຍງານຢັ້ງຢືນ: ໜ່ວຍງານທີ່ເຊື່ອຖືໄດ້ທີ່ອອກ ແລະຖອນໃບຮັບຮອງຫຼັກສາທາລະນະ.
- Certificate Authority ໃບຢັ້ງຢືນ: ໃບຢັ້ງຢືນກະແຈສາທາລະນະທີ່ລະບຸສິດອໍານາດໃບຢັ້ງຢືນ.
ວິທີການທີ່ Streaming API ເຮັດວຽກ
ດັ່ງທີ່ໄດ້ກ່າວກ່ອນຫນ້ານີ້, Streaming API ອະນຸຍາດໃຫ້ລູກຄ້າພາຍນອກດຶງຂໍ້ມູນກ່ຽວກັບ metrics ຈາກ Kafka.
ການວັດແທກທັງໝົດທີ່ເກັບກຳໂດຍ Test Agents ໃນລະຫວ່າງການທົດສອບ ຫຼືວຽກງານການຕິດຕາມແມ່ນຖືກສົ່ງໄປໃຫ້ບໍລິການ Stream.
ຫຼັງຈາກຂັ້ນຕອນການປຸງແຕ່ງ, ບໍລິການ Stream ເຜີຍແຜ່ metrics ເຫຼົ່ານັ້ນຢູ່ໃນ Kafka ພ້ອມກັບ metadata ເພີ່ມເຕີມ.
ຫົວຂໍ້ Kafka
Kafka has the concept of topics to which all data is published. In Routing Active Testing there are many such Kafka topics available; however, only a subset of these are meant for external access.
Each Routing Active Testing account in Control Center has two dedicated topics. Below, ACCOUNT is the account short name:
- paa.public.accounts.{ACCOUNT}.metrics
- ຂໍ້ຄວາມ metrics ທັງໝົດສໍາລັບບັນຊີທີ່ລະບຸນັ້ນຖືກເຜີຍແຜ່ໃນຫົວຂໍ້ນີ້
- ຂໍ້ມູນຈໍານວນຫຼວງຫຼາຍ
- ຄວາມຖີ່ຂອງການປັບປຸງສູງ
- paa.public.accounts.{ACCOUNT}.metadata
- ປະກອບດ້ວຍ metadata ທີ່ກ່ຽວຂ້ອງກັບຂໍ້ມູນ metrics, ສໍາລັບການຍົກຕົວຢ່າງample ການທົດສອບ, ຕິດຕາມກວດກາຫຼືຕົວແທນການທົດສອບທີ່ກ່ຽວຂ້ອງກັບ metrics
- ຂໍ້ມູນຈໍານວນນ້ອຍໆ
- ຄວາມຖີ່ຂອງການປັບປຸງຕໍ່າ
ເປີດໃຊ້ Streaming API
ໝາຍເຫດ: These instructions are to be run on the Control Center server using sudor.
ເນື່ອງຈາກ Streaming API ເພີ້ມສ່ວນເກີນບາງຢ່າງໃຫ້ກັບສູນຄວບຄຸມ, ມັນບໍ່ໄດ້ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ. ເພື່ອເປີດໃຊ້ API, ກ່ອນອື່ນ ໝົດ ພວກເຮົາຕ້ອງເປີດໃຊ້ການເຜີຍແຜ່ metrics ກັບ Kafka ໃນການຕັ້ງຄ່າຕົ້ນຕໍ file:
- /etc/netrounds/netrounds.conf
KAFKA_METRICS_ENABLED = ຖືກ
KAFKA_PUBLISH_METADATA_FOR_STREAMS = True
ຄຳເຕືອນ: ການເປີດໃຊ້ຄຸນສົມບັດນີ້ອາດຈະສົ່ງຜົນກະທົບຕໍ່ປະສິດທິພາບຂອງສູນຄວບຄຸມ. ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ປັບຂະຫນາດຕົວຢ່າງຂອງທ່ານຕາມຄວາມເຫມາະສົມ.
ຕໍ່ໄປ, ເພື່ອເຮັດໃຫ້ການສົ່ງຕໍ່ຂອງ metrics ເຫຼົ່ານີ້ໄປຫາຫົວຂໍ້ Kafka ທີ່ຖືກຕ້ອງ:
- /etc/netrounds/metrics.yaml
streaming-api: ຈິງ
ເພື່ອເປີດໃຊ້ ແລະເລີ່ມການບໍລິການ Streaming API, ໃຫ້ແລ່ນ:
- sudo ncc ບໍລິການເປີດໃຊ້ການວັດແທກ timescaledb
- sudo ncc ບໍລິການເລີ່ມຕົ້ນການວັດແທກ timescaledb
ສຸດທ້າຍ, ເລີ່ມຕົ້ນການບໍລິການຄືນໃໝ່:
- sudo ncc ບໍລິການ restart
ໝາຍເຫດ: The KAFKA_PUBLISH_RESOURCES setting has been deprecated. It should be removed from your configuration. Use KAFKA_PUBLISH_METADATA_FOR_STREAMS = True instead.
ຢືນຢັນວ່າ Streaming API ເຮັດວຽກຢູ່ໃນສູນຄວບຄຸມ
ໝາຍເຫດ: ຄໍາແນະນໍາເຫຼົ່ານີ້ຈະຖືກດໍາເນີນການຢູ່ໃນເຄື່ອງແມ່ຂ່າຍຂອງສູນຄວບຄຸມ.
You can now verify that you are receiving metrics on the correct Kafka topics. To do so, install the Kafka cat utility:
- sudo apt-get ອັບເດດ
- sudo apt-get ຕິດຕັ້ງ kafkacat
If you have a test or monitor running in Control Center, you should be able to use Kafka cat to receive metrics and metadata on these topics.
ແທນທີ່ບັນຊີຂອງຂ້ອຍດ້ວຍຊື່ຫຍໍ້ຂອງບັນຊີຂອງທ່ານ (ນີ້ແມ່ນສິ່ງທີ່ທ່ານເຫັນຢູ່ໃນສູນຄວບຄຸມຂອງເຈົ້າ URL):
- ສົ່ງອອກ METRICS_TOPIC=paa.public.accounts.myaccount.metrics
- ສົ່ງອອກ METADATA_TOPIC=paa.public.accounts.myaccount.metadata
ຕອນນີ້ເຈົ້າຄວນຈະເຫັນ metrics ໂດຍການແລ່ນຄໍາສັ່ງນີ້:
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
ເຖິງ view metadata, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ (ສັງເກດວ່ານີ້ຈະບໍ່ປັບປຸງເລື້ອຍໆ):
- kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e
ໝາຍເຫດ: This is just a sanity check to make sure things are being published correctly. The data you see being published will be in binary form, which kafkacat will not decode by default. For properly subscribing to these topics, please see the “Client Examples” on page 13 section.
ນີ້ຢັ້ງຢືນວ່າພວກເຮົາມີ Streaming API ທີ່ເຮັດວຽກຈາກພາຍໃນສູນຄວບຄຸມ. ແນວໃດກໍ່ຕາມ, ສ່ວນຫຼາຍແມ່ນເຈົ້າສົນໃຈໃນການເຂົ້າເຖິງຂໍ້ມູນຈາກລູກຄ້າພາຍນອກແທນ. ພາກຕໍ່ໄປອະທິບາຍວິທີການເປີດ Kafka ສໍາລັບການເຂົ້າເຖິງພາຍນອກ.
ເປີດ Kafka ສໍາລັບເຈົ້າພາບພາຍນອກ
ຫມາຍເຫດ: ຄໍາແນະນໍາເຫຼົ່ານີ້ຈະຖືກດໍາເນີນການຢູ່ໃນເຄື່ອງແມ່ຂ່າຍຂອງສູນຄວບຄຸມ.
ໂດຍຄ່າເລີ່ມຕົ້ນ Kafka ແລ່ນຢູ່ໃນສູນຄວບຄຸມແມ່ນຖືກຕັ້ງຄ່າໃຫ້ຟັງພຽງແຕ່ຢູ່ໃນ localhost ສໍາລັບການນໍາໃຊ້ພາຍໃນ.
ມັນເປັນໄປໄດ້ທີ່ຈະເປີດ Kafka ສໍາລັບລູກຄ້າພາຍນອກໂດຍການດັດແກ້ການຕັ້ງຄ່າ Kafka.
ການເຊື່ອມຕໍ່ກັບ Kafka: ຄໍາເຕືອນ
ຂໍ້ຄວນລະວັງ: ກະລຸນາອ່ານນີ້ຢ່າງລະມັດລະວັງ, ເພາະວ່າມັນງ່າຍທີ່ຈະດໍາເນີນການເຂົ້າໄປໃນບັນຫາການເຊື່ອມຕໍ່ກັບ Kafka ຖ້າທ່ານບໍ່ເຂົ້າໃຈແນວຄວາມຄິດເຫຼົ່ານີ້.
ໃນການຕັ້ງຄ່າສູນຄວບຄຸມທີ່ອະທິບາຍໄວ້ໃນເອກະສານນີ້, ມີພຽງແຕ່ນາຍຫນ້າ Kafka ດຽວ.
ຢ່າງໃດກໍຕາມ, ໃຫ້ສັງເກດວ່ານາຍຫນ້າ Kafka ແມ່ນຫມາຍຄວາມວ່າຈະດໍາເນີນການເປັນສ່ວນຫນຶ່ງຂອງກຸ່ມ Kafka ເຊິ່ງອາດຈະປະກອບດ້ວຍນາຍຫນ້າ Kafka ຫຼາຍ.
ເມື່ອເຊື່ອມຕໍ່ກັບນາຍຫນ້າ Kafka, ການເຊື່ອມຕໍ່ເບື້ອງຕົ້ນແມ່ນສ້າງຕັ້ງຂຶ້ນໂດຍລູກຄ້າ Kafka. ໃນໄລຍະການເຊື່ອມຕໍ່ນີ້, ນາຍຫນ້າ Kafka ຈະສົ່ງຄືນບັນຊີລາຍຊື່ຂອງ "ຜູ້ຟັງທີ່ໂຄສະນາ", ເຊິ່ງເປັນບັນຊີລາຍຊື່ຂອງຫນຶ່ງຫຼືຫຼາຍນາຍຫນ້າ Kafka.
ເມື່ອໄດ້ຮັບບັນຊີລາຍຊື່ນີ້, ລູກຄ້າ Kafka ຈະຕັດການເຊື່ອມຕໍ່, ຫຼັງຈາກນັ້ນເຊື່ອມຕໍ່ໃຫມ່ກັບຫນຶ່ງໃນຜູ້ຟັງທີ່ໂຄສະນາເຫຼົ່ານີ້. ຜູ້ຟັງທີ່ໂຄສະນາຕ້ອງມີຊື່ໂຮດຫຼືທີ່ຢູ່ IP ທີ່ສາມາດເຂົ້າເຖິງລູກຄ້າ Kafka, ຫຼືລູກຄ້າຈະລົ້ມເຫລວໃນການເຊື່ອມຕໍ່.
ຖ້າການເຂົ້າລະຫັດ SSL ຖືກນໍາໃຊ້, ກ່ຽວຂ້ອງກັບໃບຢັ້ງຢືນ SSL ທີ່ຕິດກັບຊື່ເຈົ້າພາບໂດຍສະເພາະ, ມັນເປັນສິ່ງສໍາຄັນກວ່າທີ່ລູກຄ້າ Kafka ໄດ້ຮັບທີ່ຢູ່ທີ່ຖືກຕ້ອງເພື່ອເຊື່ອມຕໍ່, ເພາະວ່າຖ້າບໍ່ດັ່ງນັ້ນການເຊື່ອມຕໍ່ອາດຈະຖືກປະຕິເສດ.
ອ່ານເພີ່ມເຕີມກ່ຽວກັບຜູ້ຟັງ Kafka ທີ່ນີ້: www.confluent.io/blog/kafka-listeners-explained
ການເຂົ້າລະຫັດ SSL/TLS
ເພື່ອໃຫ້ແນ່ໃຈວ່າພຽງແຕ່ລູກຄ້າທີ່ເຊື່ອຖືໄດ້ໄດ້ຮັບອະນຸຍາດໃຫ້ເຂົ້າເຖິງ Kafka ແລະ Streaming API, ພວກເຮົາຕ້ອງຕັ້ງຄ່າຕໍ່ໄປນີ້:
- ການກວດສອບຄວາມຖືກຕ້ອງ: ລູກຄ້າຕ້ອງໃຫ້ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານໂດຍຜ່ານການເຊື່ອມຕໍ່ທີ່ປອດໄພ SSL/TLS ລະຫວ່າງລູກຄ້າແລະ Kafka.
- ການອະນຸຍາດ: ລູກຄ້າທີ່ມີການກວດສອບສາມາດປະຕິບັດວຽກງານທີ່ກໍານົດໂດຍ ACLs.
ນີ້ແມ່ນຫຼາຍກວ່າview:
ເພື່ອເຂົ້າໃຈຢ່າງເຕັມສ່ວນວິທີການເຂົ້າລະຫັດ SSL/TLS ເຮັດວຽກສໍາລັບ Kafka, ກະລຸນາເບິ່ງເອກະສານທາງການ: docs.confluent.io/platform/current/kafka/encryption.html
ໃບຢັ້ງຢືນ SSL/TLS ສິ້ນສຸດລົງview
ໝາຍເຫດ: ໃນພາກຍ່ອຍນີ້ພວກເຮົາຈະໃຊ້ຄໍາສັບດັ່ງຕໍ່ໄປນີ້:
ໃບຢັ້ງຢືນ: ໃບຢັ້ງຢືນ SSL ທີ່ເຊັນໂດຍອົງການໃບຢັ້ງຢືນ (CA). ແຕ່ລະນາຍຫນ້າ Kafka ມີຫນຶ່ງ.
Keystore: ທີ່ເກັບກະແຈ file ທີ່ເກັບຮັກສາໃບຢັ້ງຢືນ. ທີ່ເກັບກະແຈ file ມີກະແຈສ່ວນຕົວຂອງໃບຢັ້ງຢືນ; ດັ່ງນັ້ນ, ມັນຈໍາເປັນຕ້ອງເກັບຮັກສາໄວ້ຢ່າງປອດໄພ.
Truststore: A file ປະກອບມີໃບຢັ້ງຢືນ CA ທີ່ເຊື່ອຖືໄດ້.
ເພື່ອຕັ້ງຄ່າການພິສູດຢືນຢັນລະຫວ່າງລູກຄ້າພາຍນອກແລະ Kafka ແລ່ນຢູ່ໃນສູນຄວບຄຸມ, ທັງສອງຝ່າຍຕ້ອງມີ keystore ທີ່ຖືກກໍານົດດ້ວຍໃບຢັ້ງຢືນທີ່ກ່ຽວຂ້ອງທີ່ເຊັນໂດຍ Certificate Authority (CA) ຮ່ວມກັບໃບຢັ້ງຢືນຮາກ CA.
ນອກຈາກນັ້ນ, ລູກຄ້າຍັງຕ້ອງມີ truststore ທີ່ມີໃບຢັ້ງຢືນຮາກ CA.
ໃບຢັ້ງຢືນຮາກ CA ແມ່ນທົ່ວໄປກັບນາຍຫນ້າ Kafka ແລະລູກຄ້າ Kafka.
ການສ້າງໃບຢັ້ງຢືນທີ່ຕ້ອງການ
ນີ້ແມ່ນກວມເອົາໃນ “ເອກະສານຊ້ອນທ້າຍ” ໃນໜ້າ 16.
ການຕັ້ງຄ່າ Kafka Broker 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.
ເມື່ອທ່ານມີໃບຢັ້ງຢືນທີ່ຈໍາເປັນທີ່ສ້າງຂຶ້ນສໍາລັບທັງນາຍຫນ້າ Kafka ແລະລູກຄ້າ Kafka ທີ່ມີຢູ່, ທ່ານສາມາດສືບຕໍ່ໂດຍການກໍາຫນົດຄ່ານາຍຫນ້າ Kafka ແລ່ນຢູ່ໃນສູນຄວບຄຸມ. ທ່ານຈໍາເປັນຕ້ອງຮູ້ດັ່ງຕໍ່ໄປນີ້:
- : ຊື່ເຈົ້າພາບສາທາລະນະຂອງສູນຄວບຄຸມ; ນີ້ຕ້ອງເປັນການແກ້ໄຂແລະສາມາດເຂົ້າເຖິງໄດ້ໂດຍລູກຄ້າ Kafka.
- : ລະຫັດຜ່ານ keystore ທີ່ສະຫນອງໃຫ້ໃນເວລາທີ່ການສ້າງໃບຢັ້ງຢືນ SSL.
- ແລະ : ເຫຼົ່ານີ້ແມ່ນລະຫັດຜ່ານທີ່ທ່ານຕ້ອງການທີ່ຈະກໍານົດສໍາລັບຜູ້ໃຊ້ admin ແລະລູກຄ້າຕາມລໍາດັບ. ໃຫ້ສັງເກດວ່າທ່ານສາມາດເພີ່ມຜູ້ໃຊ້ເພີ່ມເຕີມ, ດັ່ງທີ່ລະບຸໄວ້ໃນ exampເລ.
Edit or append (with sudo access) the properties below in /etc/kafka/server.properties, inserting the above
variables as shown:
ຄຳເຕືອນ: ຢ່າເອົາ PLAINTEXT://localhost:9092; ນີ້ຈະທໍາລາຍການທໍາງານຂອງສູນຄວບຄຸມເນື່ອງຈາກການບໍລິການພາຍໃນຈະບໍ່ສາມາດສື່ສານໄດ້.
…
# ທີ່ຢູ່ທີ່ນາຍຫນ້າ Kafka ຟັງ.
listeners=PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
# ເຫຼົ່ານີ້ແມ່ນເຈົ້າພາບທີ່ໂຄສະນາກັບຄືນໄປບ່ອນລູກຄ້າໃດໆທີ່ເຊື່ອມຕໍ່.
advertised.listeners=PLAINTEXT://localhost:9092,SASL_SSL:// :9093
… ####### CUSTOM CONFIG
# ການຕັ້ງຄ່າ SSL
ssl.endpoint.identification.algorithm=
ssl.keystore.location=/var/ssl/private/kafka.server.keystore.jks
ssl.keystore.password=
ssl.key.password=
ssl.client.auth=none
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” \
ລະຫັດຜ່ານ =” ” \
User:admin=”<admin_pwd>” \
user client=”<client_pwd>”;
# ໝາຍເຫດ ຜູ້ໃຊ້ສາມາດເພີ່ມໄດ້ດ້ວຍ user_ =
# ການອະນຸຍາດ, ເປີດ ACLs
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
superusers=User:admin
ຕັ້ງຄ່າລາຍການຄວບຄຸມການເຂົ້າເຖິງ (ACLs)
ເປີດ ACLs ໃນ localhost
ຄຳເຕືອນ: ທໍາອິດພວກເຮົາຕ້ອງຕັ້ງຄ່າ ACLs ສໍາລັບ localhost, ດັ່ງນັ້ນ Control Center ເອງຍັງສາມາດເຂົ້າເຖິງ Kafka ໄດ້. ຖ້າຫາກວ່ານີ້ບໍ່ໄດ້ເຮັດ, ສິ່ງຕ່າງໆຈະທໍາລາຍ.
######### ລາຍການ ACLs ສໍາລັບຜູ້ໃຊ້ທີ່ບໍ່ເປີດເຜີຍຊື່
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User: ANONYMOUS –allow-host 127.0.0.1 –cluster
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:ANONYMOUS –allow-host 127.0.0.1 –topic '*'
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User: ANONYMOUS –allow-host 127.0.0.1 –group ‘*’
ຫຼັງຈາກນັ້ນ, ພວກເຮົາຈໍາເປັນຕ້ອງເປີດໃຊ້ ACLs ສໍາລັບການເຂົ້າເຖິງການອ່ານເທົ່ານັ້ນຈາກພາຍນອກ, ດັ່ງນັ້ນຜູ້ໃຊ້ພາຍນອກໄດ້ຮັບອະນຸຍາດໃຫ້ອ່ານຫົວຂໍ້ paa.public.*.
ໝາຍເຫດ: ສໍາລັບການຄວບຄຸມແບບລະອຽດເພີ່ມເຕີມ, ກະລຸນາເບິ່ງເອກະສານທີ່ເປັນທາງການຂອງ Kafka.
######### ລາຍການ ACLs ສໍາລັບຜູ້ໃຊ້ພາຍນອກ
/usr/lib/kafka/bin/kafka-acls.sh \
-authorizer kafka.security.authorizer.AclAuthorizer \
–authorizer-properties zookeeper.connect=localhost:2181 \
–add –allow-principal User:* –operation ອ່ານ –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 ອ່ານ –operation describe \
-ຫົວຂໍ້ paa.public. -resource-pattern-type prefixed
ເມື່ອເຮັດໄດ້ກັບສິ່ງນີ້, ທ່ານຈໍາເປັນຕ້ອງປິດການບໍລິການໃຫມ່:
sudo ncc ບໍລິການ restart
ເພື່ອກວດສອບວ່າລູກຄ້າສາມາດສ້າງການເຊື່ອມຕໍ່ທີ່ປອດໄພໄດ້, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ຢູ່ໃນຄອມພິວເຕີລູກຄ້າພາຍນອກ (ບໍ່ແມ່ນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍຂອງສູນຄວບຄຸມ). ຂ້າງລຸ່ມນີ້, PUBLIC_HOSTNAME ແມ່ນຊື່ໂຮສຂອງສູນຄວບຄຸມ:
openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep "ການເຈລະຈາຄືນໃຫມ່ທີ່ປອດໄພແມ່ນໄດ້ຮັບການສະຫນັບສະຫນູນ"
ໃນການອອກຄໍາສັ່ງທີ່ທ່ານຄວນຈະເບິ່ງໃບຢັ້ງຢືນຂອງເຄື່ອງແມ່ຂ່າຍເຊັ່ນດຽວກັນກັບດັ່ງຕໍ່ໄປນີ້:
ການເຈລະຈາທີ່ປອດໄພ IS ໄດ້ຮັບການສະຫນັບສະຫນູນ
ເພື່ອຮັບປະກັນວ່າການບໍລິການພາຍໃນໄດ້ຮັບການອະນຸຍາດໃຫ້ເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍ Kafka, ກະລຸນາກວດເບິ່ງບັນທຶກຕໍ່ໄປນີ້files:
- /var/log/kafka/server.log
- /var/log/kafka/kafka-authorizer.log
ການກວດສອບການເຊື່ອມຕໍ່ລູກຄ້າພາຍນອກ
kafkacat
ໝາຍເຫດ: ຄໍາແນະນໍາເຫຼົ່ານີ້ຈະຖືກດໍາເນີນການຢູ່ໃນຄອມພິວເຕີລູກຄ້າ (ບໍ່ແມ່ນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍຂອງສູນຄວບຄຸມ).
ໝາຍເຫດ: ເພື່ອສະແດງຂໍ້ມູນ metrics, ໃຫ້ແນ່ໃຈວ່າມີຈໍສະແດງຜົນຢ່າງຫນ້ອຍຫນຶ່ງຈໍສະແດງຜົນຢູ່ໃນສູນຄວບຄຸມ.
ເພື່ອກວດສອບແລະກວດສອບການເຊື່ອມຕໍ່ເປັນລູກຄ້າພາຍນອກ, ມັນເປັນໄປໄດ້ທີ່ຈະໃຊ້ kafkacat utility ທີ່ຖືກຕິດຕັ້ງຢູ່ໃນພາກ "ການກວດສອບວ່າ streaming API ເຮັດວຽກຢູ່ໃນສູນຄວບຄຸມ" ໃນຫນ້າ 4.
ປະຕິບັດຂັ້ນຕອນຕໍ່ໄປນີ້:
ໝາຍເຫດ: ຂ້າງລຸ່ມນີ້, CLIENT_USER ແມ່ນຜູ້ໃຊ້ທີ່ໄດ້ລະບຸໄວ້ກ່ອນຫນ້ານີ້ໃນ file /etc/kafka/ server.properties in Control Center: namely, user_client and the password set there. The CA root certificate used to sign the server side SSL certificate must be present on the client.
ສ້າງ ກ file client.properties ທີ່ມີເນື້ອຫາຕໍ່ໄປນີ້:
security.protocol=SASL_SSL
ssl.ca.location={PATH_TO_CA_CERT}
sasl.mechanisms=ທຳມະດາ
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
ຢູ່ໃສ
- {PATH_TO_CA_CERT} ເປັນທີ່ຕັ້ງຂອງໃບຢັ້ງຢືນຮາກ CA ທີ່ໃຊ້ໂດຍນາຍໜ້າ Kafka
- {CLIENT_USER} ແລະ {CLIENT_PASSWORD} ແມ່ນຂໍ້ມູນປະຈໍາຕົວຂອງຜູ້ໃຊ້ສໍາລັບລູກຄ້າ.
- ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອເບິ່ງຂໍ້ຄວາມທີ່ບໍລິໂພກໂດຍ kafkacat:
ສົ່ງອອກ KAFKA_FQDN=
ສົ່ງອອກ METRICS_TOPIC=paa.public.accounts. .metrics
kafkacat -b ${KAFKA_FQDN}:9093 -F client.properties -t ${METRICS_TOPIC} -C -e
ບ່ອນທີ່ {METRICS_TOPIC} ເປັນຊື່ຂອງຫົວຂໍ້ Kafka ທີ່ມີຄໍານໍາຫນ້າ “paa.public.”.
ໝາຍເຫດ: ສະບັບເກົ່າຂອງ kafkacat ບໍ່ໄດ້ໃຫ້ທາງເລືອກ -F ສໍາລັບການອ່ານການຕັ້ງຄ່າລູກຄ້າຈາກ a 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:
Debug ການສື່ສານຜູ້ບໍລິໂພກ
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
ໃຫ້ແນ່ໃຈວ່າຈະອ້າງອີງໃສ່ເອກະສານສໍາລັບຫ້ອງສະຫມຸດລູກຄ້າ Kafka ທີ່ໃຊ້ຢູ່, ຍ້ອນວ່າຄຸນສົມບັດອາດຈະແຕກຕ່າງຈາກຢູ່ໃນ client.properties.
ຮູບແບບຂໍ້ຄວາມ
The messages used for the metrics and metadata topics are serialized in the Protocol buffers (protobuf)format (see developers.google.com/protocol-buffers). schemas ສໍາລັບຂໍ້ຄວາມເຫຼົ່ານີ້ປະຕິບັດຕາມຮູບແບບດັ່ງຕໍ່ໄປນີ້:
Metrics Protobuf Schema
syntax = “proto3”;
ນຳເຂົ້າ “google/protobuf/timestamp.proto”;
ຊຸດ paa.streamingapi;
ທາງເລືອກ go_package = “.;paa_streamingapi”;
ຂໍ້ຄວາມ Metrics {
google.protobuf.ເວລາທີ່ສຸດamp ເວລາທີ່ສຸດamp = 1;
ແຜນທີ່ ຄ່າ = 2;
int32 stream_id = 3;
}
/**
* ຄ່າ metric ສາມາດເປັນຈໍານວນເຕັມຫຼື float.
*/
ຂໍ້ຄວາມ MetricValue {
ປະເພດໃດນຶ່ງ {
int64 int_val = 1;
float_val = 2;
}
}
Metadata Protobuf Schema
syntax = “proto3”;
ຊຸດ paa.streamingapi;
ທາງເລືອກ go_package = “.;paa_streamingapi”;
ຂໍ້ຄວາມ Metadata {
int32 stream_id = 1;
string stream_name = 2;
ແຜນທີ່ tags = 13;
}
ລູກຄ້າ Examples
ໝາຍເຫດ: ຄໍາສັ່ງເຫຼົ່ານີ້ແມ່ນມີຈຸດປະສົງເພື່ອດໍາເນີນການກັບລູກຄ້າພາຍນອກ, ສໍາລັບການຍົກຕົວຢ່າງampໃຫ້ແລັບທັອບຂອງເຈົ້າຫຼືຄ້າຍຄືກັນ, ແລະບໍ່ໄດ້ຢູ່ໃນສູນຄວບຄຸມ.
ໝາຍເຫດ: ເພື່ອໃຫ້ມີການສະແດງຂໍ້ມູນ metrics, ໃຫ້ແນ່ໃຈວ່າມີຈໍສະແດງຜົນຢ່າງຫນ້ອຍຫນຶ່ງຈໍສະແດງຜົນຢູ່ໃນສູນຄວບຄຸມ.
Control Center tarball ປະກອບມີ archive paa-streaming-api-client-examples.tar.gz (ລູກຄ້າ-examples), ເຊິ່ງປະກອບດ້ວຍ example Python script ສະແດງວິທີການໃຊ້ Streaming API.
ການຕິດຕັ້ງ ແລະກຳນົດຄ່າລູກຄ້າ Examples
ທ່ານຊອກຫາ client-examples in the Routing Active Testing Control Center folder:
ສົ່ງອອກ CC_VERSION=4.6.0
cd ./paa-control-center_${CC_VERSION}
ls paa-streaming-api-client-examples*
ເພື່ອຕິດຕັ້ງ client-examples ໃນຄອມພິວເຕີລູກຄ້າພາຍນອກຂອງທ່ານ, ດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
# ສ້າງໄດເລກະທໍລີສໍາລັບການສະກັດເນື້ອຫາຂອງລູກຄ້າ examples tarball
mkdir paa-streaming-api-client-examples
# ສະກັດເນື້ອໃນຂອງລູກຄ້າ examples tarball
tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examples
# ໄປທີ່ໄດເລກະທໍລີທີ່ສ້າງໃຫມ່
cd paa-streaming-api-client-examples
client-examples ຮຽກຮ້ອງໃຫ້ Docker ດໍາເນີນການ. ການດາວໂຫຼດ ແລະຄໍາແນະນໍາການຕິດຕັ້ງ Docker ສາມາດພົບໄດ້ທີ່ https://docs.docker.com/engine/install.
ການນໍາໃຊ້ Client Examples
ລູກຄ້າ-examples ເຄື່ອງມືສາມາດດໍາເນີນການໃນຮູບແບບພື້ນຖານຫຼືຂັ້ນສູງໃນການກໍ່ສ້າງ examples ຂອງຄວາມສັບສົນທີ່ແຕກຕ່າງກັນ. ໃນທັງສອງກໍລະນີ, ມັນກໍ່ເປັນໄປໄດ້ທີ່ຈະດໍາເນີນການ examples ທີ່ມີການຕັ້ງຄ່າ file ປະກອບດ້ວຍຄຸນສົມບັດເພີ່ມເຕີມສໍາລັບການປັບແຕ່ງເພີ່ມເຕີມຂອງຝ່າຍລູກຄ້າ.
ໂໝດພື້ນຖານ
ໃນຮູບແບບພື້ນຖານ, metrics ແລະ metadata ຂອງພວກມັນຖືກຖ່າຍທອດແຍກຕ່າງຫາກ. ເພື່ອເຮັດສິ່ງນີ້, ລູກຄ້າຟັງແຕ່ລະຫົວຂໍ້ Kafka ທີ່ມີຢູ່ສໍາລັບການເຂົ້າເຖິງພາຍນອກແລະພຽງແຕ່ພິມຂໍ້ຄວາມທີ່ໄດ້ຮັບໃນ console.
ເພື່ອເລີ່ມຕົ້ນການປະຕິບັດຂອງ ex ພື້ນຖານamples, run:
./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME
ບ່ອນທີ່ ACCOUNT_SHORTNAME ເປັນຊື່ຫຍໍ້ຂອງບັນຊີທີ່ທ່ານຕ້ອງການທີ່ຈະເອົາມາຕຣິກເບື້ອງຈາກ.
ເພື່ອຢຸດການປະຕິບັດຂອງ ex ໄດ້ample, ກົດ Ctrl + C. (ອາດຈະມີຄວາມລ່າຊ້າເລັກນ້ອຍກ່ອນທີ່ການປະຕິບັດຈະຢຸດເຊົາເພາະວ່າລູກຄ້າລໍຖ້າເຫດການຫມົດເວລາ.)
ໂໝດຂັ້ນສູງ
ໝາຍເຫດ: Metrics ແມ່ນສະແດງພຽງແຕ່ສໍາລັບຈໍ HTTP ທີ່ເຮັດວຽກຢູ່ໃນສູນຄວບຄຸມ.
ການປະຕິບັດໃນໂຫມດຂັ້ນສູງສະແດງໃຫ້ເຫັນຄວາມກ່ຽວຂ້ອງກັນລະຫວ່າງ metrics ແລະຂໍ້ຄວາມ metadata. ນີ້ເປັນໄປໄດ້ຍ້ອນມີຢູ່ໃນແຕ່ລະຂໍ້ຄວາມ metrics ຂອງຊ່ອງ id stream ທີ່ຫມາຍເຖິງຂໍ້ຄວາມ metadata ທີ່ສອດຄ້ອງກັນ.
ເພື່ອປະຕິບັດ ex ຂັ້ນສູງamples, run:
./build.sh run-advanced –kafka-brokers localhost:9092 –ບັນຊີ ACCOUNT_SHORTNAME
ບ່ອນທີ່ ACCOUNT_SHORTNAME ເປັນຊື່ຫຍໍ້ຂອງບັນຊີທີ່ທ່ານຕ້ອງການທີ່ຈະເອົາມາຕຣິກເບື້ອງຈາກ.
ເພື່ອຢຸດການປະຕິບັດຂອງ ex ໄດ້ample, ກົດ Ctrl + C. (ອາດຈະມີຄວາມລ່າຊ້າເລັກນ້ອຍກ່ອນທີ່ການປະຕິບັດຈະຢຸດເຊົາເພາະວ່າລູກຄ້າລໍຖ້າເຫດການຫມົດເວລາ.)
ການຕັ້ງຄ່າເພີ່ມເຕີມ
ມັນເປັນໄປໄດ້ທີ່ຈະດໍາເນີນການ examples ກັບການຕັ້ງຄ່າເພີ່ມເຕີມຂອງລູກຄ້າໂດຍໃຊ້ -config-file ທາງເລືອກປະຕິບັດຕາມໂດຍ a file ຊື່ທີ່ປະກອບດ້ວຍຄຸນສົມບັດໃນຮູບແບບ key=value.
./build.sh run-advanced \
–kafka-ນາຍໜ້າ localhost:9092 \
– ບັນຊີ ACCOUNT_SHORTNAME \
-config-file client_config.properties
ໝາຍເຫດ: ທັງໝົດ files ອ້າງອີງໃນຄໍາສັ່ງຂ້າງເທິງຈະຕ້ອງຢູ່ໃນໄດເລກະທໍລີປະຈຸບັນແລະອ້າງອີງໂດຍໃຊ້ພຽງແຕ່ເສັ້ນທາງທີ່ກ່ຽວຂ້ອງ. ນີ້ໃຊ້ທັງສອງກັບ -config-file argument ແລະທຸກລາຍການໃນການຕັ້ງຄ່າ file ທີ່ອະທິບາຍ file ສະຖານທີ່.
ການກວດສອບການກວດສອບລູກຄ້າພາຍນອກ
ເພື່ອກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າຈາກພາຍນອກສູນຄວບຄຸມໂດຍໃຊ້ client-examples, ປະຕິບັດຂັ້ນຕອນຕໍ່ໄປນີ້:
- From the Routing Active Testing Control Center folder, switch to the paa-streaming-api-client-examples folder:
cd paa-streaming-api-client-examples - ຄັດລອກໃບຮັບຮອງ CA root ca-cert ເຂົ້າໄປໃນໄດເລກະທໍລີປະຈຸບັນ.
- ສ້າງ client.properties file ໂດຍມີເນື້ອໃນດັ່ງຕໍ່ໄປນີ້:
security.protocol=SASL_SSL
ssl.ca.location=ca-cert
sasl.mechanism=PLAIN
sasl.username={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}
ບ່ອນທີ່ {CLIENT_USER} ແລະ {CLIENT_PASSWORD} ເປັນຂໍ້ມູນປະຈໍາຕົວຂອງຜູ້ໃຊ້ສໍາລັບລູກຄ້າ. - ດໍາເນີນການພື້ນຖານ examples:
ສົ່ງອອກ KAFKA_FQDN=
./build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
– ບັນຊີ ACCOUNT_SHORTNAME
-config-file client.properties
ບ່ອນທີ່ ACCOUNT_SHORTNAME ເປັນຊື່ຫຍໍ້ຂອງບັນຊີທີ່ທ່ານຕ້ອງການທີ່ຈະເອົາມາຕຣິກເບື້ອງຈາກ. - ດໍາເນີນການຂັ້ນສູງ examples:
ສົ່ງອອກ KAFKA_FQDN=
./build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
– ບັນຊີ ACCOUNT_SHORTNAME
-config-file client.properties
ເອກະສານຊ້ອນທ້າຍ
ໃນເອກະສານຊ້ອນທ້າຍນີ້, ພວກເຮົາອະທິບາຍວິທີການສ້າງ:
- ທີ່ເກັບກະແຈ file ສໍາລັບການເກັບຮັກສາໃບຢັ້ງຢືນ SSL ຂອງນາຍຫນ້າ Kafka
- ຮ້ານໄວ້ໃຈ file ສໍາລັບການເກັບຮັກສາໃບຢັ້ງຢືນຮາກຂອງໃບຢັ້ງຢືນ (CA) ທີ່ໃຊ້ເພື່ອເຊັນໃບຢັ້ງຢືນນາຍຫນ້າ Kafka.
ການສ້າງໃບຢັ້ງຢືນນາຍຫນ້າ Kafka
ການສ້າງໃບຢັ້ງຢືນການນໍາໃຊ້ອົງການຮັບຮອງທີ່ແທ້ຈິງ (ແນະນໍາໃຫ້)
ມັນແນະນໍາໃຫ້ທ່ານໄດ້ຮັບໃບຢັ້ງຢືນ SSL ທີ່ແທ້ຈິງຈາກ CA ທີ່ເຊື່ອຖືໄດ້.
ເມື່ອທ່ານໄດ້ຕັດສິນໃຈກ່ຽວກັບ CA, ຄັດລອກໃບຢັ້ງຢືນຮາກ CA ຂອງພວກເຂົາ ca-cert file ໄປສູ່ເສັ້ນທາງຂອງຕົນເອງດັ່ງທີ່ສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້:
ສົ່ງອອກ CA_PATH=~/my-ca
mkdir ${CA_PATH}
cp ca-cert ${CA_PATH}
ສ້າງອົງການໃບຢັ້ງຢືນຂອງທ່ານເອງ
ໝາຍເຫດ: ປົກກະຕິແລ້ວທ່ານຄວນມີໃບຢັ້ງຢືນຂອງທ່ານລົງນາມໂດຍອົງການໃບຢັ້ງຢືນທີ່ແທ້ຈິງ; ເບິ່ງສ່ວນຍ່ອຍກ່ອນໜ້ານີ້. ສິ່ງທີ່ຕໍ່ໄປນີ້ແມ່ນພຽງແຕ່ exampເລ.
ທີ່ນີ້ພວກເຮົາສ້າງໃບຢັ້ງຢືນການຮາກທີ່ເກີດຂອງພວກເຮົາ (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
ການສ້າງ Client Truststore
ໃນປັດຈຸບັນທ່ານສາມາດສ້າງ truststore ໄດ້ 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-cert
ດຽວນີ້ໃບຮັບຮອງ CA ຢູ່ໃນ truststore, ລູກຄ້າຈະເຊື່ອໝັ້ນໃນໃບຮັບຮອງໃດນຶ່ງທີ່ເຊັນກັບມັນ.
ທ່ານຄວນຄັດລອກ file kafka.client.truststore.jks ໄປຫາສະຖານທີ່ທີ່ຮູ້ຈັກໃນຄອມພິວເຕີລູກຄ້າຂອງທ່ານແລະຊີ້ໄປທີ່ມັນໃນການຕັ້ງຄ່າ.
ການສ້າງ Keystore ສໍາລັບນາຍຫນ້າ Kafka
ເພື່ອສ້າງໃບຮັບຮອງ SSL ຂອງນາຍໜ້າ Kafka ແລະຫຼັງຈາກນັ້ນ keystore kafka.server.keystore.jks, ດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
ການສ້າງໃບຢັ້ງຢືນ SSL
Use these commands to generate the SSL certificate. Below, 999 is the number of days of validity of the keystore.
sudo mkdir -p /var/ssl/private
sudo chown -R $USER: /var/ssl/private
cd /var/ssl/private
export CC_IP=<Control Center IP>
keytool -keystore kafka.server.keystore.jks \
-alias server \
- ຄວາມຖືກຕ້ອງ 999 \
-genkey -keyalg RSA -ext SAN=ip:${CC_IP}
To verify the SSL certificate, you can use the following command:
keytool -v -list -keystore kafka.server.keystore.jks -alias server
You should ensure that the port 9093 is accessible from external clients.
ສ້າງຄໍາຮ້ອງຂໍການເຊັນໃບຢັ້ງຢືນແລະເກັບໄວ້ໃນ file ຊື່ cert-server-request:
keytool -keystore kafka.server.keystore.jks \
-alias server \
-certreq \
-file cert-server-request
ໃນປັດຈຸບັນທ່ານຄວນສົ່ງ file cert-server-request to your Certificate Authority (CA) ຖ້າທ່ານກໍາລັງໃຊ້ອັນແທ້ຈິງ. ຫຼັງຈາກນັ້ນເຂົາເຈົ້າຈະສົ່ງຄືນໃບຢັ້ງຢືນທີ່ໄດ້ເຊັນ. ພວກເຮົາຈະອ້າງເຖິງນີ້ເປັນ cert-server-signed ຂ້າງລຸ່ມນີ້.
ການເຊັນໃບຢັ້ງຢືນ SSL ໂດຍໃຊ້ໃບຢັ້ງຢືນ CA ທີ່ສ້າງເອງ
ໝາຍເຫດ: ອີກເທື່ອຫນຶ່ງ, ການນໍາໃຊ້ 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 \
- - ໃນ cert-server-request \
- - ອອກໃບຢັ້ງຢືນເຊີບເວີ-ເຊັນ \
- -ວັນ 999 -CAcreateserial \
- -passin pass:{ca-password}
ການນໍາເຂົ້າໃບຢັ້ງຢືນທີ່ໄດ້ເຊັນເຂົ້າໃນ Keystore
ນໍາເຂົ້າໃບຢັ້ງຢືນຮາກ ca-cert ເຂົ້າໄປໃນ keystore:
keytool -keystore kafka.server.keystore.jks \
-alias ca-cert \
- ການນໍາເຂົ້າ \
-file ${CA_PATH}/ca-cert
ນໍາເຂົ້າໃບຢັ້ງຢືນທີ່ໄດ້ເຊັນເອີ້ນວ່າ cert-server-signed:
keytool -keystore kafka.server.keystore.jks \
-alias server \
- ການນໍາເຂົ້າ \
-file cert-server-ເຊັນ
ໄດ້ file kafka.server.keystore.jks ຄວນຖືກຄັດລອກໄປທີ່ສະຖານທີ່ທີ່ຮູ້ຈັກໃນເຊີບເວີສູນຄວບຄຸມ, ແລະຫຼັງຈາກນັ້ນອ້າງອີງໃສ່ໃນ /etc/kafka/server.properties.
ການໃຊ້ Streaming API
ທົ່ວໄປ
API streaming ດຶງຂໍ້ມູນທັງການທົດສອບ ແລະການຕິດຕາມ. ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະແຍກອອກຈາກຫນຶ່ງໃນປະເພດເຫຼົ່ານີ້.
API streaming ບໍ່ໄດ້ດຶງຂໍ້ມູນຈາກການທົດສອບທີ່ອີງໃສ່ສະຄຣິບ (ທີ່ສະແດງໂດຍຮູບສີ່ຫລ່ຽມແທນທີ່ຈະເປັນຊິ້ນສ່ວນ jigsaw ໃນ Control Center GUI), ເຊັ່ນ: ການທົດສອບການເປີດໃຊ້ບໍລິການ Ethernet ແລະການທົດສອບຄວາມໂປ່ງໃສ.
ຊື່ຫົວຂໍ້ Kafka
ຊື່ຫົວຂໍ້ Kafka ສໍາລັບ streaming API ແມ່ນມີດັ່ງນີ້, ເຊິ່ງ %s ເປັນຊື່ສັ້ນຂອງບັນຊີ Control Center (ລະບຸໃນເວລາສ້າງບັນຊີ):
const (
exporterName = "kafka"
metadataTopicTpl = “paa.public.accounts.%s.metadata”
metricsTopicTpl = “paa.public.accounts.%s.metrics”
)
Examples ຂອງການໃຊ້ Streaming API
ອະດີດamples ທີ່ປະຕິບັດຕາມແມ່ນພົບເຫັນຢູ່ໃນ tarball paa-streaming-api-client-examples.tar.gz ບັນຈຸຢູ່ພາຍໃນ tarball ສູນຄວບຄຸມ.
ຫນ້າທໍາອິດ, ມີ ex ພື້ນຖານample ສະແດງໃຫ້ເຫັນວິທີການ metrics ແລະ metadata ຂອງພວກມັນຖືກຖ່າຍທອດແຍກຕ່າງຫາກແລະພຽງແຕ່ພິມຂໍ້ຄວາມທີ່ໄດ້ຮັບໄປຫາ console. ທ່ານສາມາດດໍາເນີນການດັ່ງຕໍ່ໄປນີ້:
sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME There is also a more advanced example ບ່ອນທີ່ metrics ແລະຂໍ້ຄວາມ metadata ມີຄວາມກ່ຽວຂ້ອງກັນ. ໃຊ້ຄໍາສັ່ງນີ້ເພື່ອດໍາເນີນການມັນ:
sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME You need to use sudo to run Docker commands such as the ones above. Optionally, you can follow the Linux post-installation steps to be able to run Docker commands without sudo. For details, go to docs.docker.com/engine/install/linux-postinstall.
Juniper Networks, ໂລໂກ້ Juniper Networks, Juniper, ແລະ Junos ແມ່ນເຄື່ອງໝາຍການຄ້າທີ່ຈົດທະບຽນຂອງ Juniper Networks, Inc. ໃນສະຫະລັດ ແລະປະເທດອື່ນໆ. ເຄື່ອງໝາຍການຄ້າອື່ນໆທັງໝົດ, ເຄື່ອງໝາຍການບໍລິການ, ເຄື່ອງໝາຍຈົດທະບຽນ ຫຼືເຄື່ອງໝາຍການບໍລິການທີ່ລົງທະບຽນແມ່ນເປັນຊັບສິນຂອງເຈົ້າຂອງຂອງເຂົາເຈົ້າ. Juniper Networks ບໍ່ຮັບຜິດຊອບຕໍ່ຄວາມບໍ່ຖືກຕ້ອງໃດໆໃນເອກະສານນີ້. Juniper Networks ສະຫງວນສິດໃນການປ່ຽນແປງ, ແກ້ໄຂ, ໂອນ, ຫຼືແກ້ໄຂສິ່ງພິມນີ້ໂດຍບໍ່ໄດ້ແຈ້ງໃຫ້ຊາບ. ສະຫງວນລິຂະສິດ © 2025 Juniper Networks,
Inc. ທິການ.

ເອກະສານ / ຊັບພະຍາກອນ
![]() |
JUNIPER NETWORKS Routing Active Testing Solution Brief [pdf] ຄູ່ມືຜູ້ໃຊ້ Routing Active Testing Solution Brief, Active Testing Solution Brief, Testing Solution Brief, Solution Brief |
