Руководство по настройке Prometheus и node_exporter
15 мин чтения - 29 мая 2026 г.

Установите Prometheus и node_exporter, настройте цели соскоба, настройте службы systemd и обеспечьте безопасность стека мониторинга. Шаг за шагом для Linux.
Настройка мониторинга серверов Prometheus и node_exporter
Prometheus собирает и хранит временные ряды метрик. node_exporter предоставляет Prometheus данные системного уровня, такие как загрузка процессора, памяти и диска, для сбора. В этом руководстве рассматриваются установка обоих компонентов, настройка целей сбора данных, запуск node_exporter в качестве службы systemd и ограничение доступа.
Установка node_exporter
Загрузите последнюю стабильную версию с официальной страницы релизов GitHub. По состоянию на май 2026 года это версия 1.11.1. Замените amd64 на arm64 при необходимости.
wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz
Сверьте контрольную сумму SHA256 со значением на странице релизов, затем распакуйте и установите:
tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/
Создайте специального системного пользователя без домашнего каталога и оболочки входа:
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
Протестируйте его, запустив /usr/local/bin/node_exporter непосредственно, затем проверьте вывод:
curl http://localhost:9100/metrics
Вы должны увидеть строки с префиксом node_, включая такие показатели, как node_cpu_seconds_total и node_memory_MemAvailable_bytes. По умолчанию node_exporter предоставляет около 500 временных рядов.
Запуск node_exporter в качестве службы systemd
Запуск node_exporter из терминала подходит для тестирования, но он останавливается при закрытии сеанса. Создайте файл модуля в /etc/systemd/system/node_exporter.service:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Включите и запустите службу:
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
Убедитесь, что он работает, с помощью sudo systemctl status node_exporter. В выводе должно отобразиться active (running).
Если Prometheus работает на том же хосте, привяжите node_exporter только к localhost, изменив строку ExecStart строку:
ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"
Настройка Prometheus для сбора данных с node_exporter
Откройте /etc/prometheus/prometheus.yml и добавьте задание в разделе scrape_configs:
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
labels:
env: 'production'
The job_name идентифицирует источник в запросах и дашбордах. targets указывает на хост и порт, на которых node_exporter находится в режиме прослушивания. Метки типа env помогут вам впоследствии фильтровать метрики.
Проверьте конфигурацию перед перезапуском:
promtool check config /etc/prometheus/prometheus.yml
Если проверка прошла успешно, перезагрузите Prometheus без простоев:
sudo systemctl reload prometheus
Откройте http://<your-prometheus-ip>:9090, перейдите в раздел «Status» > «Targets» и убедитесь, что задание node_exporter отображается с зеленым статусом «UP». Запустите быстрый запрос, например node_cpu_seconds_total в браузере выражений, чтобы убедиться, что данные поступают.
Обеспечение безопасности вашего стека мониторинга
Никогда не открывайте порты 9090 или 9100 для общего доступа в Интернете. В Ubuntu/Debian ограничьте доступ node_exporter к IP-адресу вашего сервера Prometheus:
sudo ufw allow from <prometheus-ip> to any port 9100
В CentOS/RHEL с firewalld:
firewall-cmd --permanent --add-port=9100/tcp
Веб-интерфейс Prometheus следует разместить за обратным прокси, таким как Nginx, с базовой аутентификацией и TLS. Сетевая VPN, такая как Tailscale, — еще один вариант, если вам нужен доступ из нескольких мест без прямого открытия портов.
Лучшие практики мониторинга и дальнейшие шаги
Используйте node_memory_MemAvailable_bytes вместо MemFree для предупреждений о памяти. MemAvailable учитывает буферы и кэш, давая более точное представление о том, сколько памяти действительно свободно.
Отключите ненужные коллекторы (wifi, nfs, bcache) с помощью флага --no-collector.<name> флагу, чтобы уменьшить количество ложных срабатываний.
Для оповещений о дисковом пространстве функция predict_linear функция PromQL позволяет прогнозировать, когда том заполнится, на основе текущих тенденций. Установка 7-дневного окна прогнозирования позволяет выявить медленные утечки, прежде чем они приведут к сбоям.
Для мониторинга нескольких серверов установите node_exporter на каждой машине и добавьте их IP-адреса в targets список в prometheus.yml. Для более крупных сред перейдите на обнаружение служб на основе файлов вместо жесткого кодирования IP-адресов.
Добавление Grafana предоставляет вам визуальные панели инструментов. Панель инструментов Node Exporter Full (ID 1860) — хорошая отправная точка. Alertmanager направляет критические оповещения в Slack, по электронной почте или в PagerDuty.
Выделенные серверы и тарифы VPS от FDC изначально поддерживают Prometheus и node_exporter. Ознакомьтесь с вариантами выделенных серверов FDC.
Устранение неполадок
| Проблема | Вероятная причина | Команда для проверки |
|---|---|---|
| Служба не запускается | Неверный путь к бинарному файлу или права доступа | journalctl -u node_exporter -xe |
| Невозможно получить доступ к метрикам | Брандмауэр блокирует порт 9100 или указан неверный адрес привязки | ss -lntp | grep 9100 |
| Цель недоступна в Prometheus | Проблема с сетью или неверный IP-адрес цели в prometheus.yml | curl -I http://<target-ip>:9100/metrics |
| Отсутствуют определенные метрики | Коллектор отключен по умолчанию | node_exporter --help |

Руководство по настройке Prometheus и node_exporter
Установите Prometheus и node_exporter, настройте цели соскоба, настройте службы systemd и обеспечьте безопасность стека мониторинга. Шаг за шагом для Linux.
15 мин чтения - 29 мая 2026 г.
XDP и eBPF для обработки пакетов в Linux
14 мин чтения - 27 мая 2026 г.

У вас есть вопросы или вам нужно индивидуальное решение?
Гибкие варианты
Глобальный охват
Мгновенное развертывание
Гибкие варианты
Глобальный охват
Мгновенное развертывание