Zabbix 2.2 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 = Truedef 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 сервера.
Администрирование -> Способы оповещений
Создать способ оповещения
Имя: zabbix-mail.sh
Тип: Скрипт
Имя скрипта: zabbix-mail.sh
Активировано: +
Сохранить
Настройка -> Действия
Report problems to Zabbix administrators
Активируем и сохраняем способ оповещения
Администрирование -> Пользователи
Заходим в аккаунт администратора (admin)
Оповещения -> Добавить
В выпадающем меню "Тип:" указываем созданный нами - zabbix-mail.sh
"Отправлять на:" Email куда будут отправляться уведомления
Нажимаем Добавить -> Сохранить
На этом настройка Email уведомлений в Zabbix завершена.