Check_MK Plugin zum Abfragen des Cleaning Status von Bandlaufwerken in Dell ML6000 u.ä.

Anhand des Tutorials auf der Check_MK-Seite (https://mathias-kettner.de/checkmk_devel_snmpbased.html) habe ich ein kleines Plugin geschrieben, mit dem man den Cleaning Status der Bandlaufwerke in einer Dell ML6000 Bandbibliothek per SNMP abfragen kann.

Das Plugin habe ich im local-Zweig der OMD-Site unter „~/local/share/check_mk/checks“ abgelegt.

Hier der Code:

def inventory_backupdriveclean(info):
  inventory = []
  for cleaning in info:
    inventory.append ( ( None, None ) )
  return inventory

def check_backupdriveclean(item, params, info):
  cleaning = int(info[0][0])
  if cleaning  == 2:
    return (0, „OK Cleaning not required“ )
  else:
    return (2, „CRITICAL Cleaning required“ )

check_info[„backupdriveclean“] = (check_backupdriveclean, „backupdriveclean“, 0, inventory_backupdriveclean)

snmp_info[„backupdriveclean“] = ( „.1.3.6.1.4.1.3764.1.10.10.11.3.1.12“, [ „1“ ] )

Check_MK Konfiguration main.mk

Als Betriebssystem für das Monitoring System wird aktuell ein SuSE Linux Enterprise Server 11 eingesetzt. Weiter stützt sich das System dann auf die Open Monitoring Distribution OMD, die auch die Check_MK Installation beinhaltet. Auf der Homepage gibt es auch Installationspakete für weitere Linux-Distributionen:

Open Monitoring Distribution – http://omdistro.org
Check_MK – https://mathias-kettner.de/check_mk.html

Hier zeige ich eine Check_MK Konfigurationsdatei main.mk. Diese stammt aus einem Monitoringsystem, wurde aber um einige Hosts gekürzt. Auch wurden Hostnamen und IP-Adressen durch „fiktive“ Werte ersetzt. Dadurch kann es sein, dass darauffolgende Definitionen mal auf einen nicht existenten Host zeigen. Aber als Beispiel für eigene Konfigurationen kann es genutzt werden.

all_hosts

In diesem Abschnitt werden die zu überwachenden Hosts eingetragen. Damit die Abfrage richtig funktioniert, müssen die angegebenen Hostnamen auflösbar sein.
Auch können an die Hostnamen getrennt durch das Pipe-Zeichen „|“ Tags definiert werden, die in weiteren Definitionen verwendet werden können.

all_hosts = [ ’srvvmnagios‘,              \
  ’srv1|windows-tag‘,                     \
  ’sap1|windows-tag|sap‘,                 \
  ’srv2|backup|windows-tag‘,              \
  ’srv3|windows-tag|web-tag‘,             \
  ’srv4|windows-tag|citrix‘,              \
  ’srv5|windows-tag|sometag‘,             \
  ’srv6|ping‘,                            \
  ’srv7|windows-tag|owntag‘,              \
  ‚www.google.de|ping‘,                   \
  ’srv8|ping|web-tag‘,                    \
  ’srv9|vmware-tag‘,                      \
  ’switch1|snmp-switch|snmp‘,             \
  ’switch2|snmp-switch|snmp|nobulk‘,      \
  ‚192.168.209.38|snmp-lom|snmp|ILO‘,     \
  ‚192.168.108.53|snmp|snmp-backup-tag‘ , \
  ‚192.168.108.52|snmp‘ ,                 \
  ‚client1|ping‘ ]

Native Nagios Konfigurationsoptionen beeinflussen

Mit der Variable extra_host_conf können native Nagios Optionen beeinflusst werden und z.B. an per Tag gruppierte Hosts oder gar all_hosts übergeben werden.

Die Timeperiod GoodForSleep habe ich über die Nagios Konfiguration ~/etc/nagios/conf.d/timeperiods.cfg eingerichtet.

extra_host_conf[„notification_interval“] = [ ( „0“, ALL_HOSTS ) ]
extra_host_conf[„notification_period“] = [ ( „GoodForSleep“, ALL_HOSTS ) ]
extra_service_conf[„notification_interval“] = [ ( „0“, ALL_HOSTS, ALL_SERVICES ) ]
extra_service_conf[„contact_groups“] = [ ( „admins“, ALL_HOSTS, ALL_SERVICES ) ]
extra_service_conf[„notification_period“] = [ ( „GoodForSleep“, ALL_HOSTS, ALL_SERVICES ) ]

#Auszug der Nagios Konfig timeperiods.cfg
define timeperiod{
timeperiod_name GoodForSleep
alias Only Good For Sleep
sunday 06:00-22:00
monday 06:00-22:00
tuesday 06:00-22:00
wednesday 06:00-22:00
thursday 06:00-22:00
friday 06:00-22:00
saturday 06:00-22:00
}

„Check_MK Konfiguration main.mk“ weiterlesen

HOWTO: Open Monitoring Distribution Installation auf Mini PC

Installation von Open Monitoring Distribution auf Pokini Hardware
Siehe: http://www.pokini.de/de/produkte/fanless-pcs/pokini-z

Debian Installation
Benötigte DVDs
32bit Atom DVD Debian Wheezy DVD-1 reicht.
ACHTUNG: Debian Jessy wird nicht korrekt unterstützt.
OMD Paket 1.20 ist für Wheezy
Warnung zu Realtek Firmware ignorieren.
Nichts nachladen.
NICs werden trotzdem im OS erkannt.

Partitionierung
1 prim 1GB /boot
2 prim 4GB swap
3 prim Rest ca. 59GB /

Probleme mit dem Bild beim Booten
Nur problematisch bei Debian 8.x -> Muss sowieso 7.x werden wegen OMD
ACHTUNG: Bei Wheezy gibt es nur eine FrameBuffer Schönheitsfehler -> dieser Hinweis kann also ignoriert werden!
Dann im Grub „e“ drücken und bei linux den Parameter
video=LVDS-1:d
ergänzen
Dann bootet das System mit Bild.
Den Parameter am besten direkt in die Config von Grub eintragen

Passwortvergabe
Root-Passwort
Mysql-Passwort

„HOWTO: Open Monitoring Distribution Installation auf Mini PC“ weiterlesen