Мониторинг сети: Zabbix, PRTG, Prometheus + Grafana
Сетевой мониторинг — это не роскошь, а необходимость. Без него вы узнаёте об откале только когда пользователи начинают кричать. В этой статье разберём четыре популярные системы: Zabbix (бесплатный король), PRTG (платный, но простой), Prometheus + Grafana (современный стандарт DevOps) и Nagios (классика). Выберите свою и настройте за 30 минут.
Сравнение систем мониторинга
| Характеристика | Zabbix | PRTG | Prometheus+Grafana | Nagios |
|---|---|---|---|---|
| Лицензия | Бесплатно (GPL) | Платно (100 сенсоров бесплатно) | Бесплатно (Apache 2.0) | Бесплатно (GPL) |
| Сложность настройки | Средняя | Низкая | Высокая | Высокая |
| Сбор метрик | Pull (агенты/SNMP) | Pull (сенсоры) | Pull (exporter'ы) | Pull (плагины) |
| Визуализация | Встроенная | Встроенная | Grafana (отдельно) | Слабая |
| Масштабирование | Вертикальное, прокси | Вертикальное | Горизонтальное | Сложное |
| Для кого | Enterprise, ISP | SMB, Windows | DevOps, K8s, облака | Ламповые инженеры |
Zabbix — бесплатный стандарт для сетей
Zabbix умеет всё: SNMP (v1/2c/3), ICMP ping, агенты на Windows/Linux, JMX для Java, IPMI для серверов, пользовательские скрипты.
Быстрая установка Zabbix на Ubuntu
# Установка сервера, веб-интерфейса, агента и PostgreSQL wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb apt update apt install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-agent2 postgresql # Создание БД sudo -u postgres psql CREATE DATABASE zabbix OWNER zabbix; \q # Импорт схемы zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Добавление сетевого устройства через SNMP
- В веб-интерфейсе: Data collection → Hosts → Create host
- Host name: Cisco-SW-1, Visible name: Коммутатор 1 этаж
- Groups: Network devices, Templates: Template Net Cisco IOS SNMPv2
- Interfaces: Add SNMP, IP-адрес, порт 161, community public
- Настройка SNMP на Cisco:
snmp-server community public RO
Настройка триггеров и алертов
# Пример триггера — падение ping до шлюза
{Gateway:icmppingsec[,,4].max(#3)}>0 or {Gateway:icmppingloss[,,4].min(#3)}=100
# Действие — отправка в Telegram
{START}: {HOST.NAME} ({HOST.IP}) - {TRIGGER.NAME}
Статус: {TRIGGER.STATUS}
Время: {DATE} {TIME}
PRTG — простота и красота для Windows
PRTG устанавливается на Windows Server за 10 минут. Интерфейс наглядный, есть готовые "сенсоры" для всего: HTTP, FTP, SQL, Exchange, VMware, Hyper-V.
- Плюсы: Дружелюбный интерфейс, карты, мобильное приложение
- Минусы: Только Windows, дорогой при большом количестве сенсоров
Базовая настройка: Скачать PRTG → Установить → Мастер добавит первый сенсор (обычно ping до шлюза) → Добавляем остальные устройства через Auto-Discovery по SNMP.
Prometheus + Grafana — современный стек для DevOps
Prometheus — это time-series база данных с языком запросов PromQL. Grafana — визуализация. Идеально для Kubernetes, микросервисов и больших динамических сред.
Установка Prometheus и Node Exporter
# Скачиваем Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.54.0/prometheus-2.54.0.linux-amd64.tar.gz
tar xvf prometheus-*.tar.gz
cd prometheus-*/
# Редактируем prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['192.168.1.10:9100', '192.168.1.11:9100']
# Запускаем
./prometheus --config.file=prometheus.yml
SNMP Exporter для сетевых устройств
# Установка snmp_exporter wget https://github.com/prometheus/snmp_exporter/releases/download/v0.25.0/snmp_exporter-0.25.0.linux-amd64.tar.gz tar xvf snmp_exporter-*.tar.gz cd snmp_exporter-*/ # Конфиг для генерации метрик из MIB ./generator generate.yml # Запуск ./snmp_exporter --config.file=snmp.yml
Grafana — красивые дашборды
# Установка Grafana apt-get install -y adduser libfontconfig1 musl wget https://dl.grafana.com/oss/release/grafana_11.3.0_amd64.deb dpkg -i grafana_11.3.0_amd64.deb systemctl enable grafana-server systemctl start grafana-server # Импорт готового дашборда для сетевых устройств (ID: 12108 - SNMP Devices Dashboard)
Nagios — классика, которую никто не любит, но все используют
Nagios — старейшая система. Работает через плагины. Огромное сообщество, тысячи готовых проверок. Недостаток — сложная конфигурация текстовыми файлами, нет встроенных графиков.
# Установка на Ubuntu
apt install nagios4 nagios-plugins-contrib
htpasswd -c /etc/nagios4/htpasswd.users nagiosadmin
systemctl restart nagios4
# Добавление хоста в /etc/nagios4/conf.d/hosts.cfg
define host {
use generic-host
host_name cisco-switch
alias Cisco Core Switch
address 192.168.1.2
check_command check-host-alive
}
define service {
use generic-service
host_name cisco-switch
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
Лучшие практики мониторинга
- Мониторьте не только доступность, но и производительность: загрузка CPU интерфейсов, ошибки на портах, температура оборудования, время ответа.
- Используйте шаблоны: создайте шаблон "Стандартный коммутатор" и применяйте его ко всем однотипным устройствам.
- Настройте алерты с эскалацией: сначала в Telegram, если не решено за 10 минут — в email начальнику.
- Храните метрики долго: для трендов — 1 год, для детальных — 30 дней. Используйте агрегацию.
- Не мониторьте всё подряд: десятки тысяч метрик создают шум. Мониторьте то, на что можете реагировать.
Пример: дашборд для офисной сети в Grafana
Что должно быть на главном дашборде:
- Uptime всех коммутаторов и роутеров (зелёные/красные индикаторы)
- Загрузка каналов (графики in/out traffic на uplink'ах)
- Температура и статус БП (для критичного оборудования)
- Ошибки CRC на интерфейсах — предвестник проблем с кабелем
- Количество активных Wi-Fi клиентов
Заключение: Начните с Zabbix — он бесплатный, мощный и с русским интерфейсом. Для небольшого офиса (до 50 устройств) хватит даже PRTG бесплатной версии. Если вы в мире DevOps и K8s — берите Prometheus + Grafana. И главное: мониторинг должен приносить пользу, а не заваливать вас сотнями ложных срабатываний. Настройте его один раз и спите спокойно.