cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
AMA event- Migrating Existing Networks to Cisco ACI

Cisco UCS Manager Plugin Release 0.9(4) for Nagios

11346
Views
13
Helpful
24
Comments

We are pleased to release Cisco UCS Manager Plugin 0.9.4 for Nagios

Nagios is an open source computer system monitoring, network monitoring and infrastructure monitoring software application. Nagios offers monitoring and alerting services for servers, switches, applications, and services.


The solution provides end-user with two components.

  • The first is the Nagios monitoring plugin script (cisco_ucs_nagios) which will provide end-user with the capability of monitoring the components like blade servers, rack servers, fabric interconnects, chassis, IO Modules, fabric extenders in one or more UCS domains.
  • The second is an add-on to the Nagios, which will provide end-user with the capability to auto discover UCS domain and create the host definitions in Nagios . It also creates the service definitions for the services defined in the configuration file. By default, the addon is shipped with basic service definitions for each UCS component (aka host in Nagios) which use the cisco_ucs_nagios script to monitor their health. Refer to the user guide section 5.1 for the list of services defined by the addon. For components/hosts which are not healthy, it gives the associated faults and their details. For components/hosts which are healthy, it gives the inventory details.


Supported Nagios Versions:

This plugin is supported on Nagios Core version 3.2 and higher versions.


Supported Cisco UCS Manager Releases:

This plugin is supported on Cisco UCS Manager Releases 2.1, 2.2 and 3.0.


Software Requirements for Release 0.9(4):

This release of the plugin requires Python SDK 0.8.3 to communicate with UCS Manager. Click here to download Python SDK Release 0.8(3) for UCS Manager.


New Features in Release 0.9(4):

Plugin Enhancements:

  • Capabilities to generate performance statistics of different UCS components.
  • Check and display faults based on power state of the UCS servers.
  • "onlyFaults" flag has been changed to "faultDetails", this flag shows detailed fault info when run with inHierarchical flag.
  • Short options for parameters "--inHierarchical" i.e. “–R” , "--useSharedSession" i.e. “–S” and "--faultDetails" i.e. “-F” have been added.


Auto-Discovery Add-On Enhancements:

  • IP range can now be provided while discovering UCS domains.
  • Auto-Discovery script gets CLI arguments to provide UCS details.
  • Capabilities for user to create custom services for all classes or DN.
  • Option to keep previously discovered UCS domains when re-running Auto-Discovery.
  • UCS blades and racks are now getting discovered and named using service profile attached to it.
  • Flag to discover only the blades and rack servers which has a service profile associated with it.
  • CLI flag which provides option to disable the default host-group creation.
  • CLI flag which provides option to disable multiple host creation and in-turn create a single domain host.
  • Short options for multiple CLI parameters.


Important Note regarding Backward Compatibility:
If you are using the add-on and upgrading from an older release of plugin to release 0.9.4 , you must re-discover all the domains using the new add-on to create new service definition files as the 'onlyFaults' flag in 'cisco_ucs_nagios' script is changed to 'faultDetails'.


Upgrading from Release 0.9.2 to Release 0.9.3 or above:

  • Run the attached migrate.py to migrate from 0.9.2 release structure to the new structure.
  • Follow the installation procedure mention in the user guide to upgrade to release 0.9.3 or above.


New Features in Release 0.9(3):

  • Support for UCS Mini and UCS Manager Release 3.0(1)
  • Installer script for easy installation and uninstallation of the solution (plugin and add-on).

New Features in Release 0.9(2):

  • Multiple services for the same UCS domain can share a single session by using --useSharedSession option in CLI.
  • Better scale numbers: Upto 600 services per UCS domain
  • Optimized queries for faster response from UCS domain.
  • Better error handling and reporting in debug mode.
  • Updated wildcard filter for filtering class based services.

Refer to the attached user guide for installation/upgrade and usage details.

For any queries/feedback on Cisco UCSM Plugin for Nagios 3.x, please add a discussion to the Cisco Developed Integrations sub-space on Cisco UCS Communities.

Comments
Community Member

I'm stumped. I am trying to use this plugin and filter various checks per rack-unit server just like the autodiscovery tool found and setup, however the issue I run into is that the filter logic for matching sys/rack-unit-1 matches rack units 1-19 instead. If I use filter of sys/rack-unit-1! I get a script failure message instead.

Any help?

Community Member

start (^) and end ($) anchors around your pattern should resolve this problem. Eg "^sys/chassis-1$" works for chassis. Similarly  "^sys/rack-unit-1$" should also work.

Community Member

Unfortunately that doesn't work for me either. Below is an example command and the resulting output:

Intrepid:cisco_nagios_monitoring_plugin joerger$ ./cisco_ucs_nagios -u nagios --passEnc hideen -t class -q ProcessorUnit --filter "dn:sys/rack-unit-1$" --port 80 --NoSsl -H $host_or_ip

Check if the Class 'ProcessorUnit' exists on the given UCS host.

In case you have provided a filter then please check if the attribute that you want

to filter exists. Else there is no data for the provided filter value.

Beginner

Can you try

/usr/local/nagios/libexec/cisco_ucs_nagios -u "admin" -p "xxxx" -H $host_or_ip -t class -q processorUnit --filter "dn:sys/rack-unit-1/*"

And incase you still find issues you can then use

/usr/local/nagios/libexec/cisco_ucs_nagios -u "admin" -p "xxx" -H $host_or_ip -t dn -q sys/rack-unit-1/board/cpu-1

/usr/local/nagios/libexec/cisco_ucs_nagios -u "admin" -p "xxx" -H $host_or_ip -t dn -q sys/rack-unit-1/board/cpu-2

If none of this work then can you please send the debug output of the cli using the cli option --debug

/usr/local/nagios/libexec/cisco_ucs_nagios -u "admin" -p "xxxx" -H $host_or_ip -t class -q processorUnit --filter "dn:sys/rack-unit-1/*" --debug

Community Member

So this first command is a good example of the problem that I have in general in that filtering for -1 (or 2,3,4,5,etc) returns values for all numbers that start with 1:

Intrepid:cisco_nagios_monitoring_plugin joerger$ ./cisco_ucs_nagios -u nagios --passEnc hidden -t class -q ProcessorUnit --filter "dn:sys/rack-unit-1/*" --port 80 --NoSsl -H $host_or_ip

sys/rack-unit-1/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-1/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-10/board/cpu-1:OK - Cores : 6,Model : Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz,CPU Speed(Mhz) : 2.666000

sys/rack-unit-10/board/cpu-2:OK - Cores : 6,Model : Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz,CPU Speed(Mhz) : 2.666000

sys/rack-unit-12/board/cpu-2:OK - Cores : 6,Model : Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz,CPU Speed(Mhz) : 2.666000

sys/rack-unit-12/board/cpu-1:OK - Cores : 6,Model : Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz,CPU Speed(Mhz) : 2.666000

sys/rack-unit-11/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-11/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-15/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-15/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-14/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-14/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-17/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-17/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-13/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-13/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-18/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-18/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-16/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-16/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-19/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

sys/rack-unit-19/board/cpu-2:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

But filtering for the specific sys/rack-unit-1/board/cpu-1 works as expected:

Intrepid:cisco_nagios_monitoring_plugin joerger$ ./cisco_ucs_nagios -u nagios --passEnc hidden -t class -q ProcessorUnit --filter "dn:sys/rack-unit-1/board/cpu-1" --port 80 --NoSsl -H $host_or_ip

sys/rack-unit-1/board/cpu-1:OK - Cores : 4,Model : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz,CPU Speed(Mhz) : 2.400000

I can certainly send over the debug output, should it go here or somewhere else?

Beginner

Great if the said solution works for you.

We will look into your concerns and will take it up in the upcoming releases.

Community Member

New error when running this newest version with the UcsSdk 0.8.3 installed:

Intrepid:cisco_nagios_monitoring_plugin joerger$ ./cisco_ucs_nagios --help

Traceback (most recent call last):

  File "./cisco_ucs_nagios", line 25, in <module>

    from UcsSdk import *

  File "/Library/Python/2.7/site-packages/UcsSdk/__init__.py", line 15, in <module>

    from MoMeta import _VersionMeta,_ManagedObjectMeta

ImportError: cannot import name _VersionMeta

I've confirmed that the MoMeta files are present at "/Library/Python/2.7/site-packages/UcsSdk/MoMeta/"

Cisco Employee

Seems you have not cleaned the earlier version of UcsSdk installed on your setup.

Manually remove UcsSdk folder from site-packages folder.

Then try doing fresh install with UcsSdk 0.8.3 version.

Thanks

Rahul

Beginner

Hi

I am getting the following error message

Error: Con' is not defined anywhere


How do i fix this ?

Running configuration check...

Nagios Core 4.0.8

Copyright (c) 2009-present Nagios Core Development Team and Community Contributo                                              rs

Copyright (c) 1999-2009 Ethan Galstad

Last Modified: 08-12-2014

License: GPL

Website: http://www.nagios.org

Reading configuration data...

   Read main config file okay...

Warning: failure_prediction_enabled is obsoleted and no longer has any effect in                                               host type objects (config file '/usr/local/nagios/etc/cisco/ucsObjs/cisco_ucs_h                                              ost.cfg', starting at line 1)

Warning: failure_prediction_enabled is obsoleted and no longer has any effect in                                               service type objects (config file '/usr/local/nagios/etc/cisco/ucsObjs/cisco_uc                                              s_service.cfg', starting at line 1)

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

Error: Con' is not defined anywhere

Error: Could not add con' to host (config file '/usr/local/nagios/etc/cisco/ucsO                                              bjs/192.168.153.155/192.168.153.155.cfg', starting on line 1)

   Error processing object config files!

***> One or more problems was encountered while processing the config files...

     Check your configuration file(s) to ensure that they contain valid

     directives and data defintions.  If you are upgrading from a previous

     version of Nagios, you should be aware that some variables/definitions

     may have been removed or modified in this version.  Make sure to read

     the HTML documentation regarding the config files, as well as the

     'Whats New' section to find out what has changed.

[root@localhost autodiscovery]# vi '/usr/local/nagios/etc/cisco/ucsObjs/cisco_uc                                              s_host.cfg

> ^C

[root@localhost autodiscovery]# vi /usr/local/nagios/etc/cisco/ucsObjs/cisco_ucs                                              _host.cfg

[root@localhost autodiscovery]# service nagios restart                                                                        Running configuration check...

Nagios Core 4.0.8

Copyright (c) 2009-present Nagios Core Development Team and Community Contributo                                              rs

Copyright (c) 1999-2009 Ethan Galstad

Last Modified: 08-12-2014

License: GPL

Website: http://www.nagios.org

Reading configuration data...

   Read main config file okay...

Warning: failure_prediction_enabled is obsoleted and no longer has any effect in                                               host type objects (config file '/usr/local/nagios/etc/cisco/ucsObjs/cisco_ucs_h                                              ost.cfg', starting at line 1)

Warning: failure_prediction_enabled is obsoleted and no longer has any effect in                                               service type objects (config file '/usr/local/nagios/etc/cisco/ucsObjs/cisco_uc                                              s_service.cfg', starting at line 1)

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

WARNING: Extinfo objects are deprecated and will be removed in future versions

Error: Con' is not defined anywhere

Error: Could not add con' to service (config file '/usr/local/nagios/etc/cisco/u                                              csObjs/192.168.153.155/services.cfg', starting on line 64)

   Error processing object config files!

***> One or more problems was encountered while processing the config files...

     Check your configuration file(s) to ensure that they contain valid

     directives and data defintions.  If you are upgrading from a previous

     version of Nagios, you should be aware that some variables/definitions

     may have been removed or modified in this version.  Make sure to read

     the HTML documentation regarding the config files, as well as the

     'Whats New' section to find out what has changed.

Beginner

Can you please provide us with the following details

- Which version of Cisco UCS Python SDK are you using currently ?

- What is the Cisco UCS firmware version on 192.168.153.155 that you are using ?

- Can you please provide us with the NagiosAutoDiscoveryUCS.cfg which you have used for Autodiscovery.

-  Can you also please provide us with the /usr/local/nagios/etc/cisco/ucsObjs/192.168.153.155/services.cfg.

- If possible can you provide the output for the following

#./NagiosAutoDiscoveryUCS.py --version

Note : The command given below will re-discover your UCS domain

#./NagiosAutoDiscoveryUCS.py --debug

Beginner

Cisco UCSM Nagios Auto Discovery version : 0.9.3

Can you please provide us with the following details

- Which version of Cisco UCS Python SDK are you using currently ?

0.8.3

- What is the Cisco UCS firmware version on 192.168.153.155 that you are using ?

2.2 3b

- Can you please provide us with the NagiosAutoDiscoveryUCS.cfg which you have used for Autodiscovery.

It’s the latest version I downloaded it yesterday cisco-ucs-nagios-0.9.3

- Can you also please provide us with the /usr/local/nagios/etc/cisco/ucsObjs/192.168.153.155/services.cfg.

What’s your email address ?

- If possible can you provide the output for the following

#./NagiosAutoDiscoveryUCS.py --version

Note : The command given below will re-discover your UCS domain

#./NagiosAutoDiscoveryUCS.py –debug

Its too long to paste

What’s your email address ?

Please send the details on tripathiprateek@gmail.com.

Also request you not to pass this email id any further.

Community Member

hi all

I've successfully started using this plugin under nagios. working perfectly. my question is, that is there any option to show some results in pnp4nagios graph? for example I monitor fan speed this way:

check_ucs!dn!/sys/chassis-1/fan-module-1-1/fan-1/stats -a speed -w 3800 -c 4000

this gives back one number. how can I show these result in graph? if I click on the graph icon, i get error but only with this plugin: other graphs are working perfectly:

Please check the documentation for information about the following error.

XML file "/usr/local/pnp4nagios/var/perfdata/<hostname>/Chassis_1_-_Fan_module_1_-_Fan_1.xml" not found. <a href="http://docs.pnp4nagios.org/faq/6">Read FAQ online</a>

file [line]:

application/models/data.php [312]:

back

Cisco Employee

Till now we have not worked with these third party graphing tools and we may take a look at it in near future.

Beginner

So I tried this with my UCS C210 M2.  My CIMC Firmware is 1.4(3k).  Is THAT the software that is referred to?

Autodiscover failed.  The problem I get is best seen running cisco_ucs_nagios with --debug and is:

ARRZAPLZUC02 <==== XML PARSING ERROR: Element 'configFindDnsByClassId': No matching global declaration available for the validation root.

Error is of Type :   SyntaxError  Message >> syntax error: line 1, column 0

Error while trying to run the UCS Nagios monitoring service.

Do I need to upgrade the firmware for this to work, or is it something else?

CreatePlease to create content
Content for Community-Ad
August's Community Spotlight Awards
This widget could not be displayed.