Archive

Countdown

    Keine Ereignisse vorhanden

Projekt: Überwachung BlackBerry Enterprise Server mit Nagios – OIDs

Nach meinem ersten Beitrag mit der Überschrift Überwachung BlackBerry Enterprise Server mit Nagios, wurde ich gefragt, ob ich wüßte, dass es ein BlackBerry Plugin für Nagios gibt. Klar weiß ich das, das Plugin check_blackberry kann bei monitoringexchange.org heruntergeladen werden, von dieser Stelle nochmals ein Dankeschön an den Autor Phiulip Deneu für seine Mühen.

Allerdings, hat das Plugin einen kleinen Schönheitsfehler:  die im Script verwendete OID, um die Anzahl der Pending Messages festzustellen, stimmt zumindest bei Verwendung mit BES 4.1.6 nicht mehr und liefert deshalb kein Ergebnis. Darüber hinaus reichte es mir nicht aus, die Anzahl der verwendeten CALs festzustellen, ich wollte auch wissen, wieviele CALs noch frei sind. Aus diesem Grund habe ich das Plugin entsprechend angepasst und erweitert.

Die korrekte OID für Pending messages lautet:  1.3.6.1.4.1.3530.5.25.1.202.1.

Nachfolgend die von mir verwendete Version 0.3 des Nagios Plugins check_blackberry:

#!/bin/bash
#
# Nagios Plugin for checking states of BlackBerry Enterprise Server
#
# Date: 09.05.2008 # License: GNU Public License v2
# Version: 0.3 stable
# Written by: Philipp Deneu
# Framework by: Christian Mies
# Edited by: Roland Ehle (roland at inbox4u dot de)
# Changes in version 0.3: Edited OID for Pending messages
# Added function to get remaining licenses and total number of CALs
#
# Contact
# E-Mail: pdeneu at gne dot de
# Skype: derdeneu
#
# www.gne.de
#
 
pluginpath="/usr/local/nagios/libexec"
pluginname=`basename $0`
 
while getopts "H:C:Q:w:c:" options; do
  case $options in
        H)hostname=$OPTARG;;
        C)community=$OPTARG;;
        Q)query=$OPTARG;;
    w)warn=$OPTARG;;
    c)crit=$OPTARG;;
        *)
          echo "$pluginname Help:"
          echo "-----------------"
          echo "-H  : Hostname/IP of BES "
          echo "-C  : SNMP Community. Default: public"
          echo "-Q query : the part to query:"
          echo "                 srpconnect= SRP connection status "
          echo "                 bes-version= BlackBerry Enterprise Server Version "
          echo "                 pending= Number of messages pending "
          echo "                 licenses= Number of used Licenses "
          echo "-w  : Warning Threshold "
          echo "-c  : Critical Threshold "
          echo "-----------------"
          echo "Usage: $pluginname -H  -C  -Q  -w  -c "
          exit 3
        ;;
  esac
done
 
if [ -z $community ]; then
        community=public;
fi;
 
SNMPWALK_BIN='/usr/bin/snmpwalk'
SRPCON='1.3.6.1.4.1.3530.5.25.1.10.1' # Connection Status to SRP Router
SRPLASTCON='1.3.6.1.4.1.3530.5.25.1.11.1' # Last SRP Connect
BESVERS='1.3.6.1.4.1.3530.5.20.1.10.1' # Version of BES
PENDINGMSG='1.3.6.1.4.1.3530.5.25.1.202.1' # Number of messages pending
USEDLICENSES='1.3.6.1.4.1.3530.5.20.1.21.1' # Number of used Licenses
REMLICENSES='1.3.6.1.4.1.3530.5.50.1.37.1' # Number of remaining Licenses
TOTLICENSES='1.3.6.1.4.1.3530.5.50.1.36.1' # Total number of Licenses 
 
case $query in
        srpconnect)
                SRPOID=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $SRPCON | awk '{print $4}' | tr -d '\n'`;
		SRPLASTOID=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $SRPLASTCON | awk '{print $4" "$5}' | tr -d '\n"'`;
                if [ $SRPOID -le 0 ]; then
                        echo "CRITICAL: Connection to SRP-Router failed"
                        exit 2
                fi;
                echo "OK: Successful connected to SRP-Router. Last Connection: $SRPLASTOID"
                exit 0
        ;;
 
	bes-version)
                BESVOID=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $BESVERS | awk '{print $10}' | tr -d '\n"'`;
 
			echo "BlackBerry Enterprise Server Version: $BESVOID"
                exit 0
        ;;
 
	pending)
                PENDINGMSGOID=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $PENDINGMSG | awk '{print $4}' | tr -d '\n'`;
                if [ $PENDINGMSGOID -ge $crit ]; then
                        echo "CRITICAL: Pending Mails: $PENDINGMSGOID|Pending=$PENDINGMSGOID;$warn;$crit;;"
                        exit 2
                fi;
                if [ $PENDINGMSGOID -ge $warn ] && [ $PENDINGMSGOID -lt $crit ]; then
                                echo "WARNING: Pending Mails: $PENDINGMSGOID|Pending=$PENDINGMSGOID;$warn;$crit;;"
                                exit 1
                fi;
                echo "OK: Pending Mails: $PENDINGMSGOID|Pending=$PENDINGMSGOID;$warn;$crit;;"
                exit 0
        ;;
 
        usedlicenses)
                LICENSESOID=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $USEDLICENSES | awk '{print $4}' | tr -d '\n'`;
                if [ $LICENSESOID -ge $crit ]; then
                        echo "CRITICAL: Licenses used: $LICENSESOID|Licenses=$LICENSESOID;$warn;$crit;;"
                        exit 2
                fi;
                if [ $LICENSESOID -ge $warn ] && [ $LICENSESOID -lt $crit ]; then
                        echo "WARNING: Licenses used: $LICENSESOID|Licenses=$LICENSESOID;$warn;$crit;;"
			exit 1
                fi;
                echo "OK: Licenses used: $LICENSESOID|Licenses=$LICENSESOID;$warn;$crit;;"
		exit 0
        ;;
 
        remlicenses)
                LICENSESOID1=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $REMLICENSES | awk '{print $4}' | tr -d '\n'`;
                if [ $LICENSESOID1 -le $crit ]; then
                        echo "CRITICAL: Remaining Licenses: $LICENSESOID1|Licenses=$LICENSESOID1;$warn;$crit;;"
                        exit 2
                fi;
                if [ $LICENSESOID1 -le $warn ]; then
                        echo "WARNING: Remaining Licenses: $LICENSESOID1|Licenses=$LICENSESOID1;$warn;$crit;;"
                        exit 1
                fi;
                echo "OK: Remaining Licenses: $LICENSESOID1|Licenses=$LICENSESOID1;$warn;$crit;;"
                exit 0
        ;;
 
        totallicenses)
                LICENSESOID2=`$SNMPWALK_BIN -v 1 -c $community -On $hostname $TOTLICENSES | awk '{print $4}' | tr -d '\n'`;
                if [ $LICENSESOID2 -ge $crit ]; then
                        echo "CRITICAL: Licenses total: $LICENSESOID2|Licenses=$LICENSESOID;$warn;$crit;;"
                        exit 2
                fi;
                if [ $LICENSESOID2 -ge $warn ] && [ $LICENSESOID2 -lt $crit ]; then
                        echo "WARNING: Licenses total: $LICENSESOID2|Licenses=$LICENSESOID2;$warn;$crit;;"
                        exit 1
                fi;
                echo "OK: Licenses total: $LICENSESOID2|Licenses=$LICENSESOID2;$warn;$crit;;"
                exit 0
        ;;
 
        *)
                echo "UNKNOWN: not implemented. Use $pluginname -h"
                exit 3
        ;;
 
esac

1 comment to Projekt: Überwachung BlackBerry Enterprise Server mit Nagios – OIDs

  • Georg

    Jetzt muss ich nur noch rauskriegen, wie ich meinen BES5 beibringe SNMP zu sprechen. Abfrage über snmpwalk blieb bisher erfolglos, bzw. endete mit einem Timeout.
    Hast du da auch ne’n Tipp?

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Comment Spam Protection by WP-SpamFree