В этой лабораторной работе вы изучите основы создания панели мониторинга с использованием Grafana. Grafana — это популярная платформа с открытым исходным кодом для мониторинга и наблюдаемости, которая позволяет запрашивать, визуализировать, оповещать и исследовать ваши метрики независимо от того, где они хранятся.
Мы будем работать с предварительно настроенной средой, которая включает:
Grafana: Инструмент визуализации, в котором вы будете создавать свою панель мониторинга.
Prometheus: База данных временных рядов, которая будет служить источником данных для Grafana.
Node Exporter: Агент, который собирает метрики оборудования и операционной системы с хост-машины и предоставляет их для сбора Prometheus.
Ваша цель — создать простую панель мониторинга с нуля, которая отображает текущее использование ЦП в лабораторной среде.
Исследование предварительно настроенной среды
На этом этапе вы ознакомитесь с лабораторной средой. Скрипт настройки уже запустил три Docker-контейнера, которые составляют базовый стек мониторинга.
Сначала давайте проверим, что все контейнеры запущены. Откройте терминал и выполните следующую команду:
docker ps
Вы должны увидеть вывод, похожий на этот, перечисляющий контейнеры grafana, prometheus и node-exporter. Точные идентификаторы контейнеров будут отличаться.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1a2b3c4d5e6 grafana/grafana "/run.sh" 15 seconds ago Up 14 seconds 0.0.0.0:3000->8080/tcp grafana
f6e5d4c3b2a1 prom/prometheus "/bin/prometheus --c…" 20 seconds ago Up 19 seconds 0.0.0.0:9090->9090/tcp prometheus
a9b8c7d6e5f4 prom/node-exporter "/bin/node_exporter …" 25 seconds ago Up 24 seconds 0.0.0.0:9100->9100/tcp node-exporter
Вот краткое описание каждого компонента:
node-exporter: Собирает системные метрики с виртуальной машины.
prometheus: Собирает и хранит метрики из node-exporter.
grafana: Запрашивает Prometheus и визуализирует данные.
Теперь давайте получим доступ к пользовательскому интерфейсу Grafana.
Из-за настроек обратного прокси виртуальной машины LabEx переключитесь на интерфейс рабочего стола, нажмите на браузер Firefox в верхнем левом углу и введите http://localhost:8080 в адресной строке. Вы должны увидеть страницу входа в Grafana.
Войдите, используя учетные данные по умолчанию:
Имя пользователя: admin
Пароль: admin
Вам может быть предложено сменить пароль. Для этой лабораторной работы вы можете нажать Пропустить (Skip).
После входа давайте проверим подключение источника данных.
В меню слева нажмите значок Соединения (Connections) (выглядит как вилка или соединитель).
На странице "Соединения" (Connections) нажмите Источники данных (Data sources).
Вы увидите предварительно настроенный источник данных с именем Prometheus. Это соединение было автоматически установлено скриптом инициализации, позволяя Grafana запрашивать контейнер Prometheus.
Теперь вы готовы создать свою первую панель мониторинга.
Создание новой панели мониторинга в интерфейсе Grafana
На этом этапе вы создадите новую пустую панель мониторинга в интерфейсе Grafana. Панель мониторинга — это коллекция из одной или нескольких панелей, расположенных в сетке.
В интерфейсе Grafana найдите боковую панель слева.
В появившемся меню выберите Панель мониторинга (Dashboard).
Это действие создает новую пустую панель мониторинга. Вам сразу же будет предложено добавить первую панель. Панель — это основной строительный блок визуализации в Grafana.
Нажмите кнопку Добавить визуализацию (Add visualization) в центре экрана, чтобы перейти в редактор панелей.
Теперь вы находитесь в редакторе панелей, где на следующем шаге вы определите запрос к данным и настроите его визуализацию.
Добавление панели с запросом PromQL для использования ЦП
На этом этапе вы добавите панель на свою панель мониторинга и используете запрос PromQL (Prometheus Query Language) для получения данных об использовании ЦП.
Вы должны уже находиться в редакторе панелей из предыдущего шага.
В нижней части редактора вы найдете раздел запросов. Источник данных Prometheus должен быть выбран по умолчанию.
В текстовом поле Браузер метрик (Metrics browser) введите следующий запрос PromQL. Вы можете скопировать и вставить его напрямую.
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
Разберем этот запрос:
node_cpu_seconds_total{mode="idle"}: Это метрика из Node Exporter, которая подсчитывает общее количество секунд, в течение которых ЦП находился в состоянии "простоя" (idle).
rate(...[5m]): Эта функция вычисляет среднюю скорость увеличения времени простоя за последние 5 минут. Результатом является значение от 0 до 1, представляющее долю времени, когда ЦП был в простое.
avg by (instance): Это агрегирует результаты, что полезно, если у вас несколько ЦП или машин.
* 100: Это преобразует дробное значение в процент (например, 0.95 становится 95%).
100 - ...: Наконец, мы вычитаем процент простоя из 100, чтобы получить процент активного использования ЦП.
После ввода запроса в области предварительного просмотра вверху должен автоматически появиться график, показывающий использование ЦП с течением времени.
Ваша панель теперь отображает данные, но ее можно улучшить, добавив более понятные метки и форматирование, что вы сделаете на следующем шаге.
Настройка и сохранение панели мониторинга
На этом этапе вы настроите внешний вид панели и сохраните панель мониторинга. Хорошо настроенную панель гораздо легче понять с первого взгляда.
В правой части редактора панелей найдите раздел Параметры панели (Panel options).
В поле Название (Title) введите описательное имя для вашей панели, например CPU Usage %. Вы увидите, как название обновится в окне предварительного просмотра.
Прокрутите вниз в правой части параметров, пока не найдете раздел Стандартные параметры (Standard options).
Нажмите на выпадающее меню Единица измерения (Unit). В настоящее время там указано "Нет" (None).
В появившемся поле поиска введите percent и выберите Процент (0-100) (Percent (0-100)) из списка. Это правильно отформатирует ось Y вашего графика для отображения знака процента.
Теперь, когда панель настроена, примените изменения и вернитесь к виду панели мониторинга.
Нажмите кнопку Применить (Save) в правом верхнем углу экрана.
Вы вернулись на свою панель мониторинга, которая содержит вашу только что созданную панель. Последний шаг — сохранить всю панель мониторинга.
Нажмите значок Сохранить панель мониторинга (Save dashboard) (выглядит как дискета) в правом верхнем углу заголовка панели мониторинга.
Появится диалоговое окно "Сохранить панель мониторинга" (Save dashboard). Введите имя для вашей панели мониторинга, например My System Dashboard.
Нажмите кнопку Сохранить (Save).
Поздравляем! Вы успешно создали и сохранили свою первую панель мониторинга Grafana.
Резюме
В этой лабораторной работе вы успешно создали панель мониторинга Grafana с нуля. Вы начали с предварительно настроенного стека мониторинга и выполнили следующие ключевые действия:
Исследовали среду, состоящую из контейнеров Grafana, Prometheus и Node Exporter.
Переместились по пользовательскому интерфейсу Grafana для создания новой пустой панели мониторинга.
Добавили панель визуализации и написали запрос PromQL для получения данных об использовании ЦП из источника данных Prometheus.
Настроили заголовок и форматирование единиц измерения панели для лучшей читаемости.
Сохранили готовую панель мониторинга для дальнейшего использования.
Теперь вы освоили основной рабочий процесс создания визуализаций в Grafana. Вы можете расширить эти знания, добавив больше панелей на свою панель мониторинга для отслеживания других системных метрик, таких как использование памяти, ввод-вывод диска или сетевой трафик.