zabbix自动发现监控磁盘(iops和读写量)

2024-03-10 04:38

本文主要是介绍zabbix自动发现监控磁盘(iops和读写量),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于磁盘有个iops的概念比较奇怪,想监控起来看下,利用zabbix的自动发现把每个磁盘的iops监控起来,思路:自动发现所有的磁盘,然后监控各个磁盘的iops。效果如下图(iops和io读写大小),下图监控的磁盘是个sdd的,iops今天监控起来后峰值有30k:

640?wx_fmt=png

 

640?wx_fmt=png

思路分为两步,第一个,自动发现列出所有磁盘。第二个,监控每个磁盘的iops情况。

第一个实现如下:

先看一下自动发现脚本,使用python编写,利用linux的/proc/diskstats记得 的磁盘信息发现所有的磁盘。脚本如下:cat /usr/local/zabbix/discover_disk.py

#coding:utf-8
try:import json
except:import simplejson as jsonimport commands(status, output) = commands.getstatusoutput('''cat /proc/diskstats |awk '{print $3}'|egrep 'sd|vd|hd'|egrep -v '[0-9]'|sort -u''')
if output:outputs = output.split('\n')disks = []for disk in  outputs:disks += [{'{#DISKONE}': disk}]print json.dumps({'data':disks},sort_keys=True,indent=4)
else:print 'discovery error'

运行结果如下(此机器上有两个磁盘):

640?wx_fmt=png

 

第二步,监控磁盘的iops,利用linux的/proc/diskstats的第四个字段和第八字段可监控读和写的iops,第四个记录是记录所有读的次数,第八个字段是记录所有写的次数。通过zabbix上的差速率即可监控磁盘的iops。脚本如下:cat /usr/local/zabbix/check_disk.sh。脚本中-d后面跟磁盘名称,-o后面跟需要读取的磁盘的信息。(第六个字段和第十个字段分别代表读的扇区和写的扇区,*512就为读写的Byte了,通过这两个字段可监控磁盘的io读写量)

#!/bin/sh
#   8       0 sda 76880282531 8117316 937263519846 4237854729 62989000438 35668103347 777694636224 1190396494 3 2895102137 899093508
while getopts "d:o:" opt
docase $opt ind ) disk=$OPTARG;;o ) option=$OPTARG;;? )echo 'parameter is wrong!'exit 1;;esac
done
if [ ! "${disk}" ] || [ ! "${option}" ];thenecho "parameter is null"        exit 1
fiif [[ ${option} == "read" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $6}'
elif [[ ${option} == "write" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $10}'
elif [[ ${option} == "readops" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $4}'
elif [[ ${option} == "writeops" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $8}'
elif [[ ${option} == "readtime" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $7}'
elif [[ ${option} == "writetime" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $11}'
fi

脚本运行结果如下:

640?wx_fmt=png

两步写好后,zabbix agent加入如下配置,加完后重启zabbix,配置如下:

cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/disk.conf 
UserParameter=disk.discover,python /usr/local/zabbix/discover_disk.py 
UserParameter=disk.status[*],sh /usr/local/zabbix/check_disk.sh -d $1 -o $2

加入好后在zabbix server运行检测一下,自动发现结果如下:

640?wx_fmt=png

监控磁盘的结果如下:

640?wx_fmt=png

 

以上都测试没问题就可以在zabbix的页面上添加自动发现规则了。可以新建个模板,发现规则截图如下:

640?wx_fmt=png

自动发现发现所有的磁盘,发现后就要项目原型进行监控磁盘的iops了 ,{#DISKONE}代表每个磁盘。监控的项目配置如下:

640?wx_fmt=png

 

把自动发现模板应用到主机后,监控的项目如下:

640?wx_fmt=png

这篇关于zabbix自动发现监控磁盘(iops和读写量)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/793077

相关文章

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

MySQL主从复制与读写分离的用法解读

《MySQL主从复制与读写分离的用法解读》:本文主要介绍MySQL主从复制与读写分离的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、主从复制mysql主从复制原理实验案例二、读写分离实验案例安装并配置mycat 软件设置mycat读写分离验证mycat读

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模