При администрировании группы разнесенных по сети UNIX серверов возникает потребность в небольшой программе мониторинга, от которой требуется определять внештатные ситуации, сообщать о них администратору, вести лог возникающих проблем и автоматически пытаться восстановить нормальный режим работы. Так же желательно на каждом из этих серверов осуществлять функции слежения за работой "соседей", при нарушении функционирования которых начинать бить тревогу, на случай если "сосед" окажется не в состоянии самостоятельно дать знать о себе.
Таким образом строится распределенная система мониторинга, отличающаяся от централизованной большей оперативностью, точностью и надежностью. Именно для выполнения этих задач и была написана данная программа.
Для установки скопируйте alertmon.pl в любое место по Вашему усмотрению (рекомендую /etc), отредактируйте параметры конфигурации в скрипте Для работы alertmon.pl необходимо установить модули Net::DNS и Net::Ping, если они отсутствуют.
Обеспечьте периодическое выполнение скрипта посредством программы cron:
# crontab -e
*/5 * * * * /etc/alertmon.pl
Если необходимо задействовать не только функции мониторинга, но восстановления нормального функционирования (например, перезапустить gated при его "зависании"), то скрипт должен выполняться с правами root пользователя (uid 0).
Для осуществления слежения за состоянием контролируемого объекта - следует установить cgi скрипт alertview.cgi в cgi-bin директорию вашего web сервера, предварительно отредактировав параметры конфигурации внутри этого файла и ограничить доступ к этому скрипту посредством настроек .htaccess:
AuthType Basic
AuthName Monitoring
AuthUserFile <путь к файлу с паролем, создается с помощью программы htpasswd>
require valid-user
Например:
cd /usr/local/apache/cgi-bin
mkdir alert
cd alert
cp ~/src/alert/alertview.cgi /usr/local/apache/cgi-bin/alert/alertview.cgi
vi alertview.cgi
cat > .htaccess
AuthType Basic
AuthName Monitoring
AuthUserFile /usr/local/apache/.passwd
require valid-user
^D
/usr/local/apache/bin/htpasswd -c /usr/local/apache/.passwd username
Для централизованного наблюдения за несколькими хостами с установленным alertmon (сетью мониторов) необходимо скопировать с cgi-bin директорию скрипт alertsum.cgi, предварительно описав хосты где установлен монитор внутри этого скрипта.
Изменяем параметры настройки (описываем все хосты на которых запущен alertmon) в файле for_netsaint/check_alert.sh.
Копируем for_netsaint/check_alert.sh в libexec (где лежат plugin'ы) директорию NetSaint'а.
В файле конфигурации NetSaint commands.cfg добавляем строку вида:
command[check_alert]=/usr/local/netsaint/libexec/check_alert.sh $ARG1$
В файле hosts.cfg, для каждого хоста на котором функционирует alertmon прописываем:
service[some-host]=Alert mon;0;24x7;5;10;1;admins;120;24x7;0;1;0;;check_alert!# service[hook-host]=Alert mon;0;24x7;5;10;1;admins;120;24x7;0;1;0;;check_alert!name
где "name" - имя хоста описанное внутри for_netsaint/check_alert.sh.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |