设为首页 收藏本站
查看: 1235|回复: 0

[经验分享] Zabbix discovery disk 监控

[复制链接]

尚未签到

发表于 2015-11-23 13:43:39 | 显示全部楼层 |阅读模式
Zabbix discovery Disk 监控
  首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!  

我会在当天或者第二天及时回复,并且改进~~
  Zabbix自带的“Template OS Linux”模板支持监控已挂载的磁盘空间利用率,是利用LLD(Low-level discovery)实现的,但是却不能监控磁盘IO,下面这篇文章主要是介绍通过Discovery rule来实现对磁盘IO的监控。
  一、建立Zabbix_Agentd的key


确保之前已经修改过zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
添加Zabbix_Agentd识别key的路径

好,现在我们来添加监控disk的Key
cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
touch disk_status_key
下面是disk_status_key的内容

{
UserParameter=vfs.fs.scandisk
  • ,/usr/local/zabbix/shell/disk_scan.sh $1
    UserParameter=custom.vfs.dev.read.ops
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$4}'
    UserParameter=custom.vfs.dev.read.ms
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$7}'
    UserParameter=custom.vfs.dev.write.ops
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$8}'
    UserParameter=custom.vfs.dev.write.ms
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$11}'
    UserParameter=custom.vfs.dev.io.active
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$12}'
    UserParameter=custom.vfs.dev.io.ms
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$13}'
    UserParameter=custom.vfs.dev.read.sectors
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$6}'
    UserParameter=custom.vfs.dev.write.sectors
  • ,cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$10}'
    }
      二、建立discovery Disk 脚本


    这里我先说明一下,我这边Server中都是sda硬盘,所以在下面'diskarray'磁盘数组中填入了'sda'
    有需要的同学请自行修改
    cd /usr/local/zabbix/shell
    touch disk_scan.sh

    {
    #!/bin/bash
    #Written by zijin
    #2014-08-05
    #get local disk name
    #脚本运行结果格式为
    #{
    #     "data":[
    #         {"{#DISK_NAME}":"sda"}
    #         {"{#DISK_NAME}":"sdb"}
    #     ]
    #}
    function get_disk_name () {
    diskarray=($(cat /proc/diskstats|egrep "\b$1\b"|awk '{print $3}'|sort|uniq   2>/dev/null))
    #暂时只画硬盘sda的图
    diskarray=(sda)
    function printf_disk_name () {
    length=${#diskarray[@]}
    for ((i=0;i<${length};i++));do
    if [ $i -lt $[${length}-1] ];then
    printf "{ \"{#DISK_NAME}\":\"${diskarray[$i]}\" },\n"
    else
    printf "{ \"{#DISK_NAME}\":\"${diskarray[$i]}\" }\n"
    fi
    done
    }
    printf "{ \"data\":[\n"
    printf_disk_name
    printf "]}"
    }
    get_disk_name $1
    exit 0
    }
      三、在 Template OS Linux 中创建 discovery rule


    打开Zabbix Web页面,configure-templates-Template OS Linux
    点击discovery
    DSC0000.jpg


    右上角新建discovery rule
    下面附图,key对应这我刚才在Include路径下设置的key
    下面的Zabbix agent 也可以改成 Zabbix agent (Active),这样agent变为主动模式,使Server负载更小。
    DSC0001.jpg
      四、在前面创建的Disk status disvovery 中添加项目原型


    大家可以理解为,前一步我们创建了角色,现在我们需要添加角色所扫描的任务,也就是item,下面附图:

    点击 item prototypes
    点击右上角的 Create item prototype
    下面是我的详细配置,有几点需要注意
    1、名称中 $1 为变量
    2、Units 为 B_Writ
    3、Store value 为每秒速率
    DSC0002.jpg
      我在这边创建了两个item

    • IO InBlocks on {#DISK_NAME}
    • IO OutBlocks on {#DISK_NAME}
    DSC0003.jpg
      五、创建 Graphs


    上一步我们已经创建了两个监控项,那么如何将监控的信息通过图形呈现出来呢?
    好,下面我们来创建Graphs,并将item添加进去
    单击 Graphs prototypes-Create graphs prototypes
    DSC0004.jpg

    DSC0005.jpg
      六、在Screen中列出graphs

    DSC0006.jpg

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142677-1-1.html 上篇帖子: Install Zabbix Server On CentOS5 下篇帖子: 1.0 Zabbix 2.4 快速部署
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表