В настоящее время у меня есть Ubuntu Server 16.04 LTS, и я хочу получать уведомления по электронной почте с информацией об использовании ресурсов на моем сервере. CPU, memory, swap, вы называете это.
Я понимаю, что я могу использовать Glances для локального мониторинга, но я не буду на консоли, постоянно глядя на информацию. Мне просто нужны уведомления по электронной почте, которые сообщают мне о ресурсах, которые превышают нормальные / критические значения и получают уведомление.
Кто-нибудь знает метод, который позволяет мне это делать?
Вы можете использовать несколько решений. Один из них - monit.
Из командной строки просто запустите следующую команду:
sudo apt-get install monit
Теперь Monit должен быть установлен и доступен через один из следующих URL-адресов: [ ! d2]
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
Для проверки состояния 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, а также описание того, какое условие вызвало предупреждение.
Test and Reload Monit
После внесения любых изменений вы должны проверить [ f31]:
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)
Вы должны увидеть состояние системы, нагрузку, загрузку процессора, загрузку памяти и нагрузку подмены
Test and Reload 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 дисках.
Также вы можете отслеживать определенные службы.
Монитор Apache Server с 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.
...
Вы также можете взглянуть на SeaLion. Вы можете настроить индивидуальные предупреждения для использования ЦП, памяти и т. д. Кроме того, вы также можете добавить свои собственные показатели и настроить уведомления для них. Кроме того, вы можете планировать выполнение команд с определенными интервалами и просматривать их выходы на дисплее временной шкалы. Об этом вы можете найти здесь.
Вышеупомянутые инструменты отлично справляются с созданием электронных писем. Я предпочитаю получать электронные письма для ежедневного мониторинга, так как я не хочу сидеть и следить за приборной панелью весь день. Проблема в том, что вы попадаете под наводнение по электронной почте, и вас интересует только то, что происходит. Также, как вы знаете, почему сообщение по какой-то причине не было доставлено, и вы думаете, что все работает нормально.
Я долго искал и наткнулся на два продукта, которые могут читать ваши сообщения электронной почты и предупреждать вас, когда вам нужно принять меры.
PRTG вы можете настроить фильтры почты для поиска для электронной почты, содержащей определенные слова. Было немного сложно сделать. Онлайновый инструмент, называемый wwww.smtpviewer.com, фактически выполняет задание, а также имеет тайм-аут, который будет предупреждать вас, когда электронная почта с ваших контролируемых устройств не наступит в течение установленного времени.В моей школе наш учитель дал нам обучение Pandora FMS, решение для мониторинга, которое охватывает мониторинг серверов, приложения и даже сети!
К тому времени я знал только Zabbix и Nagios, я никогда раньше не слышал об этом решении, но теперь я основываю свой проект на нем из-за дополнительных функций, которые он предоставляет. Часть мониторинга сервера действительно зрелая и, на мой взгляд, ее проще настроить и получить статистику производительности как можно скорее: http://pandorafms.com/monitoring-solutions/server-monitoring/
Хотя он точно не делает то, что вы хотите из коробки, я считаю logwatch чрезвычайно полезным, но простым инструментом.
Он дает вам ежедневное резюме всех событий, которые произошли в вашем каталоге /var/log, а также некоторые другие важные системные данные, такие как текущее дисковое пространство. Все, что отсутствует, можно добавить достаточно просто (например, я добавил скрипт, который проверяет, что некоторые демоны все еще запущены).
Насколько я понимаю, ваша потребность очень проста. Вы хотите, чтобы текст поиска содержал сообщения электронной почты для определенных ключевых слов, а затем получите уведомление, когда это произойдет. Таким образом, только когда, например, письмо содержит слово «fail», вы хотите получать уведомление, а не когда он содержит успех. Я также использую www.smtpviewer.com, как упоминал Джон Гроббелаар, чтобы получить уведомление. Преимущество использования онлайн-инструмента заключается в том, что вы всегда можете получать уведомления о появлении ожидаемого сообщения электронной почты. Из всех инструментов мониторинга почты, которые я сыграл с этим, самый простой и только один из них.