1. 程式人生 > >zabbix3.0監控磁碟IO與自定義模板

zabbix3.0監控磁碟IO與自定義模板

引言

在前面的部落格中我們介紹了zabbix自帶的模板,並且完成了我們的一些比較常用的監控,現在我們如果想要監控我們磁碟的IO,這時候zabbix並沒有給我們提供這麼一個模板,所以我們需要自己來建立一個模板來完成磁碟IO的監控。

  1. 新增userparameter_io.conf配置檔案

在/etc/zabbix/zabbix_agentd.d下新增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}'                       //花費在IO操作上的毫秒數
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'             //讀扇區的次數(一個扇區的等於512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'          //寫扇區的次數(一個扇區的等於512B)

2、重啟zabbix-agent服務
systemctl restart zabbix-agent

3、測試zabbix-server獲取資料

#zabbix_get -s 目標伺服器IP -p 10050 -k custom.vfs.dev.write.ops[sda]  

4、配置zabbix-server模板

進入web介面—》配置—》模板—建立模板

在這裡插入圖片描述

5、配置監控項

進入到模板列表頁面,找到我們剛剛建立的Templae io模板,點選後面監控項,然後點選建立監控項
在這裡插入圖片描述

配置第一個監控項

Name: Disk:$1:Read:Bytes/sec
Key: custom.vfs.dev.read.sectors[sda]
Units: B/sec
Store value: speed per second //會進行差值計算
Use custom multiplier 512 //會對值乘以512,因為這裡是一個扇區,轉換為位元組為512B
在這裡插入圖片描述

第二監控項:和第一個一樣的配置過程

              Name:Disk:$1:Write:Bytes/sec
              Key:          custom.vfs.dev.write.sectors[sda]
              Units:        B/sec
              Store value: speed per second
              Use custom multiplier     512

第三個監控項配置引數:

             Name:Disk:$1:Read:ops per second
              Key:          custom.vfs.dev.read.ops[sda]
              Units:        ops/second
              Store value: speed per second

第四個監控項配置引數:

             Name: Disk:$1:Write:ops per second
              Key:          custom.vfs.dev.write.ops[sda]
              Units:        ops/second
              Store value: speed per second

第五個監控項配置引數:

             Name: Disk:$1:Read:ms
              Key:         custom.vfs.dev.read.ms[sda]
              Units:      ms
              Store value: speed per second

第六個監控項配置引數:

             Name:Disk:$1:Write:ms
              Key:         custom.vfs.dev.write.ms[sda]
              Units:      ms
              Store value: speed per second

上面我們就完成了對IO的監控,但是我們也想和zabbix自帶的那樣的模板一樣,可以看到監控以後的圖形,當然這也是可以做到的,下面就介紹圖形的新增。

5、新增圖形

返回到模板的列表頁面,找到我們建立的模板Template io 然後點選後面的圖形—》建立圖形
在這裡插入圖片描述

點選新增—》選擇我們配置的監控項
在這裡插入圖片描述

這樣我們就完成了整個自定義模板的配置,我們現在就可以檢視監控的資料了。

我們就拿之前部落格中監控的機器來做實驗,但是我們之前這臺機器用了zabbix自帶的模板 Template os Linux ,現在我們自己自定義了一個模板,那麼怎麼辦呢?zabbix設計的還是非常人性的。模板之間是繼承關係的!

我們回到給被監控的主機的哪一步,選擇我們自定義的模板!
在這裡插入圖片描述

這樣我們就可以檢視結果了 檢測中—》圖形

小結

到這我們就完成了自定義模板的配置,順便把監控磁碟IO也完成了!