Введение / Зачем это нужно
Мониторинг серверов позволяет видеть, что происходит с вашим оборудованием и сервисами в режиме реального времени. С его помощью вы быстро обнаружите перегрузку, отказы или утечку ресурсов, что снижает простои и продлевает срок службы оборудования. В этом гайде мы настроим бесплатный стек мониторинга, который работает как на Linux, так и на Windows, и покажем, как собрать дашборд и оповещения за 15 минут.
Требования / Подготовка
- Операционные системы: Ubuntu 22.04 LTS, Debian 12, CentOS Stream 9 или Windows Server 2022.
- Права администратора (root или sudo) для установки пакетов.
- Установленные
curl,wgetиtar(для скачивания экспортеров). - Открытый порт 9100 (для node‑exporter) и порт 3000 (для Grafana) в брандмауэре.
- Доступ в интернет для скачивания образов Grafana и node‑exporter (либо используйте локальные пакеты).
Пошаговая инструкция
Шаг 1: Установка экспортера метрик
На Linux-серверах установите prometheus-node-exporter. Для Ubuntu/Debian:
sudo apt update && sudo apt install -y prometheus-node-exporter
Для CentOS:
sudo yum install -y prometheus-node-exporter
Запустите сервис:
sudo systemctl start prometheus-node-exporter
sudo systemctl enable prometheus-node-exporter
На Windows можно использовать node-exporter в виде исполняемого файла, но для простоты мы ограничимся Linux-вариантом.
Шаг 2: Установка и настройка Grafana
Добавьте репозиторий Grafana, установите пакет и запустите сервис. Пример для Ubuntu:
sudo apt install -y grafana
sudo systemctl enable grafana
sudo systemctl start grafana
После запуска откройте http://ваш-сервер:3000 в браузере. По умолчанию логин/пароль — admin/admin. Рекомендуем сразу сменить пароль.
Шаг 3: Подключение экспортера к Grafana
В Grafana перейдите в «Добавить источник данных», выберите «Prometheus». Установите:
- URL:
http://ваш-сервер:9100/metrics - Параметры доступа: «Прямой» (если Grafana работает на том же хосте)
Нажмите «Сохранить и проверить». Grafana должен показать «Все хорошо».
Шаг 4: Создание дашборда с ключевыми метриками
Импортируйте готовый дашборд (его JSON-код можно найти в официальном репозитории Grafana) или создайте панели вручную. Типичные панели:
- CPU:
node_cpu_seconds_total{job='node'} - Память:
node_memory_MemAvailable_bytes - Сеть:
node_network_receive_bytes_total - Диск:
node_filesystem_usage{mountpoint='/'} - Загрузка:
node_load1
Для каждой панели укажите единицы измерения, название и цветовую схему. Сохраните дашборд под именем «Server Monitoring».
Шаг 5: Настройка оповещений
Перейдите в раздел «Оповещения → Правила оповещений», нажмите «Добавить правило». Пример:
- Имя: «Высокое использование CPU»
- Условие:
node_cpu_seconds_total{job='node'} / (node_cpu_seconds_total{job='node',mode='idle'} + node_cpu_seconds_total{job='node',mode='user'} + …) > 0.8 - Период: 1м
- Отправить оповещение: выберите канал (email, Slack, Telegram)
Сохраните правило. Теперь Grafana будет оповещать вас при превышении порога.
Проверка результата
- Откройте Grafana по адресу
http://ваш-сервер:3000. - Войдите в систему.
- Перейдите к созданному дашборду — панели должны отображать текущие значения.
- Вызовите команду
curl http://ваш-сервер:9100/metrics, чтобы убедиться, что экспортер отдаёт данные. - Проверьте оповещения, временно снизив порог до 100 % (или вызвав нагрузку
stress).
Если всё отображается, мониторинг готов к работе.
Возможные проблемы
- Экспортер не отвечает. Убедитесь, что сервис запущен (
systemctl status prometheus-node-exporter) и порт 9100 открыт (sudo ufw allow 9100). - Grafana не может подключиться. Проверьте сетевую политику, блокирует ли её SELinux (
setenforce 0) или firewall (iptables -L -n | grep 9100). - Данные не появляются в панелях. Удостоверьтесь, что источник данных правильно указан и запрос соответствует метрикам, которые экспортируются (например,
node_cpu_seconds_total). - Оповещения не приходят. Проверьте параметры канала уведомлений, убедитесь, что правило активное и нет ошибок в логах Grafana (
/var/log/grafana/grafana.log).
⚠️ Важно: после внесения изменений в конфигурацию Grafana перезапустите сервис (
sudo systemctl restart grafana), чтобы изменения вступили в силу.
Следуйте этим шагам, и вы получите работоспособный мониторинговый стек, который будет оповещать вас о проблемах до того, как они повлияют на пользователей.