用zabbix_sender监控磁盘是否只读
博客专区 > 鸿弟 的博客 > 博客详情
用zabbix_sender监控磁盘是否只读
鸿弟 发表于11个月前
用zabbix_sender监控磁盘是否只读
  • 发表于 11个月前
  • 阅读 324
  • 收藏 17
  • 点赞 0
  • 评论 1

腾讯云 十分钟定制你的第一个小程序>>>   

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天即可,数据没保留的必要,有问题告警即可):

 

触发器的定义如下:

共有 人打赏支持
粉丝 64
博文 51
码字总数 33082
评论 (1)
遇见王斌
楼主可以试试这样方式,不需要额外写程序
https://github.com/BillWang139967/zabbix_templates/tree/master/template_mylinux
×
鸿弟
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: