Введение
В этой лабораторной работе вы изучите основы создания дашборда для мониторинга с помощью Grafana. Grafana — это популярная платформа с открытым исходным кодом для мониторинга и наблюдаемости, которая позволяет запрашивать, визуализировать, отслеживать и анализировать метрики независимо от того, где они хранятся.
Мы будем работать с предварительно настроенной средой, которая включает:
- Grafana: инструмент визуализации, в котором вы будете создавать свой дашборд.
- Prometheus: база данных временных рядов, которая будет служить источником данных для Grafana.
- Node Exporter: агент, который собирает метрики оборудования и ОС с хост-машины и предоставляет их для сбора Prometheus.
Ваша цель — создать с нуля простой дашборд, отображающий текущую загрузку процессора (CPU) в лабораторной среде.
Изучение предварительно настроенной среды
На этом этапе вы ознакомитесь с лабораторной средой. Скрипт настройки уже запустил три контейнера Docker, которые формируют базовый стек мониторинга.
Сначала давайте убедимся, что все контейнеры запущены. Откройте терминал и выполните следующую команду:
docker ps
Вы должны увидеть вывод, похожий на этот, со списком контейнеров grafana, prometheus и node-exporter. Конкретные ID контейнеров будут отличаться.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1a2b3c4d5e6 grafana/grafana "/run.sh" 15 seconds ago Up 14 seconds 0.0.0.0:8080->3000/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, переключитесь на интерфейс рабочего стола (Desktop Interface), нажмите на браузер Firefox в левом верхнем углу и введите http://localhost:8080 в адресной строке. Вы должны увидеть страницу входа в Grafana.
Войдите, используя учетные данные по умолчанию:
- Имя пользователя:
admin - Пароль:
admin
Вас могут попросить сменить пароль. Для этой лабораторной работы вы можете нажать Skip (Пропустить).

После входа в систему давайте проверим подключение к источнику данных.
Grafana меняет подписи и иконки на левой боковой панели в разных версиях, поэтому ваш экран может не в точности соответствовать скриншоту. Если боковая панель свернута, сначала разверните ее.
- Откройте раздел управления источниками данных. В большинстве последних версий Grafana используйте Connections, а затем Data sources. Если вы не видите Connections, воспользуйтесь поиском на боковой панели и откройте Data sources оттуда.
- Убедитесь, что присутствует предварительно настроенный источник данных с именем
Prometheus. Это соединение было автоматически настроено скриптом инициализации, что позволяет Grafana отправлять запросы к контейнеру Prometheus.

Теперь вы готовы к созданию своего первого дашборда.
Создание нового дашборда в интерфейсе Grafana
На этом этапе вы создадите новый пустой дашборд в интерфейсе Grafana. Дашборд — это коллекция из одной или нескольких панелей, расположенных в сетке.
- В интерфейсе Grafana найдите левую боковую панель.
- Создайте новый дашборд. Точное название пункта меню зависит от версии Grafana:
- Если вы видите пункт + Create, откройте его и выберите New dashboard.
- Если вы видите Dashboards на боковой панели, откройте его и выберите New dashboard.
- Если макет боковой панели выглядит иначе, воспользуйтесь полем поиска Grafana и откройте New dashboard оттуда.

Это действие создаст новый пустой дашборд. Вам сразу будет предложено добавить первую панель. Панель — это базовый строительный блок визуализации в Grafana.
Нажмите кнопку Add visualization в центре экрана, чтобы перейти к редактору панелей.

Теперь вы находитесь в редакторе панелей, где на следующем этапе вы определите запрос данных и настроите их визуализацию.
Добавление панели с запросом PromQL для загрузки CPU
На этом этапе вы добавите панель на свой дашборд и используете запрос 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и выберите Percent (0-100) из списка. Это правильно отформатирует ось Y вашего графика, добавив символ процента.

Теперь, когда панель настроена, примените изменения и вернитесь к просмотру дашборда.
- Нажмите кнопку Save в правом верхнем углу экрана. В некоторых версиях Grafana эта кнопка называется Apply.
Вы вернулись на свой дашборд, который содержит только что созданную панель. Последний шаг — сохранить весь дашборд целиком.
- Нажмите иконку Save dashboard (похожа на дискету) в правом верхнем углу заголовка дашборда.
- Появится диалоговое окно "Save dashboard". Введите точное имя
My System Dashboard, чтобы лаборатория могла проверить сохраненный дашборд. - Нажмите кнопку Save.

Поздравляем! Вы успешно создали и сохранили свой первый дашборд Grafana.
Резюме
В этой лабораторной работе вы успешно создали дашборд Grafana с нуля. Вы начали с предварительно настроенного стека мониторинга и выполнили следующие ключевые действия:
- Изучили среду, состоящую из контейнеров Grafana, Prometheus и Node Exporter.
- Перешли по интерфейсу Grafana для создания нового пустого дашборда.
- Добавили панель визуализации и написали запрос PromQL для получения данных о загрузке процессора из источника данных Prometheus.
- Настроили заголовок панели и форматирование единиц измерения для лучшей читаемости.
- Сохранили готовый дашборд для дальнейшего использования.
Теперь вы освоили базовый рабочий процесс создания визуализаций в Grafana. Вы можете развивать эти знания, добавляя на свой дашборд больше панелей для мониторинга других системных метрик, таких как использование оперативной памяти, ввод-вывод диска или сетевой трафик.



