杜松標誌

瞻博網路串流 API 軟體Juniper-NETWORKS-Streaming-API-軟體產品

產品資訊

規格

  • 產品名稱:Paragon Active Assurance
  • 版本:4.1
  • 發佈日期:2023-03-15

介紹:
本指南提供如何使用產品的串流 API 從 Paragon Active Assurance 擷取資料的說明。串流媒體用戶端和 API 包含在 Paragon Active Assurance 安裝中,但在使用 API 之前需要進行一些設定。 「配置 Streaming API」部分介紹了設定流程。

配置流程API:
以下步驟概述了配置流程 API 的過程:

超過view
Kafka 是一個事件流平台,旨在即時擷取和儲存來自各種來源的資料。它支援以分散式、可擴展、容錯和安全的方式管理事件流。本指南重點在於配置 Kafka 以利用 Paragon Active Assurance 控制中心中的流 API 功能。

術語
Streaming API 允許外部客戶端從 Kafka 檢索指標資訊。測試代理程式在測試或監控任務期間收集的指標將傳送至 Stream 服務。處理後,Stream 服務將這些指標以及其他元資料發佈到 Kafka 上。

卡夫卡主題
Streaming API 利用 Kafka 主題來組織和儲存指標和元資料。 Kafka主題可以根據具體需求創建和管理。

啟用流式 API
若要啟用 Streaming API,請執行下列步驟:

  1. 使用 sudo 在控制中心伺服器上執行以下命令:
KAFKA_METRICS_ENABLED = True sudo ncc 服務啟用 timescaledb 指標 sudo ncc 服務啟動 timescaledb 指標 sudo ncc 服務重新啟動

驗證流 API 是否在控制中心正常運作:
若要驗證您是否收到有關正確 Kafka 主題的指標:

  1. 使用以下命令安裝 kafkacat 實用程式:
    sudo apt-get 更新
    sudo apt-get 安裝 kafkacat
  1. 將“myaccount”替換為您的帳戶簡稱
    控制中心 URL:
    匯出 METRICS_TOPIC=paa.public.accounts.myaccount.metrics
    匯出 METADATA_TOPIC=paa.public.accounts.myaccount.metadata
  1. 運行以下命令 view 指標:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METRICS_TOPIC} -C -e
    筆記:上面的命令將顯示指標。
  2. 到 view 元數據,執行以下命令:
    kafkacat -b ${KAFKA_FQDN}:9092 -t ${METADATA_TOPIC} -C -e

筆記:上面的指令會顯示元數據,但更新不會那麼頻繁。

客戶前amp萊斯
對於客戶前amp文件和更多信息,請參閱用戶手冊的第 14 頁。

FAQ(常見問題)

  • Q:Paragon Active Assurance 是什麼?
    答:Paragon Active Assurance 是一款提供監控和測試功能的產品。
  • Q:什麼是串流媒體 API?
    答:Streaming API 是 Paragon Active Assurance 中的一項功能,允許外部用戶端從 Kafka 檢索指標資訊。
  • Q:如何啟用 Streaming API?
    答:若要啟用 Streaming API,請依照使用者手冊的「啟用 Streaming API」部分中概述的步驟操作。
  • Q:如何驗證 Streaming API 是否正常運作?
    答:有關如何驗證 Streaming API 功能的說明,請參閱「在控制中心驗證 Streaming API 是否正常運作」部分。

介紹

本指南介紹如何通過產品的流式 API 從 Paragon Active Assurance 中提取數據。
API 以及串流媒體用戶端包含在 Paragon Active Assurance 安裝中。但是,在使用 API 之前需要進行一些設定。第 1 頁的「設定流 API」一章對此進行了介紹。

超過view
本章介紹如何配置 Streaming API 以允許通過 Kafka 訂閱指標消息。
pr
下面我們將通過:

  • 如何啟用 Streaming API
  • 如何配置Kafka監聽外部客戶端
  • 如何配置 Kafka 以使用 ACL 並為所述客戶端設置 SSL 加密

什麼是卡夫卡?
Kafka 是一個事件流平台,它允許以事件流的形式實時捕獲從各種事件源(傳感器、數據庫、移動設備)發送的數據,以及持久存儲這些事件流以供以後檢索和操作。
使用 Kafka,可以以分佈式、高度可擴展、彈性、容錯和安全的方式管理端到端的事件流。

筆記: Kafka 可以透過多種不同的方式進行配置,並且專為可擴展性和冗餘系統而設計。本文檔僅重點介紹如何配置它以利用 Paragon Active Assurance 控制中心中的 Streaming API 功能。對於更高級的設置,我們參考 Kafka 官方文件:kafka.apache.org/26/documentation.html。

術語

  • Kafka:事件流平台。
  • Kafka 主題:事件集合。
  • Kafka 訂閱者/消費者:負責檢索存儲在 Kafka 主題中的事件的組件。
  • Kafka broker:Kafka集群的存儲層服務器。
  • SSL/TLS:SSL 是為通過 Internet 安全發送信息而開發的安全協議。 TLS 是 SSL 的後繼者,於 1999 年推出。
  • SASL:提供用戶身份驗證、數據完整性檢查和加密機制的框架。
  • 流式 API 訂閱者:負責檢索存儲在 Paragon Active Assurance 中定義的主題中並用於外部訪問的事件的組件。
  • 證書頒發機構:頒發和撤銷公鑰證書的可信實體。
  • 證書頒發機構根證書:標識證書頒發機構的公鑰證書。

流式 API 的工作原理
如前所述,Streaming API 允許外部客戶端從 Kafka 檢索有關指標的信息。

測試代理程式在測試或監控任務期間收集的所有指標都會傳送到 Stream 服務。在處理階段之後,串流服務將這些指標與其他元資料一起發佈在 Kafka 上。

Juniper-NETWORKS-Streaming-API-軟體- (1)

卡夫卡主題
Kafka 具有發布所有數據的主題的概念。 在 Paragon Active Assurance 中有許多這樣的 Kafka 主題可用; 但是,其中只有一部分用於外部訪問。
Control Center 中的每個 Paragon Active Assurance 帳戶都有兩個專門的主題。 下面,ACCOUNT 是賬戶簡稱:

  • paa.public.accounts.{ACCOUNT}.metrics
    • 給定帳戶的所有指標消息都發佈到此主題
    • 海量數據
    • 更新頻率高
  • paa.public.accounts.{ACCOUNT}.元數據
    • 包含與指標數據相關的元數據,例如ample 與指標關聯的測試、監視器或測試代理
    • 少量數據
    • 更新頻率低

啟用流式 API

筆記:這些說明將使用 sudo 在控制中心伺服器上運行。

由於 Streaming API 給控制中心增加了一些開銷,因此默認情況下未啟用。 要啟用 API,我們必須首先在主配置中啟用向 Kafka 發布指標 file:

KAFKA_METRICS_ENABLED = 真

警告: 啟用此功能可能會影響控制中心的性能。 確保您已相應地確定實例的尺寸。

接下來,啟用將這些指標轉發到正確的 Kafka 主題:

流媒體 API:true

要啟用和啟動 Streaming API 服務,請運行:

  • sudo ncc 服務啟用 timescaledb 指標
  • sudo ncc 服務啟動 timescaledb 指標

最後,重啟服務:

  • sudo ncc 服務重啟

驗證 Streaming API 在 Control Center 中是否正常工作

筆記: 這些指令將在控制中心服務器上運行。

您現在可以驗證您正在接收有關正確 Kafka 主題的指標。 為此,請安裝 kafkacat 實用程序:

  • sudo apt-get 更新
  • sudo apt-get 安裝 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”客戶端Examp第 14 頁

這驗證了我們在 Control Center 中有一個有效的 Streaming API。 但是,您很可能對從外部客戶端訪問數據感興趣。 下一節介紹如何開放Kafka對外訪問。

為外部主機開放 Kafka

筆記: 這些指令將在控制中心服務器上運行。

預設情況下,在控制中心上執行的 Kafka 會配置為僅偵聽本機主機以供內部使用。透過修改Kafka設置,可以向外部客戶端開放Kafka。

連接到 Kafka:注意事項

警告: 請仔細閱讀本文,因為如果您不了解這些概念,很容易遇到與 Kafka 的連接問題。

在本文檔中描述的控制中心設置中,只有一個 Kafka 代理。
但是,請注意,Kafka 代理旨在作為 Kafka 集群的一部分運行,該集群可能包含許多 Kafka 代理。
當連接到 Kafka 代理時,初始連接由 Kafka 客戶端設置。 通過此連接,Kafka 代理將返回“廣告偵聽器”列表,這是一個或多個 Kafka 代理的列表。
收到此列表後,Kafka 客戶端將斷開連接,然後重新連接到這些通告的偵聽器之一。 廣播的偵聽器必須包含 Kafka 客戶端可以訪問的主機名或 IP 地址,否則客戶端將無法連接。
如果使用 SSL 加密,涉及綁定到特定主機名的 SSL 證書,則 Kafka 客戶端接收到正確的連接地址更為重要,否則連接可能會被拒絕。
在此處閱讀有關 Kafka 偵聽器的更多信息: www.confluence.io/blog/kafka-listeners-explained

SSL/TLS 加密
為了確保只允許受信任的客戶端訪問 Kafka 和 Streaming API,我們必須配置以下內容:

  • 驗證:客戶端必須透過客戶端和 Kafka 之間的 SSL/TLS 安全連線提供使用者名稱和密碼。
  • 授權:經過驗證的用戶端可以執行 ACL 規定的任務。

這是一個結束view:

Juniper-NETWORKS-Streaming-API-軟體- (2)

*) 在 SSL 加密通道上執行的用戶名/密碼認證

若要完全了解 Kafka 的 SSL/TLS 加密如何運作,請參閱官方文件:docs.confluence.io/platform/current/kafka/encryption.html

SSL/TLS 證書結束view

筆記: 在本小節中,我們將使用以下術語:

證書:由憑證授權單位 (CA) 簽署的 SSL 憑證。每個 Kafka 經紀人都有一個。
金鑰庫:金鑰庫 file 存儲證書。 密鑰庫 file 包含證書的私鑰; 因此,需要妥善保管。
信託庫: 一個 file 包含受信任的 CA 證書。

要在控制中心中運行的外部客戶端和 Kafka 之間設置身份驗證,雙方都必須使用由證書頒發機構 (CA) 簽署的相關證書以及 CA 根證書定義的密鑰庫。
除此之外,客戶端還必須有一個帶有 CA 根證書的信任庫。
CA 根證書對於 Kafka 代理和 Kafka 客戶端是通用的。

創建所需的證書
這在第 17 頁的“附錄”中有所介紹。

控制中心中的 Kafka Broker SSL/TLS 配置

筆記: 這些指令將在控制中心服務器上運行。

筆記: 在繼續之前,您必須按照第 17 頁“附錄”中的說明創建包含 SSL 證書的密鑰庫。下面提到的路徑來自這些說明。
SSL 密鑰庫是一個 file 存儲在磁盤上 file 擴展名 .jks。

為 Kafka 代理和 Kafka 客戶端創建所需的證書後,您可以繼續配置在控制中心運行的 Kafka 代理。 您需要了解以下內容:

  • :控制中心的公共主機名; 這必須可以被 Kafka 客戶端解析和訪問。
  • :創建 SSL 證書時提供的密鑰庫密碼。
  • 和:這些是您要分別為管理者和客戶端使用者設定的密碼。請注意,您可以新增更多用戶,如前所示amp勒。

在 /etc/kafka/server.properties 中編輯或附加(使用 sudo 訪問)以下屬性,插入上述變量,如下所示:

警告: 請勿刪除 PLAINTEXT://localhost:9092;這將破壞控制中心的功能,因為內部服務將無法通訊。

  • # Kafka 代理監聽的地址。
  • 聽眾= PLAINTEXT://localhost:9092,SASL_SSL://0.0.0.0:9093
  • # 這些是通告回任何客戶端連接的主機。
  • Advertising.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.密碼=
  • ssl.client.auth=無
  • ssl.協議=TLSv1.2
  • #SASL配置
  • sasl.enabled.mechanisms=PLAIN
  • 使用者名稱=“admin”\
  • 密碼=” ” \
  • 使用者管理員=” ” \
  • 用戶客戶端=” ”;
  • # 注意可以使用 user_ 新增更多用戶=
  • # 授權,開啟ACL
  • authorizer.class.name=kafka.security.authorizer.AclAuthorizer super.users=使用者:admin

設置訪問控制列表 (ACL)

在本地主機上打開 ACL

警告:我們必須先為本地主機設定 ACL,以便控制中心本身仍然可以存取 Kafka。如果不這樣做,事情就會破裂。

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal 用戶: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 用戶: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 用戶:ANONYMOUS –allow-host 127.0.0.1 –group '*'

然後,我們需要為外部只讀訪問啟用 ACL,以便允許外部用戶閱讀 paa.public.* 主題。

### 匿名使用者的 ACL 條目 /usr/lib/kafka/bin/kafka-acls.sh \

筆記:更細粒度的控制請參考Kafka官方文件。

  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal 使用者:* –操作讀取 –操作描述 \ –group 'NCC'
  • /usr/lib/kafka/bin/kafka-acls.sh \
  • –authorizer kafka.security.authorizer.AclAuthorizer \
  • –authorizer-properties Zookeeper.connect=localhost:2181 \
  • –add –allow-principal 使用者:* –操作讀取 –操作描述 \ –主題 paa.public。 –資源模式類型前綴

完成此操作後,您需要重新啟動服務:

### 外部使用者的 ACL 條目 /usr/lib/kafka/bin/kafka-acls.sh \
  • sudo ncc 服務重啟

若要驗證用戶端是否可以建立安全連接,請在外部執行以下命令
客戶端電腦(不在控制中心伺服器上)。下面,PUBLIC_HOSTNAME 是控制中心主機名稱:

  • openssl s_client -debug -connect ${PUBLIC_HOSTNAME}:9093 -tls1_2 | grep “支持安全重新協商”

在命令輸出中,您應該看到服務器證書以及以下內容:

  • 支持安全重新協商

為確保內部服務已被授予訪問Kafka服務器的權限,請檢查以下日誌files:

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

驗證外部客戶端連接

卡夫卡貓

筆記:這些說明將在客戶端電腦上執行(而不是在控制中心伺服器上)。
筆記:要顯示指標訊息,請確保控制中心中至少有一個監視器正在運作。

要作為外部客戶端驗證和驗證連接性,可以使用安裝在第 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.用戶名={CLIENT_USER}
  • sasl.password={CLIENT_PASSWORD}

在哪裡

  • {PATH_TO_CA_CERT} 是 Kafka Broker 使用的 CA 根憑證的位置
  • {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 選項用於從 file. 如果您使用的是此類版本,則必須從命令行提供相同的設置,如下所示。

kafkacat -b ${KAFKA_FQDN}:9093 \

  • X security.protocol=SASL_SSL \
  • X ssl.ca.location={PATH_TO_CA_CERT} \
  • X sasl.mechanisms=普通 \
  • X sasl.使用者名稱={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

請務必參考所用 Kafka 客戶端庫的文檔,因為屬性可能與 client.properties 中的不同。

訊息格式
用於指標和元數據主題的消息以 Protocol buffers (protobuf) 格式序列化(參見 Developers.google.com/protocol-buffers). 這些消息的架構遵循以下格式:

指標 Protobuf 架構

  • 語法=“proto3”;
  • 導入“google/protobuf/timestamp.proto”;
  • 包 paa.streamingapi;
  • 選項 go_package = “.;paa_streamingapi”;
  • 訊息指標{
  • google.protobuf.Timestamp 時間amp = 1;
  • 地圖值 = 2;
  • int32 流_id = 3;
  • }
  • /**
  • * 度量值可以是整數或浮點數。
  • */
  • 訊息指標值{
  • 其中一個類型 {
  • int64 int_val = 1;
  • 浮點數 float_val = 2;
  • }
  • }

元數據 Protobuf 模式

  • 語法=“proto3”;
  • 包 paa.streamingapi;
  • 選項 go_package = “.;paa_streamingapi”;
  • 訊息元資料{
  • int32 流_id = 1;
  • 字串流名稱=2;
  • 地圖 tags = 13;
  • }

客戶前amp萊斯

筆記: 這些命令旨在在外部客戶端上運行,例如amp將您的筆記本電腦或類似設備放在控制中心中。
筆記: 要顯示指標信息,請確保至少有一個監視器在控制中心中運行。

控制中心 tarball 包含檔案 paa-streaming-api-client-examples.tar.gz(客戶端前amples),其中包含一個前amp展示如何使用 Streaming API 的 Python 腳本。

安裝和配置客戶端 Examp萊斯
你找到客戶前ampParagon Active Assurance Control Center 文件夾中的文件:

  • 導出 CC_VERSION=4.1.0
  • cd ./paa-control-center_${CC_VERSION}
  • ls paa-streaming-api-client-examp萊斯*

安裝 client-examp外部客戶端計算機上的文件,請執行以下操作:

  • # 創建用於提取客戶端 ex 內容的目錄amp萊斯塔巴勒
  • mkdir paa-streaming-api-client-examp萊斯
  • # 提取客戶端ex的內容amp萊斯塔巴勒
  • tar xzf paa-streaming-api-client-examples.tar.gz -C paa-streaming-api-client-examp萊斯
  • # 進入新建立的目錄
  • cd paa-streaming-api-client-examp萊斯

客戶前amples 需要 Docker 才能運行。 可以在以下位置找到 Docker 的下載和安裝說明 https://docs.docker.com/engine/install.

使用客戶端 Examp萊斯
前客戶amples 工具可以在基本或高級模式下運行以構建 examp不同複雜性的文件。 在這兩種情況下,也可以運行 examp帶有配置的文件 file 包含用於進一步自定義客戶端的附加屬性。

基本模式
在基本模式下,指標及其元資料是單獨串流的。為此,用戶端監聽每個可供外部存取的 Kafka 主題,並將收到的訊息列印到控制台。
開始執行基本的 examp萊斯,運行:

  • build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

其中 ACCOUNT_SHORTNAME 是您要從中獲取指標的帳戶的簡稱。
終止執行 example,按 Ctrl + C。(在執行停止之前可能會有輕微的延遲,因為客戶端等待超時事件。)

高級模式

筆記:僅顯示在控制中心執行的 HTTP 監視器的指標。

在進階模式下執行會顯示指標和元資料訊息之間的相關性。這是
這可能要歸功於每個指標訊息中存在一個流 ID 字段,該字段引用相應的元資料訊息。
執行高級 examp萊斯,運行:

  • build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

其中 ACCOUNT_SHORTNAME 是您要從中獲取指標的帳戶的簡稱。
終止執行 example,按 Ctrl + C。(在執行停止之前可能會有輕微的延遲,因為客戶端等待超時事件。)

附加設定
可以運行 examp使用 –config- 對客戶端進行額外配置的文件file 選項後跟一個 file 包含 key=value 形式的屬性的名稱。

  • build.sh 運行高級 \
  • –kafka-brokers 本機:9092 \
  • –帳戶 ACCOUNT_SHORTNAME \
  • –配置-file 客戶端配置屬性

筆記: 全部 file上面命令中引用的 s 必須位於當前目錄中,並且僅使用相對路徑進行引用。 這適用於 –config-file 參數和配置中的所有條目 file 描述 file 地點。

驗證外部客戶端身份驗證
使用 client-ex 從控制中心外部驗證客戶端身份驗證amples,執行以下步驟:

從 Paragon Active Assurance Control Center 資料夾中,切換到 paa-streaming-api-client-examp文件夾:

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.用戶名={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

其中 {CLIENT_USER} 和 {CLIENT_PASSWORD} 是客戶端的用戶憑據。

運行基本的 examp萊斯:

  • 導出 KAFKA_FQDN=
  • build.sh run-basic –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –帳戶 ACCOUNT_SHORTNAME
  • –配置-file 客戶端屬性

其中 ACCOUNT_SHORTNAME 是您要從中獲取指標的帳戶的簡稱。

運行高級 examp萊斯:

  • 導出 KAFKA_FQDN=
  • build.sh run-advanced –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –帳戶 ACCOUNT_SHORTNAME
  • –配置-file 客戶端屬性

附錄

在本附錄中,我們描述瞭如何創建:

  • 密鑰庫 file 用於存儲 Kafka 代理 SSL 證書
  • 信任庫 file 用於存儲用於簽署 Kafka 代理證書的證書頒發機構 (CA) 根證書。

創建 Kafka 代理證書
使用真實證書頒發機構創建證書(推薦)
建議您從受信任的 CA 獲取真正的 SSL 證書。
決定使用 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

創建客戶端信任庫
現在您可以創建一個信任庫 file 包含上面生成的 ca-cert。 這 file 將訪問 Streaming API 的 Kafka 客戶端將需要:

  • keytool -keystore kafka.client.truststore.jks \
    • 別名 CARoot \
    • 導入證書-file ${CA_PATH}/ca-cert

現在 CA 證書在信任庫中,客戶端將信任任何用它簽名的證書。
你應該複製 file kafka.client.truststore.jks 到客戶端計算機上的已知位置並在設置中指向它。

為 Kafka Broker 創建密鑰庫
要生成 Kafka 代理 SSL 證書,然後生成密鑰庫 kafka.server.keystore.jks,請執行以下操作:

生成 SSL 證書
下面,999 是密鑰庫的有效期天數,FQDN 是客戶端的完全限定域名(節點的公共主機名)。

筆記: FQDN 必須與 Kafka 用戶端用於連​​接到控制中心的確切主機名稱相匹配,這一點很重要。

  • sudo mkdir -p /var/ssl/private
  • sudo chown -R $USER: /var/ssl/private
  • cd /var/ssl/private
  • 導出 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 如果您使用的是真實的憑證授權單位 (CA),請向您的憑證授權單位 (CA) 傳送 cert-server-request。然後他們將返回簽署的證書。我們將在下面將其稱為“證書伺服器簽名”。

使用自建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 \
    • – 在憑證伺服器請求 \
    • – 出證書伺服器簽章\
    • – 第 999 天 -CAcreateserial \
    • – passin 通行證:{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 證書服務器簽名

這 file kafka.server.keystore.jks 應複製到控制中心服務器上的已知位置,然後在 /etc/kafka/server.properties 中引用。

使用流媒體 API

在這個部分

  • 一般| 20
  • Kafka 主題名稱 | 21
  • Examp使用 Streaming API 的檔案 | 21

一般的
流式 API 獲取測試和監控數據。 不可能挑出這些類別中的一個。
流式 API 不會從基於腳本的測試(在控制中心 GUI 中用矩形而不是拼圖表示的測試)中獲取數據,例如以太網服務激活測試和透明度測試。

Kafka 主題名稱
串流 API 的 Kafka 主題名稱如下,其中 %s 是控制中心帳戶的簡稱(建立帳戶時註明):

  • 常量(
  • 出口商名稱=“卡夫卡”
  • metadataTopicTpl =“paa.public.accounts.%s.metadata”metricTopicTpl =“paa.public.accounts.%s.metrics”)

Examp使用 Streaming API 的文件
前任amp下面的文件可以在 tarball paa-streaming-api-client-ex 中找到amples.tar.gz 包含在 Control Center tarball 中。
首先,有一個基本的examp該文件示範如何單獨傳輸指標及其元數據,並將收到的訊息簡單地列印到控制台。您可以按如下方式運行它:

  • sudo ./build.sh run-basic –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

還有一個更高級的examp指標和元數據消息相關的文件。 使用此命令運行它:

  • sudo ./build.sh run-advanced –kafka-brokers localhost:9092 –account ACCOUNT_SHORTNAME

您需要使用 sudo 來執行上述 Docker 命令。或者,您可以按照 Linux 安裝後步驟操作,以便無需 sudo 即可執行 Docker 命令。欲了解詳情,請訪問 docs.docker.com/engine/install/linux-postinstall.

Juniper Networks、Juniper Networks 標誌、Juniper 和 Junos 是 Juniper Networks, Inc. 在美國和其他國家的註冊商標。所有其他商標、服務標記、註冊標記或註冊服務標記均為其各自所有者的財產。瞻博網路對本文檔中的任何不準確之處不承擔任何責任。瞻博網路保留更改、修改、轉讓或以其他方式修訂本出版物的權利,恕不另行通知。版權所有 © 2023 瞻博網路公司。

文件/資源

瞻博網路串流 API 軟體 [pdf] 使用者指南
串流媒體 API 軟體、API 軟體、軟體

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *