zpr*_*zpr 6 elasticsearch grafana grafana-loki
我有一组这样的日志:
{"action": "action_a", "username": "user_1", "ts": "2021-09-10T02:18:14.103Z"}
{"action": "action_a", "username": "user_2", "ts": "2021-09-10T02:17:14.103Z"}
{"action": "action_a", "username": "user_1", "ts": "2021-09-09T02:16:14.103Z"}
{"action": "action_a", "username": "user_1", "ts": "2021-09-08T02:15:14.103Z"}
Run Code Online (Sandbox Code Playgroud)
是否可以按日期和用户名对日志进行分组,以获取每天的唯一用户数?
我目前有以下查询:
sum by (username) (count_over_time({job="my-app"} | json | username != "" [$__range]))
Run Code Online (Sandbox Code Playgroud)
这实际上为我提供了当前仪表板范围的唯一用户的饼图。相反,我想要一个时间序列来显示每天的唯一用户数量(例如过去 60 天)。换句话说,每日活跃用户 (DAU)。
有了上面的日志,我需要类似的东西:
{"2021-09-10": 2}
{"2021-09-09": 1}
{"2021-09-08": 1}
Run Code Online (Sandbox Code Playgroud)
Loki 可以做到这一点吗?或者我应该寻找像 Elasticsearch 这样的东西?
也许使用 label_format 创建一个新标签可以解决问题? 标签格式表达式
sum by (day) (
count_over_time({job="my-app"} | json | label_format day=`{{.ts| substr 0 10}}` | username != ""[$__range])
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5623 次 |
| 最近记录: |