elasticsearch - 多个文件拍到一个logstash。如何优化配置

标签 elasticsearch logstash logstash-grok logstash-configuration filebeat

我有10台安装了Filebeat的服务器。
每个服务器监视2个应用程序,总共20个应用程序。

我有一台Logstash服务器,该服务器收集所有上述日志,并在过滤这些日志后将其传递给Elasticsearch。

要从一台服务器中读取一个文件,我使用以下Logstash配置:

input {
  beats {
    port => 5044
  }
}
filter {
    grok {
match => {"message" =>"\[%{TIMESTAMP_ISO8601:timestamp}\]%{SPACE}\[%{DATA:Severity}\]%{SPACE}\[%{DATA:Plugin}\]%{SPACE}\[%{DATA:Servername}\](?<short_message>(.|\r|\n)*)"}
    }
} 
output {
  elasticsearch {
    hosts => ["<ESserverip>:9200"]
    index => "groklogs"
}
          stdout { codec => rubydebug }
}

这是filebeat配置:
paths:
    - D:\ELK 7.1.0\elasticsearch-7.1.0-windows-x86_64\elasticsearch-7.1.0\logs\*.log

output.logstash:
  hosts: ["<logstaship>:5044"]

谁能给我一个例子
  • 我应如何转换以上内容以从多个应用程序接收
    来自多个服务器。
  • 我应该配置多个端口吗?怎么样?
  • 我应该如何使用多个Groks?
  • 如何在单个或最小的logstash配置文件中对其进行优化?

  • 典型设置的外观如何。请帮我。

    最佳答案

    您可以使用标记来区分应用程序(日志模式)。
    由于Filebeat提供元数据,字段 beat.name 将使您能够过滤所需的服务器。

    日志类型的多个输入,每个输入一个不同的标记就足够了。
    请参阅这些示例,以帮助您。

    Logstash

    filter {
        if "APP1" in [tags] {
            grok {
                 ...
            }
        }
        if "APP2" in [tags] {
            grok {
                 ...
            }
        }
    }
    

    文件拍
    filebeat.inputs:
    - type: log 
      paths:
        - /var/log/system.log
        - /var/log/wifi.log
      tags: ["APP1"]
    - type: log 
      paths:
        - "/var/log/apache2/*"
      tags: ["APP2"]
    

    关于elasticsearch - 多个文件拍到一个logstash。如何优化配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742845/

    相关文章:

    linux - 每当我重新启动 docker/elk 图像时,数据就会丢失

    elasticsearch - logstash文件输入配置

    elasticsearch - elasticsearch-使用logstash日期导入csv未解析为datetime类型

    elasticsearch - logstash配置以将三个属性添加/更改到列表

    c# - 在 Nest (ElasticSearch) 中聚合子/嵌套对象

    elasticsearch - 使用Elasticsearch在特定时间戳范围内搜索特定文本

    elasticsearch - 弹性搜寻查询(a如x和y)或(b如x和y)

    elasticsearch - 读取geo_shape作为GeoJSON文本

    elasticsearch - 如果我可以通过 REST 将数据发送到 elasticsearch,为什么要安装 logstash?

    logstash - 将日期格式从YYYY/MM/DD HH :MM:SS format in Logstash for nginx error logs转换为YYYY-MM-DD