Internet und Hostinglösungen
  • Werbung
  • Schlagwörter

Icinga 2 Microsoft Windows Systeme mit WMI unter Debian 8 Jessie abfragen

Vorwort


Die aktuellsten Microsoft Windows Systeme unterstützen WMI abfragen. Dadurch können Systeme aus einem Active Directory ohne Konfigurationsaufwand abgefragt und in das Monitoring aufgenommen werden. Wie Sie WMI unter Debian 8 Jessie installieren erkläre ich hier.

Installation


Installieren Sie die benötigten Pakete:
apt install make autoconf gcc bzip2

Laden Sie die aktuellste WMI Software herunter und entpacken Sie diese:
cd /usr/src
wget http://www.openvas.org/download/wmi/wmi-1.3.14.tar.bz2
tar xf wmi-1.3.14.tar.bz2
cd wmi-1.3.14/

Nun können Sie die WMI Werkzeuge mit make kompilieren und in das entsprechende Verzeichnis kopieren:
make "CPP=gcc -E -ffreestanding"
cp Samba/source/bin/wmic /usr/bin/


Funktionskontrolle


Überprüfen Sie zum Schluss, ob Sie den Befehl ausführen können:
wmic
Usage: [-?|--help] [--usage] [-d|--debuglevel DEBUGLEVEL] [--debug-stderr]
[-s|--configfile CONFIGFILE] [--option=name=value]
[-l|--log-basename LOGFILEBASE] [--leak-report] [--leak-report-full]
[-R|--name-resolve NAME-RESOLVE-ORDER]
[-O|--socket-options SOCKETOPTIONS] [-n|--netbiosname NETBIOSNAME]
[-W|--workgroup WORKGROUP] [--realm=REALM] [-i|--scope SCOPE]
[-m|--maxprotocol MAXPROTOCOL] [-U|--user [DOMAIN\]USERNAME[%PASSWORD]]
[-N|--no-pass] [--password=STRING] [-A|--authentication-file FILE]
[-S|--signing on|off|required] [-P|--machine-pass]
[--simple-bind-dn=STRING] [-k|--kerberos STRING]
[--use-security-mechanisms=STRING] [-V|--version] [--namespace=STRING]
[--delimiter=STRING]
//host query

Example: wmic -U [domain/]adminuser%password //host "select * from Win32_ComputerSystem"


Icinga


Damit Icinga WMI abfragen ausführen kann benötigen Sie ein Plugin, ich verwende hier check_wmi_plus.
Installieren Sie die notwendigen Perl Pakete:
apt install libconfig-inifiles-perl libnumber-format-perl libdatetime-perl

Erstellen Sie ein Verzeichnis, laden Sie das Plugin herunter und entpacken Sie dieses:
mkdir -p /usr/src/check_wmi_plus
cd /usr/src/check_wmi_plus
wget http://edcint.co.nz/checkwmiplus/sites/default/files/check_wmi_plus.v1.61.tar.gz
tar xzf check_wmi_plus.v1.*.tar.gz

Kopieren Sie die Konfiguration und das Plugin in das Nagios Plugin Verzeichnis:
mkdir -p /usr/lib/nagios/plugins/
cp check_wmi_plus.pl /usr/lib/nagios/plugins/
cp etc/check_wmi_plus/check_wmi_plus.conf.sample /usr/lib/nagios/plugins/check_wmi_plus.conf

Passen Sie die Konfigurationsdate des Plugins an:
nano /usr/lib/nagios/plugins/check_wmi_plus.pl
my $conf_file='/usr/lib/nagios/plugins/check_wmi_plus.conf';

Passen Sie nun das Plguin Verzeichnis der Konfigurationsdatei an:
nano /usr/lib/nagios/plugins/check_wmi_plus.conf
$base_dir='/usr/lib/nagios/plugins/';

Erstellen Sie zuletzt ein Verzeichnis für die INI-Konfigurationsdateien:
mkdir /usr/lib/nagios/plugins/check_wmi_plus.d


Prüfen Sie nun ob Sie das Plugin ausführen können:
/usr/lib/nagios/plugins/check_wmi_plus.pl
No Hostname specified

Typical Usage: -H HOSTNAME -u DOMAIN/USER -p PASSWORD -m MODE [-s SUBMODE] [-b BYTEFACTOR] [-w WARN] [-c CRIT] [-a ARG1 ] [-o ARG2] [-3 ARG3] [-4 ARG4] [-A AUTHFILE] [-t TIMEOUT] [-y DELAY] [--namespace WMINAMESPACE] [--extrawmicarg EXTRAWMICARG] [--nodatamode] [--nodataexit NODATAEXIT] [--nodatastring NODATASTRING] [-d] [-z] [--inifile=INIFILE] [--inidir=INIDIR] [--inihelp] [--nokeepstate] [--keepexpiry KEXPIRY] [--keepid KID] [--joinexpiry JEXPIRY] [-v OSVERSION] [--help] [--itexthelp] [--forcewmiccommand] [-icollectusage] [--ishowusage] [--logswitch] [--logkeep] [--logsuffix SUFFIX] [--logshow] [--variablesdisabled] [--forceiniopen] [--forcetruncateoutput LEN]
Help as a Manpage: --help
Help as Text: --itexthelp


Prüfbefehle


CPU Auslastung


/usr/lib/nagios/plugins/check_wmi_plus.pl -H 10.48.42.1 -u "4b42\administrator" -p Secure!4b42 -m checkcpu
OK (Sample Period 35 sec) - Average CPU Utilisation 8.83%|'Avg CPU Utilisation'=8.83%;

RAM Auslastung


/usr/lib/nagios/plugins/check_wmi_plus.pl -H 10.48.42.1 -u "4b42\administrator" -p Secure!4b42 -m checkmem
OK - Physical Memory: Total: 3.997GB - Used: 3.685GB (92%) - Free: 319.086MB (8%)|'Physical Memory Used'=3957272576Bytes; 'Physical Memory Utilisation'=92%;

HDD Auslastung


/usr/lib/nagios/plugins/check_wmi_plus.pl -H 10.48.42.1 -u "4b42\administrator" -p Secure!4b42 -m checkdrivesize -o 1 -3 1
OK - Overall Disk Total=59.48GB, Used=53.32GB (89.6%), Free=6.17GB (10.4%)     |'Overall Disk Space'=53.32GB; 'Overall Disk Utilisation'=89.6%;



Probleme


Ich habe auf einem Raspberry Pi folgenden Fehler erhalten:
Can't locate utils.pm in @INC (you may need to install the utils module) (@INC contains: /usr/lib64/nagios/plugins /usr/lib/nagios/plugins /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /usr/lib/nagios/plugins/check_wmi_plus.pl line 291.
BEGIN failed--compilation aborted at /usr/lib/nagios/plugins/check_wmi_plus.pl line 291.
scp /usr/lib/nagios/plugins/utils.pm 10.48.42.1:/usr/lib/nagios/plugins/