19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理...

本文介绍如何在Zabbix中配置自定义监控项目,包括监控Web服务器80端口连接数的方法及实现过程,并详细展示了如何配置邮件告警系统以通知管理员服务器状态。

提示:开始本节内容之前有必要先做好快照!!!

19.12 添加自定义监控项目

该配置的用途是监控模板中没有的监控项目。

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

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

配置80端口的监控脚本

 统计80端口连接数量

可以去查看ESTABLISHED的访问量(established)

[root@cham002 ~]# netstat -ant |grep ':80 ' |grep -c ESTABLISHED
1

[root@cham002 ~]# netstat -ant |grep ':80 ' |grep -c ESTABLISHED
1
[root@cham002 ~]# netstat -ant |grep ':80 ' |grep ESTAB
tcp6       0      0 192.168.230.135:80      192.168.230.1:62973     ESTABLISHED

客户端:145

[root@test ~]# vim /usr/local/sbin/estab.sh

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

:wq

[root@test ~]# chmod 755 !$
chmod 755 /usr/local/sbin/estab.sh
[root@test ~]# ps aux |grep zabbix
zabbix   54434  0.0  0.1  80592  1284 ?        S    08:12   0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbi_agentd.conf
zabbix   54435  0.0  0.1  80592  1360 ?        S    08:12   0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix   54436  0.0  0.2  80712  2448 ?        S    08:12   0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix   54437  0.0  0.2  80716  2448 ?        S    08:12   0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix   54438  0.0  0.2  80716  2448 ?        S    08:12   0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix   54439  0.0  0.2  80720  2228 ?        S    08:12   0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root     54652  0.0  0.0 112664   972 pts/0    R+   08:23   0:00 grep --color=auto zabbix

配置zabbix-agent.conf:
[root@test ~]# vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1    #表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
#自定义监控项的key(监控web端“键值”)为my.estab.count,后面的[*]里面写的是脚本参数
#如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh

重启zabbix-agent服务:
[root@test ~]# systemctl restart zabbix-agent
[root@test ~]# 

082959_r7r6_3708120.png

客户端配置完成后在 服务端使用zabbix自带命令测试该脚本是否生效:

(防火墙要么关闭,要么添加规则)

[root@cham002 ~]# zabbix_get -s 192.168.230.145 -p 10050 -k 'my.estab.count'
0

如上所示,说明客户端脚本配置成功!

 

配置web端参数

浏览器访问服务端zabbix主页:192.168.230.135/zabbix

进入客户机cham-002“监控项配置”页面:

 

1“创建监控项”:

084126_tqXO_3708120.png
说明: 在此设置监控项名称和键值,其他参数保持默认(研究透彻之后,所有参数可以根据个人需求进行更改)。  

2“创建图形”:
“添加”添加完成后,为该监控项配置“图形”——“创建图形”:   

084407_XFSK_3708120.png

注意: 在此设定图形名称后,需要先为该图形“添加”(该添加为参数“监控项”下的添加)监控项,然后再点击最下面的“添加”将该图形参数添加到zabbix图形监控参数中!!!

3创建触发器:
所谓触发器即设定触发警报的规则!
“触发器”——“创建触发器”:

084757_GPRq_3708120.png

点击“添加”,设定该触发器所要监控的对象及触发规则:

084746_Lrtg_3708120.png

即,当并发连接数最新值T大于N(自定义该值,在此N=2)时触发该警报。

 

19.13-19.4 配置邮件告警

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

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

登录QQ.或者163邮箱,开启POP3、IMAP、SMTP服务:

085924_GJvn_3708120.png

说明: 首次开启该服务需要进行用户认证,根据提示信息进行认证并设定“客户端授权密码”(用于登录第三方邮件客户端的专用密码),记录该密码。

 

配置报警脚本

邮箱相关服务配置完成后到监控中心进行报警配置。

配置报警媒介类型

“管理”——“报警媒介类型”——“创建媒介类型”:

090314_gTYK_3708120.png

说明: 设定媒介类型名称、类型、脚本名称(与服务器中脚本名称保持一致)、添加脚本参数(该参数为zabbix内置参数,之后会配置在mail.py脚本中),上述内容配置完后再点“添加”(最下面蓝色)。

 

添加报警脚本mail.py

服务端:

[root@cham002 ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts


[root@cham002 alertscripts]# vim 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
def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的
很惨)
    sendqqmail('xxxx@163.com','xxxxxxxxxxxxxxxx','xxxx@163.com',to,subject,content)
if __name__ == "__main__":
    main()


[root@cham002 alertscripts]# chmod 755 mail.py 

测试能否正常发送邮件:
[root@cham002 alertscripts]# python mail.py xxxx@163.com "test" "1212121"

发送成功!至此说明发邮件的脚本没问题!!!

配置用户

在监控中心(web端)创建一个接收告警邮件的“用户”,在创建用户前需要先创建一个“用户组”,在此使用一个已经存在的用户组。“管理”——“用户”——“创建用户”:

094710_Likp_3708120.png

配置报警媒介

打开用户adai——报警媒介——添加报警媒介——更新:

094857_XpcN_3708120.png

配置用户权限:
需要到用户所在的“用户群组”更改用户的权限:

选择后权限后点击“添加”——“更新”,如果此处设置错误,之后将无法收到报警邮件。

095056_dDiF_3708120.png

配置动作

设置触发器被触发后所要执行的的操作!

 

设置动作,“配置”,“动作”,“创建动作”,名称写(自定义),“操作”页面,内容如下

095644_orEh_3708120.png

•“新的触发条件”,A维护状态 非在 维护,B触发器示警度>=未分类

100220_bAyH_3708120.png

•“操作”,选择发送的用户为刚创建的用户,仅送到选择“baojing”
客户机故障时要执行的操作。

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
ID:{EVENT.ID}

100245_f0Cf_3708120.png

100601_tU58_3708120.png

•切换到“恢复操作”,把信息改成如下

•点击“新的”,“操作”,选择发送的用户为刚创建的用户,仅送到选择“baojing”

即客户机状态恢复后需要执行的操作。
“默认信息”:(同操作中内容)

HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
ID:{EVENT.ID}

100956_12Ru_3708120.png

最后状态是已起用

101056_5fAb_3708120.png

 

19.5 测试告警

将监控项目改成故障项目。

“配置”——“主机”——“触发器”——“创建触发器”
注: 该触发器只用于测试,完成测试后要删除!
 

101826_KYYk_3708120.png

选择“添加”表达式设定触发规则:

102141_1DXX_3708120.png

其他参数保持默认,点蓝色按钮“添加”。配置完成后进入“仪表盘”等一分钟左右

102021_a4rO_3708120.png

 

经多次尝试都显示动作完成,但是查看邮箱并没有收到任何邮件!

排查故障

[root@cham002 alertscripts]# python mail.py xxxx@163.com "test" "1212121333333333333333333"
能收到邮件

[root@cham002 alertscripts]# ls -l
总用量 4
-rwxr-xr-x 1 root root 1207 2月   5 09:35 mail.py
更改脚本权限:权限改大一点
[root@cham002 alertscripts]# chmod 777 mail.py 

即,能正常发送邮件,说明脚本内容没问题!

检查用户信息(再增加个用户)

105411_Lnol_3708120.png

105419_vRmz_3708120.png

 

检查动作配置

将操作中的默认信息更改为其自带的配置:

 

 

恢复快照再多来几次~····

 

 

转载于:https://my.oschina.net/u/3708120/blog/1618454

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值