Icinga

Home Foren Forum IT und Technik Icinga

Dieses Thema enthält 0 Antworten und 1 Teilnehmer. Es wurde zuletzt aktualisiert von Profilbild von Otzelot Otzelot vor 1 Jahr, 4 Monate.

Ansicht von 1 Beitrag (von insgesamt 1)
  • Autor
    Beiträge
  • #1612
    Profilbild von Otzelot
    Otzelot
    Keymaster

    === Installation ===
    Quelle: http://docs.icinga.org/latest/de/quickstart-icinga.html

    “’Schnellstart Installation“‘

    {{{#!highlight bash
    root > apt-get install apache2 build-essential libgd2-xpm-dev

    root > apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

    root > apt-get install snmp libsnmp-dev libsnmp15

    root > useradd -m icinga #Benutzer erstellen

    root > passwd icinga #Benutzerpasswort vergeben

    root > groupadd icinga-cmd #Benutzergruppe für Befehle

    root > usermod -a -G icinga-cmd icinga

    root > usermod -a -G icinga-cmd www-data
    }}}
    Im Anschluss muss das Icinga Paket manuell geladen werden. (“’icinga-1.10.1.tar.gz“‘) Icinga Downloadlink: http://sourceforge.net/projects/icinga/files/latest/download

    {{{#!highlight bash
    root > cp /home/martin/Downloads/icinga-1.10.1.tar.gz /usr/src

    root > cd /usr/src/

    root > tar -xzvf icinga-1.10.1.tar.gz

    root > cd icinga-1.10.1/

    root > ./configure –with-command-group=icinga-cmd –disable-idoutils

    root > make all

    root > make fullinstall

    root > make install-config

    root > vim /usr/local/icinga/etc/objects/contacts.cfg #E-Mail-Adresse für Icinga-Benachrichtigungen hinterlegen

    root > make cgis

    root > make install-cgis

    root > make install-html

    root > make install-webconf

    root > htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin #Passwortvergabe für den Weblogin

    root > service apache2 restart

    root > update-rc.d icinga defaults
    }}}
    Die Datei “’/etc/apache2/site-available/default“‘ muss modifiziert werden: IST-Zustand: ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ SOLL: ScriptAlias /cgi-bin/ “’/usr/local/icinga/sbin/“‘

    IST-Zustand: SOLL:

    {{{#!highlight bash
    root > mkdir /usr/local/icinga/sbin/icinga

    root > mv /usr/local/icinga/sbin/* /usr/local/icinga/sbin/icinga #alle cgi-Files müssen nach /usr/local/icinga/sbin/icinga

    root > chown icinga:www-data /usr/local/icinga/sbin/icinga

    root > /etc/init.d/icinga start
    }}}
    ==== Installation Nagios Monitoring-Plugins ====
    (nagios-plugins-2.0.3.tar.gz) Downloadlink: http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

    {{{#!highlight bash
    root > cp /home/martin/Downloads/nagios-plugins-2.0.3.tar.gz /usr/src/

    root > cd /usr/src/

    root > tar -xzvf nagios-plugins-2.0.3.tar.gz

    root > cd nagios-plugins-2.0.3/

    root > ./configure –prefix=/usr/local/icinga \
    > –with-cgiurl=/icinga/cgi-bin \
    > –with-nagios-usr=icinga –with-nagios-group=icinga

    root > make

    root > make install

    root > service icinga restart

    root > service apache2 restart
    }}}
    ==== Windows Rechner überwachen ====
    Um Windows Rechner überwachen zu können, muss die icinga.Konfiguration angepasst werden. Dazu wird die auskommentierte Zeile “’#cfg_file=/usr/local/icinga/etc/objects/windows.cfg“‘ in der Datei “’/usr/local/icinga/etc/icinga.cfg“‘ durch Entfernen der Raute aktiviert. Der Neustart von icinga (“’service icinga restart“‘) produziert wahrscheinlich eine Fehlermeldung, welche auf eine fehlerhafte Zeile (“’116“‘) in der “’windows.cfg“‘ hinweist. In dieser Zeile löst ein Doppelpunkt diesen Fehler aus, welcher entfernt werden muss.

    {{{#!highlight bash
    root > vim /usr/local/icinga/etc/objects/windows.cfg #Zeile 116 reparieren

    root > vim /us/local/icinga/etc/icinga.cfg #windows.cfg aktivieren

    root > service icinga restart
    }}}
    ==== NRPE ====
    Um externe Skripte ausführen und abfragen zu können wird NRPE benötigt: http://docs.icinga.org/latest/de/nrpe.html

    {{{#!highlight bash
    root > apt-get install gcc #Voraussetzung

    root > apt-get install libssl-dev #Voraussetzung

    ##### NRPE – PLUGINS #####
    root > wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

    root > tar -xzf nrpe-2.15.tar.gz

    ##### Kompilieren auf Icinga-Server #####
    root > cd nrpe-2.15

    root > ./configure -h #Hilfe zu den Optionen

    root > ./configure –prefix=/usr/local/icinga –with-nrpe-user=icinga –with-nrpe-group=icinga –with-nagios-user=icinga –with-nagios-group=icinga –with-ssl=/usr/bin/openssl –with-ssl-lib=/usr/lib/x86_64-linux-gnu

    root > make all

    root > make install-plugin

    ##### NRPE Test #####
    root > /usr/src/nrpe-2.15/src/nrpe -n \
    -c /usr/src/nrpe-2.15/sample-config/nrpe.cfg -d
    root > /usr/local/icinga/libexec/check_nrpe -H 127.0.0.1 -n
    }}}
    === Konfiguration ===
    ==== NRPE Definition auf Icinga-Server ====
    Icinga “’commands.cfg“‘ vervollständigen:

    {{{
    define command{
    command_name check_nrpe
    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }
    }}}
    Services in der “’windows.cfg“‘ anlegen:

    {{{
    define service{
    use generic-service
    host_name winserver
    service_description RDP-Check
    check_command check_nrpe!check_rdp
    }
    }}}
    ==== windows.cfg ====
    In der Windows Konfigurationsdatei des Icinga Servers werden alle Checks für Windows Rechner sowie alle Windows Hosts definiert. Die Datei befindet sich in diesem Projekt unter dem Pfad “/usr/local/icinga/etc/objects/windows.cfg“.

    Definition der “’Hosts“‘:

    {{attachment:CFGwindows_Hosts.JPG}} [[attachment:CFGwindows_Hosts.JPG]]

    Definition der “’check_nt“‘ Services:

    {{attachment:CFGwindows_checknt.JPG}} [[attachment:CFGwindows_checknt.JPG]]

    Einige Systemleistungen (CPU, Speicher, HDD, Dienste) können bereits über die vorkonfigurierten check_nt Services überwacht werden.

    Definition der “’check_nrpe“‘ Services:

    {{attachment:CFGwindows_checknrpe.JPG}} [[attachment:CFGwindows_checknrpe.JPG]]

    == Monitoring-Clients ==
    Es soll die Überwachung der Windows Server (s1 und s2) zentral über den Icinga Server sichergestellt werden. Um dies zu ermöglichen wird auf den Windows Servern ein Monitoring Client benötigt (NSClient++ in der Version 0.4.2.93 [x64]).

    === Installation NSClient++ ===
    Download: http://www.nsclient.org/download/

    Der NSClient++ kann über ein msi-Paket (geführte Installation/Silent Installation) installiert werden oder als Archiv, mit entsprechender Anpassung der nsclient.ini, auf die zu überwachenden Rechner ausgerollt werden.

    {{attachment:NSClient-Install1.jpg}} [[attachment:NSClient-Install1.jpg]]

    {{attachment:NSClient-Install2.jpg}} [[attachment:NSClient-Install2.jpg]]

    === Automatisierte Installation ===
    Die Installation des NSClient++ kann auch automatisiert realisiert werden. Dazu wird die Installationsdatei von NSClient++ (msi oder exe) mit Hilfe von Puppet auf den Zielrechner übertragen und mit den entsprechenden Parametern ausgeführt. Im Anschluss werden die erforderlichen Skripte und die Konfiguration “nsclient.ini “in das Programmverzeichnis übertragen. Bei jeder Änderung der Konfiguration wird zudem der Dienst “nscp “neugestartet.

    Link zum entsprechenden Abschnitt: [[MartinPraktikum/Puppetmaster#Pakete|Puppet Manifeste]]

    === Konfiguration (nsclient.ini) ===
    Insbesondere zur Nutzung externer Skripts muss die nsclient.ini angepasst werden. Hierbei ist die ini-Datei in verschiedene Module unterteilt, unter denen die jeweiligen Definitionen stehen.

    “’Beispiel der nsclient.ini“‘
    {{{

    # If you want to fill this file with all avalible options run the following command:
    # nscp settings –generate –add-defaults –load-all
    # If you want to activate a module and bring in all its options use:
    # nscp settings –activate-module –add-defaults
    # For details run: nscp settings –help

    ; (Aktivierte) Module
    [/modules]
    CheckDisk = 1
    CheckEventLog = 1
    CheckExternalScripts = 1
    CheckHelpers = 1
    CheckNSCP = 1
    CheckSystem = 1
    CheckWMI = 1

    #NRPE: fuer externe Skripte
    NRPEServer = 1

    NSClientServer = 1
    CheckTaskSched = 1

    #Steuert Checks und sendet an NSCA
    Scheduler = 1

    #Passive Checks
    NSCAClient = 1

    ;Scheduler fuer NSCA Checks
    [/settings/scheduler/schedules/default]
    interval=60m

    ;dem Scheduler zugeordnete Checks
    [/settings/scheduler/schedules]
    Windows-Lizenz=alias_winlicense

    ;Bezeichnung des in Icinga hinterlegten Clients muss sich decken (hier: „test_s1″)
    [/settings/NSCA/client]
    hostname=test_${host}

    ;Empfängeradresse (Icinga Server), Veschlüsselung und Passwort müssen auf Server ebenfalls identisch sein
    [/settings/NSCA/client/targets/default]
    address=192.168.11.10
    encryption = aes
    password=clklove1

    ; Standardeinstellungen
    [/settings/default]

    ; Adresse Icinga Server
    allowed hosts = 192.168.11.10
    #Icinga/Nagios Server (mehrere kommasepariert)

    ; Sicherheit
    password = clklove1
    #Passwort fuer check_nt: Achtung commands.cfg anpassen auf Icinga Server

    ; Externe Skripte
    [/settings/external scripts]
    allow arguments = true
    allow nasty characters = true
    timeout = 90

    ;Wrapper fuer externe Skripte
    [/settings/external scripts/wrappings]
    bat = scripts\\%SCRIPT% %ARGS%
    ps1 = cmd /c echo scripts\\%SCRIPT% %ARGS%; exit($lastexitcode) | powershell.exe -command –
    vbs = cscript.exe //T:90 //NoLogo scripts\\lib\\wrapper.vbs %SCRIPT% %ARGS%
    exe = cmd /c %SCRIPT% %ARGS%

    ;Aliasskripte sinnvoll, wenn auf die Nutzung von Argumenten
    [/settings/external scripts/alias]
    alias_cpu = checkCPU warn=80 crit=90 time=5m time=1m time=30s
    alias_cpu_ex = checkCPU warn=$ARG1$ crit=$ARG2$ time=5m time=1m time=30s
    alias_updates = check_updates -warning 0 -critical 0
    alias_volumes = CheckDriveSize MinWarn=10% MinCrit=5% CheckAll=volumes FilterType=FIXED
    alias_volumes_loose = CheckDriveSize MinWarn=10% MinCrit=5% CheckAll=volumes FilterType=FIXED ignore-unreadable
    alias_rdp = check_rdp
    alias_rdpservice = RDPService
    alias_rdpconn = RDPconn
    alias_rdpsessions = RDPSessions 1 10
    alias_win2008cals = win2008cals 10 5 0
    alias_winlicense = winlicense 7 1

    ;Skripte, die ohne Wrapper aufgerufen werden koennen
    [/settings/external scripts/scripts]
    test_rdp=scripts\check_no_rdp.bat
    test_rdpsess=scripts\check_rdpsessions.bat
    check_3ware=C:\\strawberry\\perl\\bin\\perl.exe C:\\Programme\\NSClient++\\scripts\\check_3ware-raid_win.pl

    ;Skripte mit Wrapper
    [/settings/external scripts/wrapped scripts]
    check_updates=check_updates.vbs $ARG1$ $ARG2$
    check_rdp=check_no_rdp.bat
    RDPService = RDPService_nscp.ps1
    RDPconn = RDPconn.ps1
    RDPSessions = check_rdpsessions.bat $ARG1$ $ARG2$
    win2008cals = CheckTSCALUsage_2008.vbs $ARG1$ $ARG2$ $ARG3$
    winlicense = WinLicense.ps1 -warn $ARG1$ -crit $ARG2$
    check_RDP_AIO = RDP_AIO.ps1
    winauditdaily=winauditdaily.ps1

    }}}
    == Monitoringbeispiel (Audit) ==

    Anhand eines Audit Checks wird das Monitoring eines Windows Servers erläutert. Sämtliche für den Check erforderlichen Skripte werden mit Hilfe Puppets auf den Server ausgerollt. Die Anpassung der “nsclient.ini“ und die Verwaltung des Monitoring-Dienstes erfolgt ebenfalls zentral.

    An der folgenden Grafik wird der Ablauf des Checks verdeutlicht.

    {{attachment:MonitoringBsp.JPG}} [[attachment:MonitoringBsp.JPG]]

    Vorraussetzung:
    * “’Icinga-Server“‘
    * “check_nrpe“ ist auf dem Icinga Server vorhanden und konfiguriert (“../icinga/etc/objects/commands.cfg“)
    * Windows-Host ist definiert: hier in “../icinga/etc/objects/windows.cfg“
    * winauditdaily (Service Check) ist definiert: “windows.cfg“
    * “’Monitoring-Client“‘
    * “nsclient.ini“
    * nrpe ist aktiviert
    * externe Skripte sind zugelassen
    * externes Skript “winauditdaily“ ist definiert
    * “winauditdaily.ps1“ ist vorhanden (“..\NSClient++\scripts\“)
    * Check-Skripte sind vorhanden (“C:\puppetfiles\psscripts\daily\“)

    == Quellen / Nützliche Links ==

    * [[http://docs.icinga.org/latest/de/quickstart-icinga.html|Schnellstart Anleitung – Icinga Server]]
    * [[http://docs.icinga.org/latest/de/monitoring-windows.html|Monitoring von Windows]]
    * [[http://docs.icinga.org/latest/de/nrpe.html|NRPE]]
    * [[http://docs.icinga.org/latest/de/nsca.html|NSCA]]
    * [[http://exchange.nagios.org/|Nagios Exchange (Skriptsammlung)]]
    * [[http://docs.nsclient.org/tutorial/core/index.html|NSClient++ Tutorial]]

Ansicht von 1 Beitrag (von insgesamt 1)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.