Мониторинг системы с уведомлениями по электронной почте

10

В настоящее время у меня Ubuntu Server 16.04 LTS, и я хочу получать уведомления по электронной почте с информацией об использовании ресурсов на моем сервере. Процессор, память, своп, вы называете это.

Я понимаю, что могу использовать Glances для локального мониторинга, но я не буду на консоли постоянно просматривать информацию. Мне просто нужны уведомления по электронной почте, которые информируют меня о ресурсах, которые превышают нормальные / критические значения, и получают уведомления.

Кто-нибудь знает метод, который позволяет мне сделать это?

SergeantSerk
источник
Netdata идеально подходит для ваших требований.
luv.preet

Ответы:

13

Я дам вам небольшой список инструментов - хотя я лично рекомендовал бы Nagios просто, поскольку я к этому привык. Он поставляется с большой базой пользователей, хорошей коллекцией плагинов и т. Д. - но я слышал и хорошие отзывы об Icinga .

Имейте в виду, что настройка Nagios или Icinga займет некоторое время, пока у вас не будет идеально работающей установки, которая охватывает / отслеживает все ваши существующие сервисы. Начать, скорее всего, не так-то просто, но как только вы запустите его, это прекрасная настройка, которая уведомит все ваши определенные службы, если состояния изменятся, и что-то, что будет сообщено / определено как критическое

Название проекта и ссылки

Прежде всего - краткий обзор:

Настройки клиента и сервера

Другое интересное программное обеспечение

Настройки одного хоста

Больше информации

О себе

Википедия пишет

Nagios / ˈnɑːɡiːoʊs /, ныне известный как Nagios Core, - это бесплатное программное обеспечение с открытым исходным кодом, которое контролирует системы, сети и инфраструктуру. Nagios предлагает услуги мониторинга и оповещения для серверов, коммутаторов, приложений и сервисов. Он предупреждает пользователей, когда что-то идет не так, и предупреждает их во второй раз, когда проблема решена.

Пример изображения - показывает 1 из нескольких ваших просмотров:

введите описание изображения здесь

Вот хороший пост AskUbuntu о том, как установить Nagios . Nagios Exchange предлагает огромную коллекцию плагинов, дополнений, документации, расширений и многого другого.

О Мунине

Википедия пишет

Munin - это бесплатное программное обеспечение для мониторинга компьютерной системы, мониторинга сети и мониторинга инфраструктуры с открытым исходным кодом. Он предлагает услуги мониторинга и оповещения для серверов, коммутаторов, приложений, служб и т. Д. Он предупреждает пользователей, когда что-то идет не так, и предупреждает их во второй раз, когда проблема решена.

Пример изображения

введите описание изображения здесь

Об Ицинге

Википедия пишет

Icinga - это компьютерная система с открытым исходным кодом и приложение для мониторинга сети. Первоначально он был создан как ветвь приложения для мониторинга системы Nagios в 2009 году.

Icinga пытается преодолеть обнаруженные недостатки в процессе разработки Nagios, а также добавляет новые функции, такие как современный пользовательский интерфейс в стиле Web 2.0, дополнительные коннекторы баз данных (для MySQL, Oracle и PostgreSQL) и REST API, который позволяет администраторам интегрировать многочисленные расширения без сложной модификации ядра Icinga.

Пример изображения, показывающего 1 из нескольких видов:

введите описание изображения здесь

О Spiceworks

Википедия пишет:

Spiceworks - это профессиональная сеть для индустрии информационных технологий (IT) со штаб-квартирой в Остине, штат Техас. Компания была основана в январе 2006 года Скоттом Абелем, Джеем Холлбергом, Грегом Каттаваром и Фрэнсисом Салливаном для создания программного обеспечения для управления ИТ.

Spiceworks - это интернет-сообщество, в котором пользователи могут сотрудничать и обращаться за советом друг к другу, а также выходить на рынок для покупки связанных с ИТ услуг и продуктов. По оценкам, сеть будет использоваться более чем шестью миллионами ИТ-специалистов и 3000 поставщиков технологий.

О моните

Википедия пишет

Monit - это бесплатный инструмент для наблюдения за процессами с открытым исходным кодом для Unix и Linux. С помощью Monit состояние системы можно просматривать непосредственно из командной строки или через собственный веб-сервер HTTP (S). Monit приобрел популярность благодаря Ruby on Rails и веб-серверу Mongrel, потому что был нужен инструмент, который мог бы управлять многими идентичными процессами Mongrel, которые необходимо было запустить для поддержки масштабируемого сайта Ruby on Rails, и Monit был довольно уникальным подходит для нужд сообщества Ruby on Rails. Многие популярные сайты Rails использовали Monit, включая Twitter и scribd.

О кактусах

Википедия пишет:

Cacti - это веб-инструмент для сетевого мониторинга и построения графиков с открытым исходным кодом, разработанный как интерфейсное приложение для стандартного средства регистрации данных с открытым исходным кодом RRDtool. Cacti позволяет пользователю опрашивать сервисы с заданными интервалами и отображать полученные данные. Обычно он используется для отображения данных временных рядов таких показателей, как загрузка ЦП и использование полосы пропускания сети. Обычно используется для мониторинга сетевого трафика путем опроса сетевого коммутатора или интерфейса маршрутизатора через простой протокол сетевого управления (SNMP).

Внешний интерфейс может обрабатывать несколько пользователей, каждый из которых имеет свои собственные наборы графиков, поэтому он иногда используется провайдерами веб-хостинга (особенно выделенным сервером, виртуальным частным сервером и провайдерами размещения) для отображения статистики пропускной способности для своих клиентов. Его можно использовать для настройки самого сбора данных, что позволяет контролировать определенные настройки без какой-либо ручной настройки RRDtool. Cacti может быть расширен для мониторинга любого источника с помощью сценариев оболочки и исполняемых файлов.

О Zabbix

Википедия пишет:

Zabbix - это корпоративное программное обеспечение с открытым исходным кодом для мониторинга сетей и приложений, созданное Алексеем Владишевым. Он предназначен для мониторинга и отслеживания состояния различных сетевых служб, серверов и другого сетевого оборудования.

Zabbix использует MySQL, PostgreSQL, SQLite, Oracle или IBM DB2 для хранения данных. Его бэкэнд написан на C, а веб-интерфейс написан на PHP. Zabbix предлагает несколько вариантов мониторинга

dufte
источник
3

Вы можете использовать несколько решений. Одним из них является 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.

...

2707974
источник
2

Вы также можете взглянуть на SeaLion. Вы можете настроить индивидуальные оповещения об использовании процессора, памяти и т. Д. Кроме того, вы также можете добавить свои собственные метрики и настроить уведомления для них. Кроме того, вы можете запланировать выполнение команд через определенные промежутки времени и увидеть их результаты на временной шкале. Вы можете найти больше об этом здесь .

Araknid
источник
1

Вышеуказанные инструменты отлично подходят для создания электронных писем. Я предпочитаю получать электронные письма для моего ежедневного мониторинга, так как я не хочу сидеть и смотреть на приборную панель весь день. Проблема в том, что вы получаете сообщения по электронной почте, и вас интересует только, когда что-то идет не так. Также, как вы узнаете, что электронная почта по какой-то причине никогда не доставлялась, и вы думаете, что все работает нормально.

Я долго искал и наткнулся на 2 продукта, которые могут прочитать ваши отчеты по электронной почте и предупредить вас, когда нужно принять меры.

  1. PRTG вы можете настроить почтовые фильтры для поиска электронной почты, содержащей определенные слова. Было немного сложно сделать.
  2. Онлайн-инструмент wwww.smtpviewer.com фактически выполняет свою работу, плюс у него есть настройка тайм-аута, которая будет предупреждать вас, когда электронная почта с ваших отслеживаемых устройств не поступит в течение установленного времени.
Джон Гроббелаар
источник
Многие почтовые клиенты уже имеют возможность фильтровать, сортировать, помечать, ... письма. Поэтому я не вижу необходимости во внешнем решении для этого. Например, я использую фильтр Thunderbird для этого уже много лет. Если почтовый сервер поддерживает это, вы также можете использовать скрипты Sieve для фильтрации, сортировки, тегирования ... писем непосредственно на сервере.
Хеннинг Кокербек
0

В моей школе наш учитель обучил нас Pandora FMS, решению для мониторинга, которое охватывает мониторинг серверов, приложений и даже сетей!

К тому времени я знал только Zabbix и Nagios, я никогда раньше не слышал об этом решении, но теперь я основываю на нем свой проект из-за дополнительных функций, которые он предоставляет. Часть мониторинга сервера действительно зрелая, и, на мой взгляд, ее проще настроить и получить статистику производительности как можно скорее: http://pandorafms.com/monitoring-solutions/server-monitoring/

rawmal
источник
-1 коммерческий пакет ...
Fabby
0

Хотя это не совсем то, что вы хотите из коробки, я считаю logwatchчрезвычайно полезным, но простым инструментом.

Он дает вам ежедневную сводку всех событий, которые произошли в вашем /var/logкаталоге, а также некоторую другую важную системную информацию, такую ​​как текущее дисковое пространство. Все, что отсутствует, может быть добавлено довольно просто (например, я добавил скрипт, который проверяет, что определенные демоны все еще работают).

Даррен
источник
0

Из того, что я понимаю, ваша потребность очень проста. Вы хотите отправить текстовое сообщение по электронной почте по определенным ключевым словам, а затем получить уведомление, когда это произойдет. Таким образом, только когда, например, в электронном письме содержится слово fail, вы хотите получать уведомление, а не когда оно содержит успех. Я также использую www.smtpviewer.com, как упоминал Джон Гроббелаар, чтобы получать уведомления. Преимущество использования онлайн-инструмента заключается в том, что вы всегда можете получить уведомление, когда ожидаемое письмо не приходит. Из всех инструментов мониторинга почты, с которыми я играл, этот самый простой и делает только одно.

Дирк Хеммингуэй
источник
Это не похоже на ответ на вопрос. Пожалуйста, перефразируйте это, чтобы ответить на вопрос, или удалите этот ответ / переместите его в комментарий. Спасибо и добро пожаловать в Ask Ubuntu!
Zwork