Введение

Cacti – это веб-платформа с открытым исходным кодом для мониторинга сети, производительности, обнаружения неисправностей и управления конфигурацией, разработанная как клиентское приложение для стандартного в отрасли инструмента для сбора данных RRDtool. Cacti позволяет пользователям опрашивать службы через заданные интервалы и отображать полученные данные в виде графиков. Благодаря использованию плагинов Cacti, функциональность платформы расширена и охватывает все категории оперативного управления FCAPS. Cacti обычно используется для графического представления данных временных рядов, таких как загрузка ЦП и использование пропускной способности сети. Распространенным вариантом использования является мониторинг сетевого трафика путем опроса интерфейса сетевого коммутатора или маршрутизатора через протокол SNMP (Simple Network Management Protocol). Клиентский интерфейс Cacti поддерживает как модели безопасности "Пользователь" и "Группы пользователей", так и контроль доступа на основе ролей (RBAC) для доступа не только к данным мониторинга, но и к различным разделам пользовательского интерфейса. Источники пользователей могут быть определены локально или получены из LDAP, Active Directory и других протоколов через Apache и Nginx Basic Authentication, включая провайдеров единого входа (SSO). Архитектура Cacti может быть расширена с помощью плагинов, которые превращают Cacti из решения для графического анализа временных рядов в надежную платформу для мониторинга производительности, обнаружения неисправностей и управления конфигурацией. Команда разработчиков Cacti поддерживает более 20 таких плагинов на GitHub, предоставляющих эти возможности. Cacti в основном используется операторами связи и центрами управления сетью по всему миру, а также является основой коммерческого решения Spectrum LSF RTM, которое осуществляет мониторинг кластеров высокопроизводительных вычислений (HPC) на базе продукта IBM LSF. Другие варианты использования включают провайдеров веб-хостинга (особенно выделенных серверов, виртуальных частных серверов и центров обработки данных) для отображения статистики пропускной способности для своих клиентов. Cacti позволяет настраивать сам процесс сбора данных, что позволяет осуществлять мониторинг определенных конфигураций без ручной настройки RRDtool. Сбор данных Cacti может быть расширен для мониторинга любых источников с помощью shell-скриптов и исполняемых файлов. Cacti предоставляет как встроенные, так и дополнительные сборщики данных. Бэкэнды: Первый, обозначенный как "cmd.php", представляет собой PHP-скрипт, подходящий для небольших установок. Второй, называемый "spine", – это многопоточный и масштабируемый параллельный сборщик данных, написанный на языке C, который может обрабатывать десятки тысяч хостов на один сборщик данных Cacti.

История

Проект Cacti был впервые запущен Иэном Берри 2 сентября 2001 года. Берри вдохновился начать проект, работая в небольшой компании-провайдере, одновременно учась в старшей школе и изучая PHP и MySQL. Его основной целью при создании Cacti было "обеспечить большую простоту использования, чем RRDtool, и большую гибкость, чем MRTG". С проектом пришли новые разработчики, а затем и повышение скорости работы программы и её масштабируемость. В июне 2012 года дорожная карта на сайте указывала, что выпуск версии 1.0.0 запланирован на первый квартал 2013 года, но из-за занятости участников команды и изменений в их карьере разработка Cacti была приостановлена, с выпусками лишь незначительных исправлений безопасности и ошибок, до выхода Cacti 1.0 в январе 2017 года. В период с 2012 по 2017 год команда Cacti выпустила 6 точечных релизов программного обеспечения серии Cacti 0.8.8, устраняя незначительные ошибки и проблемы безопасности. В начале 2015 года команда Cacti реорганизовалась, чтобы возобновить работу над продуктом Cacti 1.0. В ходе этой разработки команда Cacti сосредоточилась на реализации большей части функциональности, заявленной в дорожной карте, включая: множественные сборщики данных; улучшенную безопасность графиков, устройств, шаблонов и деревьев, включая права доступа на уровне групп пользователей; множественные интервалы сбора данных; поддержку нескольких сайтов; а также улучшенное управление деревьями и производительность. Версия 1.0.0 была выпущена в январе 2017 года, а версия 1.2.0 – в январе 2019 года. 2017 год был активным для команды Cacti. С момента первого релиза 1.0.0 в январе 2017 года было выпущено более 30 версий Cacti. Сообщество GitHub также выросло, и сейчас несколько десятков разработчиков работают над совершенствованием ветки 1.x для использования в домашних условиях, малых и крупных компаниях по всему миру.