Мониторинг загрузки процессора, сети - collectd (графики rrdtool)
Категория: / DEV Блог
/ Сервер (FreeBSD)
Используем для наших злостных целей демон collectd.
К сожалению, его нет в портах, поэтому забираем его с сайта разработчиков http://collectd.org/.
Для начала необходимо поставить утилиту для хранения и обработки статистики
Мне нужны были показатели сетевых интерфейсов и загрузка проца, поэтому больше ничего ставить не пришлось.
Единственное libstatgrab не собирался без CFLAGS=-ldevstat.
Собираем collectd
Для просмотра возможных фукнций сборки - ./configure --help
Про --prefix забыл, оно поставилось в /opt.. :)
Демон запускается командой /opt/collectd/sbin/collectd и каждые 15 секунд пишет данные о состоянии системы в базу данных.
rrd файлы лежат в /opt/collectd/var/lib/collectd/rrd/YOURHOST
Для отрисовки графиков можно воспользоваться пакетом rrdraw.
К примеру генерация картинок нагрузки канала и CPU. Файл можно повесить на крон и показывать картинки на сайта в разделе статистика.
Скрипт для автозапуска демона в /usr/local/etc/rc.d/
Не забываем добавить collectd_enable="YES" в rc.conf.
Author: J4ck
Greetz!
К сожалению, его нет в портах, поэтому забираем его с сайта разработчиков http://collectd.org/.
Для начала необходимо поставить утилиту для хранения и обработки статистики
cd /usr/ports/databases/rrdtool
make
make install
Мне нужны были показатели сетевых интерфейсов и загрузка проца, поэтому больше ничего ставить не пришлось.
Единственное libstatgrab не собирался без CFLAGS=-ldevstat.
Собираем collectd
Для просмотра возможных фукнций сборки - ./configure --help
./configure --disable-wireless --disable-vserver --disable-tape --disable-dns --disable-email --disable-iptables --disable-perl --with-libmysql=/usr/tmp/collectd-4.0.5 --with-libstatgrab=/usr/tmp/collectd-4.0.5 --with-rrdtool=/usr/local CFLAGS=-ldevstat
make
make install
Про --prefix забыл, оно поставилось в /opt.. :)
Демон запускается командой /opt/collectd/sbin/collectd и каждые 15 секунд пишет данные о состоянии системы в базу данных.
rrd файлы лежат в /opt/collectd/var/lib/collectd/rrd/YOURHOST
Для отрисовки графиков можно воспользоваться пакетом rrdraw.
К примеру генерация картинок нагрузки канала и CPU. Файл можно повесить на крон и показывать картинки на сайта в разделе статистика.
#!/bin/bash
apl_='#'
/usr/local/bin/rrdtool graph /vhosts/main/server/cpu.png \
-e now \
-s 'end - 5 hours' \
-S 60 \
--title 'CPU USAGE' \
--vertical-label % \
--imgformat PNG \
--slope-mode \
--color SHADEA${apl_}FFFFFF \
--color SHADEB${apl_}FFFFFF \
--color BACK${apl_}FFFFFF \
-w 680 \
-h 150 \
--interlaced \
DEF:a=/opt/collectd/var/lib/collectd/rrd/j4ckHOST/cpu-0//cpu-idle.rrd:value:MAX \
DEF:b=/opt/collectd/var/lib/collectd/rrd/j4ckHOST/cpu-0//cpu-system.rrd:value:MAX \
DEF:c=/opt/collectd/var/lib/collectd/rrd/j4ckHOST/cpu-0//cpu-user.rrd:value:MAX \
LINE1:a#C0C0C0:Idle \
AREA:b#00FF00:System \
AREA:c#0000FF:User
/usr/local/bin/rrdtool graph /vhosts/main/server/network.png \
-e now \
-s 'end - 5 hours' \
-S 60 \
--title 'NETWORK' \
--vertical-label % \
--imgformat PNG \
--slope-mode \
--color SHADEA${apl_}FFFFFF \
--color SHADEB${apl_}FFFFFF \
--color BACK${apl_}FFFFFF \
-w 680 \
-h 150 \
--interlaced \
DEF:a=/opt/collectd/var/lib/collectd/rrd/j4ckHOST/interface//if_octets-rl0.rrd:tx:MAX \
DEF:b=/opt/collectd/var/lib/collectd/rrd/j4ckHOST/interface//if_octets-rl0.rrd:rx:MAX \
DEF:c=/opt/collectd/var/lib/collectd/rrd/j4ckHOST/interface//if_errors-rl0.rrd:tx:MAX \
AREA:a#0000FF:Tx \
AREA:b#00FF00:Rx \
LINE1:c#FF0000:Errors
Скрипт для автозапуска демона в /usr/local/etc/rc.d/
#
# collectd_enable="YES"
#
colletcd_enable=${collectd_enable:-"NO"}
. /etc/rc.subr
name=collectd
rcvar=`set_rcvar`
command=/opt/collectd/sbin/collectd
load_rc_config ${name}
run_rc_command "$1"
Не забываем добавить collectd_enable="YES" в rc.conf.
Author: J4ck
Greetz!
/usr/ports/net-mgmt/collectd