多个 filebeat 到一个 logstash。如何优化配置
Multiple filebeat to one logstash. How to optimize the configuration
我有 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
filebeat.inputs:
- type: log
paths:
- /var/log/system.log
- /var/log/wifi.log
tags: ["APP1"]
- type: log
paths:
- "/var/log/apache2/*"
tags: ["APP2"]
我有 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
filebeat.inputs:
- type: log
paths:
- /var/log/system.log
- /var/log/wifi.log
tags: ["APP1"]
- type: log
paths:
- "/var/log/apache2/*"
tags: ["APP2"]