添加自定义监控项目
需求:监控某台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
def main():br/>to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
sendqqmail('Su@163.com','11111','Su@163.com',to,subject,content)
<="" a="" data-filtered="filtered" style="margin: 0px; padding: 0px; max-width: 100%;"> if name == "main":
main()
更改权限
[root@centos7 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py
测试脚本是否可以发送邮件
[root@centos7 alertscripts]# python mail.py Su@163.com "test-mail" "test-192.168.3.74"
在用户群组(Zabbix administrators)中需要设置读写权限
“配置”——“动作”——“创建动作”:
维护状态 非在 维护:管理员没有在维护的时候
触发器示警度 >= 未分类:发送所有警报
当步骤为 1 - 0 时表示的是第一步到无穷大的步骤,意思是一直进行下去
步骤持续时间:60s;表示每隔60s就执行发送邮件
测试告警
本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/2044790,如需转载请自行联系原作者