Можно ли агрегировать журналы Локи днем на Графане?

#elasticsearch #grafana #grafana-loki #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"}
 

Можно ли сгруппировать журналы по дате и имени пользователя, чтобы получить количество уникальных пользователей в день?

В настоящее время у меня есть следующий запрос:

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

Это фактически дает мне круговую диаграмму уникальных пользователей для текущего диапазона панели мониторинга. Вместо этого я хотел бы, чтобы временной ряд показывал количество уникальных пользователей в день (например, за последние 60 дней). Другими словами, Ежедневные активные пользователи (DAU).

С помощью приведенных выше журналов мне нужно что-то вроде:

 {"2021-09-10": 2}
{"2021-09-09": 1}
{"2021-09-08": 1}
 

Возможно ли это с Локи или мне следует вместо этого обратиться к чему-то вроде Elasticsearch?