Перейти к содержанию

Шпаргалка LogQL


Язык запросов Loki для логов.


Фильтр по меткам (обязателен)

{job="api", env="production"}

Регулярные выражения для меток:

{app=~"api-.*", env!~"dev|test"}


Фильтр по содержимому строки (pipe)

{job="api"} |= "error"
Точное совпадение текста = error.

{job="api"} != "DEBUG"

Исключает текст.

regex:

{job="api"} |~ "(?i)error|fail[ed]"


Pipeline JSON parsing

{job="api"}
  | json *

Извлекает все поля лога как отдельные переменные.

{job="api"}
  | json message="message",traceID="traceid"

— только определённые ключи.


line_format

{job="api"}
  | line_format "Status={{.status}} User={{.user}}""


Метрические запросы

Создание метрики из логов — rate:

rate({job="api"} |="error" [5m])

Количество за интервал:

count_over_time({job="api"} [5m])


Агрегация через извлечение значения (unwrap/label)

Для логов, содержащих числовое поле (например latency_ms), извлекаем его через unwrap и аггрегируем:

sum_over_time({job="api"} |= "latency_ms="]]>unwrap latency_ms | __error__=""  [5m])

— суммирует значения.



Все описанные выше pipe-операторы — это шпаргалка для навигации по логам.


Далее: Шпаргалка TraceQL