Nagios – APC-USV monitoren

Aus aktuellem Anlass, weil ich gerade einen Check hinzugefuegt habe der den Batteriestatus ueberwacht und ggfs. darueber informiert wenn ausgewechselt werden muss.

Generell: Monitoring einer APC SmartUPS 3000 mit einer NetworkManagement Card via SNMP ist einfach. Ich habe diesen Weg gewaehlt (backup) und alles funktioniert einwandfrei.

Um zu ueberwachen ob eine Batterie ausgetauscht werden muss, habe ich das Plugin check_powerchute (backup) installiert. Einfach in /usr/lib/nagios/plugins/ kopieren, in der /etc/nagios3/commands.cfg einen entsprechenden Check hinzufuegen

# USV Batterie replacement
define command{
        command_name    check_apc_batterie
        command_line    $USER1$/check_powerchute $HOSTADDRESS$
        }

und dann noch in der /etc/nagios3/conf.d/services.cfg den check definieren und fertig:

## USV Batterie replacement
define service{
        host                            usv-smartups3000rm
        service_description             USV BATTERIE
        check_command                   check_apc_batterie
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotifie
        }

Bei dem Plugin check_powerchute ist zu beachten, dass es sehr simpel programmiert ist, und evtl. die SNMP-Community sowie die Protokollversion den Gegebenheiten vor Ort von Hand in der Datei selber angepasst werden muss.

LDAP – logging, loglevel, seperate logfile, logrotate

Das loglevel wird in der /etc/ldap/slapd.conf mit dem Eintrag

 loglevel INTEGER

festgelegt. Moegliche Werte sind (man slapd.conf)

  • 1 (0x1 trace) trace function calls
  • 2 (0x2 packets) debug packet handling
  • 4 (0x4 args) heavy trace debugging (function args)
  • 8 (0x8 conns) connection management
  • 16 (0x10 BER) print out packets sent and received
  • 32 (0x20 filter) search filter processing
  • 64 (0x40 config) configuration file processing
  • 128 (0x80 ACL) access control list processing
  • 256 (0x100 stats) connections, LDAP operations, results (recommended)
  • 512 (0x200 stats2) stats log entries sent
  • 1024 (0x400 shell) print communication with shell backends
  • 2048 (0x800 parse) entry parsing
  • 16384 (0x4000 sync) LDAPSync replication
  • 32768 (0x8000 none) only messages that get logged whatever log level is set

Diese Zahlen sind auch beliebig kombinierbar. Moechte man z.B. das loglevel 128 und 32 kombiniert haben, traegt man loglevel 160 ein.

Der LDAP logt normalerweise nach /var/log/syslog. Moechte man eine eigene Logfile haben, z.B. /var/log/slapd.log, dann die folgende Zeile in /etc/syslog.conf bzw. /etc/rsyslog.conf hinzufuegen:

 local4.*		/var/log/sldap.log

Um die logfile in logrotate mit aufzunehmen die Datei /etc/logrotate.d/slapd anlegen und wie folgt fuettern:

/var/log/slapd.log
{
	rotate 7
	daily
	missingok
	notifempty
	delaycompress
	compress
	postrotate
		invoke-rc.d rsyslog reload > /dev/null
	endscript
}

Nach entsprechenden Aenderungen natuerlich die jeweiligen Dienste (ldap, rsyslog) neustarten…

LDAP-Backup erstellen

Ich bin ein Freund vom Plain text. Damit laesst sich IMHO immer noch am besten Arbeiten. Man kann es in alle denkbaren Formate umwandeln, umbiegen, exportieren, was auch immer, und ist deswegen was Backups angeht das Ziel meiner Wahl. Natuerlich habe ich bei dem LDAP-Server das /var/lib/ldap/ im Backuppath mit drin, aber es geht nichts ueber eine Textdatei in der die Werte nochmal als Plain text drinstehen; gleiches gilt uebrigens fuer MySQL-Datenbanken…

Die Backupdatei erstelle ich mit slapcat. Wichtig dabei ist zu beachten, dass die slap* Tools ganz anders arbeiten als die entsprechenden ldap* Gegenstuecke. Beispiel slapadd und ldapadd. Die ldap* Tools sind LDAP-Clients die ueber das LDAP-Protokoll auf die Datenbank zugreifen. Die slap* Befehle aber greifen direkt auf die lokalen Datenbankdateien zu, die Berkley DB = *.bdb Dateien in /var/lib/ldap/. Da die slap* Befehle direkt darauf zugreifen koennen Sie natuerlich nur auf dem Rechner ausgefuehrt werden auf dem der LDAP-Server laeuft, und es ist wichtig, dass der LDAP-Daemon nicht laeuft. Entsprechend ist auch das Backup-Skript was fuer den LDAP laeuft, einmal taeglich per Cron aufgerufen:

#!/bin/bash
 
SLAPCAT=/usr/sbin/slapcat
GZIP=/bin/gzip
BACKUPDIR=/root/ldapbackup/
 
 
# Daemon stoppen
/etc/init.d/slapd stop > /dev/null 2>&1
if [ $? != "0" ]; then
  logger -t "LDAP-Backup:" "Fehler beim Stoppen des slapd Daemons."
  exit 1
fi
 
 
# Backup in Textdatei erzeugen
$SLAPCAT > $BACKUPDIR/$(date +%Y%m%d)-ldapbackup.ldif
if [ $? != "0" ]; then
  logger -t "LDAP-Backup:" "Fehler beim Schreiben der Backupdatei mit slapcat."
  exit 1
fi
 
 
# Textdatei komprimieren
$GZIP $BACKUPDIR/$(date +%Y%m%d)-ldapbackup.ldif
if [ $? != "0" ]; then
  logger -t "LDAP-Backup:" "Fehler beim Komprimieren der erstellten Backupdatei."
  exit 1
fi
 
 
# Daemon starten und wenn es ueberall keine Probleme gab dann Erfolgsmeldung in syslog
/etc/init.d/slapd start > /dev/null 2>&1
if [ $? != "0" ]; then
  logger -t "LDAP-Backup:" "Fehler beim Starten des slapd Daemons."
  exit 1
else
  logger -t "LDAP-Backup:" "Das Backup der LDAP-Datenbank wurde erfolgreich durchgefuehrt."
fi

Palm Pre – Nette (Homebrew)-Apps

Ich bin seit einiger Zeit stolzer Besitzer eines Palm Pre und mit dem Geraet soweit zufrieden. Zwar gibt es sicherlich noch einigeswas man verbessern und ausbauen kann, soll und muss, aber die Basis ist toll und das Geraet macht mir echt Spass.

Eine Moeglichkeit das Palm Pre um neue Funktionen und Applikationen zu erweitern ist ueber sogenannte Homebrew-Apps. Das sind Programme die nicht im offiziellen Palm App Catalog verfuegbar sind und ueber alternative Kanaele zur Verfuegung gestellt werden. Ich nutze zum installieren der Homebrew-Apps Preware. Eine Anleitung zum installieren gibt es hier.

Mit der Zeit haben sich einige Apps und Patches herauskristalisiert, die ich sehr nuetzlich finde und hier mal eben festhalten moechte. Die Liste wird kontinuierlich erweitert…

  • LED Torch – Die Moeglichkeit die LED von der Kamera als Taschenlampe zu nutzen
  • Netstat – Trafficueberblick fuer diesen Monat und die verschiedenen Interfaces
  • Internalz – Dateimanager fuer das Palm Pre
  • Messaging Plugins – Den internen Messenger um div. Chatprotokolle z.B. Jabber / ICQ / MSN  erweitern