java异常监控发邮件,添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理...

添加自定义监控项目

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

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

对于第一步,需要到客户端定义脚本

vim /usr/local/sbin/estab.sh //内容如下

#!/bin/bash

##获取80端口并发连接数

netstat -ant |grep ':80 ' |grep -c ESTABLISHED

chmod 755 /usr/local/sbin/estab.sh

客户端上编辑配置文件 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

重启zabbix-agent服务 systemctl restart zabbix-agent

首先到服务端验证,执行命令

zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count‘

然后在zabbix监控中心(浏览器)配置增加监控项目

键值写my.estab.count

添加该项目后,到“监测中” “最新数据”查看刚添加的项目是否有数据出现

有了数据就可以添加图形了

“配置”“主机” “图形” “创建图形”

首先在客户端上编写脚本,内容如下,保存退出

c95b6fcfe16f38202506758f1ff296b5.png

fb12020cc3e6e7c04b35d6235b8d78db.png

添加zabbix用户执行的权限

d7b7c2bd189dc33aef467594d95b9180.png

客户端上编辑配置文件,搜索 /UnsafeUserParameters

4c1e5e3edbe8b179463ffee1ed6cdd4a.png

b6577ef47d6136bda45f29e8e8fdfe45.png

e66496b662788e1eac82b617a44c8748.png

UnsafeUserParameters=1 ,目的是使用自定义脚本

重启zabbix服务

280e224983e26c5011d493def2cf0547.png

服务端验证脚本是否生效

0ce7b0a63a37120d15979044a37580b4.png

web端zabbix监控中心增加监控项目(配置、主机 、监控项、创建监控项)

f6582803d24049fde09f4200fd48dc50.png

添加图形(图形、创建图形)

fb2a517f22efbea41cc0d2a79651a899.png

然后选择预览

caa8147abf778e32c940ae0a138a1f50.png

添加一个触发器(触发器、创建触发器),并发连接数最新值T大于N(自定义该值,在此N=200)时触发该警报

ac7ddb4766e4949b2b127b001111e95b.png

a6e7819365fb722d570e6c584fee95cf.png

9e74784a93b44dad8986f0bf292f641e.png

置邮件告警

首先登录163邮箱,开启POP3、IMAP、SMTP服务,开启并记住授权码

进入zabbix的web界面,监控中心设置邮件告警( 管理、报警媒介类型、创建媒体类型)

fcc997b338c1268aca3508aa588d6c42.png

5ae500b2f4670ac47798fc98b77e380e.png

创建报警脚本mail.py,添加内容如下,保存退出

14c60530717e11ba274e3deea7debfb2.png

#!/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():

to=sys.argv[1]

subject=sys.argv[2]

content=sys.argv[3]

##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)

sendqqmail('163邮箱','密码','163邮箱',to,subject,content)

if __name__ == "__main__":

main()

更改mail.py脚本的权限

b36239683b9b8b78ac5b19db41af081a.png

测试mail.py是否能发邮件

0220b501af033b1b548d306b09183b4c.png

打开163邮箱,会看到邮件

创建一个接受告警邮件的用户(管理、用户、创建用户);报警媒介,类型选择baojing

1b6d83750049e6a21cca25ec777df561.png

bb977a89f0b577300de28b8d6112abca.png

配置用户权限(管理、用户群组)

d7b2a295d32ce82d0c9a799cddcb0db2.png

7c8fda5cddea5b190e92e751c5e5729d.png

657ee7614c3807acc4121f3fcfa6ed2f.png

30191e479ace1e94ebe34a8cb7446688.png

配置动作(配置、动作、创建动作)

d76c1b6bfae1069f9ea659c88908aef5.png

e9d5a348515443e7916b90871a2e1d09.png

be396955d4e8d0101ef4a6d6fadaa067.png

17f61167e9f99594445e49f2ad6b1671.png

52c4222f1648808f96a272de7484c709.png

cbe3e273cc3f3da5c71c2b2727f9a0f4.png

3be419e453e340aa2dde481947601b75.png

bcf1f1eaf633c1069fd7128e03c3ae89.png

测试告警

方便测试,创建一个自定义触发器(配置、主机、触发器、创建触发器)

0eca0b9bad2515adc52cc1785e4873e8.png

efb7ea0790b709b9acd3686db985bad3.png

仪表板出现报错信息

3a350b1bb5f82bf801a13686068c0472.png

收到告警邮件

c5aeb1b33d4ce70533d2e75cf4df344e.png

回到触发器负载改成大于1,仪表板显示正常,并查看邮箱

2fc9a7b94df3aa779fe3abab753d0f5c.png

3bfd448edb8edd57ff5f371d8bc390d2.png

转载至链接:https://my.oschina.net/u/3804239/blog/1844164

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值