MegaRAID監控特性:linux
原生linux shell/windows批處理腳本,兼容性更好web
基於Zabbix LLD自動發現,自動發現RAID卡適配器,RAID陣列組及物理磁盤(目前網絡上僅支持自動發現物理磁盤)shell
精準識別RAID陣列級別、陣列磁盤數量及熱備盤數量,目前可以精準識別RAID0、一、五、六、10windows
部署簡單,一次部署,輕鬆使用,擴展監控項僅需在Web界面配置緩存
系統要求:服務器
zabbix版本>=2.0網絡
系統載體必須爲物理服務器,而且陣列卡品牌爲LSI,支持大部分DELL陣列卡(陣列卡型號H310/H330/H730等測試經過)ide
MegaRAID監控腳本及模板下載地址:
打包下載:MegaRAID-Monitoring.zip
模板下載:Template_Hardware_MegaRAID.xml測試
部署部分分爲Linux操做系統及Windows操做系統
此文中Linux部分使用CentOS,兼容CentOS 5/6/7
Windows部分使用Windows Server 2008R2,兼容Windows Server 2003/2008/2012/2016ui
Linux部署說明:
① 解壓後拷貝MegaRAID-Monitoring/linux/scripts文件夾下的全部腳本文件至被監控服務器並賦予執行權限,此處假設爲/etc/zabbix/scripts(若目錄不存在請自行建立)
cp MegaRAID-Monitoring/linux/scripts/* /etc/zabbix/scripts/ chmod +x /etc/zabbix/scripts/MegaRAID_*.sh
② 拷貝MegaRAID-Monitoring/linux/conf/userparameter_MegaRAID.conf配置文件至被監控服務器,此處假設爲/etc/zabbix/zabbix_agentd.d/(zabbix agent默認配置文件路徑)
cp MegaRAID-Monitoring/linux/conf/userparameter_MegaRAID.conf /etc/zabbix/zabbix_agentd.d/
注意:linux和windows的配置文件userparameter_MegaRAID.conf不是一個文件
zabbix_agentd.conf中必須包含Include=/etc/zabbix/zabbix_agentd.d/*.conf
若腳本文件不在/etc/zabbix/scripts/目錄下,請修改userparameter_MegaRAID.conf中的腳本文件路徑爲實際腳本文件路徑
③ 安裝MegaRAID-Monitoring/linux/MegaCli-8.07.14-1.noarch.rpm
rpm -ivh MegaRAID-Monitoring/linux/MegaCli-8.07.14-1.noarch.rpm
④ 配置sudoers
cat >> /etc/sudoers << EOF ## Zabbix Configure Defaults:zabbix !requiretty zabbix ALL=(ALL) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64 EOF
⑤ 重啓zabbix agent
CentOS 5 & CentOS 6
$ service zabbix-agent restart
CentOS 7
$ systemctl restart zabbix-agent
Windows部署說明:
① 解壓後拷貝MegaRAID-Monitoring/windows/MegaCli目錄至C:\program files
② 解壓後拷貝MegaRAID-Monitoring/windows/scripts文件夾下的全部腳本文件至被監控服務器,此處假設爲C:\program files\zabbix\scripts(若目錄不存在請自行建立)
③ 拷貝MegaRAID-Monitoring/windows/conf/userparameter_MegaRAID.conf配置文件至被監控服務器,此處假設爲C:\program files\zabbix\conf\zabbix_agentd.d
注意:linux和windows的配置文件userparameter_MegaRAID.conf不是一個文件
zabbix_agentd.conf中必須包含Include=C:\Program Files\zabbix\conf\zabbix_agentd.d\*.conf
若腳本文件不在C:\program files\zabbix\scripts目錄下,請修改userparameter_MegaRAID.conf中的腳本文件路徑爲實際腳本文件路徑
④ 重啓zabbix agent
運行cmd,輸入如下命令重啓服務
net stop 「Zabbix Agent」
net start 「Zabbix Agent」
下載模板文件:Template_Hardware_MegaRAID.xml(由zabbix 3.2導出)
等待數據採集,經過Zabbix Web上的Monitoring->Latest data便可看到陣列卡的狀態信息,下面是樣例(點擊看大圖)
MegaRAID監控提供了在線Web添加監控項的功能,方便用戶自定義添加監控內容
監控Key說明:在MegaRAID監控中,使用了7個自定義的監控Key,分別爲:
MegaRAID.Adapter.discovery # RAID陣列卡適配器自動發現(返回JSON數據)
MegaRAID.Adapter.Info[*] # RAID陣列卡適配器狀態監控(陣列卡ID+參數,例如獲取陣列卡0的緩存大小:」MegaRAID.Adapter.Info[0,Memory Size]」,參數不區分大小寫)
MegaRAID.VDisk.discovery # RAID陣列自動發現(返回JSON數據)
MegaRAID.VDisk.Info[*] # RAID陣列狀態監控(陣列ID+參數,例如獲取陣列0的狀態:」MegaRAID.VDisk.Info[0,State]」,參數不區分大小寫)
MegaRAID.VDisk.RAIDLevel[*] # RAID陣列級別及磁盤數量監控(陣列ID,例如獲取陣列0的信息:」MegaRAID.VDisk.RAIDLevel[0]」)
MegaRAID.PDisk.discovery # 物理磁盤自動發現(返回JSON數據)
MegaRAID.PDisk.Info[*] # 物理磁盤狀態監控(物理磁盤ID+參數,例如獲取磁盤ID爲252:1的類型:」MegaRAID.PDisk.Info[252:1,PD Type]」,參數不區分大小寫)
補充說明:若沒法獲取指定參數或者參數不存在,則返回字符串」Unknown」
獲取參數的方法:
/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog # 獲取RAID陣列卡適配器參數列表
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL -NoLog # 獲取RAID陣列參數列表
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL -NoLog # 獲取物理磁盤參數列表
參數僅需填寫冒號左邊的字符串,例如:獲取RAID陣列卡適配器的緩存大小
使用/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog獲得」Memory Size : 256MB」,則參數僅需填寫」Memory Size」
若沒法肯定參數是否正確,可以使用命令來確認:
zabbix_agentd -t 「MegaRAID.Adapter.Info[0,Memory Size]」
MegaRAID.Adapter.Info[0,Memory Size] [t|256MB]
爲確保自定義的監控可以應用在每一個RAID陣列卡適配器(RAID陣列/物理磁盤)上,請在模板中相對應的自動發現規則中添加,建議使用克隆的方式添加新的監控項,自動發現規則列表:
MegaRAID Adapter discovery # RAID陣列卡適配器自動發現規則
MegaRAID VirtualDisk discovery # RAID陣列自動發現規則
MegaRAID PhysicalDisk discovery # 物理磁盤自動發現規則
轉載:http://www.madown.com/2017/09/26/基於zabbix的megaraid陣列卡狀態監控/