Парсинг JSON-логов и переформатирование строки loki
Фильтр по подстроке, парсинг JSON и вывод только нужных полей. note: | json до line_format.
{app="api"} |= "error" | json | line_format "{{.level}} {{.msg}}"
more loki
all 7 commands →
Скорость логов по уровням
sum by (level) (rate({app="api"} | logfmt [5m]))
Квантиль по извлечённой задержке
quantile_over_time(0.99, {app="api"} | json | unwrap latency_ms [5m]) by (route)
Подсчёт совпадающих строк во времени
sum(count_over_time({namespace="prod"} |~ "timeout|deadline exceeded" [1m]))
Разовый запрос через logcli
logcli query '{job="app/api"} |= "panic"' --since=1h --limit=200 --output=jsonl
query_range Loki через API
curl -sG "$LOKI_ADDR/loki/api/v1/query_range" --data-urlencode 'query=sum(rate({app="api"}[5m]))' --data-urlencode 'step=60' | jq '.data.result'