Logstash 集成插件

编辑
  • 插件版本:v1.0.3
  • 发布日期:2024-09-12
  • 更新日志

其他版本,请参见 版本化插件文档

获取帮助

编辑

如有任何关于插件的问题,请在 Discuss 论坛中发帖。如发现 bug 或有功能需求,请在 Github 中提交 issue。如需查看 Elastic 支持的插件列表,请查阅 Elastic 支持矩阵

描述

编辑

Logstash 集成插件提供用于将事件从一个 Logstash 实例发送到另一个(或多个)实例的集成插件。

高级概念

编辑

您可以配置一个 logstash 输出插件,将事件发送到一个或多个 logstash 输入插件,这些输入插件分别位于在不同进程或不同主机上运行的不同 pipeline 中。

为此,您应该首先使用 logstash 输入插件配置下游 pipeline,并绑定到可用的端口以便监听传入连接。默认情况下启用安全性,因此您需要提供身份信息或禁用 SSL。

您需要从上游 pipeline 到下游 pipeline 绑定接口的 TCP 路由。

input {
  logstash {
    port => 9800

    # SSL IDENTITY 
    ssl_keystore_path      => "/path/to/identity.p12"
    ssl_keystore_password  => "${SSL_IDENTITY_PASSWORD}"
  }
}

身份信息通常应包含有关上游输出插件将使用的主机名和 IP 地址的身份声明。

配置并运行下游 pipeline 后,您可以通过添加指向下游输入插件的 logstash 输出插件,从任意数量的上游 pipeline 发送事件。您可能需要配置 SSL 以信任下游输入插件提供的证书。

output {
  logstash {
    hosts => ["10.0.0.123:9800", "10.0.0.125:9801"]

    # SSL TRUST 
    ssl_truststore_path => "/path/to/truststore.p12"
    ssl_truststore_password => "${SSL_TRUST_PASSWORD}"
  }
}

除非禁用 SSL 或预期下游输入插件提供由全局信任的机构签发的证书,否则您可能需要提供信任来源。

负载均衡

编辑

logstash 输出插件配置为发送到多个 hosts 时,它会将事件批量公平地分发到所有这些下游主机,优先选择没有最近错误的主机。这增加了每个批次被路由到已启动并有能力接收事件的下游主机的可能性。