Adaptec RAID Monitoring Plugin

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Das Adaptec RAID Monitoring Plugin ermöglicht die Überwachung von RAID-Sets eines Adaptec RAID Controllers. Das Plugin ist in der Script-Sprache Perl verfasst und verwendet für die Interaktion mit dem RAID Controller das Kommandozeilen-Werkzeug arcconf.

Dieser Artikel zeigt die Konfiguration unter Linux. Informationen zur Einrichtung unter Windows finden Sie im Artikel Adaptec RAID Monitoring Plugin unter Windows Server 2012 einrichten.

Aktuelle Version

Die aktuelle Version des check_adaptec_raid Plugins finden Sie auf GitHub:

Funktionen

In der README des Plugins finden Sie eine detaillierte Auflistung, welche Komponenten überwacht werden:

GitHub Support

Fragen werden aktuell auf GitHub beantwortet:

Vorraussetzungen

Die Installation der Voraussetzungen wird im kommenden Abschnitt näher erläutert:

  • Am überwachten Server
    • check_adaptec_raid plugin installiert
    • arcconf installiert
    • libfile-which-perl installiert
    • sudoers Eintrag für User nagios und arcconf
    • Wenn über NRPE, dann Kommando-Definition für NRPE
  • Am Icinga-Server

Installation

Manuell

Bei der manuellen Installation wird die Plugin-Datei in das Verzeichnis /usr/lib/nagios/plugins kopiert.

:~$ git clone https://github.com/thomas-krenn/check_adaptec_raid.git
Cloning into 'check_adaptec_raid'...
:~$ cd check_adaptec_raid/
:~/check_adaptec_raid$ ls
arcconf_output  check_adaptec_raid  check_adaptec_raid.POD  README  testing.patch
:~/check_adaptec_raid$ sudo cp check_adaptec_raid /usr/lib/nagios/plugins/

Das Adaptec ARCCONF Command Line Utility kann für das jeweilige Produkt manuell von der Adaptec-Webseite herunter geladen werden: http://www.adaptec.com/en-us/downloads/

TK Ubuntu-Repository

Nach dem Einbinden des Thomas Krenn Repos (siehe dazu Thomas Krenn Ubuntu-Repo verwenden) befindet sich das check_adaptec_plugin im Paket nagios-plugins-thomas-krenn:

:~$ sudo apt-get install nagios-plugins-thomas-krenn
[...]
Suggested packages:
  arcconf
The following NEW packages will be installed:
  nagios-plugins-thomas-krenn
0 upgraded, 1 newly installed, 0 to remove and 68 not upgraded.
Need to get 0 B/14.9 kB of archives.
After this operation, 82.9 kB of additional disk space will be used.
Selecting previously unselected package nagios-plugins-thomas-krenn.
(Reading database ... 70154 files and directories currently installed.)
Unpacking nagios-plugins-thomas-krenn (from .../nagios-plugins-thomas-krenn_0.1-1_all.deb) ...
Setting up nagios-plugins-thomas-krenn (0.1-1) ...

Das vorgeschlagene Paket arcconf und libfile-which-perl müssen auch installiert werden:

:~$ sudo apt-get install arcconf libfile-which-perl
[...]
The following NEW packages will be installed:
  arcconf libstdc++5 libfile-which-perl
[...]

Konfiguration

Das Plugin eignet sich für die Überwachung eines Remote-Servers über NRPE, als auch für einen lokalen Host. Jeweils muss am zu überwachenden System das check_adaptec_raid Plugin installiert werden.

Über NRPE

Am Icinga Server

Beim Anlegen der Host-Definition wird das Kommando definiert, das via NRPE ausgeführt wird. Die Parameter selbst werden am zu überwachenden Host angegeben.

define service {
    service_description           adaptec-raid-nrpe
    display_name                  Adaptec RAID
    use                           generic-service
    host_name                     test
    check_command                 check_nrpe_1arg!check_adaptec_raid
}

Achtung: Soll der Call-Home-Service für den Service verwendet werden, müssen die Templates anhand dem Artikel Call-Home-Service mit Icinga oder Nagios nutzen angelegt werden. Daraufhin muss anstatt use generic-service beim Service use thomas-krenn-service eingetragen werden!

Am Icinga 2 Server

Die Konfiguration des Adaptec RAID Plugins über NRPE erfolgt an einem Icinga 2 Host wie nachfolgend aufgeführt.

Kommando Definition Legen Sie z.B. im Unterverzeichnis commands des Icinga 2 Konfigurationsverzeichnisses, bei Ubuntu /etc/icinga2/conf.d, eine neue Datei mit der Bezeichnung adaptec-nrpe.conf mit nachfolgendem Inhalt an.

object CheckCommand "nrpe-adaptec" {
	import "plugin-check-command"
	command = [PluginContribDir + "/check_nrpe" ]
	arguments = {
        "-H" = "$address$"
        "-c" = "$nrpe_adaptec$"
        }
}

Apply Service Regel Definition

Es wird nun eine sogenannte Apply Rule im Icinga 2 Konfigurationsverzeichnis angelegt, damit wird bei einem Host mit entsprechend gesetztem Parameter dieser Servicecheck automatisch angefügt. Erstellen Sie dazu unterhalb des Icinga 2 Konfigurationsverzeichnisses den Ordner services und legen dort eine neue Datei mit der Bezeichnung "adaptec-raid.conf" an.

Diese neue Konfigurationsdatei enthält folgendes Kommando:

apply Service "check-nrpe-adaptec" {
	import "generic-service"
	check_command = "nrpe-adaptec"
	assign where host.vars.nrpe_adaptec
}

Der Ausdruck assign where host.vars.nrpe_adaptec bedeutet, wenn ein überwachter Host einen Parameter vars.nrpe_adaptec mit NRPE-Parameter enthält, wird automatisch der Servicecheck "check-nrpe-adaptec" über NRPE auf dem Server ausgeführt.

Host Definition Ergänzen Sie in der Host-Konfiguration die Zeile vars.nrpe_adaptec.

object Host "Testserver" {
	import "generic-host"
	address = "<IP-Adresse>"
	vars.nrpe_adaptec = "check_adaptec_raid"
}
Über TKmon

Das Adaptec-Raid-Plugin ist bereits im Service-Katalog von TKmon integriert. Es genügt beim Anlegen eines neuen Services den Check "Adaptec RAID via NRPE" auszuwählen:


Am überwachten Server

Damit der Benutzer "nagios" das Kommandozeilenwerkzeug arcconf mit sudo ohne Eingabe eines Passworts ausführen kann, muss folgende sudoers-Konfiguration definiert werden.

Hinweis: Unter CentOS läuft der NRPE Daemon unter dem Benutzer nrpe! Anstatt nagios muss bei CentOS daher nrpe in der sudo-Konfiguration eingetragen werden.

:~$ sudo vi /etc/sudoers.d/check_adaptec_raid 
nagios ALL=(root)NOPASSWD:/sbin/arcconf
:~$ sudo chmod 440 /etc/sudoers.d/check_adaptec_raid 

Der folgende Test darf keine Passwort-Eingabe verlangen:

:~$ sudo su nagios --shell /bin/bash
:~$ sudo /sbin/arcconf --version
  | UCLI |  Adaptec by PMC uniform command line interface
  | UCLI |  Version 7.0 (B18781)
  | UCLI |  (C) Adaptec by PMC 2003-2011
  | UCLI |  All Rights Reserved
[...]

Eine NRPE-Konfigurations-Datei spezifiziert, welcher Check ausgeführt wird, wenn das Kommando "check_adaptec_raid" aufgerufen wird. Dieses Kommando muss mit dem Parameter auf Icinga-Server-Seite in der Host-Definition übereinstimmen.

Hinweis: Unter CentOS kann es hilfreich sein, dem Plugin den Interpreter explizit anzugeben, also z.B. perl /usr/lib/nagios/plugins/check_adaptec_raid -C 1 -p /sbin/arcconf.

:~$ sudo vi /etc/nagios/nrpe.d/raid.cfg
command[check_adaptec_raid]=/usr/lib/nagios/plugins/check_adaptec_raid -C 1 -p /sbin/arcconf
:~$ sudo service nagios-nrpe-server restart

Auf Seiten des Icinga-Servers kann getestet werden, ob der Check funktioniert.

:~$ /usr/lib/nagios/plugins/check_nrpe -H 10.0.0.2 -c check_adaptec_raid
AACRAID OK (Ctrl #1)

Lokal

Eine lokale Konfiguration ist dann sinnvoll, wenn der Icinga- bzw. Icinga 2-Server selbst einen Adaptec-RAID-Controller verbaut hat und daher überwacht werden soll. Voraussetzungen für eine lokale Installation sind die oben beschriebenen Schritte zur Installation des Plugins, von arcconf sowie die sudo-Konfiguration für den nagios User.

Icinga

Eine lokale Konfiguration des Adaptec RAID Monitoring Plugins unter Icinga erfolgt wie nachfolgend dargestellt.

Im ersten Schritt wird eine Icinga Kommando-Definition erstellt:

:~$ sudo vi /etc/nagios-plugins/config/check_adaptec_raid.cfg
define command {
        command_name    check_adaptec_raid
        command_line    /usr/lib/nagios/plugins/check_adaptec_raid -C '$ARG1$' -p '$ARG2$'
}

Eine Service-Definition kann dann dieses Kommando benutzen:

define service{
        use                             generic-service
        host_name                       tkmon
        service_description             adaptec-raid
        check_command                   check_adaptec_raid!1!/sbin/arcconf
}

Icinga 2

Eine lokale Konfiguration unter Icinga 2 gelingt wie nachfolgend dargestellt.

Kommando Definition Legen Sie z.B. im Unterverzeichnis commands des Icinga 2 Konfigurationsverzeichnisses, bei Ubuntu /etc/icinga2/conf.d, eine neue Datei mit der Bezeichnung adaptec-raid.conf mit nachfolgendem Inhalt an.

object CheckCommand "adaptec-raid" {
	import "plugin-check-command"
	command = [ PluginDir + "/check_adaptec_raid" ]
	arguments = {
		"-C" = {
			required = true
			value = "$adaptec_controller_number$"
			description = "The controller number to be checked."
		}
		"-p" = "/sbin/arcconf"
	}
}

Apply Service Regel Definition

Es wird nun eine sogenannte Apply Rule im Icinga 2 Konfigurationsverzeichnis angelegt, damit wird bei einem Host mit entsprechend gesetztem Parameter dieser Servicecheck automatisch angefügt. Erstellen Sie dazu unterhalb des Icinga 2 Konfigurationsverzeichnisses den Ordner services und legen dort eine neue Datei mit der Bezeichnung "adaptec-raid.conf" an.

Diese neue Konfigurationsdatei enthält folgendes Kommando:

apply Service "check-adaptec-raid" {
        import "generic-service"
        check_command = "adaptec-raid"
        assign where host.vars.adaptec_controller_number
}

Der Ausdruck assign where host.vars.adaptec_controller_number bedeutet, wenn ein überwachter Host einen Parameter vars.adaptec_controller_number mit einer gültigen Adaptec Controller ID enthält, wird automatisch der Servicecheck "check-adaptec-raid" lokal auf dem Server ausgeführt.

Host Definition Ergänzen Sie in der Host-Konfigurationsdatei hosts.conf des lokalen Icinga 2 Servers die Zeile vars.adaptec_controller_number.

object Host NodeName {
	[...]
	vars.adaptec_controller_number = "Adaptec Controller ID"
}

Beispiel-Ausgabe des Plugins

$ sudo ./check_adaptec_raid -vvv
OK (CTR, LD, PD, ZMM)|CTR_Temperature=57;80;90 ZMM_Health=100 ZMM_Temperature=27;60;75 ZMM_Voltage_Present=4938
Used arcconf commands:
- /sbin/arcconf GETCONFIG 1 AD
- /sbin/arcconf GETCONFIG 1 AD
- /sbin/arcconf GETCONFIG 1 LD
- /sbin/arcconf GETCONFIG 1 PD
CTR information:
	- Adaptec ASR8405:
		- Serial No=4B361387273
		- Driver=1.2-0 (30300)
		- Boot Flash=7.5-0 (32033)
		- BIOS Version=7.5-0 (32033)
		- FW Version=7.5-0 (32033)
		- Temperature=57 C/ 134 F (Normal)
		- Defunct drives=0
		- LD devices/Failed/Degraded=2/0/0
LD information:
	- ld0:
		- Block Size of member drives=512 Bytes
		- Bootable=Yes
		- Failed stripes=No
		- Logical device name=Ubuntu
		- Parity space=0 MB
		- Partitioned=Yes
		- Power settings=Disabled
		- Protected by Hot-Spare=No
		- RAID level=Simple_volume
		- Read-cache setting=Disabled
		- Read-cache status=Off
		- Size=76190 MB
		- Status of logical device=Optimal
		- Unique Identifier=67E114A8
		- Write-cache setting=Disabled
		- Write-cache status=Off
		- ld=ld0
	- ld1:
		- Block Size of member drives=512 Bytes
		- Bootable=No
		- Failed stripes=No
		- Logical device name=RAID1
		- Parity space=76200 MB
		- Partitioned=Yes
		- Power settings=Disabled
		- Protected by Hot-Spare=No
		- RAID level=1
		- Read-cache setting=Disabled
		- Read-cache status=Off
		- Size=76190 MB
		- Status of logical device=Optimal
		- Unique Identifier=74A924A8
		- Write-cache setting=Disabled
		- Write-cache status=Off
		- ld=ld1
PD information:
	- pd0:
		- Block Size=512 Bytes
		- FRU=None
		- Firmware=D2010370
		- Model=INTEL SSDSC2BB08
		- NCQ status=Enabled
		- Power State=Full rpm
		- Reported Channel,Device(T:L)=0,4(4:0)
		- Reported ESD(T:L)=2,0(0:0)
		- Reported Location=Enclosure 0, Slot 0
		- Reserved Size=121880 KB
		- S.M.A.R.T.=No
		- S.M.A.R.T. warnings=0
		- SSD=Yes
		- Serial number=CVWL411400W1080KGN
		- State=Online
		- Supported=Yes
		- Supported Power States=Full power,Powered off
		- Total Size=76319 MB
		- Transfer Speed=SATA 6.0 Gb/s
		- Unused Size=64 KB
		- Used Size=76200 MB
		- Vendor=ATA
		- Write Cache=Disabled (write-through)
		- pd=pd0
	- pd1:
		- Block Size=512 Bytes
		- FRU=None
		- Firmware=D2010355
		- Model=INTEL SSDSC2BB08
		- NCQ status=Enabled
		- Power State=Full rpm
		- Reported Channel,Device(T:L)=0,5(5:0)
		- Reported ESD(T:L)=2,0(0:0)
		- Reported Location=Enclosure 0, Slot 1
		- Reserved Size=121880 KB
		- S.M.A.R.T.=No
		- S.M.A.R.T. warnings=0
		- SSD=Yes
		- Serial number=BTWL326403PS080KGN
		- State=Online
		- Supported=Yes
		- Supported Power States=Full power,Powered off
		- Total Size=76319 MB
		- Transfer Speed=SATA 6.0 Gb/s
		- Unused Size=64 KB
		- Used Size=76200 MB
		- Vendor=ATA
		- World-wide name=50015178F365A7FB
		- Write Cache=Disabled (write-through)
		- pd=pd1
	- pd2:
		- Block Size=512 Bytes
		- FRU=None
		- Firmware=D2010355
		- Model=INTEL SSDSC2BB08
		- NCQ status=Enabled
		- Power State=Full rpm
		- Reported Channel,Device(T:L)=0,6(6:0)
		- Reported ESD(T:L)=2,0(0:0)
		- Reported Location=Enclosure 0, Slot 2
		- Reserved Size=121880 KB
		- S.M.A.R.T.=No
		- S.M.A.R.T. warnings=0
		- SSD=Yes
		- Serial number=BTWL326004NP080KGN
		- State=Online
		- Supported=Yes
		- Supported Power States=Full power,Powered off
		- Total Size=76319 MB
		- Transfer Speed=SATA 6.0 Gb/s
		- Unused Size=64 KB
		- Used Size=76200 MB
		- Vendor=ATA
		- World-wide name=50015178F365454E
		- Write Cache=Disabled (write-through)
		- pd=pd2
ZMM information:
		- ZMM_Charge_Level=100
		- ZMM_Health=100
		- ZMM_Status=OK
		- ZMM_Temperature=27
		- ZMM_Voltage_Present=4938
Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Das könnte Sie auch interessieren

Adaptec RAID Controller
Adaptec RAID Controller in VMware überwachen
Festplattenausfall bei Adaptec RAID Controller mit ARCCONF beheben