MegaRAID監控特性:原生linux shell/windows批處理腳本,相容性更好
基于Zabbix LLD自動發現,自動發現RAID卡擴充卡,RAID陣列組及實體磁盤(目前網絡上僅支援自動發現實體磁盤)
精準識别RAID陣列級别、陣列磁盤數量及熱備盤數量,目前能夠精準識别RAID0、1、5、6、10
部署簡單,一次部署,輕松使用,擴充監控項僅需在Web界面配置
系統要求:zabbix版本>=2.0
系統載體必須為實體伺服器,并且陣列卡品牌為LSI,支援大部分DELL陣列卡(陣列卡型号H310/H330/H730等測試通過)
一、部署說明:
部署部分分為Linux作業系統及Windows作業系統
此文中Linux部分使用CentOS,相容CentOS 5/6/7
Windows部分使用Windows Server 2008R2,相容Windows Server 2003/2008/2012/2016
1、下載下傳MegaRAID-Monitoring.zip并解壓部署
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”
2、在zabbix web上導入模闆并添加主機監控
下載下傳模闆檔案: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 # 實體磁盤自動發現規則