一、添加自定义监控项目
需求:监控某台web的80端口连接数,并出图
两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现
1、客户端定义脚本
[root@zlinux-04 ~]# vim /usr/local/sbin/estab.sh //创建脚本,添加以下内容
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
[root@zlinux-04 ~]# sh /usr/local/sbin/estab.sh //测试脚本
0
[root@zlinux-04 ~]# chmod 755 /usr/local/sbin/estab.sh //设置脚本权限
[root@zlinux-04 ~]# ls -l /usr/local/sbin/estab.sh
-rwxr-xr-x 1 root root 91 4月 16 20:18 /usr/local/sbin/estab.sh
2、客户端编辑配置文件
[root@zlinux-04 ~]# 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
[root@zlinux-04 ~]# systemctl restart zabbix-agent //重启zabbix-agent
3、服务端验证
[root@zlinux-01 ~]# zabbix_get -s 192.168.242.131 -p 10050 -k 'my.estab.count'
0
4、在zabbix监控中心(浏览器)修改相关项目
a)增加监控项
其他选项默认即可。
b)添加图形
3)创建触发器
二、配置邮件告警
- 使用163或者QQ邮件发告警邮件;
- 首先登录163邮箱,设置开启POP3、IMAP、SMTP服务;
- 然后到监控中心设置邮件告警;
- 脚本参数:{ALERT.SENDTO} , {ALERT.SUBJECT} , {ALERT.MESSAGE}。
1、监控中心添加报警媒介
2、创建告警脚本(服务端)
[root@zlinux-01 ~]# vim /usr/lib/zabbix/alertscripts/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.qq.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():
to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
sendqqmail('1234567@qq.com','password','1234567@qq.com',to,subject,content)
if __name__ == "__main__":
main()
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
[root@zlinux-01 ~]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py
[root@zlinux-01 ~]# python /usr/lib/zabbix/alertscripts/mail.py zxc@126.com ‘1111’ ‘111111’ //测试脚本,是否能发送邮件,到126邮箱查看
3、创建接受告警邮件的用户
3、修改用户权限
4、添加动作
5、测试告警
把这个值设为0,即并发数量为0就发告警邮件。
到邮箱查看:
转载于:https://blog.51cto.com/3069201/2104163