Есть такая очень удобная система мониторинга серверов, Munin называется. Умеет следить за кучей параметров системы из коробки, собирать данные по ведомым серверам («нодам»). И, что самое приятное, строит по собранным данным красивые нескучные графики.
Статистика использования памяти на домашнем сервере за неполный день |
Встала задача выдать наружу собранные мониторингом данные.
Данные хранятся в базе данных специального формата RRD. Формат бинарный, и существует специальная утилита rrdtool для работы с данными. Умеющая в том числе экспорт данных в XML.
Отдавать данные было решено через веб-сервер (Apache ставится вместе с Munin по зависимостям), и я написал простой CGI-скрипт на Питоне. Результат можно посмотреть на Github, там же лежит конфиг для Апача, необходимый для работы с CGI-скриптом.
Зачем это все было нужно, расскажу позже. А пока, возможно, этот механизм экспорта пригодится кому-то еще.