С его помощью мы можем мониторить:
Поддерживаются все unix-like системы: ОС GNU\Linux (есть в большинстве пакетных систем), FreeBSD (есть в портах), OpenBSD, Solaris, MacOS X.
Установка и настройка займет не более 15 - 20 мин.
И так приступим:
cd /usr/ports/sysutils/monit
make install clean
Переименовываем конфиг:
mv /usr/local/etc/monitrc.sample /usr/local/etc/monitrc
и расскоментируем лишь одну строчку include /usr/local/etc/monit.d/*
Теперь все файлы конфигурации из /usr/local/etc/monit.d/ будут автоматически подхватыватся monit-ом.
Для удобства разобьем конфигурационный файл на main.conf (общие настройки) и с названием сервиса (к примеру monit-nginx.conf, monit-exim.conf и т.д.)
main.conf это минимальный конфиг
set daemon 120 # Частота проверки сервисов.
set logfile syslog facility log_daemon # IP\hostname почтового сервера, через который пойдут уведомления.
set mailserver localhost,
set eventqueue # Разрешить очередь уведомлений.
basedir /var/log/monit # путь к каталогу, где будут храниться уведомления.
slots 100 # Максимальное количество уведомлений в очереди.
set mail-format { from: monit@youserver.com } # От какого имени рассылать уведомления.
set alert admin@youserver.com #куда сваливать все уведомления
#set alert support@youserver.com { timeout } # Ящик для критических уведомлений (падение сервера\демонов).
monit-apache.conf
check process apache with pidfile /var/run/httpd.pid # Название и PID
start program = "/usr/local/etc/rc.d/apache22 start" # Команда запуска.
stop program = "/usr/local/etc/rc.d/apache22 stop" # Команда остановки.
if cpu > 60% for 2 cycles then alert # Если в течение двух циклов потребление CPU > 60% - уведомить.
if cpu > 80% for 5 cycles then restart # А если за 5 циклов больше 80% - перезапустить.
monit-ssh.conf
check process sshd with pidfile /var/run/sshd.pid
start program = "/etc/rc.d/sshd start"
stop program = "/etc/rc.d/sshd stop"
Это минимум, что можно описать, по этой логике пишется такой блок под каждый демон, который нужно мониторить. Полее подробно можно почитать в он-лайн доке
Разрешаем запуск monit'a в rc.conf и запускаем:
echo 'monit_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/monit start
Теперь выключаем апач и наблюдаем за логом:
/usr/local/etc/rc.d/apache22 stop
tail -f /var/log/messages
Dec 4 18:15:21 ua monit[696]: 'apache' process is not running
После чего на почту приходит одно письмо с тем, что Apache не запущен и еще одно с уведомлением, что Apache был запущен
О да, эта система меня периодически выручает сильно.
ОтветитьУдалитьА сделать это тяжело было?
ОтветитьУдалить