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.


