nagios監控dell服務器
Server:
check_openmanage 是一個 Nagios 的插件,它基於 OMSA 獲取相關的報道信息,用來檢測安裝有 OpenManage Server Administrator (OMSA) 的戴爾服務器的運行狀態,包括存儲系統、電源、溫度等信息。
官網:http://folk.uio.no/trondham/software/check_openmanage.html
最新版本下載鏈接:http://folk.uio.no/trondham/software/files/check_openmanage-3.7.12.tar.gz
nagios提供了兩種方式進行監控信息的獲取。
1、nagios 服務器端 check_nrpe 調用被監控端的 check_openmanage 來實現,這種方式要在被監控端安裝 OMSA 和 check_openmanage,check_nrpe會消耗服務器性能,不建議使用
2、nagios 服務器端直接通過 check_openmanage 來遠程監控。這種方式要在 nagios 服務器端安裝 perl-Net-SNMP,在被監控端安裝SNMP和OMSA。這種方式也適合使用zabbix的運維監控環境。
1、安裝 perl-Net-SNMP
[root@localhost src]# yum install -y perl-Net-SNMP
2、check_openmanage安裝
[root@localhost src]# tar zxvf check_openmanage-3.7.12.tar.gz [root@localhost src]# cd check_openmanage-3.7.12 [root@localhost check_openmanage-3.7.12]# cp check_openmanage /usr/local/nagios/libexec [root@localhost check_openmanage-3.7.12]# cd /usr/local/nagios/libexec [root@localhost libexec]# chown nagios:nagios check_openmanagenew [root@localhost libexec]# ./check_openmanage --help 【通用選項】 -f,--config # 指定配置文件 -p,--perfdata # 輸出性能數據,常和--only連用,不要和-d連用 -t,--timeout 時間值 # 設定check_openmanage的執行超時時間 -c,--critical # 自定義溫度的critical閾值 -w,--warning # 自定義溫度的warning閾值 -F,--fahrenheit # 使用華氏溫度作爲溫度單位 -d,--debug # 顯示所有檢查項目 -h,--help # 獲取check_openmanage幫助信息 -V,--version # 獲取check_openmanage的版本信息 【SNMP選項】 -H,--hostname # 使用snmp協議,獲取指定主機名或ip的服務器硬件信息 -C,--community # 自定義snmp的團體名,默認爲public -P,--protocol # 自定義snmp的協議版本,默認爲2c --port # 自定義snmp的端口號,默認爲161 -6,--ipv6 # 使用ipv6替代ipv4,默認爲no --tcp # 使用TCP協議替代UDP協議,默認爲no 【輸出選項】 -i,--info # 輸出的警告信息加上服務器的SN號作爲前綴 -e,--extinfo # 輸出系統信息 -s,--state # 輸出的信息之前自帶警告級別,如warning或critical -S,--short-state # 輸出的信息之前自帶警告級別縮寫,如W或C -o,--okinfo # 輸出信息爲一行(默認) -B,--show-blacklist # 輸出黑名單列表信息,如果加入黑名單的信息多了,可以通過-B查看黑名單的列表信息 -I,--htmlinfo # 輸出帶可點擊鏈接的html格式信息 【檢查控制和黑名單】 -a,--all # 獲取日誌統計和詳細日誌輸出 -b,--blacklist component=ID號 # 黑名單,指定某個組件的指定ID信息不顯示。ID信息通過./check_openmanage -d可以看到。./check_openmanage -H 10.15.98.177 -d --only # 僅輸入某項監控數據 --check component=[0|1],esmlog=[0|1] # 檢查單個項目或組合項目,0爲不檢查,1爲檢查,單獨使用 --no-storage # 不檢查存儲信息 --vdisk-critical # 將虛擬磁盤的任何警告都提升爲崩潰級別critical 【自定義輸出信息】 --postmsg '自定義信息' # 在輸出的結尾輸出該自定義信息 在自定義信息中,我們可以使用如下變量 %m # 系統型號 %s # 系統SN號 %b # BIOS版本 %d # BIOS髮型時間 %o # 操作系統名稱 %r # 操作系統內核版本 %p # 物理磁盤數量 %l # 邏輯磁盤數量 %n # 表示換行符 %% # 表示%百分號 [root@localhost libexec]# ./check_openmanage 如果提示"Storage Error",則需要加上--no-storage參數,不帶任何參數默認輸出服務器的warning和critical的報警信息 [root@localhost libexec]# ./check_openmanage -s 輸出帶有狀態提示的信息 [root@localhost libexec]# ./check_openmanage -s -b ctrl_fw=0 不檢查Firmware固件版本更新提示 [root@localhost libexec]# ./check_openmanage -s -b pdisk_cert=all 不檢查磁盤未認證的提示 [root@localhost libexec]# ./check_openmanage -b ctrl_fw=0\/pdisk=0:0:1:0 不檢查ID爲0的Firmware固件版本更新提示和ID爲0:0:1:0的物理磁盤的未認證提示 [root@localhost libexec]# ./check_openmanage -b ctrl_fw=0\/pdisk=ALL 不檢查ID爲0的Firmware固件版本更新提示和未認證的物理磁盤提示 [root@localhost libexec]# ./check_openmanage -d 輸出所有檢查項目 [root@localhost libexec]# ./check_openmanage -i 將服務器的SN號作爲警告信息的輸出前綴 [root@localhost libexec]# ./check_openmanage --no-storage 不檢查存儲 [root@localhost libexec]# ./check_openmanage -e -b ctrl_fw=0\/pdisk=ALL 不顯示Firmware固件版本更新和未認證磁盤提示信息,並輸出系統信息 [root@localhost libexec]# ./check_openmanage -H 10.15.98.177 -C public -e -b bat=0:0 -b ctrl_fw=0\/pdisk=ALL --postmsg %o Controller 1 [PERC H800 Adapter]: Firmware '12.10.4-0001' is out of date [root@localhost libexec]# ./check_openmanage -H 10.15.98.177 -d|grep -C3 "is out of date" STATE | ID | MESSAGE TEXT ---------+----------+-------------------------------------------------------- OK | 0 | Controller 0 [PERC H310 Adapter] is Ready CRITICAL | 1 | Controller 1 [PERC H800 Adapter]: Firmware '12.10.4-0001' is out of date #id爲1 OK | 1 | Controller 1 [PERC H800 Adapter] is Degraded OK | 0:0:1:0 | Physical Disk 0:1:0 [SAS-HDD 300GB] on ctrl 0 is Online OK | 1:0:0:2 | Physical Disk 0:0:2 [SAS-HDD 2.0TB] on ctrl 1 is Online [root@localhost libexec]# ./check_openmanage -H 10.15.98.177 -C public -e -b ctrl_fw=1 -b bat=0:0 -b ctrl_fw=0\/pdisk=ALL --postmsg %o OK - System: 'PowerEdge R620', SN: '馬賽克', 16 GB ram (4 dimms), 2 logical drives, 7 physical drives [root@localhost libexec]# ./check_openmanage -H 10.17.205.164 -C public -e -b bat=0:0 -b ctrl_fw=0 -b ctrl_fw=0\/pdisk=ALL --postmsg %o Controller 0 [PERC H700 Integrated]: Driver '4.05.01.64' is out of date [root@localhost libexec]# ./check_openmanage -H 10.17.205.164 -d|grep -i "is out of date" CRITICAL | 0 | Controller 0 [PERC H700 Integrated]: Firmware '12.10.1-0001' is out of date #-b ctrl_fw=0 忽略此項 CRITICAL | 0 | Controller 0 [PERC H700 Integrated]: Driver '4.05.01.64' is out of date #-b ctrl_driver=0 忽略此項 [root@localhost libexec]# ./check_openmanage -H 10.17.205.164 -C public -e -b bat=0:0 -b ctrl_fw=0 -b ctrl_driver=0 -b ctrl_fw=12.10.4-0001\/pdisk=ALL --postmsg %o OK - System: 'PowerEdge R710 II', SN: '3D4973X', 32 GB ram (8 dimms), 2 logical drives, 5 physical drives [root@localhost libexec]# ./check_openmanage -H 192.168.100.165 -C public -e -b bat=0:0 -b ctrl_driver=ALL\/ctrl_fw=ALL\/pdisk=ALL --postmsg %o Battery probe 0 [System Board CMOS Battery] is Unknown reading ------ SYSTEM: PowerEdge R630, SN: 馬賽克 Microsoft Windows Server 2008 R2, Enterprise x64 Edition [root@localhost libexec]# ./check_openmanage -H 192.168.100.165 -C public -e -b bat=0:0\/bp=ALL\/ctrl_driver=ALL\/ctrl_fw=ALL\/pdisk=ALL --postmsg %o OK - System: 'PowerEdge R630', SN: '馬賽克', 128 GB ram (8 dimms), 1 logical drives, 3 physical drives #bp=ALL 忽略電池檢測 [root@localhost libexec]#
黑名單功能中可以使用的參數表
更多信息查看官方文檔http://folk.uio.no/trondham/software/check_openmanage.html
Tips:最近發現一臺服務器硬盤壞了,nagios裏還是顯示warning,所以將check_openmange裏的344行的warning改成critical,便於及時發現
[root@localhost libexec]# vim check_openmanage 341 %reverse_exitcode 342 = ( 343 $E_OK => 'OK', 344 $E_WARNING => 'CRITICAL', 345 $E_CRITICAL => 'CRITICAL', 346 $E_UNKNOWN => 'UNKNOWN', 347 );
3、配置command
[root@localhost libexec]# vim /usr/local/nagios/etc/objects/commands.cfg #檢查存儲設備 define command { command_name check_storage command_line $USER1$/check_openmanage -H $HOSTADDRESS$ --only storage -p -s -b ctrl_fw=0 } #檢查cpu define command { command_name check_cpu command_line $USER1$/check_openmanage -H $HOSTADDRESS$ --only cpu -p -s -b ctrl_fw=0 } #檢查內存 define command { command_name check_memory command_line $USER1$/check_openmanage -H $HOSTADDRESS$ --only memory -p -s -b ctrl_fw=0 } #檢查電源 define command { command_name check_power command_line $USER1$/check_openmanage -H $HOSTADDRESS$ --only power -p -s -b ctrl_fw=0 } #檢查溫度 define command { command_name check_temp command_line $USER1$/check_openmanage -H $HOSTADDRESS$ --only temp -p -s -w $ARG1$ -c $ARG2$ -b ctrl_fw=0 }
--only是指只監控某一項,-p是進行畫圖,-s是狀態描述,-b是黑名單,由於我們的服務器固件版本低,爲不影響其他監控項在此我們將其加入黑名單將其剔除。
4、配置監控服務
define service{ use local-service host_name usvr-131,usvr-119,usvr-70,usvr-71,usvr-72,usvr-73,usvr-82,usvr-83,usvr-84,usvr-85,usvr-86,usvr-87 service_description omsa_storage check_command check_storage service_groups dell-openmanage notifications_enabled 1 } define service{ use local-service host_name usvr-131,usvr-119,usvr-70,usvr-71,usvr-72,usvr-73,usvr-82,usvr-83,usvr-84,usvr-85,usvr-86,usvr-87 service_description omsa_cpu check_command check_cpu service_groups dell-openmanage notifications_enabled 1 } define service{ use local-service host_name usvr-131,usvr-119,usvr-70,usvr-71,usvr-72,usvr-73,usvr-82,usvr-83,usvr-84,usvr-85,usvr-86,usvr-87 service_description omsa_memory check_command check_memory service_groups dell-openmanage notifications_enabled 1 } define service{ use local-service host_name usvr-131,usvr-119,usvr-70,usvr-71,usvr-72,usvr-73,usvr-82,usvr-83,usvr-84,usvr-85,usvr-86,usvr-87 service_description omsa_power check_command check_power service_groups dell-openmanage notifications_enabled 1 } define service{ use local-service host_name usvr-131,usvr-119,usvr-70,usvr-71,usvr-72,usvr-73,usvr-82,usvr-83,usvr-84,usvr-85,usvr-86,usvr-87 service_description omsa_temp check_command check_temp!"0=30/15"!"0=40/10" service_groups dell-openmanage notifications_enabled 1 }
報錯1:
ERROR: You need perl module Net::SNMP to run check_openmanage in SNMP mode
原因:
SNMP監控模式下,check_openmanage 需要 perl-Net-SNMP 支持
解決方案:
安裝perl-Net-SNMP包
# yum install -y perl-Net-SNMP
報錯2:
ERROR: (SNMP) OpenManage is not installed or is not working correctly
SNMP TABLE ERROR : Requested table is empty or does not exist
原因:
snmp未配置導致。如果先安裝snmp,在安裝omsa的時候會自動幫你配置好snmp
解決方案:
1、先安裝net-snmp,再安裝omsa(即srvadmin-all)
or
2、手動配置信息如下:
vim /etc/snmp/snmpd.conf
view all included .1
access notConfigGroup "" any noauth exact all none none
smuxpeer .1.3.6.1.4.1.674.10892.1 一般安裝srvadmin的時候會自動加上的
報錯3:
SNMP CRITICAL: No response from remote host 'X.X.X.X'
原因:
被監控端沒有安裝snmp服務
解決方案:
安裝snmp服務
# yum install -y net-snmpd
Client:
對Dell服務器的硬件監控需要安裝DELL的OMSA,DELL OMSA的全稱爲Dell Openmanage Server Administrator,它是戴爾公司基於自主研發力量開發的IT系統管理解決方案,
nagios監控Dell linux系統
1、安裝snmp服務
[root@BETA6 yum.repos.d]# yum -y install net-snmp net-snmp-devel net-snmp-utils
2、安裝dell的yum源
wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash
或者
wget -q -O - http://linux.dell.com/repo/hardware/OMSA_7.2/bootstrap.cgi | bash
注意:只適用rhel系統,CentOS系統無法安裝
[root@BETA6 src]# wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash Cleaning up Everything Done! [root@BETA6 src]#
3、安裝dell osma
yum -y install OpenIPMI srvadmin-all
或者
yum install -y srvadmin-base srvadmin-storageservices 推薦,安裝必要的軟件,速度快
[root@BETA6 yum.repos.d]# yum -y install OpenIPMI srvadmin-all [root@BETA6 yum.repos.d]# /opt/dell/srvadmin/sbin/srvadmin-services.sh start [root@BETA6 yum.repos.d]# /etc/init.d/dataeng stop [root@BETA6 yum.repos.d]# /etc/init.d/dataeng start [root@BETA6 yum.repos.d]# chkconfig dataeng on 或者 [root@BETA6 yum.repos.d]# /opt/dell/srvadmin/sbin/srvadmin-services.sh enable 推薦 instsvcdrv 0:off 1:off 2:on 3:on 4:on 5:on 6:off dataeng 0:off 1:off 2:on 3:on 4:on 5:on 6:off dsm_om_shrsvc 0:off 1:off 2:on 3:on 4:on 5:on 6:off ipmi 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@BETA6 yum.repos.d]# /opt/dell/srvadmin/sbin/srvadmin-services.sh status dell_rbu(module) is running ipmidriver is running dsm_sa_datamgrd(pid 1331 1197) is running dsm_sa_eventmgrd(pid 1381) is running dsm_sa_snmpd(pid 1440) is running dsm_om_shrsvcd(pid 1508) is running... dsm_om_connsvcd(pid 1562) is running... [root@BETA6 yum.repos.d]# netstat -antlp|grep :1311
如果有此端口則說明我們的srvadmin安裝成功,如果沒有可能是安裝出現問題了;dsm_om_connsvc服務監聽了TCP協議的1311端口,並且提供了http訪問的功能。另外我們安裝完後首次啓動用/opt/dell/srvadmin/sbin/srvadmin-services.sh start,否則用service dataeng start啓動可能會有問題,導致omsa沒有完全啓動。dsm_om_connsvc服務監聽了TCP協議的1311端口,並且提供了http訪問的功能。
注意:
(1)一定要先安裝snmp服務再安裝omsa,這樣omsa會自動將你的snmp服務進行配置,如果順序顛倒則可能會導致報一下錯誤:
ERROR: (SNMP) OpenManage is not installed or is not working correctly
這是因爲我們的/etc/snmp/snmpd.conf配置文件有漏改的地方,主要是以下幾處:(改正以後如下)
view all included .1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup ""any noauth exact all all none
(2)如果報一下錯誤“SNMP CRITICAL: No response from remote host 'X.X.X.X'”,則說明被監控端沒有安裝snmp服務
4、查看本機的硬件狀態
1)查看系統主要組件的溫度
[root@BETA6 yum.repos.d]# /opt/dell/srvadmin/bin/omreport chassis temps Temperature Probes Information ------------------------------------ Main System Chassis Temperatures: Ok ------------------------------------ Index : 0 Status : Ok Probe Name : System Board Inlet Temp Reading : 27.0 C Minimum Warning Threshold : 3.0 C Maximum Warning Threshold : 42.0 C Minimum Failure Threshold : -7.0 C Maximum Failure Threshold : 47.0 C ......
2)查看虛擬硬盤的狀態
[root@BETA6 yum.repos.d]# /opt/dell/srvadmin/bin/omreport storage vdisk controller=0 Virtual Disk 0 on Controller PERC H710 Mini (Embedded) Controller PERC H710 Mini (Embedded) ID : 0 Status : Ok Name : Virtual Disk 0 State : Ready Hot Spare Policy violated : Not Assigned Encrypted : No Layout : RAID-5 Size : 1,675.50 GB (1799054426112 bytes) Device Name : /dev/sda ......
3)查看控制器(即RAID卡)的屬性
[root@BETA6 yum.repos.d]# /opt/dell/srvadmin/bin/omreport storage controller Controller PERC H710 Mini (Embedded) Controllers ID : 0 Status : Ok Name : PERC H710 Mini Slot ID : Embedded State : Ready Firmware Version : 21.2.0-0007 Latest Available Firmware Version : Not Applicable Driver Version : 00.00.06.15-rh Minimum Required Driver Version : Not Applicable Storport Driver Version : Not Applicable Minimum Required Storport Driver Version : Not Applicable Number of Connectors : 2 Rebuild Rate : 30% ......
5、防火牆配置
由於我們使用的是SNMP來監控,因此我們需要在被監控端對nagios服務器開啓snmp端口udp 161
/sbin/iptables -A INPUT -i em1 -p udp -s 10.10.5.89 --dport 161 -m comment --comment "nagios snmp" -j ACCEPT
OMSA在Windows服務器上安裝部署
訪問戴爾技術支持的官方網站:http://www.dell.com/support/home/cn/zh/cnbsd1?c=cn&l=zh&s=bsdi,根據sn號查找驅動程序選項欄裏統管理標籤下下載對應的版本
具體安裝過程參照此貼:http://zh.community.dell.com/techcenter/systems-management/w/wiki/559.omsawindows