Zabbix 2.2 Email уведомления + TLS авторизация

ZABBIX - Email + TLS

Zabbix 2.2.10 LTS Email уведомления и авторизация с использованием SSL / TLS / STARTTLS

Создаем файл скрипта:

touch zabbix-mail.sh

Открываем в редакторе, я использую mceditor:

mcedit zabbix-mail.sh

Скопируйте код ниже в наш созданный файл.

Скрипт zabbix-mail.sh

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Zabbix SMTP Alert script.
"""

import sys
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

# Mail Account
MAIL_ACCOUNT = 'your.account @ mail.com'
MAIL_PASSWORD = 'your mail password'

# Sender Name
SENDER_NAME = u'your.account @ mail.com'

# Mail Server
SMTP_SERVER = 'mail.server.com'
SMTP_PORT = 25
# TLS
SMTP_TLS = True

def send_mail(recipient, subject, body, encoding='utf-8'):
    session = None
    msg = MIMEText(body, 'plain', encoding)
    msg['Subject'] = Header(subject, encoding)
    msg['From'] = Header(SENDER_NAME, encoding)
    msg['To'] = recipient
    msg['Date'] = formatdate()
    try:
        session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
        if SMTP_TLS:
            session.ehlo()
            session.starttls()
            session.ehlo()
            session.login(MAIL_ACCOUNT, MAIL_PASSWORD)
        session.sendmail(MAIL_ACCOUNT, recipient, msg.as_string())
    except Exception as e:
        raise e
    finally:
        # close session
        if session:
            session.quit()

if __name__ == '__main__':
    """
    recipient = sys.argv[1]
    subject = sys.argv[2]
    body = sys.argv[3]
    """
    if len(sys.argv) == 4:
        send_mail(
            recipient=sys.argv[1],
            subject=sys.argv[2],
            body=sys.argv[3])
    else:
        print u"""requires 3 parameters (recipient, subject, body)
\t$ zabbix-mail.sh recipient subject body
"""

 

Вам необходимо изменить следующие параметры (выделено красным):

  • MAIL_ACCOUNT - Ваш Email аккаунт (как правило полный адрес)
  • MAIL_PASSWORD - Ваш пароль
  • SENDER_NAME -  Имя отправителя (правильно указать полный Email адрес)
  • SMTP_SERVER - Имя почтового сервера (или IP адрес)
  • SMTP_PORT - 25 (587)
  • SMTP_TLS - Использование TLS

Вносим изменения и сохраняем.

Теперь необходимо переместить наш скрипт в директорию .../alertscripts Zabbix.

Проверить путь к директории ..../alertscripts можно в конфигурационном файле Zabbix сервера. По умолчанию:

mv zabbix-mail.sh /usr/lib/zabbix/alertscripts

Если установка Zabbix выполнялась по моей статье "Установка ZABBIX из исходников - Ubuntu Server", то путь будет следующий:

mv zabbix-mail.sh /usr/local/share/zabbix/alertscripts

Установим необходимые права:

chmod +x  /usr/local/share/zabbix/alertscripts/zabbix-mail.sh &&
chmod 755 /usr/local/share/zabbix/alertscripts/zabbix-mail.sh &&
chown zabbix:zabbix /usr/local/share/zabbix/alertscripts/zabbix-mail.sh

Переходим в административную панель Zabbix сервера.

Администрирование -> Способы оповещений

Notification methods

Создать способ оповещения

Create a method of notification

Имя: zabbix-mail.sh

Тип: Скрипт

Имя скрипта: zabbix-mail.sh

Активировано: +

Сохранить

Настройка -> Действия

Action

Report problems to Zabbix administrators

Активируем и сохраняем способ оповещения

Администрирование -> Пользователи

Enable the sending of problem reports

Заходим в аккаунт администратора (admin)

Оповещения -> Добавить

Add an alert to the user

В выпадающем меню "Тип:" указываем созданный нами - zabbix-mail.sh

"Отправлять на:" Email куда будут отправляться уведомления

Нажимаем Добавить -> Сохранить

На этом настройка Email уведомлений в Zabbix завершена.

Раздел: Unix сервера
Top
0 комментариев
Добавить комментарий