Вы можете использовать несколько решений. Одним из них является monit.
Из командной строки просто запустите следующую команду:
sudo apt-get install monit
Monit теперь должен быть установлен и доступен через один из следующих URL:
http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)
Конфигурация Monit
Прежде чем вы сможете начать использовать Monitдля автоматического мониторинга сервера, вы должны сделать некоторые основные настройки. Сначала сделайте резервную копию существующей Monitконфигурации по умолчанию, используя следующую команду:
sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak
Затем создайте новый monitrcфайл с помощью команды
sudo /etc/monit/monitrc
и скопируйте в него следующее содержимое.
# How often in seconds should monit check your services.
set daemon 120
set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
# Configure your SMTP out server.
set mailserver smtp-server.columbus.rr.com port 25,localhost
set eventqueue
basedir /var/lib/monit/events # set the base directory where events will be stored
# optionally limit the queue size
slots 100
# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert admin@domain.com but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert admin@domain.com
set httpd port 2812 and
#Change username and password
allow Username:Password
# To enable SSL for WebUI uncomment the next 2 lines
#ssl enable
#pemfile /path/to/unified/certificate.pem
# To restrict access to localhost only uncomment the following line
#allow localhost
include /etc/monit/conf.d/*
Строки, начинающиеся с #, являются комментариями, которые помогут вам настроить конфигурацию. Убедитесь, что вы правильно настроили хотя бы электронную почту администратора, SMTP-сервер и SMTP-порт. Вам также следует подумать об изменении имени пользователя и пароля Monit WebUI. Если у вас есть сертификат SSL, вы можете включить его и для доступа HTTPS
На данный момент используйте следующие команды, чтобы убедиться, что Monit работает хорошо.
Чтобы проверить Monitконфигурацию на наличие синтаксических ошибок:
sudo monit -t
Для запуска Monit:
sudo monit
Чтобы проверить статус мониторинга:
sudo monit status
Мониторинг загрузки системы с помощью Monit
Требуется, чтобы у вас был рабочий экземпляр Monit с соответствующим /etc/monit/monitrcфайлом. Конфигурации Monit для различных сервисов загружаются из /etc/monit/conf.dпапки. Чтобы отслеживать нагрузку на сервер Monit, создайте Monitфайл конфигурации с помощью следующей команды:
sudo /etc/monit/conf.d/systemload
Скопируйте в него следующее содержимое, сохраните и выйдите
# domain.com could be IP, hostname, or localhost
check System domain.com
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 80% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
Этот код Monitотправит вам уведомление по электронной почте, когда будет выполнено одно из указанных выше условий (например, средняя нагрузка составляет >4не менее 1 минуты или больше, чем 75% RAMзаполнено). Вы можете настроить вышеперечисленные правила по своему усмотрению. Ниже приведен пример оповещения по электронной почте, отправленного Monitвместе с описанием состояния, вызвавшего оповещение.
Тест и перезагрузка Монит
После того, как вы внесете какие-либо изменения, вы должны проверить Monitконфигурацию:
sudo monit -t
Вы должны увидеть следующее сообщение: Control File Syntax OK.
Затем проверьте, Monitзапущен ли он, с помощью следующей команды:
sudo /etc/init.d/monit status
Если Monitзапущено, перезагрузите Monitконфигурации с помощью следующей команды:
sudo /etc/init.d/monit reload
Теперь запустите веб-браузер и перейдите на один из следующих URL-адресов в зависимости от того, как настроен ваш Monit (обязательно используйте правильный номер порта):
http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)
Вы должны увидеть состояние системы, нагрузку, загрузку процессора, загрузку памяти и загрузку подкачки
Мониторинг хранилища с помощью Monit
Далее необходимо, чтобы у вас был рабочий Monitэкземпляр с правильным /etc/monit/monitrcфайлом. MonitКонфигурации для различных сервисов загружаются из /etc/monit/conf.dпапки. Для мониторинга Monit, create aдискового пространства с помощью файла конфигурации Monit` используется следующая команда:
sudo /etc/monit/conf.d/storagespace
Скопируйте в него следующее содержимое, сохраните и выйдите
# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
if space usage > 90% then alert
check filesystem Home with path /dev/sda3
if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
if space usage > 90% then alert
Код выше кода будет контролировать пространство на жестком диске в 3 разделах в 2 дисков. Если какой-либо из них заполнен более чем на 90%, вы получите предупреждение.
Также вы можете отслеживать конкретные услуги.
Мониторинг сервера Apache с помощью Monit
Настройка мониторинга сервера Apache с Monitпомощью Monit’sготовых шаблонов конфигурации. Все, что вам нужно сделать, это скопировать существующий шаблон из /etc/monit/monitrc.dв /etc/monit/conf.dпапку.
sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/
Вместо копирования вы также можете создать символическую ссылку. Apache процесс веб - сервер создает apache2.pid. Приведенный выше apache2.pidфайл монитора кода и, если он не существует, Monitпопытается перезапустить Apache. Перезапуск вызовет оповещение по электронной почте. Если перезапуск не удался несколько раз, Monit прекращает мониторинг сервера Apache.
...