まず、私の英語についてお詫び申し上げます。
私は会社のインターンで、Filebeat を使用してログを送信するソリューション ELK を作成しました。
問題は、一度回復すると syslog_pri が常に通知と重大度コード 5 を表示することです。
これが私の構成です:
ログスタッシュ入力:
input {
beats {
port => 5044
type => "logs"
#ssl => true
#ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
#ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}
私のフィルター :
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri {
syslog_pri_field_name => "syslog_pri"
}
geoip {
source => "ip"
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
そして、私は次のようなログを受け取ります:
{
"_index": "logstash-2016.01.27",
"_type": "log",
"_id": "AVKDkbeIo9FUMGLWSx1L",
"_score": null,
"_source": {
"message": "2016-01-27T15:52:20.979+0100 WARN [HeartbeatService RUNNING] collector.heartbeat.HeartbeatService - Unable to send heartbeat to Graylog server: ConnectException: Connection refused",
"@version": "1",
"@timestamp": "2016-01-27T14:52:21.896Z",
"beat": {
"hostname": "LABSRVITT003",
"name": "LABSRVITT003"
},
"count": 1,
"fields": null,
"input_type": "log",
"offset": 28494893,
"source": "/var/log/graylog-collector/collector.log",
"type": "log",
"host": "LABSRVITT003",
"tags": [
"gpf_relp"
],
"syslog_severity_code": 5,
"syslog_facility_code": 1,
"syslog_facility": "user-level",
"syslog_severity": "notice"
},
"fields": {
"@timestamp": [
1453906341896
]
},
"sort": [
1453906341896
]
}
これを投稿しているのは、ドキュメンテーションを見て回ったアイデアが本当に不足しているためですが、何も見つかりませんでした。
このリンク :
[ https://serverfault.com/questions/735230/why-cant-the-logstash-syslog-pri-filter-see-the-priority-in-syslog-messages] この人も同じ問題を抱えており、成功しました。
誰かがアイデアを持っているなら、それを共有してください。
ありがとう