使用 Grafana 和 Loki 删除重复条目

Removing duplicate entries with Grafana and Loki

我正在使用 Grafana 可视化来自 Prometheus 的指标和来自 Loki 的有关应用程序的日志。有日志语句如:

{"action": "action_a", "username": "user_1", "ts": 1012}
{"action": "action_a", "username": "user_2", "ts": 1008}
{"action": "action_a", "username": "user_1", "ts": 1005}
{"action": "action_a", "username": "user_1", "ts": 1000}

我使用 Grafana 日志面板查询获取“最近活跃用户”的列表:

{job="my-app"} | json | username != "" | line_format "{{.username}}"

我已经尝试了 Deduplication 的所有值,这大部分工作正常,除了在(常见)情况下用户在彼此之间进行操作(如上所述),然后我得到这样的日志:

user_1
user_2
user_1

我怎样才能让它只显示每个用户一次?例如:

user_1
user_2

尝试这样的事情:

count by (username) (count_over_time({job="my-app"} | json | username != "" [$__range]))

您可以使用例如 Grafana 上的饼图来显示此数据。请参阅下文如何使用不同的日志文件和不同的标签(“分支”而不是“用户名”)进行配置: