我正在尝试使用 ELK 堆栈监视 symfony 应用程序。
我正在使用以下配置将日志发送到 logstash:
monolog:
handlers:
main:
type: gelf
publisher:
hostname: elk-host
port: 10514
formatter: monolog.formatter.gelf_message
level: INFO
在 kibana 上,我看到我收到了日志,但消息以一种奇怪的方式编码;这是 kibana 显示的示例:
x\x9CMP\xC1n\x830\f\xFD\u0015+\xA7V\xAAB\xA1\f(\xD7j;表示\xDD\"Ui0`)\u0004D\(\x9A\xF6\xEF\v\x9B\xD6\ xEDf\xBFg\xFB\xF9\xBD\u000F1\xE1\xE8\xA9w\xA2\u0014\xB1指令\x9Dh{ϡ\u0019\xFA\x915Y\xCF^\xDA\xDEh\e\u0018\xDF\u0006\ xEC指令\xF7\xBA\xC10\xF2\x8A5\x8E\xE8\f\xB9\u0006\xB8EP\xC2\xF4#*\u0001xct\xEBQ\xB8,@\xEC\xC1\xE9\u000EaSaM\u000E\xAB\ u0015l\x90\x9F\u0003\xB6\xD9n\x81
这是我的独白配置文件:
input {
gelf {
codec => "json"
}
syslog {
port => 10514
type => "syslog"
}
}
filter {
}
output {
elasticsearch {}
}
我尝试添加一个编码选项(charset => "UTF-8"),但效果并不好。
另外,为什么我的日志显示为“syslog”类型,而不是我在 monolog config 中指定的“gelf”?