Zabbix系列之七——新增磁碟IO監測
zabbix給我們提供了一些較常用的監控模板,但現在我們如果想要監控我們磁碟的IO,這時候zabbix並沒有給我們提供這麼一個模板,所以我們需要自己來建立一個模板來完成磁碟IO的監控。1、
[[email protected] ~]# iostat Linux 2.6.32-431.el6.x86_64 (pcidata-svr1) 2018年10月31日 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.93 0.00 0.74 0.65 0.00 97.68 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn scd0 0.00 0.00 0.00 360 0 sda 48.42 11.98 1768.03 128702020 18988493968
在linux系統中可以使用iostat命令檢視磁碟io效能,單獨執行iostat,顯示的結果為從系統開機到當前執行時刻的統計資訊。以上輸出中,除最上面指示系統版本、主機名和日期的一行外,另有兩部分:avg-cpu: 總體cpu使用情況統計資訊,對於多核cpu,這裡為所有cpu的平均值;Device: 各磁碟裝置的IO統計資訊.2、
[[email protected] ~]# iostat -dxkt Linux 2.6.32-431.el6.x86_64 (pcidata-svr1) 2018年10月31日 _x86_64_ (4 CPU) 2018年10月31日 10時05分17秒 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util scd0 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 1.07 1.07 0.00 sda 0.01 172.80 0.21 48.21 5.99 884.02 36.77 0.15 3.18 1.38 6.66
rrqm/s: 每秒對該裝置的讀請求被合併次數,檔案系統會對讀取同塊(block)的請求進行合併wrqm/s: 每秒對該裝置的寫請求被合併次數r/s: 每秒完成的讀次數w/s: 每秒完成的寫次數rkB/s: 每秒讀資料量(kB為單位)wkB/s: 每秒寫資料量(kB為單位)avgrq-sz:平均每次IO操作的資料量(扇區數為單位)avgqu-sz: 平均等待處理的IO請求佇列長度await: 平均每次IO請求等待時間(包括等待時間和處理時間,毫秒為單位)svctm: 平均每次IO請求的處理時間(毫秒為單位)%util: 採用週期內用於IO操作的時間比率,即IO佇列非空的時間比率3、接下來我們在agentd中新增自定義監控項在/etc/zabbix/zabbix_agentd.d下新增userparameter, 檔案內容如下:
UserParameter=custom.vfs.dev.read.[*],cat /home/zabbix/disk.txt |grep $1 |tail -1 |awk '{print $$3}' UserParameter=custom.vfs.dev.write.[*],cat /home/zabbix/disk.txt |grep $1 |tail -1 |awk '{print $$4}'
4、然後在後臺寫個指令碼生成的記錄儲存到disk.txt中。[[email protected] ~]$ cat IO_Status.sh #!/bin/bash iostat 20 >> disk.txt 5、配置zabbix模板 key值新增相應碟符:custom.vfs.dev.read.[sde] 6、最後呈現的圖形結果