Я установил стек ELK на сервере. Я настроил logstash и другие вещи и отправил тестовые сообщения системного журнала в logstash. Все работает нормально.
Теперь я пытаюсь отправить сообщения системного журнала от Cisco WLC и коммутатора Cisco в logstash, и кажется, что кодировка сообщений неверна.
В файле журнала logstash я вижу следующую запись (я удалил сообщение)
[2018-01-09T16:04:24,603][WARN ][logstash.codecs.plain ] Получено событие с кодировкой символов, отличной от настроенной вами. {:text=>"0\x82B\u000... [УДАЛЕНО ИЗ СООТВЕТСТВИЯ БЕЗОПАСНОСТИ], :expected_charset=>"UTF-8"}
Ввод моего конфигурационного файла logstash выглядит следующим образом:
input {
udp {
port => 514
type => syslog
codec => plain {
charset => "ISO-8859-1"
}
}
}
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}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
Я уже пробовал экспериментировать с кодеком на входе, но безуспешно. Что я делаю неправильно?