packages: munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.p...
baggins
baggins at pld-linux.org
Fri Dec 4 00:36:58 CET 2009
Author: baggins Date: Thu Dec 3 23:36:58 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- old fixes no longer necessary (plugins in main munin distribution)
- added vserver_jiffies plugin (cumulative cpu usage by vservers)
---- Files affected:
packages/munin-plugins-muninexchange:
munin-plugins-muninexchange-vserver.patch (1.1 -> 1.2)
---- Diffs:
================================================================
Index: packages/munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.patch
diff -u packages/munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.patch:1.1 packages/munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.patch:1.2
--- packages/munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.patch:1.1 Sat Nov 29 01:41:27 2008
+++ packages/munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.patch Fri Dec 4 00:36:52 2009
@@ -1,236 +1,94 @@
-diff -ur munin-plugins-muninexchange-20081128/vserver/vserver_cpu_ munin/vserver/vserver_cpu_
---- munin-plugins-muninexchange-20081128/vserver/vserver_cpu_ 2008-11-28 18:36:19.000000000 +0100
-+++ munin/vserver/vserver_cpu_ 2008-11-29 01:39:40.000000000 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
+--- /dev/null 2009-11-24 13:50:34.796667044 +0100
++++ munin/vserver/vserver_jiffies 2008-12-06 02:00:43.000000000 +0100
+@@ -0,0 +1,91 @@
+#!/bin/bash
- #
- # Copyright (C) 2006-2008 Holger Levsen and Micah Anderson
- #
-diff -ur munin-plugins-muninexchange-20081128/vserver/vserver_loadavg munin/vserver/vserver_loadavg
---- munin-plugins-muninexchange-20081128/vserver/vserver_loadavg 2008-11-28 18:36:21.000000000 +0100
-+++ munin/vserver/vserver_loadavg 2008-11-29 01:39:40.000000000 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
- #
- # Copyright (C) 2007 Andrei Morgan
- # Copyright (C) 2008 Micah Anderson
-diff -ur munin-plugins-muninexchange-20081128/vserver/vserver_resources munin/vserver/vserver_resources
---- munin-plugins-muninexchange-20081128/vserver/vserver_resources 2008-11-28 18:36:22.000000000 +0100
-+++ munin/vserver/vserver_resources 2008-11-29 01:39:40.000000000 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
- #
- # Copyright (C) 2006-2008 Holger Levsen, Micah Anderson
- #
-@@ -188,6 +188,12 @@
- echo 'graph_vlabel ANON pages'
- echo 'graph_info Shows anonymous memory (human readable) used by each vserver.'
- ;;
-+ RMAP)
-+ echo 'graph_title Mapped memory used by vserver'
-+ echo 'graph_args --base 1024k -l 0'
-+ echo 'graph_vlabel RMAP pages'
-+ echo 'graph_info Shows mapped memory (human readable) used by each vserver.'
-+ ;;
- FILES)
- echo 'graph_title Files used by vserver'
- echo 'graph_args --base 1024k -l 0'
-@@ -224,6 +230,30 @@
- echo 'graph_vlabel SHM pages'
- echo 'graph_info Shows shared memory (human readable) used by each vserver.'
- ;;
-+ SEMA)
-+ echo 'graph_title Semaphore arrays used by vserver'
-+ echo 'graph_args --base 1024k -l 0'
-+ echo 'graph_vlabel Semaphore arrays'
-+ echo 'graph_info Shows semaphore arrays used by each vserver.'
-+ ;;
-+ SEMS)
-+ echo 'graph_title Semaphores used by vserver'
-+ echo 'graph_args --base 1024k -l 0'
-+ echo 'graph_vlabel Semaphores'
-+ echo 'graph_info Shows semaphores used by each vserver.'
-+ ;;
-+ DENT)
-+ echo 'graph_title dentry structs used by vserver'
-+ echo 'graph_args --base 1024k -l 0'
-+ echo 'graph_vlabel dentry structs'
-+ echo 'graph_info Shows dentry structs used by each vserver.'
-+ ;;
-+ ALL)
-+ echo 'graph_title Resources used by vserver'
-+ echo 'graph_args --base 1024k -l 0'
-+ echo 'graph_vlabel Resources'
-+ echo 'graph_info Shows rsources used by each vserver.'
-+ ;;
- *)
- echo "$RESOURCE not defined."
- exit 1
-@@ -242,53 +272,108 @@
-
- case "$RESOURCE" in
- PROC)
-- echo "$NAME.label $LABEL: processes"
-- echo "$NAME.info Number of processes used by $LABEL."
-+ echo "${NAME}_PROC.label $LABEL: processes"
-+ echo "${NAME}_PROC.info Number of processes used by $LABEL."
- ;;
- VM)
-- echo "$NAME.label $LABEL: Virtual memory"
-- echo "$NAME.info Size of virtual memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
-- echo "$NAME.cdef $NAME,$pagesize,*"
-+ echo "${NAME}_VM.label $LABEL: Virtual memory"
-+ echo "${NAME}_VM.info Size of virtual memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
-+ echo "${NAME}_VM.cdef ${NAME}_VM,$pagesize,*"
- ;;
- VML)
-- echo "$NAME.label $LABEL: Locked memory"
-- echo "$NAME.info Size of locked memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
-- echo "$NAME.cdef $NAME,$pagesize,*"
-+ echo "${NAME}_VML.label $LABEL: Locked memory"
-+ echo "${NAME}_VML.info Size of locked memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
-+ echo "${NAME}_VML.cdef ${NAME}_VML,$pagesize,*"
- ;;
- RSS)
-- echo "$NAME.label $LABEL: Resident set size"
-- echo "$NAME.info Size of resident set size used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-- echo "$NAME.cdef $NAME,$pagesize,*"
-+ echo "${NAME}_RSS.label $LABEL: Resident set size"
-+ echo "${NAME}_RSS.info Size of resident set size used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_RSS.cdef ${NAME}_RSS,$pagesize,*"
- ;;
- ANON)
-- echo "$NAME.label $LABEL: Anonymous memory"
-- echo "$NAME.info Size of anonymous memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-- echo "$NAME.cdef $NAME,$pagesize,*"
-+ echo "${NAME}_ANON.label $LABEL: Anonymous memory"
-+ echo "${NAME}_ANON.info Size of anonymous memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_ANON.cdef ${NAME}_ANON,$pagesize,*"
-+ ;;
-+ RMAP)
-+ echo "${NAME}_RMAP.label $LABEL: Mapped memory"
-+ echo "${NAME}_RMAP.info Size of mapped memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_RMAP.cdef ${NAME}_RMAP,$pagesize,*"
- ;;
- FILES)
-- echo "$NAME.label $LABEL: Files"
-- echo "$NAME.info Number of files used by $LABEL."
-+ echo "${NAME}_FILES.label $LABEL: Files"
-+ echo "${NAME}_FILES.info Number of files used by $LABEL."
- ;;
- OFD)
-- echo "$NAME.label $LABEL: Open filedescriptors"
-- echo "$NAME.info Number of open filedescriptors used by $LABEL."
-+ echo "${NAME}_OFD.label $LABEL: Open filedescriptors"
-+ echo "${NAME}_OFD.info Number of open filedescriptors used by $LABEL."
- ;;
- LOCKS)
-- echo "$NAME.label $LABEL: Locks"
-- echo "$NAME.info Number of locks used by $LABEL."
-+ echo "${NAME}_LOCKS.label $LABEL: Locks"
-+ echo "${NAME}_LOCKS.info Number of locks used by $LABEL."
- ;;
- SOCK)
-- echo "$NAME.label $LABEL: Sockets"
-- echo "$NAME.info Number of sockets used by $LABEL."
-+ echo "${NAME}_SOCK.label $LABEL: Sockets"
-+ echo "${NAME}_SOCK.info Number of sockets used by $LABEL."
- ;;
- MSGQ)
-- echo "$NAME.label $LABEL: Message queues"
-- echo "$NAME.info Number of message queues used by $LABEL."
-+ echo "${NAME}_MSGQ.label $LABEL: Message queues"
-+ echo "${NAME}_MSGQ.info Number of message queues used by $LABEL."
- ;;
- SHM)
-- echo "$NAME.label $LABEL: Shared memory"
-- echo "$NAME.info Size of shared memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-- echo "$NAME.cdef $1,$pagesize,*"
-+ echo "${NAME}_SHM.label $LABEL: Shared memory"
-+ echo "${NAME}_SHM.info Size of shared memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_SHM.cdef ${NAME}_SHM,$pagesize,*"
-+ ;;
-+ SEMA)
-+ echo "${NAME}_SEMA.label $LABEL: Semaphore arrays"
-+ echo "${NAME}_SEMA.info Number of semaphore arrays used by $LABEL."
-+ ;;
-+ SEMS)
-+ echo "${NAME}_SEMS.label $LABEL: Semaphores"
-+ echo "${NAME}_SEMS.info Number of semaphores used by $LABEL."
-+ ;;
-+ DENT)
-+ echo "${NAME}_DENT.label $LABEL: dentry structs"
-+ echo "${NAME}_DENT.info Number of dentries used by $LABEL."
-+ ;;
-+ ALL)
-+ echo "${NAME}_PROC.label $LABEL: processes"
-+ echo "${NAME}_PROC.info Number of processes used by $LABEL."
-+ echo "${NAME}_VM.label $LABEL: Virtual memory"
-+ echo "${NAME}_VM.info Size of virtual memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
-+ echo "${NAME}_VM.cdef ${NAME}_VM,$pagesize,*"
-+ echo "${NAME}_VML.label $LABEL: Locked memory"
-+ echo "${NAME}_VML.info Size of locked memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
-+ echo "${NAME}_VML.cdef ${NAME}_VML,$pagesize,*"
-+ echo "${NAME}_RSS.label $LABEL: Resident set size"
-+ echo "${NAME}_RSS.info Size of resident set size used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_RSS.cdef ${NAME}_RSS,$pagesize,*"
-+ echo "${NAME}_ANON.label $LABEL: Anonymous memory"
-+ echo "${NAME}_ANON.info Size of anonymous memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_ANON.cdef ${NAME}_ANON,$pagesize,*"
-+ echo "${NAME}_RMAP.label $LABEL: Mapped memory"
-+ echo "${NAME}_RMAP.info Size of mapped memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_RMAP.cdef ${NAME}_RMAP,$pagesize,*"
-+ echo "${NAME}_FILES.label $LABEL: Files"
-+ echo "${NAME}_FILES.info Number of files used by $LABEL."
-+ echo "${NAME}_OFD.label $LABEL: Open filedescriptors"
-+ echo "${NAME}_OFD.info Number of open filedescriptors used by $LABEL."
-+ echo "${NAME}_LOCKS.label $LABEL: Locks"
-+ echo "${NAME}_LOCKS.info Number of locks used by $LABEL."
-+ echo "${NAME}_SOCK.label $LABEL: Sockets"
-+ echo "${NAME}_SOCK.info Number of sockets used by $LABEL."
-+ echo "${NAME}_MSGQ.label $LABEL: Message queues"
-+ echo "${NAME}_MSGQ.info Number of message queues used by $LABEL."
-+ echo "${NAME}_SHM.label $LABEL: Shared memory"
-+ echo "${NAME}_SHM.info Size of shared memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
-+ echo "${NAME}_SHM.cdef ${NAME}_SHM,$pagesize,*"
-+ echo "${NAME}_SEMA.label $LABEL: Semaphore arrays"
-+ echo "${NAME}_SEMA.info Number of semaphore arrays used by $LABEL."
-+ echo "${NAME}_SEMS.label $LABEL: Semaphores"
-+ echo "${NAME}_SEMS.info Number of semaphores used by $LABEL."
-+ echo "${NAME}_DENT.label $LABEL: dentry structs"
-+ echo "${NAME}_DENT.info Number of dentries used by $LABEL."
- ;;
- *)
- echo "$RESOURCE not defined."
-@@ -299,7 +384,7 @@
- if [ ! -z "$LIMITS" -a "$LIMITS" = 1 ]; then
- LIMIT=`cat /proc/virtual/$xid/limit | grep $RESOURCE | cut -f4`
- if [ ${LIMIT:-0} -gt 0 ]; then
-- echo "$NAME.critical $LIMIT"
-+ echo "${NAME}_${RESOURCE}.critical $LIMIT"
- fi
- fi
- done
-@@ -310,8 +395,15 @@
- for xid in $XIDS ; do
- LABEL=`cat /proc/virtual/$xid/$NAMELOC |grep NodeName |cut -f2`
- NAME=`echo $LABEL | cut -d. -f1 | tr '-' '_'`
-- cat /proc/virtual/$xid/limit | awk -v name="${NAME}" -v resource="${RESOURCE}:" \
-- '{ if ( $1 == resource )
-- printf "%s.value %d\n", name, $2 }'
-+ if [ $RESOURCE = "ALL" ]; then
-+ cat /proc/virtual/$xid/limit | awk -v name="${NAME}" \
-+ '{ if ( $1 ~ /[A-Z]*:/ ) {
-+ resource = $1 ; gsub(/:/, "", resource);
-+ printf "%s_%s.value %d\n", name, resource, $2
-+ }}'
-+ else
-+ cat /proc/virtual/$xid/limit | awk -v name="${NAME}" -v resource="${RESOURCE}" \
-+ '{ if ( $1 ~ resource )
-+ printf "%s_%s.value %d\n", name, resource, $2 }'
-+ fi
- done
--
++#
++# Copyright (C) 2006-2008 Holger Levsen and Micah Anderson
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License
++# as published by the Free Software Foundation; version 2 dated June,
++# 1991.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++# Graph Vserver cpu usage stats
++#
++# Configuration variables
++# vservers - specify the vservers to include in the graph (default: all)
++#
++# NOTE: If no configuration variable is set, the default will be used
++#
++# see vserver_resources for example uses of configuration files
++
++VSERVERS="$vservers"
++
++INFO=(`sed 's/.*:\t//' /proc/virtual/info 2>/dev/null || echo '<none>'`)
++KCIN="$[ 16#${INFO[2]} ]";
++
++# If this is 1, then VCI_SPACES is present in the kernel (new in 2.6.19)
++if [ $[ (KCIN >> 10) & 1 ] -eq 1 ]
++then
++ NAMELOC="nsproxy"
++else
++ NAMELOC="cvirt"
++fi
++
++if [ -z "$VSERVERS" ] ; then
++ XIDS=`find /proc/virtual/* -type d -exec basename {} \;`
++else
++ # it's really more performant to specify vservers by ids or by linking but not in the configuration-file by name
++ XIDS=""
++ for i in $VSERVERS ; do
++ if [ -d /proc/virtual/$i ] ; then
++ XIDS="${XIDS}${i} "
++ else
++ for j in `find /proc/virtual/* -type d -exec basename {} \;` ; do
++ if [ "$i" = "`cat /proc/virtual/$j/$NAMELOC |grep NodeName |cut -f2`" ] ; then
++ XIDS="${XIDS}${j} "
++ fi
++ done
++ fi
++ done
++fi
++
++if [ "$1" = "config" ]; then
++ echo 'graph_category vserver'
++ echo 'graph_args --base 1000'
++ echo 'graph_title Vserver cpu usage'
++ echo 'graph_vlabel jiffies used per ${graph_period}'
++ echo 'graph_info Shows jiffies used on each vserver.'
++
++ for i in $XIDS ; do
++ LABEL=`grep NodeName /proc/virtual/$i/$NAMELOC | cut -f2`
++ NAME=`echo $LABEL | tr '-' '_'`
++ echo "${NAME}_hold.label on hold for cpu on $LABEL"
++ echo "${NAME}_hold.info on hold for cpu on $LABEL."
++ echo "${NAME}_hold.type COUNTER"
++ echo "${NAME}_scpu.label system cpu usage for $LABEL"
++ echo "${NAME}_scpu.info system cpu usage for $LABEL."
++ echo "${NAME}_scpu.type COUNTER"
++ echo "${NAME}_ucpu.label user cpu usage for $LABEL"
++ echo "${NAME}_ucpu.info user cpu usage for $LABEL."
++ echo "${NAME}_ucpu.type COUNTER"
++ done
++ exit 0
++fi
++
++for i in $XIDS ; do
++ NAME=`grep NodeName /proc/virtual/$i/$NAMELOC | cut -f2 | tr '-' '_'`
++ awk -v name=$NAME -v u=0 -v s=0 -v h=0 '
++ /^cpu [0-9]+:/ { u+=$3; s+=$4; h+=$5}
++ END {
++ print name "_hold.value " h
++ print name "_scpu.value " s
++ print name "_ucpu.value " u
++ }' /proc/virtual/$i/sched
++done
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/munin-plugins-muninexchange/munin-plugins-muninexchange-vserver.patch?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list