基於Zabbix的MegaRAID陣列卡狀態監控

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測試

1、部署說明:

部署部分分爲Linux操做系統及Windows操做系統
此文中Linux部分使用CentOS,兼容CentOS 5/6/7
Windows部分使用Windows Server 2008R2,兼容Windows Server 2003/2008/2012/2016ui

一、下載 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」

二、在zabbix web上導入模板並添加主機監控

下載模板文件:Template_Hardware_MegaRAID.xml(由zabbix 3.2導出)
等待數據採集,經過Zabbix Web上的Monitoring->Latest data便可看到陣列卡的狀態信息,下面是樣例(點擊看大圖)

2、自定義監控擴展說明

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陣列卡狀態監控/

相關文章
相關標籤/搜索