Monit простое и удобное средство мониторинга
Автор: admin Раздел: Мониторинг
В этот час я хотел бы о такой полезной программы, говорят как Monit. Monit - просто не последнее, ,что практические, мощный и надежный инструмент для мониторинга серверов на FreeBSD или Linux.
Так ,что же может Monit: Проверка процесса (наличие, количество потребляемых ресурсов) Сканирование файликов, папочек и файликовые системы на изменения (изменить дату создания /, изменить размер и контрольную сумму) Испытание сетевых хостов (пинг и соединение с определенным портом для конкретного протокола) Если у вас возникли проблемы Monit для отправки уведомлений по электронной почте и начинает сложных проектов. Кроме того, в Monit создать веб-сервер, ,что состояние объектов для мониторинга в режиме онлайн веб-браузер, как включение / выключение / перезапуск службы (http://localhost:2812), ,чтобы видеть. Таким образом, после краткого набег на то, ,что собирался приступить к установке и настройке Monit (я Samba установки Monit на жизнь). Этот процесс (Red Hat) для операционной системы Linux и может быть сделано для FreeBSD. Установка: [-hide-]Для установки под Linux (CentOs 5.2 – 5.3), скачиваем rpm архив (например отсюда), так как к сожалению через репозитории с помощью команды – yum install monit, установить не получилось в виду отсутствия там пакета monit. После того как мы скачали архив например в папочку /tmp, производим его установку с помощью команды: # rpm -ivh monit-4.9-2.el5.rf.i386.rpm Установку monit для FreeBSD 6.4 производим из портов : # cd /usr/ports/sysutils/monit # make install clean В появившемся окне настройки кофигурации monit все оставляем по умолчанию. На этом установку можно считать завершенной, ,что соответствует словам разработчика monit – Easy install and setup. Настройка. Далее нам здесь необходимо отредактировать под свои нужды конфигурационный файлик. Для Linux (CentOs) это: # vi /etc/monit.conf для FreeBSD сначала переименовываем файлик monitrc.sample в monitrc # cp /usr/local/etc/monitrc.sample /usr/local/etc/monitrc # ee /usr/local/etc/monitrc Сам конфигурациооный файлик хорошо закомментирован поэтому никаких сложностей с его настройка возникнуть не должно, я лишь ограничусь тем функционалам ,что сам использую в настоящее время на своих серверых: # Global section (Общие настройки службы monit) Запускает процесс как демон и проверят службы каждую секунду (можно выставить любое удобное для вас значение): set daemon 1 Использовать syslog регистрирующий со средством 'демона'. Если опция FACILITY будет опущенным, то monit будет использовать 'пользовательское'средство по умолчанию. Вы можете определить путь к файлику для monit: set logfile syslog facility log_daemon Список mailservers для доставки оповещения. Возможно, указать порт mailserver. По умолчанию это 25 порт: set mailserver localhost Есть возможность сохранить оповещение, если вдруг не один из mailservers будет не доступен. Так есть возможность установить лимит дискового пространства, для предотвращения его переполнения: set eventqueue basedir /var/log/monit (путь к каталогу, где будут храниться оповещения) slots 100 (лимит) Monit имеет встроенный web сервер для управления и просмотра работы демона: set httpd port 2812 and (задаем порт для подключения) use address localhost (ip-адрес для подключения) allow localhost (разрешаем откуда можно подключится) allow admin:monit (задаем имя (admin) и пароль (monit) на подключение) # Services (Здесь задаются правила для управления службами. Каждое правило определяет проверяемый ресурс и выполняемые действия) На своих серверых в настоящий момент я использую только службу Samba через winbind. Запись для FreeBSD: check process samba with pidfile /var/run/winbindd.pid (путь до любого pid файлика, службы Samba) start program = «/usr/local/etc/rc.d/samba start» stop program = «/usr/local/etc/rc.d/samba stop» Запись для CentOs: (так как CentOs в отличии от FreeBSD для запуска службы Samba различает команды (service smb start или service winbind start), то здесь необходимо указывать два различных правила). check process samba with pidfile /var/run/smbd.pid start program = «/etc/init.d/smb start» stop program = «/etc/init.d/smb stop» check process winbind with pidfile /var/run/winbindd.pid start program = «/etc/init.d/winbind start» stop program = «/etc/init.d/winbind stop» # Includes (Здесь возможно включить в основой конфиг отдельные файликы) Для FreeBSD: include /usr/local/etc/monit/* Для CentOs: include /etc/monit.d/* На этом настройку monit можно считать законченой, а сама служба monit готова встать на стражу ваших серверных служб. После настройки добавляем monit в автозапуск: Для FreeBSD: # echo ‘monitd_enable=»YES» ‘ >> /etc/rc.conf Для CentOs: # chkconfig monit on Далее запускаем monit: Для FreeBSD: # /usr/local/etc/rc.d/monit start (для остановки stop и для перезапуска restart) Для CentOs: # service monit start В конце моего повествования я хотел бы отметить ,что данную службу можно использовать для мониторинга служб apache, mysql, clamav, общих ресурсов серверы, проверка свободного места на сервере, проверка удаленного хоста на доступность и многое другое. В будущих статьях я еще обязательно вернусь и расскажу много чего интересного о службе monit.[-hide-] |