如何将 GELF-Logs 从本地 Docker 守护进程获取到 Loki?

时间:2021-05-14 08:46:41

标签: docker gelf loki

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

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

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

1 个答案:

答案 0 :(得分:2)

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

(base) PS C:\Users\tuzes\source\call_proj> python -m pytest                  
=========================== test session starts ============================
platform win32 -- Python 3.9.1, pytest-6.2.3, py-1.10.0, pluggy-0.13.1       
rootdir: C:\Users\tuzes\source\call_proj
plugins: pylama-7.7.1, mock-3.6.1
collected 1 item

test\caller_in_test.py .                                              [100%] 

============================ 1 passed in 0.09s ============================= 
(base) PS C:\Users\tuzes\source\call_proj>

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

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