触发器和邮件告警
一、添加监控主机
1.1 通过 配置 -> 主机 -> 创建主机 1.2 必需要输入 主机名称、群组、ip地址 1.3 添加克隆添加总共www组两台、news组两台
二、简单检查项目添加
添加一个监控web服务器81端口的监控(为了测试nginx开一个81端口监听) 2.1 通过 配置 -> 主机 -> 找到对应的主机点击监控项 -> 创建监控项 2.2 必须输入 名称、选择类型、选择键值、信息类型、应用集 项目名称:Check Port 81
三、监控数据查看
通过 监测中->最新数据 ->过滤主机
四、图形添加
只要名称和添加监控项目就可以了。 图形名称:Check Port 81
五、通过搜索查看图形
右上角搜索ip
点击图形查看图形
六、添加触发器
6.1 通过 配置 -> 主机 -> 找到对应的主机点击触发器 -> 创建触发器 6.2 输入 名称、选择表达式、选择严重性 触发器名称:Check Port 81
七、修改触发器使其有问题
八、触发器有问题进行邮件告警(演示用QQ邮箱登录来发邮件,不要用系统的sendmail)
8.1 用户设置,主机设置用户的邮件 通过 管理-> 用户 可设置接收什么类型的告警 8.2 用户的权限说明(如果对主机没有读权限,告警邮件收不到) 8.3 创建触发器动作 通过 配置->动作 8.3.1 动作设置 8.3.2 条件设置 8.3.3 操作设置 8.4 报警媒介类型设置 在管理 报警媒人类型 8.4.1 发送邮件脚本讲解、放置位置、需要执行权限(chmod a+x zabbix_sendmail.py)、测试(邮箱需要开启smtp功能) 放置位置的配置zabbix_server.conf: AlertScriptsPath=/usr/local/zabbix/alertscripts 8.4.2 zabbix给三个参数赋值 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
九、发送哟件脚本(zabbix_sendmail.py)
#!/usr/bin/python # -*- coding: utf-8 -*- #zabbix send mail from email.mime.text import MIMEText import smtplib import sys #smtpaddr = 'smtp.163.com' smtpaddr = 'smtp.qq.com' myemail='123456789@qq.com' #password='mypassword' f = open('/usr/local/zabbix/alertscripts/password','r') password = f.readline() recvmail=sys.argv[1] subject=sys.argv[2] content=sys.argv[3] subject = u'%s' % subject msg = MIMEText("""%s"""%(content), "plain", "utf-8") msg['Subject'] = subject msg['From'] = myemail msg['To'] = recvmail try: server = smtplib.SMTP() server.connect(smtpaddr, "25") server.starttls() server.login(myemail, password) server.sendmail(myemail, recvmail.split(','), msg.as_string()) server.quit() print "success" except Exception, e: print "fail: "+str(e)