Я просматриваю некоторые файлы журналов системного журнала в моем стеке ELK и заметил, что все поля syslog_severity имеют значение «notice», когда я могу проверить в файлах журнала, что они «не заметили». Похоже, Logstash по умолчанию использует syslog_severity, чтобы заметить. У меня есть это в моей конфигурации фильтра logstash:
filter {
if [type] == "syslog" {
grok {
match => { "message" => "<%{NONNEGINT:syslog_pri}>%{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 { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
Я посмотрел на упомянутое решение Вот но не думаю, что это применимо в моем случае, если вы посмотрите мой файл конфигурации фильтра. Я пробовал упомянутое решение Вот и перезапустил мою службу logstash с помощью
sudo service logstash restart
Я также попытался перезапустить остальные службы в моем стеке ELK, но все еще получаю уведомления обо всех моих полях syslog_severity. Есть идеи, что нужно изменить в фильтре?
Мои сообщения журнала имеют следующий формат:
<134>1 2015-01-01T11:12:23.180242-02:00 message