Системы Linux делают солидные веб-серверов для хостинга сайтов на WordPress. Как и все сервера, по тем или иным причинам услуги могут быть нестабильными и инногда случатся аварии. Monit может помочь контролировать ваш веб — сервер, убедиться, что все ее основные процессы запущены. Он будет посылать вам по электронной почте оповещения, если нагрузка становится чрезмерно высокой, как правило , это означает, процесс вышел из под контроля или ваш сервер под угрозой.
Массив конфигураций Monit для мониторинга сервера WordPress будет размещен, чтобы убедиться, что все идет так гладко, как это возможно, и что все ваши службы работают.
Обзор установки
Мы хотим, чтобы 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
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
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 работает.