zoukankan      html  css  js  c++  java
  • zabbix的日常监控-磁盘性能监控(十二)

    监控磁盘的性能

    参考文章:

    https://wiki.enchtex.info/howto/zabbix/zabbix_iostat_monitoring

    https://blog.csdn.net/xiegh2014/article/details/70576180

    https://blog.csdn.net/bobpen/article/details/53408214

    创建好的模板:链接:https://pan.baidu.com/s/1-dNwl-yrRsSNgobWPvVflw 密码:0j9u

    一、agent端操作:

    1、安装iostat命令

    yum install sysstat

    2、创建脚本目录

    mkdir /etc/zabbix/scripts
    cd /etc/zabbix/scripts/

    3、脚本内容

    vim disk_scan.sh
    #!/bin/bash
    diskarray=(`cat /proc/diskstats |grep -E "sd[abcdefg]|vd[abcdefg]"|grep -i "$1"|awk '{print $3}'|sort|uniq   2>/dev/null`)
    length=${#diskarray[@]}
    printf "{
    "
    printf  '	'""data":["
    for ((i=0;i<$length;i++))
    do
             printf '
    		{'
             printf ""{#DISKNAME}":"${diskarray[$i]}"}"
             if [ $i -lt $[$length-1] ];then
                     printf ','
             fi
    done
    printf  "
    	]
    "
    printf "}
    "

     4、修改权限

    chown root:zabbix -R /etc/zabbix/scripts/
    chmod 750 /etc/zabbix/scripts/
    chmod 550 /etc/zabbix/scripts/iostat.sh

    5、脚本测试

    [root@agent scripts]# sudo -u zabbix /usr/bin/sh /etc/zabbix/scripts/disk_scan.sh
    {
        "data":[
            {"{#DISKNAME}":"sda"}
        ]
    }
    [root@agent scripts]# 

    6、使用iostat获取硬盘性能信息,并将该信息写入文本中

      echo "* * * * * /usr/bin/iostat -mx > /tmp/iostat_output 2>&1" >>/var/spool/cron/root
      echo "* * * * * sleep 20;/usr/bin/iostat -mx > /tmp/iostat_output 2>&1" >>/var/spool/cron/root
      echo "* * * * * sleep 40;/usr/bin/iostat -mx > /tmp/iostat_output 2>&1" >>/var/spool/cron/root

    7、添加下述内容至zabbix agent配置文件中

    UserParameter=io.scandisk[*],/etc/zabbix/scripts/disk_scan.sh $1
    UserParameter=io.rrqm[*],/usr/bin/tail /tmp/iostat_output |grep "$1"|tail -1|awk '{print $$2}'
    UserParameter=io.wrqm[*],/usr/bin/tail /tmp/iostat_output |grep "$1"|tail -1|awk '{print $$3}'
    UserParameter=io.rps[*],/usr/bin/tail /tmp/iostat_output |grep "$1"|tail -1|awk '{print $$4}'
    UserParameter=io.wps[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$5}'
    UserParameter=io.rMBps[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$6}'
    UserParameter=io.wMBps[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$7}'
    UserParameter=io.avgrq-sz[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$8}'
    UserParameter=io.avgqu-sz[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$9}'
    UserParameter=io.await[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$10}'
    UserParameter=io.r_await[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$11}'
    UserParameter=io.w_await[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$12}'
    UserParameter=io.svctm[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$13}'
    UserParameter=io.util[*],/usr/bin/tail /tmp/iostat_output |grep "$1" |tail -1|awk '{print $$14}'

    8、重启zabbix-agent服务

    systemctl restart zabbix-agent.service

    二、服务器端操作如下

    1、获取数据测试

    [root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda]
    0.23
    [root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda]
    0.23
    [root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rps[sda]
    0.00
    [root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rMBps[sda]
    0.00

    2、创建模板

    模板名称: Template Disk Discovery

     名称:Disk discovery   键值:io.scandisk

    3、创建自动发现规则

     第一个监控项原型示例,其余规则据按照此模型创建即可!!!

     

    创建好的模型如下:

     4、创建图形原型

    5、创建触发器

     

    三、最终结果

  • 相关阅读:
    linux安装日志切割程序
    Linux下安装JDK
    深入理解Java注解类型(@Annotation)
    23种设计模式--代理模式-Proxy
    23种设计模式--建造者模式-Builder Pattern
    23种设计模式--工厂模式-Factory Pattern
    23种设计模式
    Java集合框架学习笔记
    MySQL入门笔记(一)
    二进制运算基础
  • 原文地址:https://www.cnblogs.com/huangyanqi/p/9073601.html
Copyright © 2011-2022 走看看