评论

收藏

[JavaScript] zabbix监控之同时向多人邮件报警

开发技术 开发技术 发布于:2021-06-24 09:26 | 阅读数:581 | 评论:0

  zabbix做为一款监控软件,报警是必不可少的,该文章主要介绍zabbix向多人邮件报警的配置过程。 zabbix邮件报警配置步骤说明:   1、  准备一个发送邮件的脚本   2、  修改zabbix配置文件中指定的脚本路径
3、关联脚本名称
4、用户设置收件邮箱与报警时间
5、配置报警触发器
6、添加多个用户,同时给多个人发邮件
7、邮件接收测试 1、准备一个发送邮件的脚本
发送邮件有很多方法,自己写脚本的话,只要遵循zabbix传参的格式即可。zabbix发送邮件传参格式:./sendmail.py 收件人  标题  邮件内容python发送邮件脚本如下:cat /usr/local/zabbix/share/zabbix/alertscripts/sendmail_qs.py
#!/usr/bin/python-- coding:utf-8 --
import smtplib
import sys
from email.mime.text import  MIMEText
import timereload(sys)sys.setdefaultencoding('utf8')
current_time=time.strftime('%Y-%m-%d%H:%M',time.localtime(time.time()))
mail_host ='smtp.exmail.qq.com'
mail_user ='yangrong@qssec.com'
mail_pwd = '**'
def send_email( content,mailto, get_sub ):
#msg = MIMEText( content.encode('utf8'),_subtype = 'html', _charset = 'utf8')
msg = MIMEText(content,_subtype='plain',_charset='gb2312')
msg['From'] = mail_user
msg['Subject'] =get_sub
msg['To'] = ",".join( mailto )
try:
    s = smtplib.SMTP_SSL( mail_host, 465)     
    s.login(mail_user, mail_pwd )
    s.sendmail(mail_user, mailto,msg.as_string())
    s.close()
  except Exception as e:
    print 'Exception: ', e
  title=sys.argv[2]
  cont="""
  摘要:  %s
  时间:  %s
  """%(sys.argv[3],current_time)
  to_list = [
'%s'%(sys.argv[1]),
    ]
  with    open('/tmp/sendmail_qs.log','ab') as f:
f.write('%s  Receive address:  %s Title: %s \n'%(current_time,sys.argv[1],title))
send_email( cont, to_list,title)#该python脚本最后把发送邮件的日志记录到/tmp/sendmail.log中。#如若自己使用,修改上方mail_host,mail_user,mail_pwd即可。 2、修改zabbix配置文件中指定的脚本路径

echo  'AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts'  >>/usr/local/zabbix/etc/zabbix_server.conf
/etc/init.d/zabbix_serverrestart本例安装zabbix安装目录在/usr/local/zabbix,不同路径手动修改即可。
3、关联脚本名称【zabbix主面板à管理à示警媒介类型à创建媒体类型】输入脚本名称和/usr/local/zabbix/share/zabbix/alertscripts下的名称一致。 DSC0000.jpg
4、用户设置收件邮箱与报警时间
【zabbix主面板à管理à用户à点击用户】 DSC0001.jpg
配置用户对应的邮箱 DSC0002.jpg   5、配置报警触发器
【zabbix主面板à组态à动作à创建动作】  配置报警信息 DSC0003.jpg
配置报警触发条件 DSC0004.jpg 配置触发条件后的接收用户 DSC0005.jpg   6、添加多个用户,同时给多个人发邮件
首先在【管理】à【用户】à创建普通用户然后把普通用户提升为超级管理员。如果不提升为超级管理员,普通用户是没有发送邮件的权限的! DSC0006.jpg 在【组态】à【动作】中添加新的接收用户。 DSC0007.jpg   7、邮件接收测试
   down掉client节点的zabbix_agentd进程。等待邮件报警,默认agent发邮件是5分钟,即5次没有获取到数据则报警。   经测试,zabbix给多个人员发送邮件时,并不是采取并发邮件的方式。而是执行两次发送邮件的脚本,即每一次一个收件人,而不是一次性有多个收件人。   所以若收件人数量多的话,直接把收件人全部写到上述python发邮件脚本中,即不调用zabbix传过来的收件人,缺点就是收件人变更时也需要手动来改python脚本,而不是改zabbix用户配置。 DSC0008.jpg DSC0009.jpg   到此zabbix多人邮件报警配置完成。

关注下面的标签,发现更多相似文章