JavaRush /Курсы /Модуль 5. Spring /Лекция 118: Практика: визуализация метрик в Grafana

Лекция 118: Практика: визуализация метрик в Grafana

Модуль 5. Spring
12 уровень , 7 лекция
Открыта

Если Prometheus — это библиотекарь метрик, то Grafana — это художник, который превращает эти метрики в шедевры.


Глубокое погружение в Grafana: создание информативных дашбордов

Прежде чем мы начнем: убедитесь, что у вас уже установлены и настроены Prometheus и Grafana согласно инструкции из предыдущей лекции. Если нет - вернитесь к разделу "Настройка Grafana" в лекции "Интеграция Actuator с мониторинговыми системами".

Сегодня мы научимся превращать сухие метрики в красивые и информативные дашборды. Давайте погрузимся в мир визуализации данных!


Создание дашборда

Мы начнем с самого простого — создания дашборда для мониторинга базовых метрик, таких как загрузка CPU и использование памяти.

1. Создаем новый дашборд

  • Зайдите в Grafana и нажмите "Create" -> "Dashboard".
  • Нажмите "Add new panel". Здесь мы будем добавлять графики и диаграммы.

2. Настраиваем график для загрузки CPU

  • В поле "Query" выберите источник данных (Prometheus).
  • Введите следующий PromQL-запрос для мониторинга процессорных ресурсов:
    rate(process_cpu_seconds_total{job="spring-boot-app"}[1m])
    

Этот запрос показывает CPU usage приложения в реальном времени.

  • Настройте визуализацию. В правом меню выберите тип графика (например, "Graph").
  • Нажмите "Apply", чтобы сохранить изменения.

Теперь вы должны видеть график, показывающий загрузку CPU вашего Spring Boot-приложения.

3. Настраиваем график для использования памяти Добавьте ещё один график, используя аналогичные шаги, но измените запрос:

jvm_memory_used_bytes{area="heap", job="spring-boot-app"}

Этот запрос отображает использование heap памяти (Java Virtual Machine).

  • Убедитесь, что источник данных выбран правильно.
  • Настройте визуализацию (Graph или другой тип по вашему усмотрению).
  • Сохраните изменения.

4. Добавляем панель для числа обрабатываемых запросов Вы можете добавить ещё одну панель с запросом для мониторинга HTTP-запросов:

rate(http_server_requests_seconds_count{status="200", job="spring-boot-app"}[1m])

Этот запрос показывает количество успешных HTTP-запросов с кодом 200 за последнюю минуту.


Практическое задание: настройка дашборда

На этом этапе у вас должен быть дашборд с как минимум тремя метриками:

  1. Загрузка процессора.
  2. Использование памяти.
  3. оличество обработанных HTTP-запросов.

Попробуйте самостоятельно:

  • Добавить ещё одну панель, например, для мониторинга ошибок:
rate(http_server_requests_seconds_count{status="500", job="spring-boot-app"}[1m])
  • Сделать цветовую настройку для разных уровней метрик (например, зеленый — всё нормально, красный — проблемы).

Визуальная магия: кастомизация дашбордов

Grafana позволяет настроить дашборд так, чтобы он был удобным и легко читаемым. Вот несколько советов:

  • Группируйте графики, относящиеся к одной категории (например, производительность, память, запросы).
  • Добавьте заголовок и описание к каждой панели, чтобы было понятно, что она отслеживает.
  • Используйте опцию "Repeat Panel" для создания динамических графиков (например, по каждому методу контроллера HTTP).

Реальный кейс: мониторинг аномалий

Допустим, ваше приложение внезапно стало работать медленнее. Как вы можете использовать Grafana для диагностики?

  1. Проверяете график загрузки CPU. Если график показывает резкий рост, возможно, какой-то процесс перегружает процессор.
  2. Смотрите на график использования памяти. Если память почти заполнена, следует проверить утечку памяти.
  3. Сравниваете успешные запросы и запросы с ошибками. Если количество ошибок резко возросло, это может быть следствием изменений в коде.

Grafana помогает быстро локализовать проблему и принять меры.


Итоговая проверка

После завершения настройки вашего дашборда:

  1. Просмотрите все панельки для обнаружения возможных ошибок или неточностей.
  2. Убедитесь, что ваши данные обновляются в реальном времени.
  3. Проверьте, что настроена корректная временная шкала (например, последние 15 минут).

Заключительные советы и типичные ошибки

Частые ошибки:

  • Неправильный PromQL-запрос: Некоторые метрики могут быть недоступны из-за ошибок в запросах.
  • Недостаточная защита: Убедитесь, что доступ к Grafana ограничен, особенно если вы работаете в продакшене.
  • Переизбыток графиков: Дашборды должны быть лаконичными и информативными. Не нужно добавлять слишком много панелей, иначе вы утонете в данных.

Постепенно вы освоите создание более сложных запросов PromQL и сможете визуализировать практически любые аспекты работы своего приложения. Теперь вы — архитектор дашбордов, а ваше приложение — открытая книга. Всё под контролем!

Для более глубокого изучения возможностей PromQL и Grafana обратитесь к официальной документации Prometheus и документации Grafana.

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ