Kafka 输出设置
编辑Kafka 输出设置
编辑指定这些设置以通过安全连接将数据发送到 Kafka。在 Fleet 输出设置中,确保已选择 Kafka 输出类型。
如果您计划在将 Elastic Agent 输出数据发送到 Kafka 之前使用 Logstash 修改它们,请参阅本页稍后的 指南。
常规设置
编辑
Elastic Agent 连接时将请求的 Kafka 协议版本。默认为 |
|
您的 Elastic Agent 将用来连接到一个或多个 Kafka 代理的地址。使用格式 示例
有关默认端口和其他配置详细信息,请参阅 Fleet Server 文档。 |
身份验证设置
编辑选择 Elastic Agent 用于与 Kafka 进行身份验证的机制。
Elastic Agent 和 Kafka 之间不使用身份验证。这是默认选项。在生产环境中,建议选择一种身份验证方法。
|
|
使用用户名和密码连接到 Kafka。 提供您的用户名和密码,并为您的登录凭据选择一个 SASL(简单身份验证和安全层)机制。 启用 SCRAM 后,Elastic Agent 将使用 SCRAM 机制来验证用户凭据。SCRAM 基于 IETF RFC5802 标准,该标准描述了一种用于验证用户的质询-响应机制。
为了防止未经授权的访问,您的 Kafka 密码将存储为机密值。虽然建议使用机密存储,但您可以选择覆盖此设置并将密码作为纯文本存储在代理策略定义中。机密存储需要 Fleet Server 版本 8.12 或更高版本。 请注意,此设置也可以存储为机密值或作为预配置输出的纯文本。有关详细信息,请参阅 Kibana 指南中的 预配置设置。 |
|
使用安全套接字层 (SSL) 协议进行身份验证。提供您的 SSL 证书的以下详细信息
|
|
服务器 SSL 证书颁发机构 |
用于连接到 Kafka 的 CA 证书。这是用于生成 Kafka 的证书和密钥的 CA。复制并粘贴 CA 证书的完整内容。 此设置是可选的。选择身份验证 单击添加行以指定其他证书颁发机构。 |
验证模式 |
控制服务器证书的验证。有效值为
默认值为 |
分区设置
编辑创建的分区数由 Kafka 代理根据主题列表自动设置。然后,记录将随机、按轮询顺序或根据计算的哈希发布到分区。
将记录随机发布到 Kafka 输出代理事件分区。指定在分区程序选择新分区之前要发布到同一分区的事件数。 |
|
以轮询方式将记录发布到 Kafka 输出代理事件分区。指定在分区程序选择新分区之前要发布到同一分区的事件数。 |
|
根据从指定的字段列表计算出的哈希将记录发布到 Kafka 输出代理事件分区。如果未指定字段,则使用 Kafka 事件键值。 |
主题设置
编辑使用此选项为每个 Elastic Agent 事件设置 Kafka 主题。
设置一个默认主题,用于由 Elastic Agent 发送到 Kafka 输出的事件。 您可以设置一个静态主题,例如
您还可以设置自定义字段。如果您正在将 |
标头设置
编辑标头是键值对,并且可以包含多个具有相同键的标头。仅支持字符串值。这些标头将包含在每个生成的 Kafka 消息中。
要在 Kafka 标头中设置的键。 |
|
要在 Kafka 标头中设置的值。 单击添加标头以配置要包含在每个 Kafka 消息中的其他标头。 |
|
用于日志记录、调试和审核目的的可配置 ClientID。默认值为 |
压缩设置
编辑您可以启用压缩以减少 Kafka 输出的容量。
选择要使用的压缩编解码器。支持的编解码器为 |
|
对于 提高压缩级别会减少网络使用量,但会增加 CPU 使用量。默认值为 4。 |
代理设置
编辑为 Kafka 代理配置超时和缓冲区大小值。
Kafka 代理在超时之前等待所需数量的 ACK 的最长时间(请参阅稍后的 |
|
Elastic Agent 等待 Kafka 代理响应的最长时间,超过此时间将会超时。默认值为 30 秒。 |
|
代理所需的 ACK 可靠性级别。选项为
默认值为 请注意,如果 ACK 可靠性设置为 |
其他设置
编辑
一个可选的格式化字符串,指定 Kafka 事件键。如果配置,则可以使用格式字符串从事件中提取事件键。 有关特定密钥选择的影响,请参阅 Kafka 文档;默认情况下,密钥由 Kafka 集群选择。 |
|
为 Elastic Agent 选择用于连接 Kafka 的代理 URL。要了解有关代理配置的信息,请参阅将代理服务器与 Elastic Agent 和 Fleet 结合使用。 |
|
将添加到每个使用此输出的策略的 Kafka 输出部分的 YAML 设置。请确保指定有效的 YAML。UI 当前不提供验证。 有关可用设置的描述,请参阅 高级 YAML 配置。 |
|
启用此设置后,如果代理策略中未设置其他输出,则 Elastic Agent 将使用此输出发送数据。 |
|
高级 YAML 配置
编辑设置 | 描述 |
---|---|
(字符串) 在发生网络错误后尝试重新连接到 Kafka 之前等待的秒数。等待 默认值: |
|
(字符串) 在发生网络错误后尝试连接到 Kafka 之前等待的最大秒数。 默认值: |
|
(整数) 单个 Kafka 请求中批量处理的最大事件数。 默认值: |
|
(整数) 发送批量 Kafka 请求之前等待的持续时间。 默认值: |
|
(整数) 每个 Kafka 代理在输出管道中缓冲的消息数。 默认值: |
|
(字符串) 用于日志记录、调试和审计目的的可配置 ClientID。 默认值: |
|
输出编解码器配置。您可以指定
使用启用美观打印的 output.console: codec.json: pretty: true escape_html: false
使用 output.console: codec.format: string: '%{[@timestamp]} %{[message]}' 默认值: |
|
(字符串) 活动网络连接的保持活动期。如果为 默认值: |
|
(整数) JSON 编码消息允许的最大大小。较大的消息将被丢弃。此值应等于或小于代理的 默认值: |
|
Kafka 元数据更新设置。元数据包含有关代理、主题、分区和用于发布的活动领导者的信息。
|
|
队列可以存储的事件数。此值应能被 默认值: |
|
默认值: |
|
(整数) 满足 默认值: |
Kafka 输出和使用 Logstash 将数据索引到 Elasticsearch
编辑如果您正在考虑使用 Logstash 将数据从 kafka
传输到 Elasticsearch,请注意,从 Elastic Agent 发送到 kafka
的文档结构不得由 Logstash 修改。我们建议在 kafka
输入和 json
编解码器上禁用 ecs_compatibility
,以确保输入不编辑字段及其内容。
集成设置的数据流希望接收具有与直接从 Elastic Agent 发送的事件结构和字段名称相同的事件。
从 Elastic Agent 发送到 kafka
的文档结构不得由 Logstash 修改。我们建议在 kafka
输入和 json
编解码器上禁用 ecs_compatibility
。
有关更多详细信息,请参阅适用于 Elastic Agent 的 Logstash 输出文档。
inputs { kafka { ... ecs_compatibility => "disabled" codec => json { ecs_compatibility => "disabled" } ... } } ...