zabbix шлет письма мелким подчерком

http://skill-admin.blogspot.ru/2012/12/zabbix-4-email-2-zabbix-gmail.html — основа

 

Перед тем как перейти к настройке Zabbix, необходимо установить и настроить консольный почтовый клиент. Выбор стоял между sendmail и ssmtp.
Sendmail — один из старейших агентов передачи почты (MTA — mail transfer agent). Распространяется бесплатно вместе с исходными кодами. Существуют версии программы для практически всех операционных систем и аппаратных платформ.
Ssmtp — простой агент передачи почты, который может заменить sendmail в простых задачах. Работает на Linux, FreeBSD и Windows.
Я выбрал ssmtp, т.к. он очень легок и прост в настройке. Его функций вполне достаточно для настройки уведомлений на Zabbix. В качестве ОС — Ubuntu 11.10
1)И так, откроем терминал и вставим следующую команду:

 
В CentOS 7 я так и не нашел ssmtp. Пришлось брать из репозиториев fedorы 6.8
http://wikiadmin.net/SSMTP

sudo apt-get install ssmtp

 

2)После того как завершится установка, необходимо отредактировать конфигурационный файл

 

vi /etc/ssmtp/ssmtp.conf

 

И если вы собираетесь использовать gmail для отправки оповещений, то необходимо вставить  следующее:root=your_mail@gmail.com #почтовый ящик zabbixa

mailhub=smtp.gmail.com:465 
rewriteDomain=gmail.com 
AuthUser=your_gmail_username # (без @gmail.com) 
AuthPass=your_gmail_password 
FromLineOverride=YES
UseTLS=YES

Я использую Ubuntu 11.10 и по умолчанию у меня не установлен sendmail, поэтому следующий шаг не обязателен. Но для тех, у кого этот пакет установлен, следует выполнить следующий пункт.
3)Необходимо убедиться что не установлен sendmail
sudo service sendmail stop
sudo apt-get remove sendmail
И затем создадим символическую ссылку для ssmtp, чтобы заменить sendmail
sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
4)Собственно вся настройка закончена. Для отправки сообщения из терминала достаточно ввести следующую команду:
echo «email content» | mail -s «email subject» email_address_to_send_email@somedomain.com
Именно этот способ мы будем использовать при написании скрипта для отправки email оповещений из Zabbix.
Может появиться сообщение, что необходимо установить mailutils, установим его с помощью команды:
sudo apt-get install mailutils
Мои конфиги под pdd.yandex.ru
ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=info@xxx.ru

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.yandex.ru:465

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=srv-zabbix

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=NO

UseTLS=Yes
AuthUser=info@xxx.ru
AuthPass=blablabla

revaliases
# sSMTP aliases
#
# Format:       local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:info@xxx.ru:smtp.yandex.ru:465
zabbix:info@xxx.ru:smtp.yandex.ru:465

Без строчки zabbix:info@xxx.ru:smtp.yandex.ru:465 ПИСЬМА не шли. В логах валились ошибки

sSMTP[4051]: 553 5.7.1 Sender address rejected: not owned by auth user.

 

Дальше настройки

Подробная инструкция о том, как создать шаблон с элементами данных описана в предыдущем уроке. Здесь же я просто приведу несколько скриншотов

Хост

Шаблон

 

Элемент данных ping

Элемент данных loss

Таким образом у вас должен быть хотя бы один узел сети, который успешно мониторится с помощью ping-a.

Настроим email оповещение по срабатыванию триггера, к примеру когда пропал ping до узла сети. Для этого сначала создадим сам триггер. В настройкам узла сети(который мониторится) перейдем в вкладку Триггеры и создадим новый

Зададим имя триггера, степень важности и напротив пункта «Выражение» нажмем кнопку «Добавить»

Выберем элемент данных ping

В итоге должно получиться что-то в этом роде:

Жмем «вставить». И сохраняем

Должно получиться следующее:

Если в колонке «ошибка» у вас горит красный квадрат, просто обновите страницу через секунд 5-10.

Триггер создан. Приступим к настройкам оповещений. Переходим Администрирование -> Способы оповещений -> Email и выставляем следующие параметры

Теперь необходимо задать папку, где будет лежать наш скрипт. Для этого правил файл конфигурации zabbix-сервера

sudo vi /usr/local/etc/zabbix_server.conf

Находим там строчку AlertScriptsPath, раскомментируем ее или допишем ниже, указав нужный нам путь

После этого необходимо перезагрузить zabbix-сервер.

Создадим сам скрипт в указанной нами папке

sudo vi /home/cooper/zabbix/alertscripts/send_mail.sh

с следующим содержанием

#!/bin/bash
to=$1
subject=$2
body=$3

cat <<EOF | mail -s «$subject» «$to»
$body
EOF

И присовоим права на исполнение

sudo chmod 777 send_mail.sh

Зададим почтовый ящик пользователя, которого мы хотим оповещать. Администрирование->Пользователи->Admin->Оповещения. Добавим способ оповещения email

Теперь необходимо настроить действия. Настройка->Действия. Источник событий должен быть Триггер. Создадим действие

в итоге в условиях должно получиться следующее:

и настроим операции

На этом настройка окончена. Для проверки можно отключить у себя на компьютере интерфейс virtialbox host-only секунд на 10-15, затем снова включить и проверить в Мониторинг->События

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

Если проверите указанный вами почтовый ящик, то должны обнаружить там два письма, о пропаже ping-a и о его восстановлении.

http://www.youtube.com/watch?v=nzPzgFgOtMI

В версии zabbix 2.2 вместо действия по триггеру я сделал действия по шаблону, который пингует главные узлы сети.

  1. Пока комментариев нет.

  1. Пока что обратных ссылок нет.