После установки системы мониторинга и добавления узлов следует автоматизировать наблюдение за параметрами. Для этого мы включим и настроим в zabbix отправку email оповещений с авторизацией на smtp сервере yandex или gmail. Если этого не сделать, то никакой информации получить с мониторинга удаленно не получится, только через web интерфейс.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Содержание:
Введение
Поле установки сервер мониторинга Zabbix не настроен на отправку уведомлений о сработавших триггерах. Более того, штатный функционал по отправке оповещений на email не умеет авторизовываться на почтовом сервере. То есть вы сможете использовать эту возможность только если у вас есть свой собственный почтовый сервер, на котором вы разрешите заббиксу отправлять уведомления без авторизации.
Использовать в такой ситуации публичные сервера не получится. Это неудобно и не практично. Мне зачастую не хочется возиться с настройкой почтового сервера, гораздо удобнее и быстрее воспользоваться готовым. Этим мы и займемся далее - научим zabbix отправлять email уведомления с авторизацией на smtp сервере.
Настройка ssmtp для авторизации на почтовом сервере
Для отправки уведомлений на почту с помощью smtp авторизации нам понадобится почтовый клиент ssmtp. Установим его:
# yum install -y ssmtp
Если у вас еще не подключен репозиторий Epel, сделайте это. Пакет устанавливается оттуда. Теперь нужно настроить почтовый клиент на отправку писем через указанную учетную запись. Для этого открываем файл /etc/ssmtp/ssmtp.conf и приводим его к следующему виду для отправки через почтовый сервер Яндекса:
cat ssmtp.conf
root=zabbix@zeroxzed.ru mailhub=smtp.yandex.ru:465 AuthUser=zabbix@zeroxzed.ru AuthPass=password AuthMethod=LOGIN FromLineOverride=YES UseTLS=YES RewriteDomain=zeroxzed.ru Hostname=zeroxzed.ru Debug=YES TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
Если вы хотите использовать учетную запись gmail то настройки ssmtp должны быть следующие:
root=mailbox@gmail.com mailhub=smtp.gmail.com:587 RewriteDomain=gmail.com AuthUser=mailbox AuthPass=parolchik Hostname=gmail.com UseSTARTTLS=YES AuthMethod=LOGIN FromLineOverride=YES UseTLS=YES Debug=YES TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
И редактируем там же файл revaliases, добавляя одну строку для яндекса:
root:zabbix@zeroxzed.ru:smtp.yandex.ru:465
И для gmail:
root:mailbox@gmail.com:smtp.gmail.com:587
Теперь проверим работу почтового клиента. Отправляем через консоль тестовое письмо:
# echo "test_message" | ssmtp -v zeroxzed@gmail.com [<-] 220 smtp3m.mail.yandex.net ESMTP [->] EHLO zeroxzed.ru [<-] 250 ENHANCEDSTATUSCODES [->] AUTH LOGIN [<-] 334 VXNlcb5hbDU6 [->] emFiYml4QEplcm94tmVkLnJ1 [<-] 334 UGFzR3dvc2Q6 [<-] 235 2.7.0 Authentication successful. [->] MAIL FROM:<zabbix@zeroxzed.ru> [<-] 250 2.1.0 <zabbix@zeroxzed.ru> ok [->] RCPT TO:<zeroxzed@gmail.com> [<-] 250 2.1.5 <zeroxzed@gmail.com> recipient ok [->] DATA [<-] 354 Enter mail, end with "." on a line by itself [->] Received: by zeroxzed.ru (sSMTP sendmail emulation); Thu, 05 Nov 2015 18:32:18 +0300 [->] From: "root" <zabbix@zeroxzed.ru> [->] Date: Thu, 05 Nov 2015 18:32:18 +0300 [->] test_message [->] [->] . [<-] 250 2.0.0 Ok: queued on smtp3m.mail.yandex.net as 1446737539-AXVW9QixF9-WJAWKNV9 [->] QUIT [<-] 221 2.0.0 Closing connection.
Все в порядке, письмо улетело. Если что, логи работы почтового клиента можно посмотреть в файле /var/log/maillog.
Email script для отправки оповещений
Отправлять почтовые уведомления из zabbix будем с помощью скрипта. Первым делом выясним, где наш заббикс хранит скрипты для оповещений. Для этого открываем файл конфигурации и ищем там строку AlertScriptsPath:
# cat /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath AlertScriptsPath=/usr/lib/zabbix/alertscripts
Идем в указанную папку и создаем там скрипт отправки уведомлений на почту:
# mcedit /usr/lib/zabbix/alertscripts/mail.sh
#!/bin/sh export smtpemailfrom=zabbix@zeroxzed.ru echo "To: $1" > /tmp/mymailinput echo "Subject: $2" >> /tmp/mymailinput echo "Content-Type: text/plain; charset="utf-8"" >> /tmp/mymailinput echo "From: \"Zabbix Zeroxzed\"<$smtpemailfrom>" >> /tmp/mymailinput echo "" >> /tmp/mymailinput echo "$3" >> /tmp/mymailinput /usr/sbin/ssmtp $1 -F $smtpemailfrom < /tmp/mymailinput
Не забудьте указать свой почтовый адрес и поле отправителя From. Сохраняем скрипт и делаем его исполняемым:
# chmod 0777 mail.sh
Настройка в Zabbix отправки уведомлений
Теперь идем в web интерфейс zabbix и настраиваем отправку оповещений на почту с smtp авторизацией. Для этого переходим в раздел Administration -> Media types и нажимаем на ссылку Email:
Заполняем необходимые параметры как на картинке:
Name | |
Type | Script |
Script name | mail.sh |
Сохраняем настройки, нажав Update. Дальше идем в раздел Administration -> Users. Меняем отображение с групп на пользователей:
Нажимаем на пользователя Admin и переходим на вкладку Media, там жмем на add. Откроется окно добавления источника оповещений. Заполняем как на картинке:
Нажимаем Update. Затем в разделе Media пользователя Admin еще раз жмем Update для применения настроек:
Теперь последний штрих, который лично я частенько забываю сделать, а потом долго разбираюсь, почему zabbix не отправляет оповещения на почту. Идем в раздел Configuration -> Actions и в единственной строке Report problems to Zabbix administrators жмем на Disabled в столбце статус, чтобы он стал Enabled:
Теперь все готово. Надо ждать срабатывания тригера и проверять почту. После срабатывания тригера и отправки заббиксом письма, в системном почтовом логе /var/log/maillog должны появиться записи об этом.
Проверка оповещений в Zabbix
Частенько возникают всякие нюансы в механизме отправки уведомлений в Zabbix. К сожалению, в самом заббиксе нет удобного средства мониторинга отправки уведомлений. И если возникают какие-то проблемы, не всегда бывает просто определить, где ошибка. Я рекомендую следующую последовательность действий при разборе ошибок отправки уведомлений zabbix с авторизацией по smtp. Без авторизации чаще всего все в порядке.
- Открываем dashboard и смотрим на сработавший триггер. В столбце Actions должны быть цифра 1, означающая, что уведомление было отправлено. При наведении мышки на эту цифру появится дополнительная информация.
- Затем идем в раздел Administration -> Notifications и смотрим на счетчик email уведомлений. Он должен увеличиваться при каждом новом срабатывании тригера.
- Если эти два условия выполняются, значит zabbix нормально отрабатывает событие отправки уведомления на почту. Если же нет, то нужно проверять настройки самого заббикса касательно отправки сообщений. Аккуратно проверить все разделы, которые имеют к этому отношения.
- Дальше нужно смотреть почтовый лог - /var/log/maillog. Там должны быть записи об отправке сообщения. Это будут либо успешные отправки, либо сообщения об ошибках. Если есть ошибки, то нужно разбираться с почтовым клиентом, в котором настроена авторизация smtp и скриптом отправки сообщений.
- Если все в порядке, а уведомления все равно не приходят, то можно попробовать сменить почтовый сервер. Идеальным был бы вариант почтового сервера, к логам которого у вас есть доступ. Так проще всего отладить работу, так как если в скрипте отправки есть какая-то ошибка, которую не видно на клиенте, ее можно заметить на сервере.
Заключение
Подведем итог того, что мы сделали. Нашей задачей была настройка уведомлений в zabbix о срабатываемых триггерах. Причем оповещения нам нам нужно было отправлять через сторонний smtp сервер с авторизацией. Так как стандартного средства авторизации smtp в zabbix нет, мы использовали ssmtp клиент для этих целей. Затем мы создали скрипт, с помощью которого заббикс будет отправлять уведомления, используя ssmtp.
После этого мы настроили через web интерфейс все необходимые параметры для успешной отправки оповещений. И в заключении провели диагностику возможных проблем.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.Дополнительные материалы по Zabbix
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Рекомендую полезные материалы по Zabbix: |
Настройки системы |
---|
Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0.
Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.
Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.
Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.
|
Мониторинг служб и сервисов |
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.
Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.
Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.
Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)
Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.
Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.
Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.
|
Мониторинг различных значений |
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения - доступность сайта, время отклика, скорость доступа к сайту.
Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.
Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.
Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.
Пример распознавания и мониторинга за изменением значений в обычных текстовых файлах с помощью zabbix.
Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.
|
Я перевел своих клиентов на webjack, делает все то же самое, минимальный тариф дешевле.
Можно получить месяц бесплатно по промокоду semen21, напишите его в чат техподдержки на сайте
3XIXID http://www.yandex.ru
Добрый день, извините за нелепый вопрос, не подскажите, не приходят оповещения на почту с забикса. Нужен ли какой то почтовый клиент для это?
В версиях zabbix 3+ и далее используется встроенный клиент для отправки почты. Эта статья больше не актуальна. Подробнее тут - https://serveradmin.ru/ustanovka-i-nastroyka-zabbix-4-0/#_email
Извините, в чём тогда может быть причина, версия 3.2.7. вроде всё настроено. Но такое ощущение что с сервера с забиксом не отправляются сообщения.
Так невозможно подсказать. Смотрите лог сервера заббикса, может там будут какие-то ошибки. 100% вы где-то ошиблись. Отправка почты в заббиксе работает нормально. Если используете свой почтовый сервер, смотрите логи и там тоже.
Добрый день, а можно как то проверить пытается ли забикс что то отправить на почтовый сервер? В логах почтового сервера пусто.
Вы как проверяете отправку? Какой-то триггер срабатывает для отправки оповещения? Точно все настроено для отправки именно на email?
Да, ложно какой то определенный узел ломаю, к примеру ping, в мониторинге появляется проблема, к примеру с значением "среднее". Настроена отправка на сервер. На старом забиксе 2.3 версии всё работает, и на почтовом сервере, в логах старый забикс появлялся. От нового совсем ни чего.
Зачем отправлять скриптом, если Zabbix умеет делать это сам из Actions? Или актуальная на момент статьи версия не умела?
Версия 2.4 это еще не умела делать. Zabbix сам научился отправлять сообщения с авторизацией на smtp сервере только с версии 3.0.
Хммм... а по-моему, если требуется отправка на один домен, то всё работает и без авторизации - например, если ящик myname@yandex.ru, то достаточно в настройках Media type Email указать сервер "mx.yandex.ru" - и всё будет работать, даже с фэйкового адреса (у меня "отправитель" - zabbix@firm.lan)
Скажите, а где, в скрипте, надо указать свой почтовый адрес и поле отправителя From?
Уже не могу проверить, откуда берутся данные в поле From. Я везде перешел на 3.0, там уже без скрипта все работает.