杜松标志

瞻博网络流媒体 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(常见问题)

  • 问:Paragon Active Assurance 是什么?
    答:Paragon Active Assurance 是一款提供监控和测试功能的产品。
  • 问:什么是流媒体 API?
    答:Streaming API 是 Paragon Active Assurance 中的一项功能,允许外部客户端从 Kafka 检索指标信息。
  • 问:如何启用 Streaming API?
    答:要启用 Streaming API,请按照用户手册的“启用 Streaming API”部分中概述的步骤操作。
  • 问:如何验证 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”客户端Examples”(第 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 安全.协议=SASL_SSL \
  • 复制代码
  • X sasl.mechanisms=普通 \
  • X sasl.用户名={CLIENT_USER} \
  • 密码:
  • 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 运行基本 –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 内容如下:

安全.协议=SASL_SSL ssl.ca.位置=ca-cert
sasl.机制=PLAIN
sasl.用户名={CLIENT_USER}
sasl.password={CLIENT_PASSWORD}

其中 {CLIENT_USER} 和 {CLIENT_PASSWORD} 是客户端的用户凭据。

运行基本的 examp莱斯:

  • 导出 KAFKA_FQDN=
  • build.sh 运行基本 –kafka-brokers ${KAFKA_FQDN}:9093 \
  • –帐户 ACCOUNT_SHORTNAME
  • –配置-file 客户端属性

其中 ACCOUNT_SHORTNAME 是您要从中获取指标的帐户的简称。

运行高级 examp莱斯:

  • 导出 KAFKA_FQDN=
  • build.sh 运行高级 –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-证书

现在 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-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. 在美国和其他国家/地区的注册商标。所有其他商标、服务标记、注册商标或注册服务标记均归其各自所有者所有。Juniper Networks 对本文档中的任何错误不承担任何责任。Juniper Networks 保留更改、修改、转让或以其他方式修订本出版物的权利,恕不另行通知。版权所有 © 2023 Juniper Networks, Inc. 保留所有权利。

文件/资源

瞻博网络流媒体 API 软件 [pdf] 用户指南
流媒体 API 软件、API 软件、软件

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *