M/Monit: Мониторинг нескольких серверов с использованием графического интерфейса.

Приветствую тебя уважаемый читатель. Как и обещал в предыдущей статье об использовании MonIT, я расскажу как с помощью M/Monit можно следить за состоянием нескольких серверов с одного графического интерфейса.

На самом деле M/Monit в отличии от Monit утилита платная, но на официальном сайте доступна бесплатная версия с ограниченным функционалом.
Давайте теперь подробно рассмотрим ее установку и настройку. Для этого создадим временную папку, скачаем архив с нужной нам версией, распакуем и скопируем в рабочую директорию (актуальную версию можно найти здесь: http://mmonit.com/dist/):

# mkdir ~/distr/mmonit
# cd ~/distr/mmonit
# wget http://mmonit.com/dist/mmonit-2.1.1-linux-x86.tar.gz
# tar -xvf mmonit-2.1.1-linux-x86.tar.gz
# cd mmonit-2.0.3
# ls
bin  CHANGES  conf  db  doc  docroot  lib  logs  README  upgrade
# mkdir /usr/local/mmonit
# cp -R * /usr/local/mmonit
# chmod -R 0700 /usr/local/mmonit

Теперь нам необходимо создать базу данных и импортировать туда необходимые приложению данные. В папке /usr/local/mmonit/db/ лежат дампы для четырех типов баз данных. Мы рассмотрим случай с MySQL.
Итак, создадим таблицу и выполним команды из дампа:

# mysql -u yore_username -p
mysql> CREATE DATABASE `mmonit`;
mysql> use mmonit
mysql> source /usr/local/mmonit/db/mmonit-schema.mysql
mysql> quit

После того как мы подготовили к использованию базу данных перейдем к редактированию конфигурационного файла M/Monit /usr/local/mmonit/conf/server.xml .

<Service>
    <!-- IP адрес интерфейса, на котором мы сможем получить доступ к админке -->
    <Connector address="IP.FROM.ALLOW.ACCESS" port="8080" processors="10" />
    <Engine name="mmonit" defaultHost="localhost" fileCache="10MB">
        <!-- настраиваем подключение к базе -->
        <Realm url="mysql://DB_USER:DB_PASSWORD@DB_HOST/DB_NAME"
             minConnections="5"
             maxConnections="25"
             reapConnections="300" />

Сохраняем конфиг и запускаем /usr/local/mmonit/bin/mmonit, заходим по адресу http://IP.FROM.ALLOW.ACCESS:8080 . По умолчанию логин/пароль – admin/swordfish (настоятельно рекомендуется изменить пароль сразу после первого входа в систему;) ).

Теперь нам обязательно нужно настроить сервис Monit хотя бы на одном сервере, чтобы было с чего собирать статистику. Для этого открываем файл конфигурации Monit: /usr/local/etc/monitrc.d/main.conf вашим любимым редактором и дописываем в начало следующие две строчки:

set httpd port 2812 and use address XXX.XXX.XXX.XXX # где XXX.XXX.XXX.XXX – адрес интерфейса, через который MMonit будет осуществлять доступ к monit.
allow monit:your_strong_password

Сохраняем конфиг, перезапускаем monit. Входим под админом в web-интерфейс M/Monit, открываем страницу Admin->Hosts->”Add a new host”. Заполняем информацию о сервере, состояние которого будем мониторить:
Host Name – название сервера (выбираем имя для нашего удобства),
IP-address, Monit Port – XXX.XXX.XXX.XXX и 2812 указанные в /usr/local/etc/monitrc.d/main.con,
Monit user name, Monit password из того же конфига.
Сохраняем изменения.

Чтобы увидеть информацию о состоянии сервера, нужно всего-лишь кликнуть по его имени в списке серверов на странице Admin->Hosts.

В следующей статье я более детально опишу, как сконфигурировать отчеты о состоянии серверов и как создать файлы для запуска/остановки/перезапуска/проверки статуса сервисов Monit и M/Monit.

Leave a Reply




*