文档章节

添加自定义监控项目、邮件告警

阿dai
 阿dai
发布于 2017/09/12 10:24
字数 1801
阅读 78
收藏 0
点赞 0
评论 0

温馨提示:开始本节内容之前请先做好快照!!!

19.2 添加自定义监控项目

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

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

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

配置80端口的监控脚本

客户端: 统计80端口连接数量

[root@z1 ~]# vim /usr/local/sbin/estab.sh
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
注意:80后面跟一个空格,保证匹配更精确,如果不加空格,会把8080端口同时过滤出来。

更改权限:
[root@z1 ~]# chmod 755 /usr/local/sbin/estab.sh

配置zabbix-agent.conf:
[root@z2 ~]# 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服务:
[root@z2 ~]# systemctl restart zabbix-agent.service

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

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

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

配置web端参数

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

进入客户机adai-02“监控项配置”页面:
mark

  1. “创建监控项”:

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

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

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

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

mark
点击“添加”,设定该触发器所要监控的对象及触发规则:
mark
即,当并发连接数最新值T大于N(自定义该值,在此N=2)时触发该警报。

19.13-19.4 配置邮件告警

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

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

登录163邮箱,开启POP3、IMAP、SMTP服务:
mark

登录邮箱后,“设置”——“POP3、IMAP、SMTP”——“保存”:

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

配置报警脚本

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

配置报警媒介类型

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

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

添加报警脚本mail.py

服务端:

查看报警脚本保存路径:
[root@z1 ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

创建报警脚本mail.py:
[root@z1 ~]# cd /usr/lib/zabbix/alertscripts
[root@z1 alertscripts]# vim mail.py
#!/usr/bin/python  
#coding:utf-8  
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'     #指定所使用的邮箱类型
mail_user = 'aaaaaa@163.com'   #指定邮箱用户名
mail_pass = '111111111'        #指定邮箱密码
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
    me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content, 'plain', 'utf-8')
    msg['Subject'] = subject
    msg['From'] = me
    msg['to'] = to_list
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

更改脚本权限:  
[root@z1 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py

测试能否正常发送邮件:
[root@z1 alertscripts]# python mail.py adai_mail@163.com "emerge" "emerge2"
#在此使163邮箱自己给自己发送邮件(保证其不出其他故障)

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

配置用户

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

mark 设置完以上信息后,点击最下面的“添加”。

配置报警媒介

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

mark

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

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

配置动作

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

“配置”——“动作”——“创建动作”:

mark

“操作”:
客户机故障时要执行的操作。

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}

将“操作”中的“默认信息”改为以上参数:
mark

点击“新的”配置上图中指定参数其余参数保持默认(该部分信息才是发邮件的具体行为),配置完上述内容后点击“添加”(此处==非蓝色==添加按钮)。

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

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}

条件参数也和“操作”中的相同。

mark

以上“动作”参数配置完后点击蓝色按钮“添加”!!!

mark

监控中心报警准备工作完成!!!

19.5 测试告警

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

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

mark

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

mark

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

mark

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

排查故障

使用服务器发送邮件:

[root@z1 alertscripts]# python mail.py adai_mail@163.com "emergecome" "emerge333"

mark

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

更改脚本权限:
[root@z1 alertscripts]# ls -l /usr/lib/zabbix/alertscripts/
总用量 4
-rwxr-xr-x 1 root root 1243 9月  12 07:54 mail.py
[root@z1 alertscripts]# chmod 777 /usr/lib/zabbix/alertscripts/mail.py

检查用户信息

添加一个接受邮件的邮箱:

mark

查看用户权限,保证其为“读写”!

检查动作配置

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

mark

“恢复操作”中先不改!更新后进行测试,结果依然无法收到邮件!!!


果断恢复快照再来一遍……

配置完后再次检测:

mark

故障:

mark

恢复:

mark

在zabbix监控中心设置主动模式或被动模式

配置——模板——监控项:

mark

© 著作权归作者所有

共有 人打赏支持
阿dai
粉丝 57
博文 177
码字总数 253317
作品 0
昌平
运维
Zabbix的配置和使用(二)

一、添加自定义监控项目 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 1、客户端定义脚本 2、客户端编辑配置文件 3、服务端...

BatmanLinux ⋅ 04/16 ⋅ 0

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

笔记内容: 19.12添加自定义监控项目 19.13/19.14配置邮件告警 19.15测试告警 19.16不发送邮件的问题处理 笔记日期:2017-11-20 19.12添加自定义监控项目 自定义的监控项目是用于实现一些特殊...

ZeroOne01 ⋅ 2017/11/20 ⋅ 0

添加自定义监控项目,zabbix配置告警-添加邮箱,zabbix配置告警-添加用户,测试告警

添加自定义监控项目 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 (个人觉得是1、写脚本获取并发连接数,2、在服务器获取数...

非此即彼 ⋅ 04/17 ⋅ 0

2018-4-16 Linux学习笔记

19.12 添加自定义监控项目 思路: 客户端设置脚本获取数据->服务端用zabbix_get验证客户端收集的监控数据->zabbix管理界面配置监控项->zabbix管理界面配置成图形->zabbix管理界面配置告警(如果...

XiaoluHuang ⋅ 04/16 ⋅ 0

2018-4-16 16周4次课 zabbix邮件告警

19.12 添加自定义监控项目 ·需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 ·对于第一步,需要到客户端定义脚本 [root@loca...

alexis7gunner ⋅ 04/15 ⋅ 0

Linux监控平台搭建(三)--自定义监控项目、问题告警及处理

一 添加自定义监控项目 zabbix很受欢迎的原因之一是:能够自定义监控项目,之前我们看到的很多的监控项目都是在模板里面提现的,但是当我们需要一些个性化的监控项目,比如某一个业务的监控数...

mixuyulv ⋅ 04/17 ⋅ 0

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

19.12添加自定义监控项目 客户端上编辑配置文件 vim /etc/zabbix/zabbixagentd.conf//增加 UnsafeUserParameters=1 //表示使用自定义脚本 UserParameter=my.estab.count[],/usr/local/sbin/e...

cwliang ⋅ 04/16 ⋅ 0

Zabbix的架构配置选项(二)

[toc] Zabbix的架构配置选项(二) 一、添加自定义监控项目 Zabbix的特色:我们有时候会根据业务需求配置一些个性化的需求服务去监控某台web的80端口连接数, 并整出监控状态图: [ ] zabbix...

Xavi2017 ⋅ 04/17 ⋅ 0

zabbix(2)--详细配置

1、手动添加一台被监控服务器 添加一台被监控服务器流程 本次测试被监控主机ip:10.55.2.83,OS:RHEL 6.5 被监控端agent安装 a、配置zabbix yum源并安装 #yum install zabbix-agent zabbix-sen...

扫地僧void ⋅ 2017/05/27 ⋅ 0

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.12 添加自定义监控项目 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目; 2)针对该监控项目以图形展现 客户端hao2机器配置: 1. 客户端(hao2)编写estab...

主内安详 ⋅ 2017/09/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 30分钟前 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部