如何在Grafana结合ClickHouse的日志面板中设置标签
解决Grafana Logs面板不显示唯一标签的问题
针对你用Grafana+ClickHouse搭建日志监控,开启「Unique labels」后日志条目仍无标签的问题,按以下步骤处理:
指定面板标签字段
编辑Logs面板,切换到「Options」标签页,在「Labels」区域找到「Label fields」,手动填入你想作为标签的字段名,比如:level,source,traceId,job,event。这些字段对应你SQL查询返回的列名,Grafana会把它们识别为日志标签展示。(可选)提取JSON字段作为标签
如果你的payload是JSON格式,想从中提取内容作为标签,可以修改SQL查询,用ClickHouse的JSON函数提取字段,比如:SELECT "timestamp", "message", "level", "source", "event", "job", "traceId", "stack", "url", "payload", JSONExtractString(payload, 'user_id') AS user_id, -- 提取payload里的user_id作为标签字段 JSONExtractString(payload, 'request_path') AS request_path FROM "logs"."services" WHERE ( timestamp >= $__fromTime AND timestamp <= $__toTime ) AND source in (${source}) AND ( level IN ('warn', 'error' ) ) ORDER BY "timestamp" desc LIMIT 1000之后把新增的
user_id、request_path也添加到「Label fields」里即可。验证配置
保存面板配置后刷新页面,日志条目就会显示你指定的唯一标签了。
内容的提问来源于stack exchange,提问作者Dmitry Skryabin
相关产品推荐
相关产品推荐

