需求:监控某台web的80端口连接数,并出图。
步骤:
1) zabbix监控中心创建监控项目
2) 针对该监控项目以图形展现
被监控端:
1、
[root@centos7-2 local]# vim /usr/local/sbin/estab.sh
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
#注意:80后面跟一个空格,保证匹配更精确,如果不加空格,会把8080端口同时过滤出来。
2、chmod 755 /usr/local/sbin/estab.sh
3、vim /etc/zabbix/zabbix_agentd.conf
#表示使用自定义脚本
UnsafeUserParameters=1
#自定义监控项的key(监控web端“键值”)为my.estab.count,后面的[]里面写的是脚本参数;#如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
UserParameter=my.estab.count[],/usr/local/sbin/estab.sh
4、[root@centos7-2 local]# systemctl restart zabbix-agent.service
验证是否生效:
在服务端操作
[root@centos7 fonts]# zabbix_get -s 192.168.3.75 -p 10050 -k 'my.estab.count'
4
客户端配置完成.
配置web端参数
1、添加监控项
类型:Zabbix客户端:表示的是被动模式。Zabbix客户端(主动式):这个是主动模式

2、添加图形
3、验证:
1、为了验证以下的邮件报警,测试下
2、
1、使用163邮箱或QQ邮箱发送告警邮件。
开启邮箱的POP3、IMAP、SMTP服务
登录163邮箱,开启POP3、IMAP、SMTP服务:
需要开启授权码(这个是在第三方客户端上登录163账号时才需要用到,比如在安卓机上设置163邮箱账号)
2、配置报警媒介类型
“管理”——“报警媒介类型”——“创建媒介类型”:
{ALERT.SENDTO}:收件人
{ALERT.SUBJECT}:邮件主题
{ALERT.MESSAGE}:邮件内容
添加报警脚本mail.py
服务端:
查看报警脚本保存的路径
报错:(被163的给屏蔽了,那就用qq吧)
[root@centos7 fonts]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
创建报警脚本mail.py:
[root@centos7 alertscripts]# cat mail.py
#!/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
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail("></a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">#####脚本使用说明###### #1、设置若是更改为qq邮箱,还需要设置gserver = 'smtp.163.com' #2、 首先定义好脚本中的邮箱账号和密码(授权码的密码) #3、 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">更改权限 [root@centos7 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">测试脚本是否可以发送邮件 [root@centos7 alertscripts]# python mail.py [email protected] "test-mail" "test-192.168.3.74"</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">4、配置动作</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">设置触发器被触发后所要执行的的操作!</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">“配置”——“动作”——“创建动作”: 维护状态 非在 维护:管理员没有在维护的时候 触发器示警度 >= 未分类:发送所有警报</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">操作部分: 主机、时间、级别、名称、内容信息、id号 HOST:{HOST.NAME} {HOST.IP} TIME:{EVENT.DATE} {EVENT.TIME} LEVEL:{TRIGGER.SEVERITY} NAME:{TRIGGER.NAME} messages:{ITEM.NAME}:{ITEM.VALUE} ID:{EVENT.ID}</a>
<a href="mailto:br/%3Eto=sys.argv%5B1%5D%3Cbr/%3Esubject=sys.argv%5B2%5D%3Cbr/%3Econtent=sys.argv%5B3%5D%3Cbr/%3E#%23%E5%AE%9A%E4%B9%89QQ%E9%82%AE%E7%AE%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%8C%E4%BD%A0%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%E6%88%90%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81%EF%BC%88%E8%AF%B7%E4%B8%8D%E8%A6%81%E6%8A%8A%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E6%94%BE%E5%88%B0%E7%BD%91%E4%B8%8A%E5%85%AC%E5%BC%80%EF%BC%8C%E5%90%A6%E5%88%99%E4%BD%A0%E4%BC%9A%E6%AD%BB%E7%9A%84%E5%BE%88%E6%83%A8%EF%BC%89%3Cbr/%3Esendqqmail(">当步骤为 1 - 0 时表示的是第一步到无穷大的步骤,意思是一直进行下去 步骤持续时间:60s;表示每隔60s就执行发送邮件</a>
本文转自 iekegz 51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2044790,如需转载请自行联系原作者