Loki — это система сбора и агрегации логов, которая отлично работает в связке с Grafana. С помощью Loki можно отслеживать ошибки в логах и настроить алерты, чтобы оперативно реагировать на возникающие проблемы.
Сделали пошаговое руководство по настройке мониторинга логов и алертов для ошибок.
1. Установка Loki и Promtail
• Запуск Loki с помощью Docker:
docker run -d \
--name=loki \
-p 3100:3100 \
-v $(pwd)/loki-config.yml:/etc/loki/config.yaml \
grafana/loki:2.3.0
• Пример конфига для Promtail:
server:
http_listen_port: 3101
positions:
filename: /tmp/positions.yaml
clients:
- url: http://localhost:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/log/*log
• Запуск Promtail в контейнере:
docker run -d \
--name=promtail \
-v /var/log:/var/log \
-v $(pwd)/promtail-config.yml:/etc/promtail/promtail.yml \
grafana/promtail:2.3.0
2. Подключение Loki к Grafana
• В Grafana перейдите в Configuration → Data Sources.
• Нажмите Add Data Source и выберите Loki.
• Укажите URL вашего Loki-сервера, например, http://localhost:3100.
• Нажмите Save & Test, чтобы убедиться в успешном подключении.
3. Создание дашборда и панелей с логами
• Перейдите в Dashboards → Create → New dashboard.
• Добавьте панель, выберите источник данных Loki и используйте LogQL для запросов к логам.
Пример запроса для поиска ошибок:
{job="varlogs"} |= "error"• Отобразите логи и настроите фильтрацию по уровням логирования или по настроению.
4. Настройка алертов для логов
• Откройте панель с логами, перейдите в раздел Alert и выберите Create Alert.
• Настройте условия для активации алерта, например, если количество ошибок превышает порог:
count_over_time({job="varlogs"} |= "error" [5m]) > 5• В разделе Notifications выберите канал для уведомлений (например, Slack или Email).
Теперь у вас будут отображаться ошибки сервера, для более тонкой настройки можно указать для Loki эндпоинт сервиса или специфичный файл с логами.
🐸Библиотека devops'a #буст
