Category Archives: CentOS

CentOS Collectd Graphite


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/bezhaco/data/www/bezha.od.ua/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/bezhaco/data/www/bezha.od.ua/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Презентация A New Hope Bryan Berry: о Collectd мониторинге системных метрик и отправки их в Graphite.

Тестовые VPS на которых будем тестировать данную связку:

# devops.bezha.od.ua (ip:192.168.1.8) CentOS release 6.3 2.6.32-279.5.1.el6.i686 -- Client Collectd
# collectd.bezha.od.ua (ip:192.168.1.9) CentOS release 6.3 2.6.32-279.5.1.el6.i686 -- Server Collectd
# graphite.bezha.od.ua (ip:192.168.1.10) CentOS release 6.3 2.6.32-279.5.1.el6.i686 -- Graphite Server

Устанавливаем EPEL и обновляем систему

На Client Collectd и Server Collectd устанавливаем Collectd5

# yum -y install collectd perl-Collectd5

Для того чтобы собирать данные с нескольких хостов на главный сервер, существует Network plugin

Конфигурационный файл Client Collectd

# grep -v -E "#|^$" /etc/collectd5.conf
BaseDir     "/var/lib/collectd5"
PIDFile     "/var/run/collectd5.pid"
LoadPlugin syslog
LoadPlugin cpu
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
<Plugin interface>
        Interface "eth0"
</Plugin>
<Plugin network>
        <Server "192.168.1.9">
        </Server>
</Plugin>

Конфигурационный файл Server Collectd

# grep -v -E "#|^$" /etc/collectd5.conf
BaseDir     "/var/lib/collectd5"
PIDFile     "/var/run/collectd5.pid"
LoadPlugin syslog
LoadPlugin cpu
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
LoadPlugin write_graphite
<Plugin interface>
        Interface "eth1"
</Plugin>
<Plugin network>
        <Listen "192.168.1.9">
        </Listen>
</Plugin>
<Plugin write_graphite>
<Carbon>
Host "192.168.1.10"
Port "2003"
StoreRates false
AlwaysAppendDS false
EscapeCharacter "_"
</Carbon>
</Plugin>

Устанавливаем различные счетчики в зависимости от того что нам необходимо мониторить и перезагружаем collectd

# chkconfig collectd5 on
# chkconfig --list | grep collectd5
collectd5       0:off   1:off   2:on    3:on    4:on    5:on    6:off
# service collectd5 start
Starting collectd5:                                        [  OK  ]

Проверяем