Logstash 输出设置
编辑Logstash 输出设置
编辑指定这些设置以通过安全连接将数据发送到 Logstash。您还必须配置一个 Logstash 管道,该管道从 Elastic Agent 读取加密数据并将数据发送到 Elasticsearch。按照产品内的步骤配置 Logstash 管道。
在 Fleet 输出设置中,确保选择 Logstash 输出类型。
在使用 Logstash 输出之前,您需要确保对于任何已添加到您的 Elastic Agent 策略的集成,集成资产已安装在目标集群上。请参阅安装和卸载 Elastic Agent 集成资产,了解添加集成资产的步骤。
要了解如何生成证书,请参阅为 Logstash 输出配置 SSL/TLS。
要在 Logstash 中接收事件,您还需要创建一个 Logstash 配置管道。Logstash 配置管道侦听传入的 Elastic Agent 连接,处理接收到的事件,然后将事件发送到 Elasticsearch。
以下示例配置了一个 Logstash 管道,该管道在端口 5044
上侦听传入的 Elastic Agent 连接,并将接收到的事件路由到 Elasticsearch。
下面的 Logstash 管道定义是一个示例。在 Fleet 输出页面中创建 Logstash 输出时,请参阅 需要额外的 Logstash 配置
步骤。
input { elastic_agent { port => 5044 enrich => none # don't modify the events' schema at all ssl => true ssl_certificate_authorities => ["<ca_path>"] ssl_certificate => "<server_cert_path>" ssl_key => "<server_cert_key_in_pkcs8>" ssl_verify_mode => "force_peer" } } output { elasticsearch { hosts => ["https://127.0.0.1:9200"] # cloud_id => "..." data_stream => "true" api_key => "<api_key>" data_stream => true ssl => true # cacert => "<elasticsearch_ca_path>" } }
您的 Elastic Agent 将用于连接到 Logstash 的地址。使用 示例
有关默认端口和其他配置详细信息,请参阅Fleet Server 文档。 |
|
用于连接到 Logstash 的 CA 证书。这是用于为 Logstash 生成证书和密钥的 CA。复制并粘贴 CA 证书的全部内容。 此设置是可选的。 |
|
为客户端生成的证书。复制并粘贴证书的全部内容。这是所有代理将用于连接到 Logstash 的证书。 在每个客户端都有唯一证书的情况下,可以将该证书的本地路径放置在此处。代理将在建立与 Logstash 的连接时选择该位置的证书。 |
|
为客户端生成的私钥。这必须是 PKCS 8 密钥。复制并粘贴证书密钥的全部内容。这是所有代理将用于连接到 Logstash 的证书密钥。 在每个客户端都有唯一证书密钥的情况下,可以将该证书密钥的本地路径放置在此处。代理将在建立与 Logstash 的连接时选择该位置的证书密钥。 为了防止未经授权的访问,证书密钥存储为秘密值。虽然建议使用秘密存储,但您可以选择覆盖此设置并将密钥作为纯文本存储在代理策略定义中。秘密存储需要 Fleet Server 版本 8.12 或更高版本。 请注意,此设置也可以存储为秘密值或纯文本,用于预配置的输出。请参阅 Kibana 指南中的预配置设置,了解更多信息。 |
|
选择一个代理 URL,以便 Elastic Agent 连接到 Logstash。要了解代理配置,请参阅将代理服务器与 Elastic Agent 和 Fleet 结合使用。 |
|
将添加到使用此输出的每个策略的 Logstash 输出部分的 YAML 设置。确保您指定有效的 YAML。UI 当前不提供验证。 有关可用设置的描述,请参阅高级 YAML 配置。 |
|
当此设置打开时,如果代理策略中没有设置其他输出,则 Elastic Agent 将使用此输出发送数据。 Fleet Server 或 APM 使用的策略中的代理集成不支持输出到 Logstash。 |
|
当此设置打开时,如果代理策略中没有设置其他输出,则 Elastic Agent 将使用此输出发送代理监控数据。 Fleet Server 或 APM 使用的策略中的代理监控不支持输出到 Logstash。 |
高级 YAML 配置
编辑设置 | 描述 |
---|---|
(字符串)在网络错误后尝试重新连接到 Logstash 之前等待的秒数。在等待 默认值: |
|
(字符串)在网络错误后尝试连接到 Elasticsearch 之前等待的最大秒数。 默认值: |
|
(整数)单个 Logstash 请求中要批量处理的最大事件数。 可以将事件收集到批次中。Elastic Agent 会将大于 指定较大的批次大小可以通过降低发送事件的开销来提高性能。但是,较大的批次大小也会增加处理时间,这可能会导致 API 错误、连接被终止、发布请求超时,最终导致吞吐量降低。 将此值设置为 默认值: |
|
(整数)gzip 压缩级别。将此值设置为 提高压缩级别会降低网络使用率,但会增加 CPU 使用率。 |
|
(布尔值)配置字符串中 HTML 的转义。设置为 默认值: |
|
(字符串)用于写入事件的索引根名称。 |
|
如果 启用
禁用
默认值: 示例 outputs: default: type: logstash hosts: ["localhost:5044", "localhost:5045"] loadbalance: true |
|
(整数)在发布失败后重试发布事件的次数。在指定的重试次数之后,事件通常会被丢弃。 将 默认值: |
|
(整数)在等待 Logstash 的 ACK 时异步发送到 Logstash 的批次数量。在写入指定数量的批次后,输出会变为阻塞。指定 默认值: |
|
(布尔值)确定在使用代理时是否在本地解析 Logstash 主机名。如果 默认值: |
|
队列可以存储的事件数量。此值应能被 默认值: |
|
默认值: |
|
(int) 满足 默认值: |
|
(boolean) 如果为 默认值: |
|
(string) 等待 Logstash 服务器响应的秒数,超过此时间将超时。 默认值: |
|
(string) 与 Logstash 的连接的生存时间,超过此时间后将重新建立连接。当 Logstash 主机代表负载均衡器时,此设置很有用。由于与 Logstash 主机的连接是粘性的,因此在负载均衡器之后操作可能会导致实例之间的负载分配不均。在连接上指定 TTL,以实现跨实例的均匀连接分配。 默认值: 异步 Logstash 客户端(设置了 |
|
(int) 每个配置的主机用于发布事件的工作线程数。示例:如果您有两个主机和三个工作线程,则总共启动六个工作线程(每个主机三个)。 默认值: |