Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:nagios:nagios-kvm]] 
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


anwenderwiki:nagios:nagios-kvm [2013/05/28 22:56] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +{{tag> nagios kvm}}
  
 +====== KVM-Hosts in Nagios anzeigen (über Nagios-nrpe) ======
 +
 +{{:anwenderwiki:nagios:nagios-kvm.jpg|}}
 +
 +Neues plugin **''check_kvm''**, Original von Karl Rink: [[http://exchange.nagios.org/directory/Plugins/Operating-Systems/*-Virtual-Environments/Others/check_kvm/details| download]]\\
 +Muss zunächst auf deutsche Textausgabe angepasst werden. 
 +
 +<code text check_kvm>
 +#!/bin/sh
 +# check_kvm - Check that a virtual machine is running.
 +# Written by Karl Rink <krink@csun.edu>
 +#
 +#----------------------------------------------------------------------
 +# COPYRIGHT    : 12.2010 California State University, Northridge
 +#
 +# AUTHOR       : Karl Rink 
 +#
 +# BELONGS TO   : Qemu/Kvm Nagios Integration
 +#
 +# DESCRIPTION  : Runs "virsh list" and returns the available vms
 +#
 +# $Revision: 1.0 $
 +#
 +# Permission to use, copy, modify, distribute, and sell this software
 +# and its documentation for any purpose is hereby granted without fee,
 +# provided that the above copyright notice appear in all copies and that
 +# both that copyright notice and this permission notice appear in
 +# supporting documentation.
 +#
 +# The above copyright notice and this permission notice shall be
 +# included in all copies or substantial portions of the Software.
 +#
 +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 +# IN NO EVENT SHALL THE AUTHOR OR SUSE BE LIABLE FOR ANY CLAIM, DAMAGES
 +# OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
 +# THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 +#----------------------------------------------------------------------
 +
 +# Install:  Put this script in nagios client directory libexec/check_kvm
 +# As a nagios nrpe plugin, add the following line to your client nrpe.cfg
 +# command[virt_check_kvm]=/opt/nagios/libexec/check_kvm
 +# No sudo is necessary if you simply add nagios user to the libvirt group
 +# libvirtd:x:118:nagios 
 +
 +PATH=/bin:/usr/bin:/sbin:/usr/sbin
 +export PATH
 +
 +LIST=$(virsh list --all | sed '1,2d' | sed '/^$/d'| awk '{print $2":"$3}')
 +
 +if [ ! "$LIST" ]; then
 +  EXITVAL=3 #Status 3 = UNKNOWN (orange) 
 +  echo "Unknown guests"
 +  exit $EXITVAL
 +fi
 +
 +OK=0
 +WARN=0
 +CRIT=0
 +NUM=0
 +
 +for host in $(echo $LIST)
 +do
 +  name=$(echo $host | awk -F: '{print $1}')
 +  state=$(echo $host | awk -F: '{print $2}')
 +  NUM=$(expr $NUM + 1)
 +
 +  case "$state" in
 +    laufend) OK=$(expr $OK + 1) ;;
 +    Ausgeschaltet) WARN=$(expr $WARN + 1) ;;
 +    shutdown|shut*|crashed) CRIT=$(expr $CRIT + 1) ;;
 +    *) CRIT=$(expr $CRIT + 1) ;;
 +  esac
 +done
 +
 +EXITVAL=0
 +
 +#if [ "$NUM" -eq "$OK" ]; then
 +# EXITVAL=0 #Status 0 = OK (green)
 +#fi
 +#
 +#if [ "$WARN" -gt 0 ]; then
 +#  EXITVAL=1 #Status 1 = WARNING (yellow)
 +#fi
 +
 +if [ "$CRIT" -gt 0 ]; then
 +  EXITVAL=2 #Status 2 = CRITICAL (red)
 +fi
 +
 +echo Hosts:$NUM Laufend:$OK Aus:$WARN CRIT:$CRIT - $LIST
 +
 +exit $EXITVAL
 +
 +</code>
 +
 +Das Plugin in **''/opt/nagios''** ablegen und die Befehlszeile in **''/etc/nagios/nrpe_local.cfg''** einfügen.
 +
 +  command[check_kvm]=sudo /opt/nagios/check_kvm
 +
 +Schließlich für sudo eine Datei anlegen: **''/etc/sudoers.d/nagios-kvm-suid''**:
 +<code text nagios-kvm-suid>
 +# /etc/sudoers.d/nagios-kvm-suid
 +# MR 27.05.2013
 +#
 + 
 +Cmnd_Alias  NAGIOS_CHECKS2=/opt/nagios/check_kvm
 +nagios ALL=NOPASSWD: NAGIOS_CHECKS2
 +
 +</code>
 +
 +Ggf. noch mit "visudo" das includedir aktivieren.
 [[anwenderwiki:nagios:nagios-kvm]] anwenderwiki/nagios/nagios-kvm.txt · Zuletzt geändert: 2013/05/28 22:56 von 127.0.0.1