ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Установка последней версии Monit на Ubuntu 16.04 и на более поздние версии

Установка Monit на Ubuntu 16.04

Системы Linux делают солидные веб-серверов для хостинга сайтов на WordPress. Как и все сервера, по тем или иным причинам услуги могут быть нестабильными и инногда случатся аварии. Monit может помочь контролировать ваш веб – сервер, убедиться, что все ее основные процессы запущены. Он будет посылать вам по электронной почте оповещения, если нагрузка становится чрезмерно высокой, как правило , это означает, процесс вышел из под контроля или ваш сервер под угрозой.

Массив конфигураций Monit для мониторинга сервера WordPress будет размещен, чтобы убедиться, что все идет так гладко, как это возможно, и что все ваши службы работают.

Установка Monit на Ubuntu 16.04

Обзор установки

Защита Monit с SSL сертификатом

Мы хотим, чтобы Monit был безопасным, поэтому мы сначала собираемся создать сертификат SSL для веб-интерфейса Monit.

Установка OpenSSL

sudo apt install openssl -y

Создайте папку сертификатов SSL

sudo mkdir -p /var/certs

Генерация ключа SSL, вы можете ввести информацию, которую он запрашивает, если вы хотите, но вы также можете просто оставить его пустым.

sudo openssl req -new -x509 -days 365 -nodes -out /var/certs/monit.pem -keyout /var/certs/monit.pem

Изменить разрешения сертификата SSL, чтобы предотвратить эту ошибку

monit: The SSL server PEM file '/var/certs/monit.pem' must have permissions no more than -rwx------ (0700); right now permissions are -rw-r--r-- (0644).
/etc/monit/monitrc:124: Error: SSL server PEM file permissions check failed 'allow'

Эта команда изменяет права доступа сертификата SSL Monit

sudo chmod 0700 /var/certs/monit.pem

Установите последнюю версию Monit на Ubuntu

Установите Monit из репозитория Ubuntu

sudo apt install monit -y

Проверьте версию Monit

sudo monit -V

Если у вас не последняя версия Monit, то проверьте ссылку, где вы можете скачать последнюю версию Monit.

This is Monit version 5.18
Built with ssl, with pam and with large files
Copyright (C) 2001-2016 Tildeslash Ltd. All Rights Reserved.

Если вы не получаете никакой информации о версии вы можете установить последнюю Monit прямо сейчас.

Остановите сначала службу Monit, так как мы собираемся заменить старую версию Monit.

Установите html2text.

sudo service monit stop
sudo apt install monit html2text -y

Проверьте вашу архитектуру процессора, поскольку она определяет, какой Monit вы будете использовать.

uname -m

Если вы видите x86_64 вам не придется ничего менять ниже.

Если вы видите i686, вам потребуется 32 – битная версия, т.е. -linux-x64.tar.gzв-linux-x86.tar.gz

MONITVER=$(wget -q https://mmonit.com/monit/dist/binary/ -O - | html2text | grep DIR | tail -n 1 | tr -d / | awk '{print $2}')
cd /tmp
wget https://mmonit.com/monit/dist/binary/$MONITVER/monit-$MONITVER-linux-x64.tar.gz
tar -xf monit-*
cd monit-*
sudo cp bin/monit /usr/bin/monit
sudo ln -s /etc/monit/monitrc /etc/monitrc

Теперь перезапустите службу Monit

sudo service monit restart

Базовая конфигурация Monit

Резервное копирование исходной конфигурации Monit

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Создать новую конфигурацию Monit

sudo nano /etc/monit/monitrc

Вставьте эту конфигурацию Monit в качестве отправной точки.

Настройки конфигурации почты ниже, могут быть раскомментированны (путем удаления #, начиная с набора формата строки почты) и используется для отправки оповещения Monit через Gmail.

В разделе HTTP устанавливаем имя пользователя и пароль для доступа к веб-интерфейсу Monit, мы также укажем сертификат SSL, который сгенерировали ранее.

Если вы используете динамический DNS для обеспечения безопасности, то раскомментируйте эту строку, удалив символ # и установите свой динамический адрес DNS.

Наконец, последняя строка позволяет хорошую модульную структуру для отдельных конфигураций Monit для мониторинга каждого сервиса.

  set daemon 60 #check services every 60 seconds
  set logfile /var/log/monit.log
  set idfile /var/lib/monit/id
  set statefile /var/lib/monit/state

#Event queue
  set eventqueue
      basedir /var/lib/monit/events # set the base directory where events will be stored
      slots 100                     # optionally limit the queue size

#Mail settings
# set mail-format {
#     from: monit@$HOST
#  subject: monit alert --  $EVENT $SERVICE
#  message: $EVENT Service $SERVICE
#                Date:        $DATE
#                Action:      $ACTION
#                Host:        $HOST
#                Description: $DESCRIPTION
#
#           Your faithful employee,
#           Monit } 
#  set mailserver smtp.gmail.com порт 587 
#     Логин "wp" пароль "andreyex"
#  используем протокол TLSV1 с таймаутом 30 секунд
#  настроить оповещение admin@andreyex.ru #адрес электронной почты, который будет получать оповещения Monit

#http settings
 set httpd port 2812 address 0.0.0.0  # разрешить порт 2812 на всех сетевых адаптерах
    ssl enable
    pemfile  /var/certs/monit.pem
    allow 0.0.0.0/0.0.0.0 # allow all IPs, can use local subnet too
#    allow andreyex.crabdance.ru       # разрешить динамический адрес для подключения
    allow wp:"andreyex"      # требует пользователя wp с паролем andreyex

#allow modular structure
    include /etc/monit/conf.d/*
    include /etc/monit/conf-enabled/*

Нажмите Ctrl + X, Y и Enter, чтобы сохранить.

Измените права доступа к новой конфигурации Monit, чтобы избежать этой ошибки

The control file '/etc/monit/monitrc' must have permissions no more than -rwx------ (0700); right now permissions are -rw-r--r-- (0644).

Закрепите права доступа к файлу конфигурации Monit

sudo chmod 0700 /etc/monit/monitrc

Синтаксис Test Monit является правильным для файла конфигурации

sudo monit -t

Вы должны увидеть OK ниже, если вы этого не сделаете, это нормально, это может произойти на более старых дистрибутивах Ubuntu.

Control file syntax OK

Затем перезагрузите Monit

sudo service monit restart

Теперь откройте браузер и перейдите на локальный IP с HTTPS а не HTTP: https://ip.address:2812 и введите учетные данные для авторизации (в примере wp с паролем andreyex), чтобы убедиться, что базовая установку Monit работает.

Exit mobile version