天天看點

zabbix監控伺服器raid狀态,基于Zabbix的MegaRAID陣列卡狀态監控

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      # 實體磁盤自動發現規則