【问题标题】:Any recommended ideas for getting logs from multiple servers with filebeat and logstash in ELK stack?在 ELK 堆栈中使用 filebeat 和 logstash 从多个服务器获取日志的任何推荐想法?
【发布时间】:2020-03-29 03:18:31
【问题描述】:

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

【问题讨论】:

  • 您尝试了哪些方法,哪些方法不起作用?您只需要在其他服务器上安装和配置 Filebeat,就像您对正在运行的服务器一样。
  • 我一直在尝试从不同服务器的不同服务获取日志。 Nginx、mariadb 和 Web 应用程序日志等服务。但问题是,kibana 仪表板的输出不是我想要的(即日志信息不够清晰)。是否有一些方法或推荐的文档来处理来自不同服务的日志并将其发送到一个单独的 logstash?顺便说一句,感谢您的回复@leandrojmp。

标签: logstash filebeat elk


【解决方案1】:

您需要在两台服务器上安装 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 中查看日志。

【讨论】:

    猜你喜欢
    • 2019-08-16
    • 2018-09-18
    • 2018-04-14
    • 1970-01-01
    • 2021-03-27
    • 2017-08-20
    • 2021-04-02
    • 1970-01-01
    • 2019-11-29
    相关资源
    最近更新 更多