【发布时间】:2018-01-09 15:13:10
【问题描述】:
我已经在服务器上设置了一个 ELK 堆栈。我配置了 logstash 和其他东西,并将 syslog 测试消息发送到 logstash。一切正常。
现在我尝试从 Cisco WLC 和 Cisco Switch 发送 syslog 消息到 logstash,但消息编码似乎错误。
在 logstash 日志文件中,我看到以下条目(我删除了该消息)
[2018-01-09T16:04:24,603][WARN][logstash.codecs.plain] 收到一个与您配置的字符编码不同的事件。 {:text=>"0\x82\u0002B\u0002\u0001\u0001\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"]
}
}
我已经尝试在输入中使用编解码器,但没有成功。我做错了什么?
【问题讨论】:
标签: elasticsearch logstash kibana elastic-stack logstash-configuration