0

@message 属性似乎是使用 logstash 和 kibana 时的核心属性。我的 json 记录器将数据与消息一起发送到

{"msg":"some one did something"}

如果我改变它

 {"@message":"someone did something"} 

logstash 服务器将其选为“@fields.@message”。

我有点困惑如何设置此属性以正确呈现。

4

1 回答 1

1

我怀疑输入正在读取事件json而不是json_event. 不同之处在于json它将在 @fields 命名空间下添加任何字段。json_event将期望完整的 logstash 事件序列化为 json。

您拥有的功能可能就是您想要的。如果不需要,您通常不想发送完整的 json_event。您可以使用 mutate 过滤器覆盖 logstash 中的 @message 字段。

mutate {
  type => 'json_logger'
  replace => ["@message", "%{msg}"]
  remove => "msg"
}
于 2013-04-02T16:05:53.387 回答