FastNetMon

Sunday, 28 February 2010

Установка collectd на Debian

Ставим:
apt-get install -y collectd


Открываем конфиг:

vi /etc/collectd/collectd.conf


Стандартно ведется мониторинг следующих параметров: батарея, процессор, диск, энтропия, сеть, irq, load, memory, processes, swap, users. Дополнительные датчики Вы можете найти по адресу: http://collectd.org/wiki/index.php/Table_of_Plugins При этом метрики отписываются в RRD файлы (папка с ними здесь: /var/lib/collectd/rrd), а логи пишутся в SysLog. Такой расклад дел я считаю полностью оптимальным :)

Я предлагаю отключить все, кроме мониторинга cpu, load и memory (по соображениям снижения нагрузки на систему от мониторинга), поэтому комментируем диезом (#) все остальные строки LoadPlugin (кроме syslog и rrdtool, разумеется).

Также удаляем файлы данных от уже ненужных плагинов:
rm /var/lib/collectd/rrd/domain.ru/* -rf


Применяем настройки:
/etc/init.d/collectd restart


Разработчики collectd многократно обращают внимание на то, что collectd только сохраняет данные, но никаким образом их не отрисовывает, для этого служат CGI скрипты (к слову, оба из них генерируют графики на лету и не требуют временных файлов и крон-задач, но с поправкой на нагрузку) /usr/share/doc/collectd/examples/collection.cgi и /usr/share/doc/collectd/examples/collection3, при этом Интернеты утверждают, что тот, что с 3кой - более продвинута версия скрипта без тройки :) Будем ставить более новый :)

Ставим его зависимости:
apt-get install librrds-perl libconfig-general-perl libhtml-parser-perl


Копируем файлы скрипта визуализации в папку Апача с поддержкой ExecCgi
cp -R /usr/share/doc/collectd/examples/collection3/ /var/www/cgi-bin


Теперь открываем URL: http://domain.ru/cgi-bin/collection3/bin/index.cgi и наслаждаемся результатом :) Либо же идем и юзаем альтернативы, например: http://auxesis.github.com/visage/ и вот (подробное описание VIsage) http://holmwood.id.au/~lindsay/2009/09/08/graphing-collectd-statistics-in-the-browser-with-visage/

Кроме генерации графиков на лету есть возможность генерировать графики вручную посредством скрипта: /usr/share/doc/collectd/examples/collectd2html.pl, который вызывается следующим образом:

cd
mkdir rrd
cd rrd
perl /usr/share/doc/collectd/examples/collectd2html.pl --data-dir=/var/lib/collectd/rrd/`hostname`/load


После этого будут сгенерированы папка и файл, содержащие html код и изображения с графиками за разные временные отрезки (load-1day.png load-1hour.png load-1month.png load-1week.png):
1.domain.ru.dir 1.domain.ru.html


А вот мануалы по написанию своих плагинов на Перле: http://collectd.org/wiki/index.php/Plugin:Perl и http://collectd.org/documentation/manpages/collectd-perl.5.shtml

источники: http://linuxpoison.blogspot.com/2010/01/collectd-linux-system-statistics.html и http://collectd.org/wiki/index.php/First_steps

3 comments :

  1. Спасибо за статью, только пришлось еще libregexp-common-perl установить что бы заработало.

    ReplyDelete
  2. У меня вроде и без него было ок, но все равно спасибо, при случае проверю :)

    ReplyDelete
  3. отличная статья. но вот только не могу понять почему некоторые плагины не начинают работать. типа apache или mysql

    ReplyDelete

Note: only a member of this blog may post a comment.