check_openmanage学习笔记

check_openmanage现在是epel的一个项目,所以安装了epel-release就可以使用yum来安装check_openmanage插件了。

前提是被监控端已经安装了dell omsaopen management server administrator)程序。

#yum -y install nagios-plugins-openmanage.x86_64

epelomsa如何安装可以从网上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(类似于其他服务的检查)

使用snmpnagioscommand.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



check_openmange 安装与使用

客户端 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

    1. 其中 %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

以下是设备的代号(缩写):

104206412.png\"


=======================

==- 利用--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 的一些参数


104235852.png\"


== 如果想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  实现硬件监控。



你可能感兴趣的:(学习笔记,nagios)