天天看点

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

需求:监控某台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/">#####脚本使用说明###### #1、设置若是更改为qq邮箱,还需要设置gserver = 'smtp.163.com' #2、 首先定义好脚本中的邮箱账号和密码(授权码的密码) #3、 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"</a>

<a href="mailto:br/">更改权限 [root@centos7 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py</a>

<a href="mailto:br/">测试脚本是否可以发送邮件 [root@centos7 alertscripts]# python mail.py [email protected] "test-mail" "test-192.168.3.74"</a>

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

<a href="mailto:br/">4、配置动作</a>

<a href="mailto:br/">设置触发器被触发后所要执行的的操作!</a>

<a href="mailto:br/">“配置”——“动作”——“创建动作”: 维护状态 非在 维护:管理员没有在维护的时候 触发器示警度 &gt;= 未分类:发送所有警报</a>

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

<a href="mailto:br/">操作部分: 主机、时间、级别、名称、内容信息、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/">当步骤为 1 - 0 时表示的是第一步到无穷大的步骤,意思是一直进行下去 步骤持续时间:60s;表示每隔60s就执行发送邮件</a>

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

本文转自 jiekegz  51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2044790