Frank的学习之路

2.1_zabbix项目,触发器和邮件警告

1: 添加监控的主机
1.1 通过 配置 -> 主机 -> 创建主机
1.2 必需要输入 主机名称、群组、ip地址
1.3 添加克隆添加总共www组两台、news组两台

2: 简单检查的项目添加
添加一个监控web服务器81端口的监控(为了测试nginx开一个81端口监听)
2.1 通过 配置 -> 主机 -> 找到对应的主机点击监控项 -> 创建监控项
2.2 必须输入 名称、选择类型、选择键值、信息类型、应用集
项目名称:Check Port 81
名称:Check Port 81
类型:简单检查
键值:net.tcp.service.perf[tcp,,81]
主机接口:172.21.3.217:10050
新的应用集:TCP PORT

3: 监控数据的查看
通过 监测中->最新数据 ->过滤主机

4: 图形添加
只要名称和添加监控项目就可以了。
图形名称:Check Port 81

5: 通过搜索查看图形
右上角搜索ip
点击图形查看图形

6: 触发器的添加
6.1 通过 配置 -> 主机 -> 找到对应的主机点击触发器 -> 创建触发器
6.2 输入 名称、选择表达式、选择严重性
触发器名称:Check Port 81
名称:Check Port 81
表达式:{www_172.21.3.217:net.tcp.service.perf[tcp,,81].last()}=0

8: 触发器有问题进行邮件告警(演示用qq邮箱登录来发邮件,不要用系统的sendmail)
7.1 用户设置,主机设置用户的邮件
通过 管理-> 用户
可设置接收什么类型的告警(报警媒介设置)
7.2 用户的权限说明(如果对主机没有读权限,告警邮件收不到)
7.3 创建触发器动作
通过 配置->动作
7.3.1 动作设置
7.3.2 条件设置
7.3.3 操作设置
7.4 报警媒介类型设置
在管理 报警媒人类型
7.4.1 发送邮件脚本讲解、放置位置、需要执行权限(chmod a+x zabbix_sendmail.py)、测试(邮箱需要开启smtp功能)
放置位置的配置zabbix_server.conf:
AlertScriptsPath=/usr/local/zabbix/alertscripts
7.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='361589194@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)

返回顶部