Решил поделиться опытом по этой теме. Значит у меня задача звучала примерно так: "не сложный клиент-серверный монитор загрузки сервера с веб-интерфейсом". Если конкретезировать то попросту рисовалка графиков и желательно сделанная на
rrdtool. Начал как всегда с гугления и
freshmeat.net. В итоге остановился на двух интересных софтинах.
Первая
cacti (кактус типа). Сделана на rrdtool + php + cactid (написанный на Си даемон-poller, который опрашивает хосты). Использование cactid - опционально. Для хранения конфигурации используется
MySQL. Софтина позиционируется автором как комлексное средство монитроинга для сетей локального и глобального масшатаба с размахом до тысячи хостов. Мои запросы оказались поскромнее, поэтому пришлось отказаться от неё. Но в принципе очень стоящая вещь: гибкость на высоком уровне, мониторить может почти всё что угодно (не только стандартные заготовки по параметрам, которые кстати позволяют и так чуть ли не всё мониторить, есть framework для написания своих скриптов). Для сбора статистики по сети с хостов пришлось бы поднимать ещё snmpd - тоже минус.
Вторая софтина -
symon. На порядок проще. Рисует тоже через rrdtool и веб-интерфейс работает на php. Но своей простотой она меня и привлекла. В комлекте получается три компоненты: symon - локальный даемон для сбора статистики на хосте, symux - серверный даемон для сбора статистики с хостов и syweb - веб-интерфейс. Всё в принципе очень быстро поднялось. Вся конфигурация в текстовых файлах, взаимодействие symon и symux по tcp. Думаю что этот вариант подойдёт и для больших сетей хостов в 100. Главный минус этого варианта - мониторинг только unix-серверов, с устройствами (например switches, cisco routers) он не заработает, SNMP не умеет. Тут как раз выигрывает
cacti. Но на данный момент нам как раз и нужно мониторинг только unix-серверов.
В итоге мы получили мониторинг загрузки I/O на дисках, процессора, памяти, сетевых интерфейсов, системных буферов (mbuf), кол-ва и состояния процессов Apache, файервола (OpenBSD PF в нашем случае).