rk-it-at / check_rhv

This plugin for Icinga/Nagios is used to monitor a variety of a RHV and oVirt environement including datacenters, clusters, hosts, vms, vm pools and storage domains.
GNU General Public License v3.0
8 stars 10 forks source link

Please note that this plugin isn't maintained any longer as I don't use oVirt/RHV anymore.

*****

README for check_rhv plugin for Icinga/Nagios

*****

What is check_rhv?

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:

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

Installation

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

NOTE: Deploy the dependencies below for the system version you have here, first For RHEL 7/8 or Fedora 35 run in this order (cwd is the check_rhv repo path) $ /usr/bin/aclocal $ automake --add-missing $ autoconf $ ./configure $ make all $ sudo make install

For other systems, use the standard method of deploying $ ./configure $ make all

make install

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

To change these paths use the following options: --prefix= --with-pnp-dir=

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= --with-nagios-group=

For example if you use Icinga and do not use PNP, you can use the following commands to configure your install for that: $ ./configure --with-nagios-user=icinga --with-nagios-group=icinga --disable-pnp-template --prefix=/usr/lib64/nagios/plugins/

General Options:


           Nagios user: icinga
          Nagios group: icinga
     Plugins directory: /usr/lib64/nagios/plugins
         PNP directory: /usr/local/pnp4nagios/share
  Install PNP template: no

Review the options above for accuray. If they look okay, type 'make all' to compile.

[icinga@vaulttest check_rhv]$

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

Also make sure that the following requirements are met: Perl Perl-Modules: Crypt::SSLeay DateTime DateTime::Format::DateParse Getopt::Long HTTP::Request LWP LWP::Protocol:https LWP::UserAgent 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 RHEL 7 install the following packages: $ sudo yum install perl-LWP-Protocol-https openssl perl-DateTime-Format-DateParse.noarch perl-DateTime autoconf-archive.noarch automake libtool perl-libwww-perl autoconf perl-XML-Simple.noarch

For Debian Squeeze install the following packages:

apt-get install libwww-perl libcrypt-ssleay-perl libxml-simple-perl

For Fedora 35 or RHEL 8, install the following packages: $ sudo dnf install perl-LWP-Protocol-https openssl perl-DateTime-Format-DateParse.noarch perl-DateTime autoconf-archive.noarch automake libtool perl-libwww-perl autoconf perl-XML-Simple.noarch

Documentation

Short documentation on how to use this plugin.

Detailed documentation can be found on the project website https://github.com/rk-it-at/check_rhv.

The following checks can be performed by this plugin:

Datacenter

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

Cluster

check_rhv -H rhevm -a admin@internal:password -C default check_rhv -H rhevm -a admin@internal:password -C default -l hosts check_rhv -H rhevm -a admin@internal:password -C default -l vms check_rhv -H rhevm -a admin@internal:password -C default -l networks check_rhv -H rhevm -a admin@internal:password -C default -l glustervolumes check_rhv -H rhevm -a admin@internal:password -C default -l glusterbricks

Hosts

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

Storage

check_rhv -H rhevm -a admin@internal:password -S storage check_rhv -H rhevm -a admin@internal:password -S storage -l usage

VMs

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

VM Pools

check_rhv -H rhevm -a admin@internal:password -P pool check_rhv -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_rhv

Command

define command{ command_name check_rhv command_line $USER1$/check_rhv -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_rhv!admin@internal:password!-R $HOSTNAME$ -l cpu }