Настройка мониторинга CPU для роутера Netcraze Ultra в Cacti
13 июля 2026
Введение в проблему: закрытые OID
При развертывании системы мониторинга Cacti на микрокомпьютере Raspberry Pi 3 стандартный быстрый поллер spine отлично отрабатывал и собирал дефолтные метрики. Однако возникла проблема с отрисовкой графика загрузки процессора (CPU) для роутера Netcraze Ultra. Как выяснилось, ветка Enterprise/Enchant OID на роутере оказалась полностью закрыта производителем, из-за чего Cacti не мог получить данные стандартными методами.
Поиск решения и диагностика поллеров
В процессе диагностики была предпринята попытка переключить основной поллер Cacti со spine на встроенный cmd.php. Однако это переключение не принесло никаких изменений — графики CPU по-прежнему оставались пустыми. В связи с этим было принято решение вернуть высокопроизводительный spine обратно для обслуживания остальных дефолтных графиков, а проблему с процессором решать кастомным путем.
Подготовка роутера: поднятие OPKG
Перед тем как приступать к автоматизации сбора данных, потребовалось расширить базовые возможности встроенной операционной системы роутера. Для этого на Netcraze Ultra был развернут и настроен менеджер пакетов OPKG. Только после этого появилась техническая возможность доустановить в систему легковесные консольные утилиты, необходимые для сбора и передачи системных показателей.
Автоматизация через Bash и Cron
Чтобы обойти ограничения закрытого SNMP, был реализован отказоустойчивый скрипт, работающий напрямую с операционной системой роутера. Был написан Bash-скрипт, выполняющий следующие задачи:
- Прямой опрос состояния процессора через виртуальный файл ядра
/proc/stat(с фильтрацией поgrep cpu) в реальном времени. - Математический расчет метрик: так как
/proc/statотдает не готовые проценты, а сырые накопительные тики процессора (jiffies), скрипт делает два замера с паузой в 2 секунды (через 1 секунду изменения фиксировались некорректно), вычисляет дельту между активным временем и временем простоя (idle) и переводит результат в реальные проценты общей загрузки CPU. - Передача итогового числового значения на сторону малинки с помощью легковесной утилиты
netcat (nc). - Принудительный пуш рассчитанных процентов напрямую в базу данных RRDtool, минуя капризные стандартные механизмы.
Скрипт был успешно добавлен в системный планировщик Cron с интервалом запуска раз в 5 минут, что обеспечило стабильный и независимый приток данных.
Итоги: успешный запуск графиков
Результатом всех манипуляций стало успешное добавление и стабильная отрисовка графика мониторинга CPU для роутера Netcraze Ultra в интерфейсе Cacti. Несмотря на ограничения прошивки оборудования и закрытые ветки OID, кастомный метод сбора дельт из /proc/stat позволил получить точную и своевременную картину общей утилизации процессора без лишней нагрузки на систему.
Сетевой Сюрреализм