码迷,mamicode.com
首页 > 其他好文 > 详细

Zabbix实战-简易教程--低层次发现(LLD)

时间:2017-09-17 22:52:52      阅读:425      评论:0      收藏:0      [点我收藏+]

标签:模板   uniq   根据   win   code   图形   proc   使用   自动监控   

一、概述

自动发现(LLD)提供了一种在为不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项。(LLD)

此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控项。(根据正则过滤)

 

二、类型

在Zabbix中,支持六种类型的发现项目:

  • 系统文件的发现;
  • 网络接口的发现;
  • CPU和CPU内核的发现
  • SNMP OID的发现
  • 使用ODBC SQL查询的发现
  • Windows服务的发现

 

三、流程

发现过程的流程如下。

首先,用户在“配置”→“模板”→“自动发现”列中创建一个发现规则。发现规则包括(1)发现必要实体(例如,磁盘或网卡)的项目和(2)应该根据该项目的值创建的监控项,触发器和图形的原型。

其次,用户也可以自己定义发现类型,只要它们遵循特定的JSON协议。

 

四、查看自带LLD

1、我们先查看系统自带的LLD,选择  模板管理-->自动发现

技术分享

2、查看到,系统自带的2个LLD

技术分享

 

3、随便点击一个,比如,我们点击文件系统的这个

技术分享

 

4、查看具体监控项

技术分享

需要说的是:{#FSNAME}为宏变量,宏变量,我们之前已经说过,请参考:http://www.cnblogs.com/skyflask/p/7523535.html

五、自定义LLD

流程:(比如采集linux机器上所有磁盘IO)

1、自定义key

UserParameter=custom.vfs.dev.discovery,/bin/sh /etc/zabbix/externalscripts/disk.sh

cat  /etc/zabbix/externalscripts/disk.sh

#!/bin/bash
diskarray=(`cat /proc/diskstats |grep -E "\bvd[a-z]\b|\bhd[a-z]\b|\bsd[a-z]\b|\bc0d0p[0-9]\b"|grep -i "\b$1\b"|awk ‘{print $3}‘|sort|uniq   2>/dev/null`)
length2=${#diskarray[@]}
printf "{\n"
printf  ‘\t‘"\"data\":["
for ((i=0;i<$length2;i++))
do
    printf ‘\n\t\t{‘
    printf "\"{#DISK}\":\"${diskarray[$i]}\"}"
    if [ $i -lt $[$length2-1] ];then
            printf ‘,‘
    fi
done
printf  "\n\t]\n"
printf "}\n"

  

2、设置item

# reads completed successfully
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$4}
# sectors read
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$6}
# time spent reading (ms)
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$7}
# writes completed
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$8}
# sectors written
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$10}
# time spent writing (ms)
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$11}
# I/Os currently in progress
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$12}
# time spent doing I/Os (ms)
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk {print $$13}
#IOPS
UserParameter=custom.vfs.dev.util[*],iostat -x -d -c 1 1|egrep $1|awk {print $NF}

 

3、设置模板

技术分享

 

上面忘记说了,我们还可以对发现的磁盘通过正则进行过滤,正则详情参考:http://www.cnblogs.com/skyflask/p/7520829.html

技术分享

 

4、绑定主机

 最后,选定一台主机,将模板绑到他上面,就可以看到效果了:

技术分享

 

技术分享

 

 技术分享

技术分享

技术分享

技术分享

 

Zabbix实战-简易教程--低层次发现(LLD)

标签:模板   uniq   根据   win   code   图形   proc   使用   自动监控   

原文地址:http://www.cnblogs.com/skyflask/p/7538324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!