>_ IzzyLab

Практическое задание

Счётчики по уровню лога

средне

В /root/app.log строки начинаются с уровня: ERROR, WARN или INFO. Посчитай, сколько строк каждого уровня, и запиши в /root/levels.prom метрики Prometheus log_lines_total{level="error"} N, …{level="warn"} N, …{level="info"} N (уровень — строчными).

Что потренируешь:
  • prometheus
  • awk
  • подсчёт по уровню
  • лейблы
  • смена регистра

Разбор темы

Здесь частоты нужно не просто посчитать, а оформить как метрики Prometheus с лейблом: имя{лейбл="значение"} число, где лейбл в фигурных скобках делает log_lines_total с разными level разными временными рядами. Подсчёт по первому полю строки — привычный ассоциативный массив в awk или отдельные вызовы grep -c. Две готчи: значение лейбла требуется строчными буквами (в логе уровни заглавные — приводи явно через tolower()/tr), а кавычки вокруг значения — обязательная часть формата.

Что проверяется

  1. error = 3
  2. warn = 2, info = 5

Как это выглядит