使用logstash解析docker日志

时间:2015-03-20 11:57:13

标签: docker logstash

我有一个登陆到stdout / stderr的docker容器。 Docker将它的输出保存到/ var / lib / docker / containers // - logs.json

日志包含具有以下结构的行

{"log":"This is a message","stream":"stderr","time":"2015-03-12T19:27:27.310818102Z"}

我应该使用哪个输入/编解码器/过滤器来仅将log字段作为message

谢谢!

1 个答案:

答案 0 :(得分:2)

使用json codec解析JSON字符串(您可以改为使用json filter),然后重命名" log"字段到"消息"使用mutate filter并最终使用date filter来解析"时间"字段。

filter {
  mutate {
    rename => ["log", "message"]
  }
  date {
    match => ["time", "ISO8601"]
    remove_field => ["time"]
  }
}