check_openmanage现在是epel的一个项目,所以安装了epel-release就可以使用yum来安装check_openmanage插件了。
前提是被监控端已经安装了dell omsa(open management server administrator)程序。
#yum -y install nagios-plugins-openmanage.x86_64
epel和omsa如何安装可以从网上google一下
被检测端安装还是nagios端安装,就看检测的环境了。
如果可以使用snmp,在nagios端安装这个插件即可。
如果只能使用nrpe就在被监控的机器上安装插件。
Storage components checked:
・Controllers
・Physical drives
・Logical drives
・Cache batteries
・Connectors (channels)
・Enclosures
・Enclosure fans
・Enclosure power supplies
・Enclosure temperature probes
・Enclosure management modules (EMMs)
Chassis components checked:
・Processors
・Memory modules
・Cooling fans
・Temperature probes
・Power supplies
・Batteries
・Voltage probes
・Power usage
・Chassis intrusion
・Removable flash media (SD cards)
Other:
・ESM Log health
・ESM Log content (default disabled)
・Alert Log content (default disabled, not SNMP)
nagios可以通过snmp来检测主机状态,也可以使用npre来进行检测。使用nrpe时需要先定义相应的command(类似于其他服务的检查)
使用snmp时nagios的command.cfg的配置
# Openmanage check via SNMP
define command {
command_name check_openmanage
command_line /path/to/check_openmanage -H $HOSTADDRESS$
}
给监控机配置文件增加omsa监控
# Dell OMSA status
define service {
use generic-service
hostgroup_name dell-servers
service_description Dell OMSA
check_command check_openmanage
}
对比发现,snmp获取信息的速度快要快于本机的自检。因此使用nrpe时需要带上参数-t 30 (延时 30秒)
自带的帮助信息:
$ check_openmanage -h
Usage: check_openmanage [OPTION]...
GENERAL OPTIONS:(公共的参数,snmp和本地都可以用)
-f, --config Specify configuration file
-p, --perfdata Output performance data [default=no]
-t, --timeout Plugin timeout in seconds [default=30]
-c, --critical Custom temperature critical limits
-w, --warning Custom temperature warning limits
-F, --fahrenheit Use Fahrenheit as temperature unit
-d, --debug Debug output, reports everything
-h, --help Display this help text
-V, --version Display version info
SNMP OPTIONS:(SNMP方式)
-H, --hostname Hostname or IP (required for SNMP) (check_openmanage -H 1.2.3.4 )
-C, --community SNMP community string [default=public]
-P, --protocol SNMP protocol version [default=2]
--port SNMP port number [default=161]
-6, --ipv6 Use IPv6 instead of IPv4 [default=no]
--tcp Use TCP instead of UDP [default=no]
OUTPUT OPTIONS:
-i, --info Prefix any alerts with the service tag
-e, --extinfo Append system info to alerts
-s, --state Prefix alerts with alert state
-S, --short-state Prefix alerts with alert state abbreviated
-o, --okinfo Verbosity when check result is OK
-B, --show-blacklist Show blacklistings in OK output
-I, --htmlinfo HTML output with clickable links
CHECK CONTROL AND BLACKLISTING:
-a, --all Check everything, even log content
-b, --blacklist Blacklist missing and/or failed components 检查黑名单
--only Only check a certain component or alert type 检查单独项
--check Fine-tune which components are checked 检查组合项
--no-storage Don't check storage
For more information and advanced options, see the manual page or URL:
http://folk.uio.no/trondham/software/check_openmanage.html
snmp执行结果:
[root@op omsa]# check_openmanage -H localhost
Controller 0 [PERC 6/i Integrated]: Firmware '6.1.1-0047' is out of date
#输出带有状态提示的信息
[root@op omsa]# check_openmanage -H localhost -s
WARNING: Controller 0 [PERC 6/i Integrated]: Firmware '6.1.1-0047' is out of date
#此命令就是使用了黑名单,不检查Firmware固件版本更新提示。
[root@localhost etc]# /usr/lib/nagios/plugins/check_openmanage -H 1.2.3.4 -s -b ctrl_fw=0
OK - System: 'PowerEdge R710', SN: 'XXXXXX', 16 GB ram (8 dimms), 1 logical drives, 6 physical drives
#只检查电源
[root@localhost etc]# /usr/lib/nagios/plugins/check_openmanage -H 1.2.3.4 -s --only power
POWER OK - 2 power supplies checked
单项检查参数表
Keyword |
Effect |
critical |
Only output critical alerts. It is possible to use the --check option together with this option to adjust checks. |
warning |
Only output warning alerts. It is possible to use the --check option together with this option to adjust checks. |
chassis |
Only check chassis components, i.e. everything but storage and log content. |
storage |
Only check storage components |
memory |
Only check memory modules |
fans |
Only check fans |
power |
Only check power supplies |
temp |
Only check temperatures |
cpu |
Only check processors |
voltage |
Only check voltage probes |
batteries |
Only check batteries |
amperage |
Only check power usage |
intrusion |
Only check chassis intrusion |
sdcard |
Only check removable flash media |
servicetag |
Only check for sane service tag |
esmhealth |
Only check ESM log health |
esmlog |
Only check ESM log content |
alertlog |
Only check alertlog content |
#检查存储信息,并不检查FirmWare信息
[root@localhost etc]# /usr/lib/nagios/plugins/check_openmanage -H 1.2.3.4 -s --only storage -b ctrl_fw=0
STORAGE OK - 6 physical drives, 1 logical drives
#如果想在信息显示的时候知道哪些信息是放到了黑名单中,可以在命令最后加参数 -B
[root@localhost etc]# /usr/lib/nagios/plugins/check_openmanage -H 1.2.3.4 -s -b ctrl_fw=0 -B
OK - System: 'PowerEdge R710', SN: 'XXXXXX', 16 GB ram (8 dimms), 1 logical drives, 6 physical drives
----- BLACKLISTED: ctrl_fw=0
黑名单功能中可以使用的参数表
Component |
Comment |
ctrl |
Controller |
ctrl_fw |
Suppress the "special" warning message about old controller firmware. Use this if you can't or won't upgrade the firmware. |
ctrl_driver |
Suppress the "special" warning message about old controller driver. Particularly useful on systems where you can't upgrade the driver. |
ctrl_stdr |
Suppress the "special" warning message about old Windows storport driver. |
pdisk |
Physical disk. |
pdisk_cert |
Ignore warnings for non-certified physical drives 未配置的磁盘 |
pdisk_foreign |
Ignore warnings for foreign physical drives 外部磁盘例如:pdisk_foreign=1:0:5 |
vdisk |
Logical drive (virtual disk) |
bat |
Controller cache battery |
bat_charge |
Ignore warnings related to the controller cache battery charging cycle, which happens approximately every 40 days on Dell servers. Note that using this blacklist keyword makes check_openmanage ignore non-critical cache battery errors. |
conn |
Connector (channel) |
encl |
Enclosure |
encl_fan |
Enclosure fan |
encl_ps |
Enclosure power supply |
encl_temp |
Enclosure temperature probe |
encl_emm |
Enclosure management module (EMM) |
dimm |
Memory module |
fan |
Fan (Cooling device) |
ps |
Powersupply |
temp |
Temperature sensor |
cpu |
Processor (CPU) |
volt |
Voltage probe |
bp |
System battery |
amp |
Amperage probe (power consumption monitoring) |
intr |
Intrusion sensor |
sd |
Removable flash media (SD card) |
#个性化输出信息
参数 --postmsg
$ check_openmanage --postmsg 'NOTE: Service tag: %s - Dell support: 555-1234-5678'
Power Supply 0 [AC]: Presence Detected, Failure Detected, AC Lost
Controller 0 [PERC 6/i Integrated]: Driver '00.00.03.15-RH1' is out of date
NOTE: Service tag: JV8KH0J - Dell support: 555-1234-5678
参数表:
Code |
Replaced with |
%m |
System model |
%s |
Service tag |
%b |
BIOS version |
%d |
BIOS release date |
%o |
Operating system name |
%r |
Operating system release |
%p |
Number of physical drives |
%l |
Number of logical drives |
%n |
Line break |
%% |
A literal % |
可以使用-d或者--debug来显示所有检查项目:
[root@localhost etc]# /usr/lib/nagios/plugins/check_openmanage -H 1.2.3.4 -d
#使用检查配置文件进行个性化项目检查。使用参数-f
check_openmanage -f /etc/check_openmanage.conf
客户端 1,下载Openmange的版本软件:
我们现在做的是用client 端和服务端都在一起
wget http://folk.uio.no/trondham/software/files/check_openmanage-3.6.5.tar.gz (mon02-001 /opt/DELL 有这个包)
tar zxvf check_openmanage-3.6.5.tar.gz
cp /tar包/check_openmanage 这个Perl 脚本 放到/usr/local/nagios/libexec 里面
client 端 :定义 nrpe.cfg
vi /usr/local/nagios/etc/nrpe.cfg
add 增加一行
command[check_dell_hardware]=/usr/local/nagios/libexec/check_openmanage -e --only critical
保存下。
运行 /usr/local/nagios/libexec/check_openmanage -e --only critical 看是否有返回值。如果返回都OK ,客户端设置完毕。
以下设置服务端:
server 端里定义service:
define service {
use saa-service
host_name localhost
service_description check_hardware
check_command check_nrpe!check_dell_hardware
}
其中的localhost 根据监控的机器变动主机名。
检测监控是否成功:
服务端/usr/local/nagios/libexec/check_nrpe -H hostIP -c check_dell_hardware
如果有问题检测 NRPE 是否正常。
下面的用SNMP 安装服务端
服务端
安装: 1,安装相关Perl-snmp软件包
perl-Crypt-DES-2.05-3.2.el5.rf.i386.rpm
perl-Digest-HMAC-1.01-2.2.el5.rf.noarch.rpm
perl-Digest-SHA1-2.12-2.el5.rf.i386.rpm
perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm
perl-Socket6-0.23-1.el5.rf.i386.rpm
安装顺序安装其他包,最后安装perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm
下载check_openmanage 插件 (http://folk.uio.no/trondham/software/check_openmanage.html#download) 根据系统的不同,下载不同的软件。
wget http://folk.uio.no/trondham/software/files/check_openmanage-3.6.5.tar.gz
wget http://folk.uio.no/trondham/software/files/nagios-plugins-check-openmanage-3.6.5-1.el5.x86_64.rpm
上面是简单的安装,有些地方是直接复制别人的。 安装没什么花头的,所以看下应该都能会。
下面的是使用,一些参数的剪辑。
check_openmanage -s 显示详细的服务状态报警 check_openmanage -S 显示简短的服务状态报警 (也就是critcal 简写成C)
check_openmanage -i 以服务编号为前缀的服务状态报警
例:[JV8KH0J] Controller 0 [PERC 6/i Integrated]: Driver '00.00.03.15-RH1' is out of date
check_openmanage -e 显示机器的类型和报警信息(以单线为区分号 显示机器的系统 机型 服务号 )
例:Power Supply 0 [AC]: Presence Detected, Failure Detected, AC Lost Controller 0 [PERC 6/i Integrated]: Driver '00.00.03.15-RH1' is out of date
------ SYSTEM: PowerEdge 1950, SN: JV8KH0J
check_openmanage --postmsg 'NOTE: Service tag: %s - Dell support: 800-8888-8888' 根据参数 --postmsg 可以自定义提示信息。
Power Supply 0 [AC]: Presence Detected, Failure Detected, AC Lost Controller 0 [PERC 6/i Integrated]: Driver '00.00.03.15-RH1' is out of date NOTE: Service tag: JV8KH0J - Dell support: 800-8888-8888
其中 %s 是系统内部的变量调用,以下是所有的内部变量
%m System model 机器型号
%s Service tag 服务编号
%b BIOS version bios 版本
%d BIOS release date Bios 发布日期
%o Operating system name 系统名称
%r Operating system release 操作系统的版本
%p Number of physical drives 物理驱动器数
%l Number of logical drives 逻辑驱动器数
%n Line break 换行符
%% A literal % 一个文字%
以上报警信息 可以多参数一起使用。例如: check_openmanage -i -s
check_openmanage -o 默认情况下,输出的OK 信息为一行,我们可以控制的,可以输入check_openmanage -o 3 显示3行,并且显示一些硬件的底层。
check_openmanage -H localhost -b ctrl_driver=all -b pdisk=1:0:0:1 -B Openmanage 可以控制黑名单,通俗的说也就是无关泾要的监控,使用参数 -b 可以添加不要监控的项,但是等黑名单多了的时候,我们就无法知道到底什么被去掉了,这个时候 在后面加个 -B =(show-blacklist) 显示被黑的名单。。
check_openmanage -d 显示软件运行后的debug信息。 (这个是我们人工手动调试的时候用的,在nagios 里面不要使用这个选项)
自定义温度阀值
omreport 这是装好openmanage 的自检程序
omreport chassis temps 显示机器的温度
check_openmanage -H myhost --only temp -d 这是check_openmanage 的调试 ,显示机器的温度,我们可以定义阀值报警的。
check_openmanage -w 0=30 -c 0=40 更改温度报警阀值
check_openmanage -w 0=30/15 -c 0=40/10 这个表示15分钟 如果温度大于30,warning,10分钟大于40,critcal. 这个可以自己更具需要更改时间写
添加黑名单
当一些不重要的信息我们不想看到的时候,我们可以根据 -b 来调试。
例如:
check_openmanage -s -b ctrl_driver=0,1 不检测 Controller 的驱动问题。 如果所有的Controller驱动都不需要监控 可以使用ctrl_driver=all
以下是设备的代号(缩写):
=======================
==- 利用--check 来检测单个项目 0表示关闭,1表示开启
check_openmanage --check storage=0,esmlog=1 关闭检测存储,查看esmlog 信息
我们也可以定义一个文件,然后用--check 来执行文件里面定义的check 项目(方便我们每次的重复操作) vi /tmp/check_openmanage.check storage=0,esmlog=1
check_openmanage --check /tmp/check_openmanage.check
==- 利用--only 来监控指定项目
check_openmanage --only storage 只检查 存储,其他的任何的都不监控
以下是Only 的一些参数
== 如果想check 所有, check_openmanage -a 就check 所有了。
最后就是结合 PNP4Nagios 用图片显示信息。
注:
本人在装的时候发现一个比较严重的问题:
Openmange 这个软件不要重复的在服务器上卸载,安装,这样的话会导致多出很多进程,每装一次 他们会生成3个为一组的进程例如以下:
root 30672 0.0 0.0 21688 1056 ? S Jun08 0:00 \\_ hald-runner
68 30680 0.0 0.0 12320 848 ? S Jun08 0:00 \\_ hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
68 30693 0.0 0.0 12320 844 ? S Jun08 0:00 \\_ hald-addon-keyboard: listening on /dev/input/event0
而且你卸载这个软件过后,这个进程是不会Kill 掉的,只有人工手动kill, 还有这个进程多了很多以后占用CPU 资源很多, 每十分钟CPU LOAD 有个波动。 我们公司的app 服务器就是因为装了这个 load 会每十分钟波动一次,从1波动到20, 然后马上下降,所以大家一定要注意,不要在生产环境中重复的安装和卸载。
其他的方面没什么问题,软件还是蛮好用的,可以结合nagios 和 zabbix 实现硬件监控。