自定义监控项目,设置报警

自定义监控项目

需求:监控web的80端口的连接数,并出图

两步: 
1. zabbix监控中心创建监控项目 
2. 针对该监控项目以图形展现

客户端机器配置:

在客户端编写脚本(estab.sh):

[root@shuai-02 ~]# vim /usr/local/sbin/estab.sh

添加内容:

#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

保存退出

修改脚本权限:

[root@shuai-02 ~]# chmod 755 /usr/local/sbin/estab.sh 

脚本使用zabbix-agent服务启动的,zabbix用户执行。

在客户端上编辑配置文件:

[root@shuai-02 ~]# vim /etc/zabbix/zabbix_agentd.conf 

搜索UnsafeUserParameters 
添加UnsafeUserParameters=1

这里写图片描述

搜索UserParameter 
添加UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh

这里写图片描述 
自定义的监控项的键值为my.estabcount,后面的[*]里写脚本参数,如果没有参数可以省略,脚本为/usr/local/sbin/estab.sh

保存退出,重启zabbix-agent服务

[root@shuai-02 ~]# systemctl restart zabbix-agent

验证:

在服务端,执行命令,获取80端口的连接数:

[root@shuai-01 ~]# zabbix_get -s 192.168.176.134 -p 10050 -k 'my.estab.count'
0

在监控中性去配置监控项目

这里写图片描述

这里写图片描述

这里写图片描述

添加

创建图形:

这里写图片描述

这里写图片描述

创建触发器:

这里写图片描述

这里写图片描述

这里写图片描述

配置邮件警告

使用163邮箱或QQ邮箱发送告警邮件。

开启邮箱的POP3、IMAP、SMTP服务

这里写图片描述

创建媒体类型:

这里写图片描述

这里写图片描述

在服务端的配置文件中,已经规定了脚本要创建在那个目录下面。 
在服务端查看配置文件

[root@shuai-01 ~]# vi /etc/zabbix/zabbix_server.conf 
搜索AlertScripts

这里写图片描述

创建mail.py脚本:

[root@shuai-01 ~]# cd /usr/lib/zabbix/alertscripts
[root@shuai-01 alertscripts]# vi mail.py

添加内容:
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
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():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开)
    sendqqmail('[email protected],'1111111111','[email protected]',to,subject,content)
if __name__ == "__main__":
    main()

更改脚本权限:

[root@shuai-01 alertscripts]# chmod 755 mail.py

给自己发一封邮件:

[root@shuai-01 alertscripts]# python mail.py [email protected] "shaui" "11111"

这里写图片描述

这说明发邮件脚本没有问题

创建一个用户,用来接收邮件

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

配置用户权限,要在用户组里设置

这里写图片描述

这里写图片描述

设置动作:

这里写图片描述

这里写图片描述

设置操作: 
默认信息: 
HOST:{HOST.NAME} {HOST.IP} 
TIME:{EVENT.DATE} {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME} 
messages:{ITEM.NAME}:{ITEM.VALUE} 
ID:{EVENT.ID}

这里写图片描述

这里写图片描述

恢复操作:

这里写图片描述

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/chen112826473/article/details/80018993
今日推荐