我有 2 台服务器上安装了 filebeat,在另一台服务器上我安装了 ELK 堆栈。
在 Logstash conf 目录下的 ELK 服务器上,我创建了代表 2 个服务器的 2 个文件
在两台服务器上 在 filebeat 配置文件中,我为每台服务器指定了不同的端口(Logstash 作为输出)
这是我的服务器 1 的 Logstash 文件,
input {
beats {
port => 5044
}
}
output {
if "api_logs" in [tags] {
elasticsearch {
hosts => [ "es:9200" ]
index => "api_logs-%{+YYYY.MM.dd}"
}
}
else if "error_logs" in [tags] {
elasticsearch {
hosts => [ "es:9200" ]
index => "error_logs-%{+YYYY.MM.dd}"
}
}
}
这是我的服务器 2 的 Logstash 文件,
input {
beats {
port => 5045
}
}
output {
if "api_logs" in [tags] {
elasticsearch {
hosts => [ "es:9200" ]
index => "api_logs-%{+YYYY.MM.dd}"
}
}
else if "error_logs" in [tags] {
elasticsearch {
hosts => [ "es:9200" ]
index => "error_logs-%{+YYYY.MM.dd}"
}
}
}
我的服务器 1 的 filebeat 文件
filebeat.inputs:
- type: log
tags: ["api_logs"]
enabled: true
paths:
- logs/api*
- type: log
tags: ["error_logs"]
enabled: true
paths:
- logs/error*
output.logstash:
hosts: ["es:5044"]
我的服务器 2 的 filebeat 文件
filebeat.inputs:
- type: log
tags: ["api_logs"]
enabled: true
paths:
- logs/api*
- type: log
tags: ["error_logs"]
enabled: true
paths:
- logs/error*
output.logstash:
hosts: ["es:5045"]
但是当我在 Kibana 中创建索引时,它只显示一个服务器日志,而不是另一台服务器(在 host.name 字段下)。
请提出一些建议。