zabbix系列-告警设置

zabbix系列,同之前一样,采自整理的文档。这篇主要讲配置邮件告警的方法。 告警设置在管理中进行配置。

邮件告警

设置邮件告警,首先需先设置报警媒介类型:

可以选择修改使用自带的Email的类型,修改SMTP登陆:

使用自带的Email媒介,邮件头固定为文本格式。

我们也可以自行创建使用脚本通过传参来发送邮件,这样可以定制化告警邮件样式(如使用HTML),在服务端配置文件中设置告警脚本位置:

vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts
systemctl restart zabbix-server

创建发送邮件脚本:

mkdir -p /usr/local/zabbix/alertscripts
vim /usr/local/zabbix/alertscripts/sendmail.py
#!/usr/local/python3/bin/python3
# -*- coding:UTF-8 -*-
# =====================Description=====================
# [Features]: SMTP电子邮件发送
# [Usage]: ./sendmail.py [email protected] Subject Message
#          Put it in: /usr/local/zabbix/alertscripts
# =====================================================
import sys
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.utils import parseaddr,formataddr

# <----------------------------Configure Start--------------------------->
# STMP Config
SMTP_Host="mail.xxx.com"
SMTP_Port=465
SMTP_User="[email protected]"
SMTP_Pass="xxxx"
# Mail Config
Mail_From="Zabbix Monitor<%s>" % SMTP_User
Mail_To=sys.argv[1]
Mail_Subject=sys.argv[2]
Mail_Body=sys.argv[3]
# <----------------------------Configure  End---------------------------->
# 署名格式化函数
def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr((Header(name, 'utf-8').encode(), addr))


# 格式化署名和接收人信息
message=MIMEMultipart()
message['From'] = _format_addr(Mail_From)
message['To'] = _format_addr(Mail_To)
message['Subject'] = Header(Mail_Subject, 'utf-8').encode()
message.attach(MIMEText(Mail_Body, 'html', 'utf-8'))

# 发送邮件!
try:
    smtpobj = smtplib.SMTP_SSL(SMTP_Host,SMTP_Port)
    smtpobj.login(SMTP_User, SMTP_Pass)
    smtpobj.sendmail(Mail_From,  Mail_To, message.as_string())
    print('邮件发送成功')
    smtpobj.quit()
except smtplib.SMTPException as e:
    print('邮件发送失败,Case:%s'%e)
./sendmail.py [email protected] 告警标题 '<h1 style="color:blue;">This is a Message</h1>'

添加媒介类型,使用上面的脚本,并向其传参:

然后设置用户的报警媒介,使用上面设置的类型,在“用户资料 — 报警媒介”中进行设置:

配置成功后,再触发告警或恢复就会发送邮件到用户邮箱:

自定义告警内容

上面可以看到,默认的邮件内容展示不太清晰和友好,可以在“配置 — 动作”中进行定义:

默认中即存在一条,就是通过这条配置来发送的邮件信息。

直接创建一条新的:

Tips:可以根据触发条件来创建多个,以达到不同类型告警的发送不同的邮件信息。

在操作中设置发送邮件的内容,可以填写HTML代码。

同样的,恢复操作:

将原有动作禁用:

之后再触发告警,即是新格式的邮件:

发表评论

error: Content is protected !!