From ae04f889d6ad9302e554ad47c46b1c2adf4f0db7 Mon Sep 17 00:00:00 2001 From: Kees Meijs Date: Fri, 30 Jan 2009 10:21:35 +0100 Subject: [PATCH] Initial version --- plugins/other/snmp___bri_se_ | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 plugins/other/snmp___bri_se_ diff --git a/plugins/other/snmp___bri_se_ b/plugins/other/snmp___bri_se_ new file mode 100755 index 00000000..71bd1aaa --- /dev/null +++ b/plugins/other/snmp___bri_se_ @@ -0,0 +1,63 @@ +#!/bin/bash +# +# Munin plugin snmp__bri_se_ +# +# Version: 0.2, released on 30/02/2009, tested on Debian GNU/Linux 4.0 (etch) +# using Cisco 5350 gateways. +# +# This plugin reports the number of BRI channels currently in use on SE/foo +# using SNMP community bar. +# +# Requirements: bash, snmpget, rev, cut, which +# +# Copyright (c) 2009 by Kees Meijs for Kumina bv. +# +# This work is licensed under the Creative Commons Attribution-Share Alike 3.0 +# Unported license. In short: you are free to share and to make derivatives of +# this work under the conditions that you appropriately attribute it, and that +# you only distribute it under the same, similar or a compatible license. Any +# of the above conditions can be waived if you get permission from the copyright +# holder. + +# HOW TO? +# +# Symlink snmp___bri_se_ to /etc/munin/plugins/snmp_HOSTNAME_COMMUNITY_bri_se_SEOFGATEWAY +# For example: snmp_1.2.3.4_public_bri_se_3 to check community "public" on host "1.2.3.4" +# using SE #3. + +# More strict checking +set -e + +# Check for snmpget +SNMPGET=$(which snmpget) + +# Catch command line arguments +JOB=$1 + +# Set variables +HOSTNAME=$(echo $0 | rev | cut -d '_' -f 5 | rev) +COMMUNITY=$(echo $0 | rev | cut -d '_' -f 4 | rev) +SE=$(echo $0 | rev | cut -d '_' -f 1 | rev) + +# Configure Munin +case "$1" in + "config") + echo "host_name $HOSTNAME" + echo "graph_title BRI usage on SE-$SE" + echo "graph_vlabel Number of used BRI channels" + echo "graph_scale no" + echo "graph_category network" + for CHANNEL in $(seq 0 7); do + echo "chan_$CHANNEL.label SE-$SE/$CHANNEL used channels" + done + exit 0;; +esac + +# Return fetched SNMP values +for CHANNEL in $(seq 0 7); do + echo -n "chan_$CHANNEL.value " + $SNMPGET -v 1 -c $COMMUNITY $HOSTNAME 1.3.6.1.4.1.9.10.19.1.1.9.1.3.$SE.$CHANNEL | rev | cut -d ' ' -f 1 | rev +done + +# Exit cleanly +exit 0