Мониторинг серверов с помощью Node Exporter, Prometheus, Grafana
Table of contents

Надёжный мониторинг серверов — важная часть инфраструктуры.
В этом гайде рассмотрим, как настроить популярную связку
Node Exporter → Prometheus → Grafana для отслеживания метрик сервера.
Установка будет на сервере с Debian 12
Установка Node Exporter
Node Exporter собирает метрики системы: загрузку CPU, память, сеть, диски и многое другое. Скачиваем последний на данный момент релиз
wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-arm64.tar.gzРаспаковка архива:
tar -xvf node_exporter-1.9.1.linux-arm64.tar.gzПереместим бинарный файл:
sudo mv node_exporter/node_exporter /usr/local/sbin/Создаём systemd-сервис:
vim /etc/systemd/system/node-exporter.service[Unit]
Description=Node Exporter
After=network.target
[Service]
ExecStart=/usr/local/sbin/node_exporter
Restart=always
User=nobody
Group=nogroup
[Install]
WantedBy=multi-user.targetЗапуск и проверка:
systemctl daemon-reload
systemctl enable --now node-exporter
systemctl status node-exporter.serviceNode Exporter теперь доступен на порту 9100.
Установка Prometheus
apt update
apt install prometheusПроверим статус:
systemctl is-enabled prometheus
systemctl status prometheusНастройка конфигурации Prometheus
Файл: /etc/prometheus/prometheus.yml
Добавим job для Node Exporter:
- job_name: node
static_configs:
- targets: ['localhost:9100']Перезапуск:
systemctl restart prometheus.serviceУстановка Grafana
apt install software-properties-common
mkdir -p /etc/apt/keyrings
curl -fsSL https://packages.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg > /dev/nullДобавляем репозиторий:
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | tee /etc/apt/sources.list.d/grafana.list > /dev/null
apt update
apt install grafanaЗапускаем и включаем автозапуск:
systemctl daemon-reload
systemctl enable --now grafana-serverНастройка доступа через Nginx + HTTPS
apt install nginxКонфигурация Nginx:
vim /etc/nginx/sites-available/grafana.confserver {
listen 443 ssl http2;
server_name grafana.example.com;
ssl_certificate /etc/letsencrypt/live/grafana.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/grafana.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
location / {
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
}
}
server {
listen 80;
server_name grafana.example.com;
location / {
return 301 https://$host$request_uri;
}
}Создание сертификата:
certbot certonly --manual --preferred-challenges dns -d grafana.example.comАктивация конфига:
ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/grafana.conf
nginx -t && nginx -s reloadЗапуск Grafana
Открываем в браузере: https://grafana.example.com
Дефолтные учётные данные:
- Username: admin
- Password: admin
После входа необходимо сменить пароль на что то более надежное.
Подключение Prometheus в Grafana
Переходим в:
Connections → Data Sources → Add data source → Выбираем Prometheus

Указываем http://localhost:9090 или IP сервера. Нажимаем Test для проверки подключения.

Рекомендованные дашборды
| ID | Название | Описание |
|---|---|---|
| 1860 | Node Exporter Full | Полный обзор метрик сервера |
| 9276 | Node Exporter Quickstart & CPU Focus | Лёгкий старт, акцент на CPU |
| 11074 | Node Exporter Overview | Компактный и чистый интерфейс |
Что мы получаем
- Загрузка CPU по ядрам
- Использование памяти
- Использование файловой системы
- Сетевой трафик
- Средняя нагрузка (load average)
- Температура CPU (если доступно)
Теперь вы можете мониторить свой сервер в реальном времени и реагировать на любые отклонения ещё до того, как они станут проблемой.