如何从本地 Docker 守护进程获取 GELF 日志到 Loki?

Posted

技术标签:

【中文标题】如何从本地 Docker 守护进程获取 GELF 日志到 Loki?【英文标题】:How to get GELF-Logs from local Docker daemon to Loki? 【发布时间】:2021-08-04 11:05:34 【问题描述】:

tl;博士Loki-docker-log-driver -> Loki:✅ 有效。 Loki-docker-log-driver -> JSON 解码 -> Loki:如何?

为了我的本地开发,我运行了几个以 GELF 格式登录的服务。为了获得更好的概览和具有过滤功能的按时间排序的日志流,我使用了loki docker log driver。

JSON 日志消息(GELF 样式)已成功发送到 loki,但我希望进一步处理它们以便提取标签。我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

如果您已经将 JSON 格式的日志发送到 Loki,您只需选择所需的日志流并将其通过管道传输到“json”解析器,如下例所示:

filename="/var/log/nginx/access.log" | json

然后,您可以随意使用标签,如下所示:

filename="/var/log/nginx/access.log" | json | remote_addr="147.741.001.047"

【讨论】:

以上是关于如何从本地 Docker 守护进程获取 GELF 日志到 Loki?的主要内容,如果未能解决你的问题,请参考以下文章

docker:docker组件

从 docker 容器内部连接到 docker 守护进程

docker基础命令

docker基础命令

docker基础命令

docker log driver