• zabbix-3.4添加磁盘 I/O 监控


    原文参考:

    https://www.cnblogs.com/ftl1012/p/iostat.html

    https://blog.51cto.com/huangmanyao/2107337?utm_source=oschina-app

    https://blog.csdn.net/m0_37814112/article/details/80742433

    磁盘读写能力在测试硬件性能方面是一项非常重要的指标,同时当我们发现,主机的网络正常、CPU和内存都正常的情况下,但是系统卡顿、读写数据很慢,并且时常出现一卡一卡的现象的时候,最先考虑的因素就是硬盘的读写是否过高,但是zabbix-3.4没有自带的I/O监控项,需要我们手动添加,下面给出详细步骤:

    1. 在agent端添加文件 userparameter_io.conf

    cd /etc/zabbix/zabbix_agentd.d    #yum安装的zabbix目录是在/etc/

    vim userparameter_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}'   
    UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'  
    UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'  
    UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'  

    systemctl restart zabbix-agent.service    #重启zabbix-agent服务

    2. 在图形界面配置

    (1)添加I/O读写模板,方便批量化实施;

     

     (2)创建监控项,添加主机群组用户批量给多个主机添加监控项

    • 读操作监控项

     

     

     其余各项也差不多,这里不再赘述,可以参考下面各项添加:

    • 写操作监控项

    名称:Disk:$1:Write:Bytes/sec

    键值:custom.vfs.dev.write.sectors[sda]  #注意这里的sda是要监控的磁盘,在本地主机上面可以用fdisk -l来查看需要监控的磁盘

    单位:B/sec

    在左上角的“进程”中配置:

    a. 简单更改;

    b. 自定义倍数。

    • 每秒钟读操作监控项

    名称:Disk:$1:Read:ops per second

    键值:custom.vfs.dev.read.ops[sda]

    单位:ops/second

    在左上角的“进程”中配置:

    a. 简单更改;

    • 每秒钟写操作监控项:

    名称:Disk:$1:Write:ops per second

    键值:custom.vfs.dev.write.ops[sda]

    单位:ops/second

    在左上角的“进程”中配置:

    a. 简单更改;

    • 每毫秒读操作监控项:

    名称:Disk:$1:Read:ms

    键值:custom.vfs.dev.read.ms[sda]

    单位:ms

    在左上角的“进程”中配置:

    a. 简单更改;

    • 每毫秒写操作监控项:

    名称: Disk:$1:Write:ms

    键值:custom.vfs.dev.write.ms[sda]

    单位:ms

    在左上角的“进程”中配置:

     3. 添加监控图形

     

     4. 查看图形

    当然,如果只是一次性查看,而不需要长时间的监控I/O读写情况,可以直接使用命令iostat命令:

    yum install sysstat    #如果没有安装的话,可以使用yum安装一下,7.6中好像是自带的

    常用参数:

    -c:只查看CPU的统计信息
    -d:只查看Device结果
    -k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
    -x:输出详细的io设备统计信息
    interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

     参数解析(详情请查看原文参考中的第一个链接):

    (1)可以查看系统版本号;

    (2)如果不在后面加磁盘的话,就会检测所有设备的I/O 性能;

    (3)%util:一秒中有百分之多少的时间用于 I/O,如果接近100%,则说明I/O负载很高。

  • 相关阅读:
    动态代理练习2全站压缩流输出[response动态代理]
    动态代理练习3自定义数据库连接池[connection动态代理]
    类加载器
    Mysql中的数据类型对应于Java中什么数据类型
    使用网上流传的一个数据库连接池在Proxy.newProxyInstance处引起 java.lang.ClassCastException 问题的解决方法
    动态代理练习1全站字符编码过滤[request动态代理]
    用cocos2dx将helloworld实现出来了
    多线程的自动管理(线程池)
    互斥对象
    多线程的自动管理(定时器)
  • 原文地址:https://www.cnblogs.com/yunjisuan1024/p/11685701.html
Copyright © 2020-2023  润新知