Ad Widget

Collapse

Отправка уведомлений через внешний smtp

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • titar
    Junior Member
    • Nov 2009
    • 20

    #1

    Отправка уведомлений через внешний smtp

    Подскажите, как это делается. Проблема заключается в том, что есть необходимость слать уведомления за пределы корпораитвной сети (sms-шлюз). В сети есть почтовик с ntlm авторизацией. Использовать что-либо еще по внутренним регламентам не разрешено. Поставил на машину с zabbix вещицу smsmtp, которая может отправлять через имеющийся почтовик.
    Вот здесь нашел описание решения подобной проблемы: http://www.zabbix.com/forum/showthread.php?t=1323
    Создал скрипт:

    Sol-monitor:/tmp # cat /usr/local/bin/smtp_auth
    #!/bin/sh

    export [email protected]
    export zabbixemailto=$1
    export zabbixsubject=$2
    export zabbixbody=$3


    echo "From: <$smtpemailfrom>" > /tmp/mymailinput
    echo "To: $zabbixemailto" >> /tmp/mymailinput
    echo "Subject: $zabbixsubject" >> /tmp/mymailinput
    echo "" >> /tmp/mymailinput
    echo "$zabbixbody" >> /tmp/mymailinput

    echo /tmp/mymailinput | /usr/local/bin/msmtp $zabbixemailto
    Sol-monitor:/tmp #

    Права на него поставил 777.
    Далее в Media Types создал тип script: Description и Script name /usr/local/bin/smtp_auth.
    После этого добавил этот тип оповещения пользователю, которому на корпоративный адрес уже приходили оповещения.
    По логике вещей, при срабатывании триггера, этому пользователю должно приходить два сообщения: одно через оповещение email, вотрое через скрипт. Но сообщение приходит только через email.
    Что я делаю не так?
  • titar
    Junior Member
    • Nov 2009
    • 20

    #2
    Вопрос отпал. Все что необходимо, это положить скрипт в папку, на которую указывает AlertScriptsPath= из zabbix_server.conf и в media types прописать просто имя скрипта без полного пути.
    После описанных манипуляций заббикс отправляет сообщения через корпоративный mail сервер с ntlm авторизацией.

    Comment

    Working...