Введение
В этой лабораторной работе вы изучите основы создания панели мониторинга с использованием 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. Вы можете расширить эти знания, добавив больше панелей на свою панель мониторинга для отслеживания других системных метрик, таких как использование памяти, ввод-вывод диска или сетевой трафик.



