
Prometheus собирает метрики, но без Grafana их трудно анализировать. Рассказываем, как превратить сырые данные в интерактивные графики. В статье — установка Grafana на Ubuntu и CentOS, подключение источников, создание дашбордов с загрузкой CPU и дисков.
Grafana — оупен-сорс-приложение для визуализации и анализа метрик.

Оно не хранит данные самостоятельно, а подключается к внешним источникам: мониторинговым системам, облачным сервисам, базам данных. Установка на VPS позволяет централизовать мониторинг серверов и сервисов в распределённой инфраструктуре.
С его помощью можно создавать интерактивные дашборды с графиками, таблицами и уведомлениями. Grafana поддерживает десятки плагинов, включая интеграцию с Prometheus, MySQL, Elasticsearch и другими инструментами. Grafana популярна за счёт гибкой настройки, поддержки плагинов и наглядного интерфейса.
Как работают Grafana, Prometheus и Node Exporter
Прежде чем переходить к установке, разберёмся, как взаимодействуют между собой эти приложения и какую роль выполняет каждое из них:
Node Exporter — агент, собирающий системные метрики: загрузку CPU и оперативной памяти, статистику по дискам и сети. Он публикует системные метрики на порт 9100 в формате, который считывает Prometheus. Кроме Node Exporter могут быть и другие процессы, обеспечивающие сбор и передачу данных; такие процессы называются экспортёрами. После запуска экспортёр собирает информацию и ожидает запросов от Prometheus на заданном порту.
Prometheus периодически собирает метрики от Node Exporter (с порта 9100) или других экспортёров и хранит их в виде временных рядов. Через веб-интерфейс Prometheus можно выполнять запросы на языке PromQL и просмотреть информацию, но визуализация здесь ограничена.
Grafana — визуальный слой системы. Она подключается к Prometheus как к источнику данных и преобразует «сырые» данные в графики и дашборды, которые удобно анализировать.
То есть от сбора до визуализации данные проходят по такому пути:
Сбор метрик экспортёром (в нашем случае Node Exporter) → их хранение в Prometheus → визуальное отображение в Grafana.
Установка Grafana
Grafana устанавливают двумя способами в зависимости от дистрибутива, поэтому рассмотрим их оба.
Установка через репозиторий
Для Ubuntu/Debian. Добавление GPG-ключ и репозитория:
sudo apt-get install -y apt-transport-https
sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
Обновление кеша пакетов и установка приложения:
sudo apt-get update
sudo apt-get install -y grafana
Для CentOS/RHEL. Создание файла /etc/yum.repos.d/grafana.repo:
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Когда файл создан, обновите пакеты и затем установите приложение:
sudo yum install -y grafana
Запустите службу и активируйте автозагрузку — последовательно выполните daemon-reload, start grafana-server и enable grafana-server.
Теперь нужно настроить файрвол. Откройте порт 3000:
sudo ufw allow 3000/tcp # Для UFW
sudo firewall-cmd --permanent --add-port=3000/tcp && sudo firewall-cmd --reload # Для firewalld
Первичная настройка Grafana
Grafana имеет web-UI, зайдите в него:
http://ваш_сервер:3000
Пройдите аутентификацию. Дефолтные login / password — admin / admin. Вам предложат изменить пароль — сделайте это сразу, не откладывая.
Сейчас Grafana не отображает никаких данных. Чтобы визуализировать информацию, которую собирает Prometheus, нужно добавить его как источник. В боковом меню выберите Configuration/Settings → Data Sources → Add data source. Grafana уже из коробки настроена для работы с большим количеством источников данных, найдите в их списке Prometheus и нажмите Select.
Заполните поля:
- URL: http://localhost:9090 (если Prometheus на том же сервере).
- Access: Server (Grafana будет делать запросы от имени сервера).
Сохраните настройки, нажав Save & Test. Если подключение успешно, появится зелёное уведомление «Data source is working».
Создание дашборда для мониторинга сервера
Вы можете создавать дашборды вручную или импортировать готовые. Рассмотрим оба варианта.
Импорт готового дашборда:
- Перейдите в Create → Import.
- Введите ID дашборда: 1860 (стандартный дашборд Node Exporter Full).
- Выберите источник данных — ранее добавленный Prometheus.
- Дашборд автоматически отобразит метрики CPU, памяти, дисков и сети.
Ручное создание дашборда:
- Выберите Create → Dashboard → Add new panel.
- Найдите раздел Query и выберите Prometheus в качестве источника данных.
- Заполните поле запроса. Для примера создадим дашборд с графиком загрузки процессора:
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[1m])) * 100)
- В разделе Visualization выберите тип Time series.
- В Panel options задайте название: Загрузка CPU.
Ещё один пример — для использования памяти:
- Запрос:
(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100
- Тип визуализации: Gauge.
- Настройте пороговые значения в Standard options:
- Warning (жёлтый): 70 %;
- Critical (красный): 90 %.
Пример 3 — свободное место на диске.
- Запрос:
node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100
- Визуализация: Bar gauge.
В конце настройки сохраните дашборд кнопкой Save в верхнем меню.
Оптимизация и безопасность
Настройка HTTPS. Получите сертификат через Certbot:
sudo certbot certonly --standalone -d grafana.your-domain.com
Отредактируйте конфиг Grafana (/etc/grafana/grafana.ini):
[server]
protocol = https
cert_file = /etc/letsencrypt/live/grafana.your-domain.com/fullchain.pem
cert_key = /etc/letsencrypt/live/grafana.your-domain.com/privkey.pem
Перезапустите Grafana:
sudo systemctl restart grafana-server
Резервное копирование. Для бекапа используйте:
sudo sqlite3 /var/lib/grafana/grafana.db .dump > grafana_backup.sql
Ограничение доступа. Включите вход через GitHub в разделе Auth настроек Grafana. Настройте роли пользователей в Configuration → Users and access.
Регулярно обновляйте Grafana и её плагины, чтобы получать новые функции и исправления уязвимостей:
sudo apt-get update && sudo apt-get upgrade grafana # Debian/Ubuntu
sudo yum update grafana # CentOS/RHEL
Интеграция с Alertmanager (опционально). Для отправки уведомлений о проблемах используйте Alertmanager. Установите и настройте его, затем в Grafana перейдите в Alerting → Contact points → New contact point. Выберите тип уведомления (Email, Slack, Telegram) и заполните параметры. Создайте правила алертов в разделе Alert rules.
Заключение
Мониторинг сервера важен для стабильной работы инфраструктуры. Настроив связку Grafana и Prometheus, вы получили полноценную мониторинговую систему, которая собирает метрики CPU, памяти и диска, а также визуализирует их в удобном формате. Теперь вы можете отслеживать метрики, прогнозировать нагрузку, вовремя выявлять аномалии или оптимизировать ресурсы.
Читайте в блоге:
- Как настроить мониторинг сервера: метрики и методы
- Оптимизация производительности MySQL на сервере CentOS
- Как открыть и закрыть порты в Ubuntu 22.04 и защитить систему от угроз