This plugin for Icinga/Nagios is used to monitor a variety of a RHEV and oVirt environement including datacenters, clusters, hosts, vms, vm pools and storage domains.
Perl PHP Makefile Shell
Clone or download

README

#*********************************************************#
#                                                         #
#     README for check_rhev3 plugin for Icinga/Nagios     #
#                                                         #
#*********************************************************#

What is check_rhev3?
====================

This plugin for Icinga/Nagios is used to monitor a variety of
an RHEV or oVirt environement including datacenters, clusters, hosts,
vms, vm pools and storage domains.


Contributions / Help
====================

Send email to rkoch@rk-it.at if you have questions regarding use
of this software. Please include the following information in your email:
* OS type and version
* Perl version

To submit patches or suggest improvements, send email to rkoch@rk-it.at or create
a pull request on Github. Thanks.


Installation
============

The check_rhev3 installation can be used by following the standard autotools
installation process, documented in the INSTALL file. As a quick start you can do

$ ./configure
$ make all
# make install

This will install check_rhev3 to /usr/local/nagios/libexec and the PNP template
to /usr/local/pnp4nagios/share/templates.

To change these paths use the following options:
--prefix=<path_to_nagios_plugins>
--with-pnp-dir=<path_to_pnp_share_folder>

If you don't use PNP you can disable installing the PNP template with:
--disable-pnp-template

To change the user and group ownership of these files use:
--with-nagios-user=<user>
--with-nagios-group=<group>

The 'nagios-plugins-rhev3.spec' file demonstrates how to distribute check_rhev3
as an RPM package.

Also make sure that the following requirements are met:
Perl
Perl-Modules:
  LWP::UserAgent
  perl-Crypt-SSLeay
  HTTP::Request
  Getopt::Long
  XML:Simple

For Fedora 19 (and newer) install the following packages:
# yum install perl-libwww-perl perl-LWP-Protocol-https perl-HTTP-Message \
              perl-XML-Simple

For RHEL 6 install the following packages:
# yum install perl-Crypt-SSLeay perl-libwww-perl perl-XML-Simple

For Debian Squeeze install the following packages:
# apt-get install libwww-perl libcrypt-ssleay-perl libxml-simple-perl


Documentation
=============

Short documentation on how to use this plugin.

Detailed documentation can be found on the project website
https://github.com/ovido/check_rhev3.

The following checks can be performed by this plugin:

Datacenter
----------
check_rhev3 -H rhevm -a admin@internal:password -D default
check_rhev3 -H rhevm -a admin@internal:password -D default -l status
check_rhev3 -H rhevm -a admin@internal:password -D default -l version
check_rhev3 -H rhevm -a admin@internal:password -D default -l storage
check_rhev3 -H rhevm -a admin@internal:password -D default -l storage -s status
check_rhev3 -H rhevm -a admin@internal:password -D default -l storage -s usage
check_rhev3 -H rhevm -a admin@internal:password -D default -l storage -s overall-usage

Cluster
-------
check_rhev3 -H rhevm -a admin@internal:password -C default
check_rhev3 -H rhevm -a admin@internal:password -C default -l hosts
check_rhev3 -H rhevm -a admin@internal:password -C default -l vms
check_rhev3 -H rhevm -a admin@internal:password -C default -l networks

Hosts
-----
check_rhev3 -H rhevm -a admin@internal:password -R rhevh
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l status
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l load
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l cpu
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l cpu -s usage
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l ksm
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l memory
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l memory -s mem
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l memory -s swap
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l network
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l network -s status
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l network -s traffic
check_rhev3 -H rhevm -a admin@internal:password -R rhevh -l network -s errors

Storage
-------
check_rhev3 -H rhevm -a admin@internal:password -S storage
check_rhev3 -H rhevm -a admin@internal:password -S storage -l status
check_rhev3 -H rhevm -a admin@internal:password -S storage -l usage

VMs
---
check_rhev3 -H rhevm -a admin@internal:password -M vm
check_rhev3 -H rhevm -a admin@internal:password -M vm -l status
check_rhev3 -H rhevm -a admin@internal:password -M vm -l cpu
check_rhev3 -H rhevm -a admin@internal:password -M vm -l memory
check_rhev3 -H rhevm -a admin@internal:password -M vm -l network
check_rhev3 -H rhevm -a admin@internal:password -M vm -l network -s traffic
check_rhev3 -H rhevm -a admin@internal:password -M vm -l network -s errors

VM Pools
--------
check_rhev3 -H rhevm -a admin@internal:password -P pool
check_rhev3 -H rhevm -a admin@internal:password -P pool -l usage


Sample Icinga/Nagios definitions
--------------------------------

Detailed information can be found on the project website
https://github.com/ovido/check_rhev3

Command
-------
define command{
  command_name check_rhev3
  command_line $USER1$/check_rhev3 -H $_RHEVM$ -a $ARG1$ $ARG2$
}

Host
----
define host{
  use       linux-server
  host_name rhevh
  alias     RHEV Hypervisor
  address   192.168.1.2
  _rhevm    192.168.1.1
}

Service
-------
define service{
  use                 generic-service
  host_name           rhevh
  service_description RHEV CPU Check
  check_command       check_rhev3!admin@internal:password!-R $HOSTNAME$ -l cpu
}