天天看点

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

需求:监控某台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(">“配置”——“动作”——“创建动作”: 维护状态 非在 维护:管理员没有在维护的时候 触发器示警度 &gt;= 未分类:发送所有警报</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,如需转载请自行联系原作者