问题描述
tl;博士:
Loki-docker-log-driver -> Loki:✅ 有效。
Loki-docker-log-driver -> JSON 解码 -> Loki:如何?
对于我的本地开发,我运行了几个以 GELF 格式登录的服务。为了获得更好的概览和具有过滤功能的按时间排序的日志流,我使用了 loki docker log driver。
JSON 日志消息(GELF 样式)已成功发送到 loki,但我想进一步处理它们以便提取标签。我怎样才能做到这一点?
解决方法
如果您已经将 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