Предполагается что вы уже ознакомились с первой частью и вы уже можете отправлять сообщения из консоли вашего zabbix сервера. Если же вы еще настроили ssmtp, то читать дальше - нет смысла.
Перейдем к описанию настроек. Имеется сервер с zabbix 2.0 установленный в virtualbox. Два сетевых интерфейса, один настроен как NAT(для интернета), другой как virtualbox host-only(для подключения к серверу). Создан хост (мой компьютер) и к нему привязан шаблон с двумя элементами данных (ping и loss). Подробная инструкция о том, как создать шаблон с элементами данных описана в предыдущем уроке. Здесь же я просто приведу несколько скриншотов
Хост
Элемент данных ping
Элемент данных loss
Таким образом у вас должен быть хотя бы один узел сети, который успешно мониторится с помощью ping-a.
Настроим email оповещение по срабатыванию триггера, к примеру когда пропал ping до узла сети. Для этого сначала создадим сам триггер. В настройкам узла сети(который мониторится) перейдем в вкладку Триггеры и создадим новый
Зададим имя триггера, степень важности и напротив пункта "Выражение" нажмем кнопку "Добавить"
Перейдем к описанию настроек. Имеется сервер с zabbix 2.0 установленный в virtualbox. Два сетевых интерфейса, один настроен как NAT(для интернета), другой как virtualbox host-only(для подключения к серверу). Создан хост (мой компьютер) и к нему привязан шаблон с двумя элементами данных (ping и loss). Подробная инструкция о том, как создать шаблон с элементами данных описана в предыдущем уроке. Здесь же я просто приведу несколько скриншотов
Хост
Шаблон
Элемент данных 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
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 и о его восстановлении.
Надеюсь данный урок был вам полезен. Вопросы задавайте в комментариях, подписывайтесь на обновления и на мой канал youtube.
Рекомендуется смотреть в HD качестве
Доброго времени суток.
ОтветитьУдалитьВсе сделал. Все работает.
Только письма приходят пустые. без темы и без тела письма.
Какие скрины приложить?
Пробовал в конфигурации действия оставлять "default message" и убирать эту галочку(он запоняет данными с первой вкладки Actions) - без изменений.
Есть такой вопрос. У меня в сети имеется Exchange 2010
ОтветитьУдалитьХочу настроить sSMTP на его использование, а не GMAIL и прочее.
Конфиг делаю аналогичный:
root=zabbix@company.com #почтовый ящик пользователя домена для zabbixa
mailhub=FQDN имя почтового сервера
rewriteDomain=company.com
AuthUser=Login (пробовал также домен\логин и логин@домен.com)
AuthPass=pass
FromLineOverride=YES
TLS не использую. Все подключения внутри локалки. По 25 порту.
Но вываливает ошибку постоянно.
ssmtp: Server didn't like our AUTH LOGIN (504 5.7.4 Unrecognized authentication type)
Понятно что проблемы с авторизацией. Но как выше писал - пробовал учетные данные по разному указать.
Может кто сталкивался с такой настройкой?
Разобрался. Просто на коннекторе Exchange нужно было убрать адрес запросов HELO/EHLO.
УдалитьРаскажите какие данные вы вводили?
Удалитьroot=zabbix@company.com #почтовый ящик пользователя домена для zabbixa
mailhub=FQDN имя почтового сервера (Exchenge ? или все таки адрес его?)
AuthUser=Login сюда домен\логин или как?
AuthPass=pass
FromLineOverride=YES
при использовании скрипта
ОтветитьУдалить#!/bin/bash
to=$1
subject=$2
body=$3
cat <<EOF | mail -s "$subject" "$to"
$body
EOF
возникает проблема с отправкой кириллических сообщений ( ну принято у нас все что можно переводить на русский). Выход из ситуации:
#!/bin/bash
to=$1
subject=$2
body=$3
header="Content-Type: text/plain; charset=utf-8; format=flowed"
cat <<EOF | mail -a "$header" -s "$subject" "$to"
$body
EOF
Приветствую!
ОтветитьУдалитьВ первую очередь хочу поблагодарить за качественно проделанную работу, описание и видеоуроки вполне достаточны для настройки email оповещений.
Есть вопрос, возникла необходимость отправлять оповещения на несколько email адресов.
Попытался в Действия-> Операции добавить второй ящик для отправки (с созданным пользователем), все добавилось, вот только сообщения не уходят для второго получателя.
В чем причина, подскажите что надо сделать?
Спасибо за отзыв.
УдалитьА что пишется в Администрирование->Аудит->События? Есть статус отправлено напротив этого почтового ящика? Логи тоже надо посмотреть.
Ради эксперимента попробуйте в действии оставить только один почтовый ящик, на который не уходит письмо. Надо проверить в чем проблема: в том что это второй ящик или просто конкретно с этим ящиком.
В Администрирование->Аудит->События числится отправка только на один ящик почтовый. В проблеме разобрался, сам дрова ломал. Для отправки на новые адреса надо в этом же пользователе (а не в новом как я) добавить почтовые ящики на которые требуется отправка оповещений. Теперь письма уходят, все ок!
Удалитьдобрый день, а если у меня выход в интернет организован через проксю котрая требует аутентификации, как я могу отправлять письма на внешку?
ОтветитьУдалитьотправлять на внешку или использовать внешний почтовый ящик? если у вас есть локальный почтовый сервер (для которого наверняка открыты нужные порты) то можете на нем завести учетку для заббикса и отправлять письма куда хотите.
Удалитьzabbix@zabbix-desktop:~$ sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
ОтветитьУдалитьln: не удалось создать символьную ссылку «/usr/sbin/sendmail»: Файл существует
Этот комментарий был удален автором.
ОтветитьУдалитьПОМОГИТЕ РАЗОБРАТЬСЯ плиз где трабл
ОтветитьУдалитьблин все сделал, но не отослало сообщение, первое что меня смущает, это этот пункт: sudo vi /usr/local/etc/zabbix_server.conf - тут у меня не было этого файла, я его сам создавал и здесь тоже:
sudo vi /home/cooper/zabbix/alertscripts/send_mail.sh
так и должно было быть?
zabbix_server.conf у меня по умолчанию в другой директории лежит, может там надо править его?
P.S. с консоли ssmtp тестовые сообщения шлет, в аудите событие срабатывает как надо, но "в состоянии" статус "не отправлено"
все заработало!! я сделал нужные изменения в дефолтном файле конфига zabbix_server.conf, он у меня лежит тут: /etc/zabbix
УдалитьДобрый день!
ОтветитьУдалитьУ меня такая проблема в администрирование - аудит - журнал действий пишет отправлено но на почту ничего не приходит
значит Ваш почтовик блокирует письма, или в папку Спам кидает
УдалитьДобрый день. У меня такая же проблема. В администрирование -аудит показывает что отправлено, а письмо не приходит.
ОтветитьУдалитьЧерез консоль отправляет без проблем
такая же проблема как у последнего и предыдущего человека!!
ОтветитьУдалитьВсе заработало с первого раза, огромное спасибо за статью.
ОтветитьУдалитьТочно так же. Консоль и Аудит отрабатывают без ошибок, а на почту ничего не приходит. Кто-то справился с данной проблемой?
ОтветитьУдалитьИ у меня такая же проблема. Консоль и Аудит отрабатывают без ошибок, а на почту ничего не приходит. Версия Zabbix 3.0. Почту использую gmail.com. Настройки ssmtp:
ОтветитьУдалитьroot=name@gmail
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
AuthUser=name@gmail.com
AuthPass=password
FromLineOverride=YES
UseSTARTTLS=YES
UseTLS=YES
И у меня такая же проблема. Консоль и Аудит отрабатывают без ошибок, а на почту ничего не приходит. Версия Zabbix 3.0. Почту использую gmail.com. Настройки ssmtp:
ОтветитьУдалитьroot=name@gmail
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
AuthUser=name@gmail.com
AuthPass=password
FromLineOverride=YES
UseSTARTTLS=YES
UseTLS=YES
С консоли письмо отправляется нормально. Настроил все по инструкции. Если отключить хост который мониторится, письмо не приходит и в логах ошибка Login denied: '.
ОтветитьУдалитьОчень хорошая статья. Спасибо.
ОтветитьУдалить