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

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

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

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

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

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

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

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

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

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

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

/etc/monit/monitrc

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

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

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

 

  Один комментарий в “Установка monit в Debian”

  1. Спасибо за статью! Теперь я знаю как обновлять Monit.
    Я придумал как управлять Monit из PHP файла!
    И таким образом запускать из под root свои скрипты.
    Пример для правила под названием sshd

    # sshd
    check process sshd with pidfile «/var/run/sshd.pid»
    start program «/usr/bin/service ssh start»
    stop program «/usr/bin/service ssh stop»

    $pars = file_get_contents(‘https://login:pass@localhost:2812/sshd?action=start’);
    $pars = file_get_contents(‘https://login:pass@localhost:2812/sshd?action=stop’);
    $pars = file_get_contents(‘https://login:pass@localhost:2812/sshd?action=restart’);
    $pars = file_get_contents(‘https://login:pass@localhost:2812/sshd?action=monitor’);
    $pars = file_get_contents(‘https://login:pass@localhost:2812/sshd?action=unmonitor’);

    # ROOT
    check host http://www.dj-x.info with address 185.86.76.210
    group ROOT
    if failed port 21 protocol ftp then exec «/bin/sh /root/root.sh»
    if failed port 21 protocol ftp then unmonitor

     

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

(обязательно)

(обязательно)

   
Copyright © 2012. Linuxguru.ru