文档章节

用zabbix_sender监控磁盘是否只读

实践哥
 实践哥
发布于 2016/11/19 18:54
字数 627
阅读 553
收藏 17

zabbix_sender是一个能够在客户端主动把数据发给zabbix server的工具,zabbix server无需去客户端进行获取,只需要接收客户端提交过来的数据即可。使用zabbix_sender,zabbix server的监控项目的配置的类型就要配置zabbix捉捕器(zabbix trapper),另外需要注意触发器需要在一定时间内没接收到数据触发告警。

监控磁盘只读是比较头疼的事,说一下以下方案:

1: 每个分区给zabbix权限,然后每个分区都探测下,这个部署起来比较麻烦。

2: 用root用户每分钟去探测每个分区,然后写入一个文件,最后再部署一个UserParameter,重启agent。听起来也比较麻烦。

3: 使用zabbix_sender,root用户探测到哪个分区有异常时,直接跟zabbix server汇报,这个部署起来比较方便点。

先看下使用zabbix_sender客户端向zabbix server端汇报过来的截图如下,截图都没有问题,如果有问题,会汇报 分区名 read only:

 

使用zabbix_sender实现磁盘只读监控,首先,在客户端的crontab放一个脚本,每两分钟去探测下磁盘是否异常,过滤掉nfs和tmpfs不去探测,脚本就echo一下,如果echo有问题就进行汇报,如下:

#!/bin/sh
ZabbixHost=`hostname`
Check_Desc="Check Disk Read Only"
houzhui=`date "+%Y%m%d"`
df -Th |egrep -v -i 'tmpfs|nfs'|awk '$(NF-1)~/%/{print $NF}'|grep '^/'|sort -u|while read line;do
    echo "zabbix_test" > ${line}/zabbix_test_${houzhui}
    if [ $? -ne 0 ];then
	    /usr/local/zabbix/bin/zabbix_sender -z xxx.xxx.xxx.xxx -s "${ZabbixHost}" -k "is_read_only" -o "${line} read only"
        exit 1
    fi  
    \rm ${line}/zabbix_test_${houzhui}
done
if [ $? -eq 0 ];then
    /usr/local/zabbix/bin/zabbix_sender -z xxx.xxx.xxx.xxx -s "${ZabbixHost}" -k "is_read_only" -o "all disk is ok!"
fi

注意:hostname是zabbix server监控上写的主机名,-z后面跟的zabbix server的地址, -k是zabbix server监控项目配置的key,监控项目配置如下(截图有可以改善的地方,应用集可以就用filesystems,然后保留的天数改为1天即可,数据没保留的必要,有问题告警即可):

 

触发器的定义如下:

 

最后附上本人的网络课堂地址,如有兴趣请点击: 实践哥

© 著作权归作者所有

共有 人打赏支持
实践哥
粉丝 66
博文 51
码字总数 35897
作品 0
杭州
运维
私信 提问
加载中

评论(1)

遇见王斌
遇见王斌
楼主可以试试这样方式,不需要额外写程序
https://github.com/BillWang139967/zabbix_templates/tree/master/template_mylinux
企业级分布式监控-zabbix

前言 zabbix是一个基于WEB界面的提供分布式系统监控以及网络监视功能的企业级开源解决方案。zabbix能监视各种网络参数,保证服务系统的安全运营,并提供柔软的通知机制以快速定位/解决存在的...

等风起
2015/04/06
0
8
深入浅出Zabbix 3.0 -- 第十四章 灵活的脚本扩展

第十四章 灵活的脚本扩展 学习到本章时,相信你已经掌握了Zabbix服务器的各个组件是如何工作的,以及通过Zabbix收集数据的方法,但在实际环境中,你可能会面对一个大型的、异构、复杂的基础设...

大白一起学
06/26
0
0
Zabbix监控Tengine 后端服务器健康检查

一 应用场景描述: 前端使用Tengine作为负载均衡器,需要对监控Tengine到后端服务器的健康状况,利用Tengine提供的接口可以获取每一个后端主机的状态,是up还是down等。 二 编写Zabbix监控脚本...

自由linux
2016/12/03
0
0
Zabbix 3.0 安装和入门

安装环境概述 Zabbix服务器运行的环境为 Linux(UNIX)+PHP+Web Service+DataBase,这里的 Web Service 可以为 Nginx、Apache,DataBase 可以为MySQL、Oracle、PostgreSQL 等; 对于硬盘的 要求...

寰宇01
05/29
0
1
【需VC】Zabbix 完美监控VMware ESXi 的硬盘

最近因为一台ESXi的硬盘爆掉(硬盘分配方式全部采用的是瘦分配模式)导致整个节点上的生产机全部暂停,原因就不再多说了。然后这么low的问题居然发生在了偶的身上,太窝心了,于是面包决定重...

面包屑
2017/04/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MyBaties分页插件PageHelper的简单使用

抛出问题: 如果想要将现有的select语句改为支持分页功能的查询语句该怎么做呢? 最简单的一种做法就是将所有的select语句都加上limit来实现分页,这种做法有什么问题呢? 有没有一种简便方法...

嘴角轻扬30
28分钟前
2
0
创业公司如何快速构建高效的监控系统?

12 月 7 日,在 2018 ArchSummit 全球架构师峰会·运维与监控专场,七牛云资深运维开发工程师贺强带来了主题为《如何快速构建高效的监控系统》的内容分享。 本文是对演讲内容的实录整理。 大...

七牛云
28分钟前
0
0
Docker与自动化测试及其测试实践

Docker 与自动化测试 对于重复枯燥的手动测试任务,可以考虑将其进行自动化改造。自动化的成本在于自动化程序的编写和维护,而收益在于节省了手动执行用例的时间。简而言之,如果收益大于成本...

微笑向暖wx
28分钟前
1
0
Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch

随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑;一个请求可能需要多个服务的调用;当请求迟缓或不可用时,无法得知...

编程SHA
31分钟前
1
0
Swift-清除缓存

func removeCache (){ // 取出cache文件夹路径.如果清除其他位子的可以将cachesDirectory换成对应的文件夹 let cachePath = NSSearchPathForDirectoriesInDomains(FileMan...

west_zll
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部