Cacti

Cacti — свободное открытое веб-приложение для мониторинга, управления производительностью, обработкой сбоев и конфигурациями, предназначенное в качестве фронтенда для индустриального стандарта, инструмента сбора данных RRDtool[2]. Cacti выполняет опрос сервисов с заданными интервалами и строит графики по полученным данным.

Что важно знать
Cacti
Тип мониторинг сетей
Разработчики The Cacti Group, Inc.
Написана на PHP, MySQL
Операционная система кроссплатформенное приложение
Последняя версия
Репозиторий github.com/Cacti/cacti
Лицензия GNU General Public License
Сайт cacti.net

История

Проект Cacti был начат Яном Берри 2 сентября 2001 года[3].[4] Берри вдохновился созданием этого ПО, работая в небольшом провайдере интернет-услуг, продолжая обучение в школе и изучая PHP и MySQL. Основная задача, которую он ставил перед собой, — «обеспечить большую простоту использования по сравнению с RRDtool и большую гибкость, чем у MRTG»[3].

13 сентября 2004 года вышла версия 0.8.6[5], которая привлекла новых разработчиков и повысила производительность и масштабируемость программы[3].

Версия 0.8.7 была опубликована в октябре 2007 года[6]. В июне 2012 года на сайте был опубликован план разработки, согласно которому версия 1.0.0 планировалась к выпуску в первом квартале 2013 года, однако из-за занятости членов команды и изменений в их профессиональной деятельности, развитие Cacti было приостановлено — вплоть до января 2017 года выходили только минорные обновления и исправления.

В период с 2012 по 2017 годы было выпущено 6 промежуточных версий серии 0.8.8, преимущественно с исправлениями ошибок и повышением безопасности.

В начале 2015 года команда Cacti была реорганизована для возобновления активной работы над веткой 1.0. В этот период реализовано значительное количество функций из плана: поддержка нескольких сборщиков данных, улучшенная безопасность графиков/устройств/шаблонов, разграничение прав на уровне групп пользователей, поддержка нескольких интервалов сбора данных, поддержка сайтов, новые возможности управления древовидной структурой и производительностью.

Версия 1.0.0 вышла в январе 2017 года[7].

Версия 1.2.0 была выпущена в январе 2019 года[8].

2017 год был особенно активным для команды: с января 2017 года было выпущено более 30 версий Cacti. Сообщество на GitHub значительно выросло, и теперь над продуктом работает несколько десятков разработчиков, совершенствуя ветку 1.x для частных, корпоративных и промышленных пользователей по всему миру.

Функционал

Благодаря подключаемым плагинам функциональность Cacti охватывает все категории управления FCAPS. В основном используется для визуализации временных рядов метрик, таких как загрузка CPU и использование сетевого трафика[9]. Распространённое применение — мониторинг сетевого трафика с помощью опроса интерфейсов коммутаторов или маршрутизаторов через SNMP.

Пользовательский интерфейс Cacti поддерживает модели безопасности и для отдельных пользователей, и для групп, а также управление доступом на основе ролей (RBAC) для разных областей интерфейса. Пользователи могут создаваться локально либо импортироваться через LDAP, Active Directory и другие протоколы (в том числе с поддержкой единого входа, SSO) посредством базовой аутентификации Apache и Nginx.

Архитектура плагинов Cacti может превращаться из простой системы визуализации временных рядов в мощную платформу для мониторинга, поиска неисправностей и управления конфигурациями. The Cacti Group поддерживает более 20 подобных плагинов на GitHub.

Cacti широко используется телекомуникационными компаниями и сетевыми операторами по всему миру, а также является ключевым компонентом коммерческого решения Spectrum LSF RTM для мониторинга кластеров высокопроизводительных вычислений (HPC), основанных на продукте IBM LSF. Также среди пользователей — провайдеры хостинга[10] (особенно выделенный сервер[11], виртуальный выделенный сервер и центры размещения оборудования) — для предоставления статистики трафика клиентам. С помощью Cacti возможна настройка самого процесса сбора данных, что в ряде случаев позволяет проводить мониторинг без необходимости ручной конфигурации RRDtool[12]. Система сбора данных может расширяться с помощью внешних shell-скриптов и исполняемых файлов[13].

Cacti включает встроенные и альтернативные сборщики данных. Первым является «cmd.php» — скрипт на PHP, подходящий для небольших инсталляций. Вторым сборщиком выступает «spine» — многопоточный и высокопараллельный сборщик на C, способный обслуживать десятки тысяч хостов на одну инсталляцию Cacti[14].[15]

Возможности

Главные возможности Cacti включают:[13]

  • Неограниченное количество отслеживаемых устройств
  • Гибкая организация устройств и графиков по атрибутам «сайт», «расположение», структурирование в деревьях
  • Распределённый сбор данных с помощью удалённых агентов, стойких к сбоям сети
  • Архитектура, расширяемая с помощью плагинов
  • Автоматическое обнаружение устройств, автоматизация построения графиков и структур деревьев
  • Шаблоны для устройств, автоматизации и графиков
  • Поддержка SNMP Trap и Inform (входящий трафик)
  • Управление инцидентами через плагин Syslog
  • Мониторинг пороговых событий через плагин Threshold
  • Резервное копирование/управление конфигурацией роутеров и коммутаторов при помощи RouterConfigs
  • Картографирование сети через WeatherMap
  • Сервисы поиска MAC-адресов и местоположения устройств через MacTrack
  • Дашбординг с помощью Intropage
  • Мониторинг работоспособности веб-сайтов через WebSeer
  • Встроенная поддержка параллельного SNMP
  • Параллельная поддержка PHP-скриптов
  • Возможность сбора данных по WMI (плагином)
  • Модели доступа к графикам для крупных внедрений
  • Управление доступом для пользователей и групп
  • Несколько методик аутентификации: LDAP, AD, локальные пользователи, множество SSO-провайдеров через модули Apache и Nginx
  • Поддержка сеансовых баз данных для масштабирования установки с балансировщиками нагрузки и кластеризацией хранения (GlusterFS, CEPH, NFS)

Примечания

Литература

  • Lavlu, S. M. Cacti 0.8 Network Monitoring. — Packt Publishing, 2009. — P. 132. — ISBN 1-84719-596-2.
  • Urban, Thomas. Cacti 0.8 Beginner's Guide. — Packt Publishing, 2011. — P. 348. — ISBN 1-84951-392-9.
  • Urban, Thomas. Cacti Beginner's Guide — Second Edition. — Packt Publishing, 2017. — P. 420. — ISBN 9781788299183.

Ссылки