Nagios监控Dell服务器硬件状态

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    );

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章