[Zabbix] Skrypt wysyłania powiadomień – gmail

Instrukcja konfiguracji skryptu wysyłania powiadomień z zabbix:

 

1.) Tworzymy plik ze skryptem w lokalizacji /usr/lib/zabbix/alertscripts/gmail.sh
2.) Skrypt:

#!/usr/bin/python

# -*- coding: utf-8 -*-

„””

Zabbix SMTP Alert script for gmail.

„””

import sys

import smtplib

from email.MIMEText import MIMEText

from email.Header import Header

from email.Utils import formatdate

# Mail Account

MAIL_ACCOUNT = ‘twojekonto@gmail.com’

MAIL_PASSWORD = ‘TWOJE HASLO DO POCZTY’

# Sender Name

SENDER_NAME = u’Zabbix Alert’

# Mail Server

SMTP_SERVER = ‚smtp.gmail.com’

SMTP_PORT = 587

# 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-gmail.sh recipient subject body

„””

 

3.) Uzupełniamy dane w skrypcie powyżej  ( konta gmail ),
4.) Podpinamy skrypt w zakładce administracja -> typ mediow ( nazwa skryptu / nazwa w zabbix )
5.) Uruchamiamy akcje wysyłania w administracja -> akcja

Dodaj komentarz