Zabbix實戰-簡易教程--低層次發現(LLD)

1、概述

自動發現(LLD)提供了一種在爲不一樣實體自動建立監控項,觸發器和圖形的方法。例如,Zabbix能夠在你的機器上自動監控磁盤或網卡,而無需爲每一個磁盤或網卡手動建立監控項。(LLD)html

此外,能夠配置Zabbix根據按期執行發現後的獲得實際結果,來移除不須要的監控項。(根據正則過濾)linux

 

2、類型

在Zabbix中,支持六種類型的發現項目:ios

  • 系統文件的發現;
  • 網絡接口的發現;
  • CPU和CPU內核的發現
  • SNMP OID的發現
  • 使用ODBC SQL查詢的發現
  • Windows服務的發現

 

3、流程

發現過程的流程以下。git

首先,用戶在「配置」→「模板」→「自動發現」列中建立一個發現規則。發現規則包括(1)發現必要實體(例如,磁盤或網卡)的項目和(2)應該根據該項目的值建立的監控項,觸發器和圖形的原型。github

其次,用戶也能夠本身定義發現類型,只要它們遵循特定的JSON協議。flask

 

4、查看自帶LLD

一、咱們先查看系統自帶的LLD,選擇  模板管理-->自動發現

二、查看到,系統自帶的2個LLD

 

三、隨便點擊一個,好比,咱們點擊文件系統的這個

 

四、查看具體監控項

須要說的是:{#FSNAME}爲宏變量,宏變量,咱們以前已經說過,請參考:http://www.cnblogs.com/skyflask/p/7523535.htmlbash

5、自定義LLD(實例)

流程:(好比採集linux機器上全部磁盤IO)網絡

一、自定義key

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

cat  /etc/zabbix/externalscripts/disk.sh3d

#!/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"

  

二、設置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}'

 

三、設置模板

 

上面忘記說了,咱們還能夠對發現的磁盤經過正則進行過濾,正則詳情參考:http://www.cnblogs.com/skyflask/p/7520829.html

 

四、效果圖

 最後,選定一臺主機,將模板綁到他上面,就能夠看到效果了:

 

 

 

 

6、參考文件和腳本

腳本地址:https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-template-disk/disk.sh

模板地址:https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-disk

參考文獻:無

相關文章
相關標籤/搜索