19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理

19.12添加自定义监控项目
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
客户端上编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf//增加
UnsafeUserParameters=1 //表示使用自定义脚本
UserParameter=my.estab.count[],/usr/local/sbin/estab.sh
//自定义监控项的key为my.estab.count,后面的[
]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
搜索 /UnsafeUserParameters
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
验证一下上面的自定义脚本
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
在监控端输入zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
如果将上面客户端chmod 755 /usr/local/sbin/estab.sh更改权限为700,再执行命令就会提示仅限不够
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
上面的操作完后
然后在zabbix监控中心(浏览器)配置增加监控项目
键值写my.estab.count
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
“配置”à“主机” à“图形” à“创建图形”
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
有需要的话还可以创建触发器
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
19.13 /19.14 配置邮件告警
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
查看报警脚本的位置,查看服务端的配置文件
vim /etc/zabbix/zabbix_server.conf
搜索 /alert就可以找到这一行定义脚本的位置目录
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
mail.py必需要放到这个目录下
vim /usr/lib/zabbix/alertscripts/mail.py//内容参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
这里的是用163的邮箱测试,密码是授权码

#!/usr/bin/env python
#-- coding: UTF-8 --
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
gserver = 'smtp.163.com'
gport = 25
try:
msg = MIMEText(unicode(content).encode('utf-8'))
msg['from'] = mailfrom
msg['to'] = mailto
msg['Reply-To'] = mailfrom
msg['Subject'] = subject
smtp = smtplib.SMTP(gserver, gport)
smtp.set_debuglevel(0)
smtp.ehlo()
smtp.login(username,password)
smtp.sendmail(mailfrom, mailto, msg.as_string())
smtp.close()
except Exception,err:
print "Send mail failed. Error: %s" % err
def main():br/>to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
sendqqmail('[email protected]','liang123,'[email protected]',to,subject,content)
if name == "main":
main()

#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
发送邮件
python mail.py [email protected] "aliang" "sfgsdfgssgf3543564356gfsdg"
查看邮箱是有收到邮件了
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
第一步到这里脚本创建完成
创建用户
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
再设置报警媒介
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
再看一下权限,显示无,如是没有权限是收不到告警邮件的,所以大家一定要请注意
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
要到用户组去更改权限,选择读写
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
再点选择,把所有组都选上,然后点添加,再点更新
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
这时候权限就变读写了
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
到这里用户配置完了
以下就配置动作
设置动作,“配置”,“动作”,“创建动作”,名称写“sendmail”
增加条件B
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
点操作
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
点新的
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
恢复操作
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
到这里告警的准备工作 做好了
下一步就是验证一下告警了
创建一条系统 负载告警
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
在监测中查看仪表板的最近20个问题里可以看到告警
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
查看动是完成还是失败或空的,空的很有可以是脚本没有权限
查看邮箱已收到邮件
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
再将告警的系统负载N值大于1
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
在监测中查看仪表板的最近20个问题里可以看到告警,这时候没有问题了,问题已恢复了
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
查看邮箱已收到邮件
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理
更改主支与被动模式,在监控项里选择一种模式,点进去就可以配置了
19.12添加自定义监控项目19.13-14配置邮件告警19.15测试告警19.16不发邮件问题处理

猜你喜欢

转载自blog.51cto.com/13450039/2104149
今日推荐