Данный проект, это модуль для использования в биллинге ABillS. Модуль, как и сам биллинг написаны на Perl.
Основное взаимодействие с обьектами мониторинга/управления с помощью протокола SNMP. Конкретно перл модуль SNMP из пакета Net-SNMP. Для ловушки snmp трапов используется Net-SNMPTrapd. Изначально модуль для работы с БД Redis был опциональным, но поскольку смысла мониторинга без статистики нет, библиотеку так же устанавливаем. Главный упор в проекте, это максимальное использование возможностей самого протокола и MIB.
Что собственно побудило. Однозначно модуль был написан "под себя". За несколько лет администрирования сетей пришлось воспользоваться многими системами управления и мониторинга сетей, по памяти: OpenNMS, Nagios, Cacti, Zabbix ...
Нет, я не скажу, что все они плохи, долгое время пользовался JFFNMS - ну практически всё в ней устраивало, простота и гибкость настройки, скорость работы. К большому сожалению проект был заброшен, и в какой-то момент при обновлении пакетов на сервере, выяснилось, что движок не поддерживается актуальной версией PHP(а сам я в PHP "нивзубногой") и пришлось срочно искать адекватную замену. Собственно на замену пришел Observium - на мой взгляд идеальный инструмент для мониторинга небольших сетей - современный интерфейс, очень гибкая настройка, вообщем сплошные навороты.
Собственно "навороты" его и сгубили :) , по мере роста количества обслуживаемого оборудования, снижалась производительность, в какой-то момент пришлось отказаться от большой части графиков, потом оставить графики только на аплинках, а интервал на poller составлял уже 5 минут. Не помогали и различные ухищрения, как то распараллеливание задач, обновление оборудования, - рано или поздно всё упиралось в производительность. И не смотря на всё это, рекомендовал бы Observium всем, кому нужна удобная и простая в настройке система мониторинга.
Примерно те же проблемы и с системами, что были указаны в начале, хотя и там не всё так однозначно. Тут можно добавить: избыточный функционал, сложность в настройке и установке. Ну тут уж, как говорится, "на вкус и цвет".
Можно сказать именно на Observium мне пришлось вплотную заняться изучением PHP, уж очень хотелось как-то решить проблему с производительностью. Тут я в первый раз попытался написать что-то сам, за основу взял проект swtoolz, известного в кругах "длинководов" xcme, прикрутил к вебке bootsrup, highchart, написал поллер, обработчик логов и пр. и пр. Кстати забавная картина вырисовывается из моего личного опыта, общения с тем же xcme и многими другими коллегами по "цеху", - практически никто не пользуется теми продуктами(в том числе и коммерческими), что я уже перечислил,- в основном это либо написанные с нуля, либо глубоко переделанные опсорсные системы. Такое впечатление, что те, кто пишут NMS не имеют обратной связи с пользователями своих систем.
Почему perl и почему AbillS? Просто в какой-то момент потребовалось привязать оборудование к конкретным пользователям и разрешить доступ менеджерам в вебку мониторинга, и уже небольшой опыт в работе с AbillS был. К тому же коллектив разработчиков всегда готов помочь, несмотря на загруженность по своим проектам.