1. 程式人生 > >zabbix之磁碟效能監控

zabbix之磁碟效能監控

iostat統計磁碟資訊的時候,使用的是/proc/diskstats ,cat /proc/diskstats顯示如下

0 ram0 0 0 0 0 0 0 0 0 0 0 0
  1 ram1 0 0 0 0 0 0 0 0 0 0 0
  2 ram2 0 0 0 0 0 0 0 0 0 0 0
  3 ram3 0 0 0 0 0 0 0 0 0 0 0
  4 ram4 0 0 0 0 0 0 0 0 0 0 0
  5 ram5 0 0 0 0 0 0 0 0 0 0 0
  6 ram6 0 0 0 0 0 0 0 0 0 0 0
  7 ram7 0 0 0 0 0 0 0 0 0 0 0
  8 ram8 0 0 0 0 0 0 0 0 0 0 0
  9 ram9 0 0 0 0 0 0 0 0 0 0 0
 10 ram10 0 0 0 0 0 0 0 0 0 0 0
 11 ram11 0 0 0 0 0 0 0 0 0 0 0
 12 ram12 0 0 0 0 0 0 0 0 0 0 0
 13 ram13 0 0 0 0 0 0 0 0 0 0 0
 14 ram14 0 0 0 0 0 0 0 0 0 0 0
 15 ram15 0 0 0 0 0 0 0 0 0 0 0
  0 loop0 0 0 0 0 0 0 0 0 0 0 0
  1 loop1 0 0 0 0 0 0 0 0 0 0 0
  2 loop2 0 0 0 0 0 0 0 0 0 0 0
  3 loop3 0 0 0 0 0 0 0 0 0 0 0
  4 loop4 0 0 0 0 0 0 0 0 0 0 0
  5 loop5 0 0 0 0 0 0 0 0 0 0 0
  6 loop6 0 0 0 0 0 0 0 0 0 0 0
  7 loop7 0 0 0 0 0 0 0 0 0 0 0
  0 sda 3836 1551 149462 7579 3762686 31005542 278146400 23009652 0 14464012 23013470
  1 sda1 668 242 24098 267 8 2 32 40 0 283 306
  2 sda2 3015 1309 124140 7239 3762678 31005540 278146368 23009612 0 14463763 23013091
  0 sr0 0 0 0 0 0 0 0 0 0 0 0
  0 dm-0 3639 0 118434 13132 34768259 0 278146072 392988355 0 14464578 393025110
  1 dm-1 300 0 2400 523 0 0 0 0 0 213 523
  2 dm-2 321 0 2562 283 37 0 296 266 0 317 549

這個命令用於顯示磁碟、分割槽和統計資訊

sda為整個硬碟的統計資訊

sda1為第一個分割槽的統計資訊

sda2為第二個分割槽的統計資訊。

ramdisk裝置為通過軟體將RAM當做硬碟來使用的一項技術。

硬碟引數詳解如下:

 8   0   sda    3836        1551       149462      7579           3762686    31005542       278146400    23009652            0                      14464012                 23013470
    編號  裝置  讀完成次數  合併完成次數   讀扇區次數   讀操作花費毫秒數   寫完成次數   合併寫完成次數   寫扇區次數   寫操作花費的毫秒數     正在處理的輸入/輸出請求數   輸入/輸出操作花費的毫秒數   輸入/輸出操作花費的加權毫秒數。

有了這些資訊我們就可以新增進zabbix進行監控

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介面—》配置—》模板—建立模板,或者直接在現有的Linux模板下新增監控項
在這裡插入圖片描述
配置第一個監控項

 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操作的輸入輸出沒有配置監控項,主要監控的是磁碟的讀寫情況,接著新增相應的圖形即可
在這裡插入圖片描述

原文地址:https://www.cnblogs.com/w787815/p/7261091.html