Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Talk:Monitoring /proc/user beancounters with nagios

2,466 bytes added, 17:16, 12 October 2010
m
Reverted edits by 121.12.175.21 (Talk) to last revision by Mgual
{{DISPLAYTITLE:Monitoring /proc/user_beancounters with email}}
To be added locally on the VZ HN to
Works as nagios-plugin with option '-f' or reports an increase of a failcnt-value by mail if run e.g. as a cronjob with option '-t'. We use it with both cases to be sure that we see a peak in case it happened between the nagios-checks.== Introduction ==
<source lang=python>#!/usr/bin/python# Copyright This script gives a warning if any parameter in a virtual environment (CVZ) 2008 Christian Benke# Distributed under the terms exceeds 80% of the GNU General Public License v2# v0resources.2 2008-04-04# Christian Benke <benkokakao gmail com>
import string== packages basic installation ==import pickle<pre>import sys aptitude install nail gawk import getoptimport re</pre>
veid== nail configuration == Configures <code> /etc/nailrc </code> or <code> ~/.mailrc </code> files.<pre>set smtp=smtp.server.orgset from=nail@smtp.server.orgset charset=iso-8859-1</pre> == configuration == Copy the script and configure the <code> /etc/crontab </code> == Script resource == <source lang=bash>#!/bin/bash resource.sh# Copyright (C) 2008 Mgual# Distributed under to GNU General Public License v2# v0.1 2008-08-13# Ajuntament de Benicarló   #!/bin/bash   gawk ' BEGIN { printf "%3s %-20s %3s %3s \n", "ID", "Parameter", "%bar", "%lim" > "/tmp/beancounters" }  /dummy/||/Version/||/uid/ { next } ! /:/ { RESOURCE=$1 MAXHELD=$3 BARRIER=$4 LIMIT=$5 } /:/ { gsub(/:/, "", $1) printf "------- %s ------- \n",$1 VZ=$1 RESOURCE=$2 MAXHELD=$4 BARRIER=$5 LIMIT=$6 } { #printf "R=%s M=%s B=%s L=%s ", RESOURCE, MAXHELD, BARRIER, LIMIT if (BARRIER>0) { PBARRIER=MAXHELD*100/BARRIER } else { PBARRIER=0 } if (LIMIT>0) { PLIMIT=MAXHELD*100/LIMIT } else { PLIMIT=0 } printf "%-20s %3d %3d ", RESOURCE , PBARRIER, PLIMIT if (PBARRIER>=80) { printf " Warning " printf "%3d %-20s %3d %3d Perill\n", VZ, RESOURCE , PBARRIER, PLIMIT >> "/tmp/beancounters" } printf "\n" } ' /proc/user_beancounters echo "---------------------------------------------------" >> /tmp/beancountersecho "" | gawk -vVZ='ID' -vRESOURCE='Use Disc%''current_data { printf "%3s %-20s \n", VZ, RESOURCE >> "/tmp/beancounters" } '  # Quota Disc for i in $(vzlist | cut -d" " -f 8)do vzctl exec $i df -h | gawk -vVEID=$i '/^simfs/ { if ($5 > "80%") { printf "%s %s\n", VEID, $5 } }' >>/tmp/beancounters done echo "---------------------------------------------------" >> /tmp/beancountersecho "" | gawk -vVZ='ID' -vRESOURCE='IUse Disc%' ' { printf "%3s %-20s \n", VZ, RESOURCE >> "/tmp/beancounters" } 'for i in $(vzlist | cut -d" " -f 8)do vzctl exec $i df -i | gawk -vVEID=dict$i '/^simfs/ { if ($5 > "80%"){ printf "%s %s\n", VEID, $5 } }' >>/tmp/beancounters done  if [[ "$(cat /tmp/beancounters | wc -l)" != "5" ]] ; then cat /tmp/beancounters | nail -s "Server:resource.sh Warning " user@smtp-server.orgfi