Zabbix监控服务器磁盘I/O

一、场景说明:
需要使用Zabbix监控服务器上各个磁盘的I/O使用率,当zabbix自身带的item 无法满足我们的时候,则需自定义item。
    包括:
  • 磁盘读的次数
  • 磁盘读的毫秒数
  • 磁盘写的次数
  • 磁盘写的毫秒数
  • 正在处理的输入/输出请求数
  • 花费在I/O操作上的毫秒数
  • 读扇区的次数(一个扇区等于512B)
  • 写扇区的次数(一个扇区等于512B)
 
注意:本环境要监控的服务器在阿里云上,所以每台服务器上的设备名称不同,为解决此问题,我定义了多个模板来解决此问题!
各位小伙伴请根据实际情况进行配置
 
二、步骤概览
 
1.数据来源:/proc/diskstats
/proc/diskstats文件说明
$1: 主设备号
$2: 次设备号
$3: 设备名称
$4: 读完成次数
$6: 读扇区的次数(一个扇区等于512B)
$7: 读磁盘的毫秒数
$8: 写完成次数
$10: 写扇区的次数(一个扇区等于512B)
$11: 磁盘写的毫秒数
$12: 正在处理的输入/输出请求数
$13: 花费在I/O操作上的毫秒数
2.自定义item
3.在zabbix_server端测试
4.配置Zabbix-server WEB UI
5.监测最新数据
 
二、操作步骤:
    
1.自定义item并重新加载Agent.
~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_disk_io.conf
#磁盘读的次数
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
#磁盘读的毫秒数
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
#磁盘写的次数
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
#磁盘写的毫秒数
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
#正在处理的输入/输出请求数
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'            
#花费在IO操作上的毫秒数
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'
#读扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'
#写扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}
~]# systemctl restart zabbix-agent
2.在zabbix-server端测试
 
~]# zabbix_get -s 192.168.1.100 -k custom.vfs.dev.io.ms[xvda1]       // 如果没有这个命令的话则需要使用yum安装(yum -y install zabbix-get)
2547825
~]# zabbix_get -s 192.168.1.100 -k custom.vfs.dev.read.sectors[xvda1]
7716602
....等等,当全部数据都可获取时,则说明item生效.
3.配置Zabbix-server WEB UI
 
(1)如图操作:配置 → 模板 → 创建模板.
 
(2)如图操作:自定义模板名称 → 将被监控主机群组加入到"群组"中.
 
(3)如图操作:监控项 → 创建监控项
 
(4)如图操作:自定义名称 → 采集数据的方式 → 手动指定键值 → 指定单位 → 指定应用集 → 进程 → 每秒更改 → 点击更新.
 
 
(5)如图操作:再次新建监控项 → 名称 → 获取数据方式 → 自定义key → 数值类型 → 数据单位 → 进程 → 自定义倍数(512) → 每秒更改 → 更新.
 
 
(6)如图所示:下面的操作都与上述描述差的不多,在此不做注释.
 
 
(7) 如图操作:
 
(8)如图操作:
 
(9) 如图操作:
 
4.监测最新数据,如图所示(如果有多块磁盘,那么就配置多个模板,模板间可互相克隆后修改$1位置的磁盘名称)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Zabbix是一种开源的监控系统,可以监控服务器、网络设备、应用程序等。它支持多种监控方式,包括SNMP、JMX、IPMI等,同时也支持自定义监控项。以下是一些基本的步骤来使用Zabbix监控服务器: 1. 安装Zabbix Server和Zabbix Agent 首先需要在服务器上安装Zabbix Server和Zabbix Agent。Zabbix Server是负责收集监控数据、存储数据并提供图形化界面的组件,而Zabbix Agent则是运行在被监控设备上,负责收集设备的监控数据并将其发送给Zabbix Server。 2. 配置Zabbix Server 安装完Zabbix Server后,需要进行一些基本的配置。可以通过编辑Zabbix Server的配置文件来指定数据库、Web服务器等信息。 3. 配置Zabbix Agent 安装完Zabbix Agent后,需要配置Agent以便与Zabbix Server进行通信。可以通过编辑Agent的配置文件来指定Zabbix Server的IP地址、端口号等信息。 4. 创建主机 在Zabbix Server的图形化界面中,需要创建一个主机,该主机对应被监控服务器。在创建主机时需要指定主机的名称、IP地址、监控方式等信息。 5. 创建监控项 在创建主机后,需要创建监控项来监控该主机。监控项可以是CPU使用率、内存使用率、磁盘使用率等。可以通过Zabbix Server的图形化界面来创建监控项。 6. 创建触发器 触发器是用来检测监控项的值是否达到某个阈值的。当监控项的值达到阈值时,触发器会触发一个报警。可以通过Zabbix Server的图形化界面来创建触发器。 7. 创建报警 当触发器触发时,需要发送一个报警通知。可以通过Zabbix Server的图形化界面来创建报警通知,例如发送邮件、发送短信等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值