docker - 用logstash解析docker日志

标签 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

谢谢!

最佳答案

使用json codec解析JSON字符串(可以改用json filter),然后使用mutate filter将“log”字段重命名为“message”,最后使用date filter解析“time”字段。

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

关于docker - 用logstash解析docker日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29165968/

相关文章:

elasticsearch - 使用多个基本身份验证用户的logstash http输入

linux - 在 Ubuntu 16.04 中,如果没有 sudo 用户,则无法运行 Docker 命令

linux - 高并发异步asp.net核心应用程序中TaskScheduler的OutOfMemoryException

json - 如何将docker run命令转换为json文件?

bash - 在 Docker 容器启动时启动 bash 脚本不起作用

docker - 无法通过MicroK8s集群中的Kubernetes NodePort服务访问Express.js服务

mysql - 我如何使用 logstash 从 MySQL 动态更新我的数据(不重复)?

elasticsearch - 使用user\pass将Logstash请求转发到Elasticsearch

elasticsearch - 日志文件不会出现在elasticsearch中

elasticsearch - logstash不够快地输出到elasticsearch