1. 程式人生 > >zabbix 系統IO監控

zabbix 系統IO監控

zabbix iostat io

# 軟件介紹 iostat

# 使用iostat 需先安裝sysstat軟件包, 系統包中有帶


# iostat用於輸出CPU和磁盤I/O相關統計信息


# iostat可以顯示CPU和I/O系統的負載情況及分區狀態信息.

直接執行iostat可以顯示下面內容:


[[email protected] ~]$ iostat

Linux 2.6.32-358.el6.x86_64 (template.xx.xx) 07/14/2017 _x86_64_ (32 CPU)


avg-cpu: %user %nice %system %iowait %steal %idle

2.93 0.00 0.20 0.04 0.00 96.83


Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

sda 0.66 6.60 14.79 462593198 1036802588

sdc 0.20 1.60 0.00 112173840 0

sdb 25.46 453.65 582.45 31805540026 40835922808

scd0 0.00 0.00 0.00 5012 0

dm-0 25.21 453.64 582.45 31805251514 40835922808

dm-1 1.89 6.35 14.55 445409130 1020026016

dm-2 0.06 0.24 0.24 17154880 16776296


# cpu段配置說明

avg-cpu

%user : 用戶空間使用CPU百分比

%nice : nice使用

%system : 系統(kernel)使用cpu百分比

%iowait : cpu等待硬盤I/O時,所占用的百分比

%steal : 系統偷出CPU的百分比 (不知道什麽鬼,求解釋)

%idle : 系統空閑百分比


# Device磁盤段配置說明

tps : 每秒鐘發送到I/O請求數

Blk_read/s : 每秒從磁盤讀出的的數據量,單位B

Blk_wrtn/s : 每秒從磁盤寫入的的數據量,單位B

Blk_read : 開機始從磁盤讀出的數據總量

Blk_wrtn : 開機始從磁盤寫入的數據總量


# 命令使用

iostat 1 # 每秒刷新一次

iostat -k # 以KB為單位 默認B

iostat -m # 以MB為單位

iostat -v # 顯示版本號

iostat -c # 僅顯示CPU

iostat -d # 僅顯示磁盤


################## dm設備監控大概思路 ##################################


#查看dm對應設備號是哪一個

[[email protected] ~]# dmsetup ls

mpathb (253:0)

vg_sys-LogVol01 (253:1)

vg_sys-LogVol00 (253:2)


# 找到設備號對應信息

[[email protected] ~]# ll /dev/mapper/

total 0

crw-rw----. 1 root root 10, 58 Apr 25 2015 control

lrwxrwxrwx. 1 root root 7 Apr 25 2015 mpathb -> ../dm-0

lrwxrwxrwx. 1 root root 7 Apr 25 2015 vg_sys-LogVol00 -> ../dm-2

lrwxrwxrwx. 1 root root 7 Apr 25 2015 vg_sys-LogVol01 -> ../dm-1


# 再檢查設備掛載目錄,比如swap就可不用監控,一般也不會往裏寫入數據

[[email protected] ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Sat Apr 25 01:09:22 2015

#

/dev/mapper/vg_sys-LogVol01 / ext4 defaults 1 1

/dev/mapper/vg_sys-LogVol00 swap swap defaults 0 0

/dev/mapper/mpathb /home ext4 defaults 1 0


# 找著對應的目錄了,以及磁盤信息了,咱只需要監控 sda sdc sdb 三個設備就行,

# sdb = dm-0 + dm-2 LVM磁盤




############### 在需要監控的機器中增加這個腳本 #########################

# 腳本文件

[[email protected] script]# cat system_io.sh 
#!/bin/bash
#
set -e

abc=`/usr/bin/iostat -k | grep $1`
echo "$abc" > /tmp/1.txt

case $2 in
read)
        awk ‘{print $3}‘ /tmp/1.txt ;;
wrtn)
        awk ‘{print $4}‘ /tmp/1.txt ;;
*)
        echo " Please Use read | wrtn , Use ./bash.sh sdb read|wrtn "
esac


# 最後需要配置文件中在zabbix_agentd.conf中增加這行

UserParameter=sys.io[*],/usr/local/zabbix/script/system_io.sh $1 $2




# 在服務器端測試是腳本是否可以

[[email protected] bin]# zabbix_get -s ipaddress -p port -k sys.io[sdb,read]

226.81

[[email protected] bin]# zabbix_get -s ipaddress -p port -k sys.io[sdb,wrtn]

291.21


# 可能會報權限錯誤,如果運行前有執行過腳本的話,需要刪除/tmp/1.txt文件


擴展:dm設備詳解 http://blog.chinaunix.net/uid-26230811-id-3265484.html

iostat詳解 http://blog.csdn.net/zhangjay/article/details/6656771


# 模板明天添加 2017年07月14日 18:15:06

本文出自 “xiong” 博客,請務必保留此出處http://xiong51.blog.51cto.com/5239058/1947663

zabbix 系統IO監控