вход

Установка monit в Debian

Debian logo

Monit — программа для поддержания сервисов на плаву, которая умеет слать уведомления в случае каких либо отклонений, софтина работает под linux, bsd и других unix-системах. Используется как средство мониторинга и перезапуска каких либо сервисов.  Гибкие настройки и функционал делают программу очень даже привлекательной!  Рекомендую к употреблению и добро пожаловать под кат.

Monit умеет проверять:

  • Существование процесса по PID
  • Работу определенного порта (TCP/UDP)
  • Ответ определенного протокола по порту (SMTP, SSH, HTTP,MYSQL…)
  • Ресурсы, занимаемые процессом (CPU/RAM)
  • Объем и свободное пространство в файловой системе
  • Права доступа к файлу или каталогу.

В случае отклонений monit может:

  • Остановить, стартовать или перезапустить сервис
  • Подождать определенное время
  • Послать уведомление
  • Примонтировать, отмонтировать файловую систему
  • Запустить отдельный скрипт и передать ему определенные параметры.

Как видите функционал довольно таки серьезный, софтина есть практически во всех распространенных дистрибутивах Debian, CentOS, FreeBSD. Устанавливать в Debian будем из портов:

aptitude install monit

Готово? идем конфигугрировать, но перед этим я немного схитрю, поставилась у нас не самая свежая версия а мы хотим свежую с полным функционалом, идем на официальный сайт и качаем под свою ОС.

http://mmonit.com/monit/download/

берем из архива исполняемый файл monit и кладем его к себе в /usr/bin/monit с заменой =)

Теперь можно настроить конфиг, документация http://mmonit.com/monit/documentation/

Например можно настроить как то так:

/etc/monit/monitrc

 

############################################################################### ## Monit конфигурационный файл ############################################################################### ## Запустить monit как депон и проверять процесс с интервалом 1 минута set daemon 60 # Использовать syslog регистрирующий со средством 'демона'. set logfile syslog facility log_daemon ## Список mailservers для доставки оповещения.По умолчанию это 25 порт. set mailserver localhost # primary mailserver set eventqueue basedir /var/log/monit # путь к каталогу, где будут храниться оповещения slots 100 # лимит ## Вы можете самостоятельно задать формат письма set mail-format { from: system-alert@host.com } #set alert sis@host.com # все оповещения set mmonit http://monit:password@IP:PORT/collector set httpd port 2800 and use address IP-SERVER allow admin:admin #Состояние сервера в целом check system serv.host.com group server if loadavg (15min) > 10 then alert if loadavg (5min) > 30 then alert if memory usage > 90% then alert #Проверка apache2 check process apache2 with pidfile /var/run/apache2.pid group www start program = "/etc/init.d/apache2 start" stop program = "/etc/init.d/apache2 stop" if cpu > 50% for 3 cycles then alert # если загрузка cpu > 50% в течение 5 (проверок) послать предупреждение. if cpu > 90% for 3 cycles then restart # если загрузка cpu > 90% в течение 3 циклов то послать перезапустить процесс. if totalmem > 4000.0 MB for 3 cycles then restart # если юзается больше 600 MB мозгов то перезапустить процесс. if children > 200 then restart # если число дочерних процессов > 50 то перезапустить процесс. if failed host IP_ADDR port 80 protocol HTTP then restart # передернуть если не отвечает. if 5 restarts within 5 cycles then timeout # если 5 раз уже перезапускали процесс то сделать timeout. #Проверка nginx check process nginx with pidfile /var/run/nginx.pid group www start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop" if cpu > 50% for 3 cycles then alert # если загрузка cpu > 50% в течение 3 (проверок) послать предупреждение. if cpu > 90% for 5 cycles then restart # если загрузка cpu > 80% 6 циклов то послать перезапустить процесс. if totalmem > 1200.0 MB for 3 cycles then restart # если юзается больше 200 MB мозгов то перезапустить процесс. if children > 10 then restart # если число дочерних процессов > 5 то перезапустить процесс. #Проверка dovecot check process dovecot with pidfile /var/run/dovecot/master.pid start program = "/etc/init.d/dovecot start" stop program = "/etc/init.d/dovecot stop" if cpu > 50% for 3 cycles then alert if cpu > 90% for 5 cycles then restart if totalmem > 400.0 MB for 5 cycles then restart if children > 40 then restart if failed port 110 type TCP protocol POP then restart if 5 restarts within 5 cycles then timeout #Проверка exim check process exim with pidfile /var/run/exim4/exim.pid start program = "/etc/init.d/exim4 start" stop program = "/etc/init.d/exim4 stop" if cpu > 50% for 3 cycles then alert if cpu > 90% for 5 cycles then restart if children > 30 then restart #if failed port 25 protocol smtp then restart if 5 restarts within 5 cycles then timeout #Проверка mysql check process mysql with pidfile /var/run/mysqld/mysqld.pid group www start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop" if failed unixsocket /var/run/mysqld/mysqld.sock then restart #if failed host 127.0.0.1 port 3306 protocol mysql then restart if 5 restarts within 5 cycles then timeout #Проверка SSH check process sshd with pidfile /var/run/sshd.pid start program "/etc/init.d/ssh start" stop program "/etc/init.d/ssh stop" if failed host IP_ADDR port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout #Проверка fail2ban # check process fail2ban with pidfile /var/run/fail2ban/fail2ban.pid # start program = "/etc/init.d/fail2ban start" # stop program = "/etc/init.d/fail2ban stop" # if 5 restarts within 5 cycles then timeout # проверяем устройство по точке монтирования. check device rootfs with path / if failed permission 755 then alert if space usage > 90% for 5 times within 10 cycles then alert if inode usage > 90% for 5 times within 10 cycles then alert group server # проверяем устройство по точке монтирования. check device varfs with path /var if failed permission 0755 then alert if space usage > 90% for 5 times within 10 cycles then alert if inode usage > 90% for 5 times within 10 cycles then alert group server # проверяем устройство по точке монтирования. check device tmpfs with path /tmp if failed permission 1777 then alert if space usage > 90% for 5 times within 10 cycles then alert if inode usage > 90% for 5 times within 10 cycles then alert group server

 

А вот так можно проверять свои сервера по вебу:

#host1 check host s3.dgrad-host.com with address host1.com group host if failed port 80 protocol http and request "/status.php" for 2 cycles then alert #host2 check host hit-host.net with address host2.com group host if failed port 80 protocol http and request "/status.php" for 2 cycles then alert

 

Аналогично но + поиск строки в ответ

check host host with address host3.com group host CONTENT != "The page you are looking for is temporarily unavailable" timeout 60 seconds 3 cycles then alert

 

Внимание! Это только примеры, детальнее смотрите на оф сайте программы а конфигурируйте под свой сервер самостоятельно.

Удачных установок monit в Debian!

Качественные премиум темы и шаблоны для Вашего сайта:

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!


Нашли это полезным? Поделитесь с другими:
Не останавливайтесь, читайте дальше:
Оставить комментарий

Статья → Установка monit в Debian

Правила комментирования

  1. Кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.