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" } ... } } ...