Zabbix のログ データを ELK スタックにフィードして、タイミングの相関関係を調べようとしています。ただし、Logstash 集中サーバー構成によって指定されたフィルターを取得していません。Filebeat を使用して、処理のためにログ エントリを Logstash に送信しています。ただし、このfields.tags
行は Logstash によって認識されていませんが、Elasticsearch/Kibana では表示されています。ここに私の設定があります。
filebeat:
prospectors:
-
paths:
- /var/log/zabbix/zabbix_proxy.log
input_type: log
fields:
tags: ["zabbix", "zabbix-proxy"]
registery_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["elkls.com:5044"]
logging:
files:
rotateeverybytes: 12345656
そして、私のLogstash構成ファイル
input {
beats {
port => 5044
}
}
filter {
if "zabbix" in [fields.tags] {
grok {
match => {
"message" => {
"filter stuff here"
}
}
}
}
}
output {
elasticsearch {
hosts => [ "elkhost.com:9200"]
}
}
Logstash は行に作用しておらずfields.tags
、Filebeat から渡されたログ行をフィルタリング/カットしています。これらの変数に正しくアクセスしていますか? 他のファイルでも同様のことを行いますが、Logstash がエージェントとして機能し、ファイルから直接読み取りを行っている場合のみです。