Мониторинг сервера — Zabbix, Prometheus или UptimeRobot
📖 Гайды

Как настроить мониторинг сервера через Zabbix, Prometheus или UptimeRobot

Марина
Марина
📅 27 мая 2026 👁 92 просмотров
Как настроить мониторинг сервера через Zabbix, Prometheus или UptimeRobot

О том, что сайт упал, часто узнают от пользователей — в комментариях, в поддержке, иногда спустя несколько часов. Средний сайт недоступен 4–6 часов в год, и каждая минута простоя — это прямые потери: выручка, позиции в поисковой выдаче, репутация. Задача мониторинга сервера — сообщить об инциденте раньше, чем это сделает первый пострадавший пользователь. В этом руководстве — как настроить мониторинг сервера с нуля: сравниваем Zabbix, Prometheus и UptimeRobot, настраиваем алерты в Telegram, выбираем инструмент под задачу. Мониторинг — часть общей безопасности инфраструктуры наряду с защитой от DDoS-атак: первое следит за состоянием изнутри, второе — защищает снаружи.

Три уровня мониторинга VPS закрывают разные сценарии: доступность (пинг, HTTP-ответ), системные ресурсы (CPU, RAM, диск), приложения (базы данных, очереди, воркеры). Начинать можно с любого, но полная картина складывается только из всех трёх.

Сравнение инструментов — что выбрать для VPS

Как настроить мониторинг сервера через Zabbix, Prometheus или UptimeRobot — иллюстрация

Три основных инструмента для мониторинга серверов занимают разные ниши: от простого внешнего пинга до корпоративного стека с дашбордами.

Критерий UptimeRobot Prometheus + Grafana Zabbix
Тип SaaS (внешний) Self-hosted Self-hosted
Установка 5 минут 1–2 часа 2–4 часа
Ресурсы на сервере Нет (внешний сервис) RAM ~200–400 МБ RAM 300–600 МБ
Метрики CPU/RAM/диска Нет Да (Node Exporter) Да (агент Zabbix)
Визуализация Базовая Grafana (мощная) Встроенный UI
Алерты в Telegram Да Да (Alertmanager) Да
Кривая обучения Минимальная Средняя Высокая
Цена Бесплатно / $7+ Бесплатно Бесплатно

Для небольшого VPS с одним сайтом оптимальная точка входа — UptimeRobot для внешней доступности плюс Node Exporter с Grafana Cloud для системных метрик. Zabbix оправдывает сложность настройки, когда инфраструктура насчитывает от 5+ серверов и нужен единый интерфейс управления.

UptimeRobot — внешний мониторинг за 5 минут

UptimeRobot — SaaS-сервис, который проверяет доступность URL снаружи вашей инфраструктуры. Не требует установки агента на сервер, работает независимо от состояния самого VPS. Именно это его главное преимущество: если сервер полностью упал, UptimeRobot всё равно об этом узнает и сообщит.

Настройка занимает пять минут: регистрация на uptimerobot.com, добавление монитора типа HTTP(S), указание URL сайта, интервал проверки — 5 минут на бесплатном тарифе, 1 минута на платном ($7/мес).

Алерт в Telegram через UptimeRobot

Чтобы получать уведомления в Telegram при падении сайта:

  1. Создайте бота через @BotFather в Telegram — получите токен вида 123456:ABCdef...
  2. Напишите боту любое сообщение, затем откройте https://api.telegram.org/bot{TOKEN}/getUpdates — в ответе найдёте chat_id
  3. В UptimeRobot: My Settings → Alert Contacts → Add Alert Contact → тип Telegram
  4. Введите Bot Token и Chat ID, сохраните контакт
  5. В настройках монитора выберите этот контакт как получателя уведомлений

При падении придёт сообщение: «[DOWN] example.com is down. Reason: Connection refused». При восстановлении — «[UP] example.com is up. Downtime: 4 minutes».

Ограничения UptimeRobot

UptimeRobot видит только внешнюю доступность: отвечает ли сайт на HTTP-запрос. Он не знает, что у сервера CPU загружен на 98% и приложение вот-вот зависнет. Не видит заполненность диска, утечки памяти, зависание воркеров очереди.

Интервал 5 минут на бесплатном тарифе — это ещё один момент: кратковременный инцидент длиной 2–3 минуты может остаться незамеченным. Для проектов с требованиями к SLA нужен платный тариф или дополнительный инструмент с агентом на сервере.

Prometheus и Grafana — метрики для тех, кто хочет всё видеть

Связка Prometheus + Grafana — стандарт de facto для мониторинга современной инфраструктуры. Архитектура: Prometheus работает по pull-модели — сам обходит источники метрик по расписанию. Node Exporter запускается на каждом VPS и открывает эндпоинт :9100/metrics с тысячами показателей: CPU, RAM, диск, сеть, файловые системы. Grafana подключается к Prometheus как источнику данных и строит дашборды.

Pull-модель удобна тем, что Prometheus сам управляет частотой опроса — агент на сервере ничего не «проталкивает» и не зависит от сетевой доступности центрального сервера в момент сбора.

Официальная документация Prometheus подробно описывает все параметры конфигурации.

Установка Node Exporter на VPS

# Создать пользователя для Node Exporter
useradd --no-create-home --shell /bin/false node_exporter

# Скачать Node Exporter (актуальная версия — 1.8.x)
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
cp node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/
chown node_exporter:node_exporter /usr/local/bin/node_exporter
# /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now node_exporter
# Проверить: curl http://localhost:9100/metrics | head -20

Порт 9100 не должен быть открыт наружу — только для Prometheus-сервера. Настройте firewall: базовая настройка SSH и firewall на VPS описывает нужные правила.

Установка Prometheus

Prometheus можно поставить на отдельный VPS (рекомендуется) или на тот же сервер, если ресурсы позволяют. Конфигурационный файл с описанием целей для сбора метрик:

# /etc/prometheus/prometheus.yml
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets:
          - '185.100.x.x:9100'   # IP вашего VPS
        labels:
          instance: 'my-vps'
          env: 'production'
# Проверить статус целей после запуска
curl http://localhost:9090/api/v1/targets

Grafana — подключение и дашборд

После установки Grafana OSS: добавьте Prometheus как Data Source (Configuration → Data Sources → Add data source → Prometheus, URL http://localhost:9090). Импортируйте готовый дашборд «Node Exporter Full» с ID 1860 из официального каталога Grafana Dashboards — это займёт пять кликов без написания единого запроса PromQL.

На дашборде сразу видны: загрузка CPU по ядрам, использование оперативной памяти, скорость чтения/записи диска, сетевой трафик, заполненность файловых систем. Все графики за последний час, сутки или неделю — по выбору.

Alertmanager — оповещения в Telegram при аномалиях

Как настроить мониторинг сервера через Zabbix, Prometheus или UptimeRobot — иллюстрация

Prometheus собирает метрики, Alertmanager решает, кому и когда отправлять алерты. Правила срабатывания описываются в отдельном файле в синтаксисе PromQL.

Два базовых правила — высокая нагрузка CPU и заканчивающееся место на диске:

# /etc/prometheus/alert.rules.yml
groups:
  - name: node_alerts
    rules:
      - alert: HighCPULoad
        expr: 100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 85
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "Высокая нагрузка CPU на {{ $labels.instance }}"
          description: "CPU > 85% в течение 5 минут. Текущее значение: {{ $value }}%"

      - alert: LowDiskSpace
        expr: (node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100 < 15
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "Мало места на диске: {{ $labels.instance }}"
          description: "Свободно менее 15% на /. Текущее значение: {{ $value }}%"

Конфигурация Alertmanager с отправкой уведомлений в Telegram:

# /etc/alertmanager/alertmanager.yml
global:
  telegram_api_url: 'https://api.telegram.org'

route:
  receiver: 'telegram-alerts'

receivers:
  - name: 'telegram-alerts'
    telegram_configs:
      - bot_token: 'YOUR_BOT_TOKEN'
        chat_id: YOUR_CHAT_ID
        message: '{{ range .Alerts }}{{ .Annotations.summary }}: {{ .Annotations.description }}{{ end }}'

Параметр for: 5m в правиле означает: алерт срабатывает только если условие выполняется непрерывно 5 минут. Это исключает ложные срабатывания на короткие пики нагрузки.

Zabbix — корпоративный мониторинг для больших инфраструктур

Zabbix — зрелая система мониторинга с 20-летней историей. Архитектура: центральный Zabbix Server с базой данных (MySQL или PostgreSQL) и Zabbix Agent на каждом мониторируемом хосте. Полная документация Zabbix доступна на официальном сайте.

Установка Zabbix Agent на мониторируемый VPS (Ubuntu 22.04):

# Установка Zabbix Agent на мониторируемый VPS
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
apt update && apt install -y zabbix-agent2

# Настройка /etc/zabbix/zabbix_agent2.conf
# Server=IP_ZABBIX_SERVER
# Hostname=my-vps
systemctl enable --now zabbix-agent2

Для Zabbix Server нужен отдельный выделенный сервер от 2 ГБ RAM — посмотрите тарифы выделенных серверов или VPS с нужными характеристиками у Selectel. После подключения агента в Zabbix UI добавляете хост и применяете готовый шаблон «Linux by Zabbix agent» — он покрывает все системные метрики без ручной настройки.

Алерты в Telegram настраиваются через Media Types в Zabbix UI: Administration → Media Types → Telegram. Там же — Actions для автоматических уведомлений при превышении порогов.

Плюсы и минусы Zabbix

Плюсы: зрелый продукт с огромным сообществом, готовые шаблоны для 100+ приложений (Nginx, MySQL, Redis, Docker, Kubernetes), autodiscovery хостов, compliance-friendly для корпоративных требований.

Минусы: тяжёлый стек — нужен отдельный сервер только под Zabbix Server. Сложный UI, который требует времени на освоение. Для одного-двух VPS это избыточность: потратите больше времени на настройку, чем сэкономите на администрировании.

Мониторинг приложений — что проверять помимо системы

CPU и RAM — базовые метрики, но они не расскажут о проблемах внутри приложения. Что ещё нужно отслеживать:

  • Доступность порта MySQL/PostgreSQL — не только что процесс запущен, но и что база принимает соединения
  • Длина очереди задач в Redis или RabbitMQ — резкий рост означает, что воркеры не справляются
  • Время ответа PHP-FPM — через stub_status или отдельный экспортер
  • Статус Nginx — количество активных соединений через stub_status
  • Количество коннектов к БД — приближение к лимиту max_connections

В экосистеме Prometheus для каждого из этих компонентов есть готовый экспортер: mysqld_exporter собирает метрики MySQL, redis_exporter — Redis, nginx-prometheus-exporter — Nginx. Принцип подключения одинаковый: запустить экспортер как сервис, добавить его target в конфиг Prometheus, импортировать готовый дашборд в Grafana.

Как выбрать VPS для установки системы мониторинга

Требования к ресурсам зависят от выбранного стека:

  • UptimeRobot — ничего на сервере не устанавливается
  • Node Exporter — до 50 МБ RAM, незаметен на любом VPS
  • Prometheus + Grafana — от 1 ГБ RAM, 10 ГБ SSD под хранение метрик (retention period — по умолчанию 15 дней)
  • Zabbix Server — от 2 ГБ RAM, 20–40 ГБ SSD в зависимости от количества хостов и истории

Для Prometheus с Grafana подойдёт недорогой VPS с 1–2 ГБ RAM — его можно держать отдельно от продакшна, чтобы мониторинг работал независимо. Для VPS в России хранение метрик на отечественной инфраструктуре решает вопрос с данными внутри РФ. Сравните тарифы под мониторинг в каталоге VPS free-hosting.ru — более 45 провайдеров с реальными ценами и отзывами. Для оценки конкретных провайдеров под такие задачи полезно сравнение Aeza и Hetzner.

Ну и в заключение

Стек для начала: UptimeRobot закрывает внешний мониторинг доступности за пять минут и ноль рублей. Node Exporter плюс Grafana Cloud (бесплатный тир) дают системные метрики без отдельного сервера для Prometheus. Вместе это покрывает 80% реальных сценариев для одного-двух VPS. Zabbix имеет смысл рассматривать, когда серверов становится заметно больше и нужен единый инструмент. Хорошо работающий мониторинг в связке с настроенными бэкапами VPS — это полная защита: первое сообщает о проблеме, второе позволяет восстановиться после неё.

Мониторинг настроен — теперь выберите надёжного провайдера, который не создаст лишних инцидентов. В каталоге VPS free-hosting.ru собраны тарифы более 45 провайдеров с реальными ценами и отзывами.

Поделиться:
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.