четверг, 16 августа 2012 г.

SmokePing

Smokeping – утилита мониторинга состояния каналов. Удобна она тем, что отображает все состояния в виде графиков. А графики – это как все отлично понимают, самая наглядная вещь.
Помимо мониторинга задержек, с помощью Smokeping можно контролировать скорость реакции сервисов на запросы. Это тоже довольно интересная тема. По возрастанию времени ответа, допустим, вебсервера, можно судить о скорости генерации страниц и о том, насколько он эффективно работает и коственным путем отмечать повышение нагрузки на него. То же самое можно делать и с почтовым сервером и с ДНС, в общем практически с любым сервисом.


 ./configure --prefix=/opt/smokeping

так может получить, что не все модули perl установлены и получится ошибка
checking checking for perl module 'RRDs'... Failed
checking checking for perl module 'FCGI'... Failed
checking checking for perl module 'CGI'... Ok
checking checking for perl module 'CGI::Fast'... Failed
checking checking for perl module 'Config::Grammar'... Failed
checking checking for perl module 'Digest::HMAC_MD5'... Failed
checking checking for perl module 'LWP'... Ok
тогда ставим модули следующим образом

perl -MCPAN -e 'install <module-name>'

если не стоит RRD тогда его нужно ставить следующим образом

apt-get install rrdtool librrds-perl

затем делаем установку, предварительно скомпилировав

make install


делаем конфигурационный файл из поставки в дистрибутиве
cp /opt/smokeping/etc/config.dist /opt/smokeping/etc/config




создаем конфигурационный файл для Apache

touch /etc/apache2/conf.d/smokeping.conf

пишем в конфиг

<Directory "/opt/smokeping/htdocs/cache" >
    Order deny,allow
            Options None
                </Directory>
alias /smokeping /opt/smokeping/htdocs
 <Directory "/opt/smokeping/htdocs">
         AddHandler fcgid-script .fcgi
                        AllowOverride All
                        Options +ExecCGI
                         DirectoryIndex smokeping.fcgi
                                           </Directory>


копируем скрипт из поставки в дистрибутиве
cp /opt/smokeping/htdocs/smokeping.fcgi.dist /opt/smokeping/htdocs/smokeping
при запуске /opt/smokeping/ping/smokeping , может появиться ошибка

file '/opt/smokeping/etc/smokeping_secrets.dist' is world-readable or writable, refusing it

надо просто дать права записи для группы на файл smokeping_secrets.dist

вот примерный конфиг моего pathnames
imgcache и imgurl должны указывать на одну и туже папку

#sendmail = /usr/sbin/sendmail
imgcache = /opt/smokeping/htdocs/images
imgurl   = ../smokeping/images
datadir  = /opt/smokeping/lib
dyndir   = /opt/smokeping/__cgi
piddir   = /var/run/smokeping
smokemail = /opt/smokeping/etc/smokemail
tmail    = /opt/smokeping/etc/tmail
precreateperms = 2775


Probes файл в котором прописаны, что вы будете использовать для контроля.

*** Probes ***

+ FPing
binary = /usr/bin/fping

+ Curl
binary = /usr/bin/curl
step = 60

# SMTP - echoping smtp
+ EchoPingSmtp
# HTTP - echoping http
#+ HTTP
#+ EchoPingHttp
# DNS - echoping dns
+ EchoPingDNS
+EchoPingHttp

binary = /usr/bin/echoping
forks = 5
offset = 50%
step = 300

Targets файл в котором описываются цели, которые вы будете контролировать. Меню допускает вложенность. Сколько допускается вложений - не знаю, я использую 2.
Payments верхний уровень
Server второй уровень

urlformat формат применяется, если нужен доступ к web сайту отличному от 80 порта. Например HTTPS или по порту 8080

+ Payments

menu = Payments
title = Payments


++ Server
menu = FastMail
title = FastMail_https://myserver.ru
probe = Curl
host = myserver.ru
urlformat = https://%host%/

Вот и все.
Стоит отметить, что возможно использовать схему Master/Slave (главный/подчиненный), когда необходимо получать данные с удаленных серверов.

И еще, не забываем, что есть режим debug - для отладки, reload перезагрузка файлов конфигурации

Комментариев нет:

Отправить комментарий