该配置的用途是监控模板中没有的监控项目。python
需求:监控某台web的80端口链接数,并出图。web
步骤:
1) zabbix监控中心建立监控项目
2) 针对该监控项目以图形展示vim配置80端口的监控脚本
统计80端口链接数量bash
能够去查看ESTABLISHED的访问量(established)服务器
vim /usr/local/sbin/estab.sh //客户端编辑配置文件并发
#!/bin/bash ##获取80端口并发链接数 netstat -ant |grep ':80 ' |grep -c ESTABLISHEDchmod 755 /usr/local/sbin/estab.sh //权限post
vim /etc/zabbix/zabbix_agentd.conf //编辑客户端zabbix文件增长测试
UnsafeUserParameters=1 #表示使用自定义脚本 UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh #自定义监控项的key(监控web端“键值”)为my.estab.count,后面的[*]里面写的是脚本参数 #若是没有参数则能够省略,脚本为/usr/local/sbin/estab.sh重启服务 systemctl restart zabbix-agent.servicespa
使用zabbix自带命令测试该脚本是否生效(服务端执行):rest
zabbix_get -s 192.168.5.164 -p 10050 -k 'my.estab.count'
web端添加自定义监控:
添加图形:
建立触发器:
即,当并发链接数最新值T大于N(自定义该值,在此N=200)时触发该警报。
开启邮箱的POP三、IMAP、SMTP服务
登陆QQ.或者163邮箱,开启POP三、IMAP、SMTP服务
配置报警脚本
邮箱相关服务配置完成后到监控中心进行报警配置。
配置报警媒介类型
“管理”——“报警媒介类型”——“建立媒介类型”:
设定媒介类型名称、类型、脚本名称(与服务器中脚本名称保持一致)、添加脚本参数(该参数为zabbix内置参数,以后会配置在mail.py脚本中, {ALERT.SENDTO} ,{ALERT.SUBJECT},{ALERT.MESSAGE}),上述内容配置完后再点“添加”(最下面蓝色)。
添加报警脚本mail.py
服务端配置:
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts //脚本必须放在此目录
vim /usr/lib/zabbix/alertscripts/mail.py //配置脚本
#!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_host = 'smtp.163.com' mail_user = 'abcdefg@xx.com' mail_pass = '1111111' mail_postfix = '163.com' def send_mail(to_list,subject,content): me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content, 'plain', 'utf-8') msg['Subject'] = subject msg['From'] = me msg['to'] = to_list try: s = smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me,to_list,msg.as_string()) s.close() return True except Exception,e: print str(e) return False if __name__ == "__main__": send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
chmod 755 /usr/lib/zabbix/alertscripts/mail.py //修改权限
测试可否正常发送邮件:
python mail.py ******@163.com "test" "1212121"
配置用户
在监控中心(web端)建立一个接收告警邮件的“用户”,在建立用户前须要先建立一个“用户组”,在此使用一个已经存在的用户组。“管理”——“用户”——“建立用户”:
打开用户adai——报警媒介——添加报警媒介——更新:
配置用户权限:
须要到用户所在的“用户群组”更改用户的权限:
选择后权限后点击“添加”——“更新”,若是此处设置错误,以后将没法收到报警邮件。
设置触发器被触发后所要执行的的操做!
设置动做,“配置”,“动做”,“建立动做”,名称写(自定义),“操做”页面,内容以下
A维护状态 非在 维护,B触发器示警度>=未分类
HOST:{HOST.NAME} {HOST.IP} TIME:{EVENT.DATE} {EVENT.TIME} LEVEL:{TRIGGER.SEVERITY} NAME:{TRIGGER.NAME} messages:{ITEM.NAME}:{ITEM.VALUE} ID:{EVENT.ID} ID:{EVENT.ID}
恢复操做:
最后状态为已启用
19.15 测试告警
将监控项目改为故障项目。
“配置”——“主机”——“触发器”——“建立触发器”
注: 该触发器只用于测试,完成测试后要删除!
其余参数保持默认,点蓝色按钮“添加”。配置完成后进入“仪表盘”等一分钟左右
经屡次尝试都显示动做完成,可是查看邮箱并无收到任何邮件
chmod 777 /usr/lib/zabbix/alertscripts/mail.py //将权限改到最大
3.2版本存在
安装3.4版本
或者重启服务