Difference between revisions of "Talk:Monitoring /proc/user beancounters with nagios"
m (Reverted edits by 121.12.175.21 (Talk) to last revision by Mgual) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
== Introduction == | == Introduction == | ||
− | + | This script gives a warning if any parameter in a virtual environment (VZ) exceeds 80% of resources. | |
− | == | + | == packages basic installation == |
<pre> | <pre> | ||
aptitude install nail gawk | aptitude install nail gawk | ||
Line 11: | Line 11: | ||
== nail configuration == | == nail configuration == | ||
− | + | Configures <code> /etc/nailrc </code> or <code> ~/.mailrc </code> files. | |
<pre> | <pre> | ||
set smtp=smtp.server.org | set smtp=smtp.server.org | ||
Line 18: | Line 18: | ||
</pre> | </pre> | ||
− | == Script | + | == configuration == |
+ | |||
+ | Copy the script and configure the <code> /etc/crontab </code> | ||
+ | |||
+ | == Script resource == | ||
<source lang=bash> | <source lang=bash> | ||
#!/bin/bash resource.sh | #!/bin/bash resource.sh | ||
# Copyright (C) 2008 Mgual | # Copyright (C) 2008 Mgual | ||
− | # Distributed under to GNU General Public License | + | # Distributed under to GNU General Public License v2 |
− | # v0. | + | # v0.1 2008-08-13 |
− | # | + | # Ajuntament de Benicarló |
+ | |||
#!/bin/bash | #!/bin/bash | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | gawk ' | + | |
+ | gawk ' BEGIN { | ||
+ | printf "%3s %-20s %3s %3s \n", "ID", "Parameter", "%bar", "%lim" > "/tmp/beancounters" | ||
+ | } | ||
+ | |||
/dummy/||/Version/||/uid/ { next } | /dummy/||/Version/||/uid/ { next } | ||
! /:/ { | ! /:/ { | ||
Line 66: | Line 70: | ||
printf "%-20s %3d %3d ", RESOURCE , PBARRIER, PLIMIT | printf "%-20s %3d %3d ", RESOURCE , PBARRIER, PLIMIT | ||
if (PBARRIER>=80) { | if (PBARRIER>=80) { | ||
− | printf " | + | printf " Warning " |
printf "%3d %-20s %3d %3d Perill\n", VZ, RESOURCE , PBARRIER, PLIMIT >> "/tmp/beancounters" | printf "%3d %-20s %3d %3d Perill\n", VZ, RESOURCE , PBARRIER, PLIMIT >> "/tmp/beancounters" | ||
} | } | ||
Line 74: | Line 78: | ||
echo "---------------------------------------------------" >> /tmp/beancounters | echo "---------------------------------------------------" >> /tmp/beancounters | ||
− | echo "" | gawk -vVZ='ID' -vRESOURCE='Use%' ' | + | echo "" | gawk -vVZ='ID' -vRESOURCE='Use Disc%' ' |
{ | { | ||
printf "%3s %-20s \n", VZ, RESOURCE >> "/tmp/beancounters" | printf "%3s %-20s \n", VZ, RESOURCE >> "/tmp/beancounters" | ||
Line 90: | Line 94: | ||
echo "---------------------------------------------------" >> /tmp/beancounters | echo "---------------------------------------------------" >> /tmp/beancounters | ||
− | echo "" | gawk -vVZ='ID' -vRESOURCE='IUse%' ' | + | echo "" | gawk -vVZ='ID' -vRESOURCE='IUse Disc%' ' |
{ | { | ||
printf "%3s %-20s \n", VZ, RESOURCE >> "/tmp/beancounters" | printf "%3s %-20s \n", VZ, RESOURCE >> "/tmp/beancounters" | ||
Line 103: | Line 107: | ||
if [[ "$(cat /tmp/beancounters | wc -l)" != "5" ]] ; then | if [[ "$(cat /tmp/beancounters | wc -l)" != "5" ]] ; then | ||
− | cat /tmp/beancounters | nail -s Server:resource.sh | + | cat /tmp/beancounters | nail -s "Server:resource.sh Warning " user@smtp-server.org |
fi | fi |
Latest revision as of 17:16, 12 October 2010
Contents
Introduction[edit]
This script gives a warning if any parameter in a virtual environment (VZ) exceeds 80% of resources.
packages basic installation[edit]
aptitude install nail gawk
nail configuration[edit]
Configures/etc/nailrc
or~/.mailrc
files.
set smtp=smtp.server.org set from=nail@smtp.server.org set charset=iso-8859-1
configuration[edit]
Copy the script and configure the /etc/crontab
Script resource[edit]
<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/beancounters echo "" | gawk -vVZ='ID' -vRESOURCE='Use Disc%' '
{ 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/beancounters echo "" | 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=$i '/^simfs/ { if ($5 > "80%") { printf "%s %s\n", VEID, $5 } }' >>/tmp/beancounters
done
if wc -l)" != "5" ; then
cat /tmp/beancounters | nail -s "Server:resource.sh Warning " user@smtp-server.org
fi