вторник, 25 декабря 2012 г.

Zabbix. Видео урок №4. Настройка email оповещений. Часть 2 (zabbix gmail)

Предполагается что вы уже ознакомились с первой частью и вы уже можете отправлять сообщения из консоли вашего zabbix сервера. Если же вы еще настроили ssmtp, то читать дальше - нет смысла.
Перейдем к описанию настроек. Имеется сервер с zabbix 2.0 установленный в virtualbox. Два сетевых интерфейса, один настроен как NAT(для интернета), другой как virtualbox host-only(для подключения к серверу). Создан хост (мой компьютер) и к нему привязан шаблон с двумя элементами данных (ping и loss). Подробная инструкция о том, как создать шаблон с элементами данных описана в предыдущем уроке. Здесь же я просто приведу несколько скриншотов
Хост
Шаблон


Элемент данных 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 и о его восстановлении.
Надеюсь данный урок был вам полезен. Вопросы задавайте в комментариях, подписывайтесь на обновления и на мой канал youtube
Рекомендуется смотреть в HD качестве

24 комментария:

  1. Доброго времени суток.
    Все сделал. Все работает.
    Только письма приходят пустые. без темы и без тела письма.
    Какие скрины приложить?
    Пробовал в конфигурации действия оставлять "default message" и убирать эту галочку(он запоняет данными с первой вкладки Actions) - без изменений.

    ОтветитьУдалить
  2. Есть такой вопрос. У меня в сети имеется 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)

    Понятно что проблемы с авторизацией. Но как выше писал - пробовал учетные данные по разному указать.
    Может кто сталкивался с такой настройкой?

    ОтветитьУдалить
    Ответы
    1. Разобрался. Просто на коннекторе Exchange нужно было убрать адрес запросов HELO/EHLO.

      Удалить
    2. Раскажите какие данные вы вводили?
      root=zabbix@company.com #почтовый ящик пользователя домена для zabbixa
      mailhub=FQDN имя почтового сервера (Exchenge ? или все таки адрес его?)
      AuthUser=Login сюда домен\логин или как?
      AuthPass=pass
      FromLineOverride=YES

      Удалить
  3. при использовании скрипта

    #!/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

    ОтветитьУдалить
  4. Приветствую!
    В первую очередь хочу поблагодарить за качественно проделанную работу, описание и видеоуроки вполне достаточны для настройки email оповещений.
    Есть вопрос, возникла необходимость отправлять оповещения на несколько email адресов.
    Попытался в Действия-> Операции добавить второй ящик для отправки (с созданным пользователем), все добавилось, вот только сообщения не уходят для второго получателя.
    В чем причина, подскажите что надо сделать?

    ОтветитьУдалить
    Ответы
    1. Спасибо за отзыв.
      А что пишется в Администрирование->Аудит->События? Есть статус отправлено напротив этого почтового ящика? Логи тоже надо посмотреть.
      Ради эксперимента попробуйте в действии оставить только один почтовый ящик, на который не уходит письмо. Надо проверить в чем проблема: в том что это второй ящик или просто конкретно с этим ящиком.

      Удалить
    2. В Администрирование->Аудит->События числится отправка только на один ящик почтовый. В проблеме разобрался, сам дрова ломал. Для отправки на новые адреса надо в этом же пользователе (а не в новом как я) добавить почтовые ящики на которые требуется отправка оповещений. Теперь письма уходят, все ок!

      Удалить
  5. добрый день, а если у меня выход в интернет организован через проксю котрая требует аутентификации, как я могу отправлять письма на внешку?

    ОтветитьУдалить
    Ответы
    1. отправлять на внешку или использовать внешний почтовый ящик? если у вас есть локальный почтовый сервер (для которого наверняка открыты нужные порты) то можете на нем завести учетку для заббикса и отправлять письма куда хотите.

      Удалить
  6. zabbix@zabbix-desktop:~$ sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
    ln: не удалось создать символьную ссылку «/usr/sbin/sendmail»: Файл существует

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. ПОМОГИТЕ РАЗОБРАТЬСЯ плиз где трабл

    блин все сделал, но не отослало сообщение, первое что меня смущает, это этот пункт: sudo vi /usr/local/etc/zabbix_server.conf - тут у меня не было этого файла, я его сам создавал и здесь тоже:
    sudo vi /home/cooper/zabbix/alertscripts/send_mail.sh
    так и должно было быть?
    zabbix_server.conf у меня по умолчанию в другой директории лежит, может там надо править его?

    P.S. с консоли ssmtp тестовые сообщения шлет, в аудите событие срабатывает как надо, но "в состоянии" статус "не отправлено"

    ОтветитьУдалить
    Ответы
    1. все заработало!! я сделал нужные изменения в дефолтном файле конфига zabbix_server.conf, он у меня лежит тут: /etc/zabbix

      Удалить
  9. Добрый день!
    У меня такая проблема в администрирование - аудит - журнал действий пишет отправлено но на почту ничего не приходит

    ОтветитьУдалить
    Ответы
    1. значит Ваш почтовик блокирует письма, или в папку Спам кидает

      Удалить
  10. Добрый день. У меня такая же проблема. В администрирование -аудит показывает что отправлено, а письмо не приходит.
    Через консоль отправляет без проблем

    ОтветитьУдалить
  11. такая же проблема как у последнего и предыдущего человека!!

    ОтветитьУдалить
  12. Все заработало с первого раза, огромное спасибо за статью.

    ОтветитьУдалить
  13. Точно так же. Консоль и Аудит отрабатывают без ошибок, а на почту ничего не приходит. Кто-то справился с данной проблемой?

    ОтветитьУдалить
  14. И у меня такая же проблема. Консоль и Аудит отрабатывают без ошибок, а на почту ничего не приходит. Версия 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

    ОтветитьУдалить
  15. И у меня такая же проблема. Консоль и Аудит отрабатывают без ошибок, а на почту ничего не приходит. Версия 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

    ОтветитьУдалить
  16. С консоли письмо отправляется нормально. Настроил все по инструкции. Если отключить хост который мониторится, письмо не приходит и в логах ошибка Login denied: '.

    ОтветитьУдалить
  17. Очень хорошая статья. Спасибо.

    ОтветитьУдалить

Блог развивается при поддержке

Блог развивается при поддержке
Защищаем настоящие ценности клиента

Translate

Популярные сообщения

Blog Archive

Технологии Blogger.

Google+ Followers