首页 > 解决方案 > 在 ELK 堆栈中使用 filebeat 和 logstash 从多个服务器获取日志的任何推荐想法?

问题描述

在我的办公室基础设施中有 3 个服务器,即 feature_server、develop_server 和 log_server。两台服务器当前都在运行 nginx 服务。我想做的是如何使用 ELk 堆栈(logstash 和 filebeats)从他们两个收集 nginx 日志。它已经在一台服务器上工作。任何想法都将不胜感激。

标签: logstashfilebeatelk

解决方案


您需要在两台服务器上安装 filebeat 并将 filebeat 输出配置为发送到单个 logstash 实例。您可以添加其他字段作为来自具有不同服务器值的 filebeat 的输入,并在 logstash 中使用该字段来区分日志。

filebeat.inputs:
 - type: log 
paths:
 - "/var/log/apache2/*"
fields:
 server_name: "feature"
 fields_under_root: true

当您将它们从 logstash 发送到 Elasticsearch 时,您还可以将该字段用作索引。

Output:{
 elasticsearch {
    index => "logstash-%{[fields][server_name]}-%{+YYYY.MM.dd}"
 }
}

所有配置都取决于您希望如何在 Kibana 中查看日志。


推荐阅读