将 Elastic Agent 数据路由到多个 Elasticsearch 集群和其他目标的 Logstash

编辑

将 Elastic Agent 数据路由到多个 Elasticsearch 集群和其他目标的 Logstash

编辑
Image showing Elastic Agent collecting and routing data to multiple destinations
摄取模型
Elastic Agent 到 Logstash 到 Elasticsearch 集群和/或其他目标
使用场景
根据内容,需要将 Elastic Agent 收集的数据路由到不同的 Elasticsearch 集群或非 Elasticsearch 目标
示例

让我们以 Windows 工作站为例,我们使用系统和 Windows 集成来收集不同类型的日志。这些日志需要发送到不同的 Elasticsearch 集群以及 S3 用于备份,并且需要一种机制将其发送到其他目标,例如不同的 SIEM 解决方案。此外,Elasticsearch 目标是根据数据流类型和组织标识符派生的。

在这种用例中,代理将数据发送到 Logstash 作为路由机制到不同的目标。请注意,必须在将数据路由到的所有 Elasticsearch 集群上安装系统和 Windows 集成。

示例配置
input {
  elastic_agent {
    port => 5044
  }
}
filter {
  translate {
    source => "[http][host]"
    target => "[@metadata][tenant]"
    dictionary_path => "/etc/conf.d/logstash/tenants.yml"
  }
}
output {
  if [@metadata][tenant] == "tenant01" {
    elasticsearch {
      cloud_id => "<cloud id>"
      api_key => "<api key>"
    }
  } else if [@metadata][tenant] == "tenant02" {
    elasticsearch {
      cloud_id => "<cloud id>"
      api_key => "<api key>"
    }
  }
}

资源

编辑

有关配置 Elastic Agent 的信息

有关 Logstash 和 Logstash 输出的信息

有关 Elasticsearch 的信息