Нехватка ресурсов на сервере (RAM, место на жестком диске, загрузка CPU), может привести к плохим последствиям. Чтобы быстро узнать об этом и принять меры, можно настроить мониторинг ресурсов и оповещение в случае опасности.
Для этого существует множество сервисов, которые можно найти в сети.
В этой статье описано, как настроить мониторинг системы через сервис monit (http://mmonit.com/monit/), а именно:
1. Мониторинг загруженности CPU, swap и оперативной памяти.
2. Оповещение на email в случае достижения загрузки предельного значения.
Monit - легковесная система мониторинга серверов. Monit устанавливается на сервер и обеспечивает возможность отправки уведомлений в случае обнаружения проблем. Кроме того, Monit может автономно выполнять определенное действие в качестве реакции на заданные события.
Программа имеет следующую функциональность:
Поддерживаются ОС GNU\Linux, FreeBSD, OpenBSD, Solaris, Mac OS X, AIX.
Однако, после установки, он находился в /etc/monit/monitrc.
Чтобы проверить файл на синтаксические ошибки, выполните команду:
Для этого существует множество сервисов, которые можно найти в сети.
В этой статье описано, как настроить мониторинг системы через сервис monit (http://mmonit.com/monit/), а именно:
1. Мониторинг загруженности CPU, swap и оперативной памяти.
2. Оповещение на email в случае достижения загрузки предельного значения.
Краткое описание
Monit - легковесная система мониторинга серверов. Monit устанавливается на сервер и обеспечивает возможность отправки уведомлений в случае обнаружения проблем. Кроме того, Monit может автономно выполнять определенное действие в качестве реакции на заданные события.
Программа имеет следующую функциональность:
- Отслеживание состояния серверов (доступность, потребление ресурсов).
- Мониторинг демонов (состояние, потребляемые ресурсы, количество child-process и многое другое).
- Мониторинг сетевых сервисов (возможность подключения и корректность ответа).
- Выполнение встроенных или собственных (с помощью скриптов) действий при достижении определенных событий.
- Отправка уведомлений на Email или в централизованный web-интерфейс M\Monit.
Поддерживаются ОС GNU\Linux, FreeBSD, OpenBSD, Solaris, Mac OS X, AIX.
Установка
Здесь все проще простого. Выполняем:
sudo apt-get install monit
Доступ к настройкам
Настройка поведения monit осуществляется через консоль или файл настроек. Опции, заданные через консоль, перегружают настройки из файла.
Настройки содержатся в файле monitrc, который, по умолчанию, должен находиться в ~/.monitrc.
Однако, после установки, он находился в /etc/monit/monitrc.
Чтобы проверить файл на синтаксические ошибки, выполните команду:
monit -t
Файл настроек включает в себя следующие категории:
И так, откройте файл настроек для редактирования:
Структура файла настроек
Файл настроек включает в себя следующие категории:
1. Глобальные значения (Global Section)
2. Сервисы (Services)
3. Подключаемые модули (Includes)
Глобальные значения, это опции поведения программы (Период проверки, путь к лог файлу, список адресов для рассылки и т.д.).
Они задаются следующим образом:
set option_name parameters
Некоторые значения заданы в файле по умолчанию, например:
Некоторые значения заданы в файле по умолчанию, например:
set daemon 120
Значение 120 означает, что демон будет запускать проверку системы каждые 120 секунд.
Значение 120 означает, что демон будет запускать проверку системы каждые 120 секунд.
Сервисы, это то, что monit будет делать во время проверки (Проверить состояние процессора, памяти, какого-либо процесса и т.д.)
Они задаются следующим образом:
check category parameters
Подключаемые модули позволяют разделить файл настроек на несколько файлов. По умолчанию в файле настроек есть строка:
include /etc/monit/conf.d/*
Настройка
И так, откройте файл настроек для редактирования:
vim /etc/monit/monitrc
Ниже приведен список опций для решения поставленной задачи.
Добавьте недостающие опции в файл настроек.
# Периодичность проверки в секундах
set daemon 120
# Путь к лог файлу. Оставил без изменений
set logfile /var/log/monit.log
# Путь к уникальному идентификатору. Оставил без изменений
set idfile /var/lib/monit/id
# Путь к состоянию. Оставил без изменений
set statefile /var/lib/monit/state
# Email адрес, с которого производить рассылку оповещений
set mailserver smtp.gmail.com port 587
username "EmailAccount" password "email_password"
using tlsv1
# Очередь событий. Оставил без изменений
set eventqueue
basedir /var/lib/monit/events
slots 100
# Адреса, куда присылать уведомления
set alert 4ybakut2004@gmail.com
set alert ExtraEmail@gmail.com
Так же есть возможность настроить web интерфейс, но в рамках решаемой задачи это не нужно.
Далее приведен сервис для проверки состояния CPU, swap и RAM.
Пропишите его в файле настроек.
check system ServiceName
if memory usage > 10% then alert
if swap usage > 25% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
Здесь ServiceName - любое имя. Оно будет использоваться в email уведомлениях.
system - Категория проверки. Каждая категория имеет собственный набор настроек, которые можно посмотреть на официальной странице. В данном случае мониторится система.
Синтаксис довольно понятный и не нуждается в объяснении.
Всякий раз, когда возникает alert, monit записывает данные об этом в лог, а так же отправляет email на указанные адреса.
Запуск
Чтобы запустить monit, выполните команду:
sudo monit
При этом запустится демон, выполняющий все описанные сервисы.
При этом запустится демон, выполняющий все описанные сервисы.
Если напечатать команду еще раз, сервисы запустятся немедленно вне очереди.
Чтобы прекратить мониторинг, выполните:
Чтобы прекратить мониторинг, выполните:
sudo monit quit
Полный список опций программы доступен здесь:
Полный список опций программы доступен здесь:
Комментариев нет:
Отправить комментарий