Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:groundwork_monitor_architect

GroundWork Monitor Architect

GroundWork Monitor Architect ist ein Web basierte Laufzeitumgebung für die Konfiguration und das Management für das „Nagios Network Monitoring System“.

Voraussetzungen

Als Voraussetzung für die Installation von Nagios ist folgende Komponente erforderlich:

  • Lauffähiger Web-Server z.B. Apache HTTP Server
  • MySQL ab Version 5.0.26 MySQL
  • Nagios 2.x oder Nagios 3.x Nagios
  • Perl Perl
    • CPAN-Module cpan
      • CGI::Session
      • XML-LibXML-Common
      • XML-NamespaceSupport
      • XML-SAX
      • XML-LibXML-1.58
      • CGI - this should be included in the Perl
      • DBI
      • DBD-mysql
      • File::Copy - this should be included in the Perl distribution
      • Class-Accessor
      • CGI-Ajax-0.697
      • Data::FormValidator
      • JavaScript::DataFormValidator
      • Carp - this should be included in the Perl distribution
      • IO::Socket - this should be included in the Perl distribution
      • URI::Escape

Herunterladen

GroundWork Monitor Architect kann unter folgendem Link heruntergeladen werden:

Installation

Nach dem herunterladen einer Version von GroundWork Monitor Architect in z.B. das Verzeichnis /tmp auf den lokalen Rechner, sollte sich folgende Datei

monarch-2.5.0.tar.gz
im Verzeichnis /tmp befinden.

Das heruntergeladene Archiv mit dem Namen monarch-2.5.0.tar.gz kann mit folgendem Befehl entpackt werden:

$ tar xvfz monarch-2.5.0.tar.gz

Anschließend sollte sich ein Verzeichnis mit dem Namen monarch-2.5.0 im Verzeichnis /tmp befinden:

Daraufhin wird das Verzeichnis /tmp/monarch-2.5.0 in das DocumentRoot-Verzeichnis des Apache HTTP Server's mit folgendem Befehl verschoben:

$ mv /tmp/monarch-2.5.0 /var/www/monarch

Nun müssen noch die Datei- und Besitzrechte entsprechend angepasst werden, was mit nachfolgenden Befehlen durchgeführt werden kann. Zuerst die Besitzrechte

# chown -R root.root /var/www/monarch
und anschließend die Dateirechte:
# chmod 755 /var/www/monarch/

Abschliessend kann das heruntergeladene Archiv monarch-2.5.0.tar.gz mit folgendem Befehl gelöscht werden:

$ rm /tmp/monarch-2.5.0.tar.gz

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root zu werden geben Sie bitte folgenden Befehl ein:

$ su -
Password: 

Um später ein automatischen „Pre flight test“ und die damit verbundenen Test erfolgreich durchführen zu können, müssen noch folgende Besitz- und Zugriffsrechte auf das Verzeichnis

  • /var/nagios/spool/checkresults

wie nachfolgend beschrieben abgeändert werden:

Zuerst die Besitzrechte mit nachfolgendem Befehl:

# chown -R nagios.apache /var/nagios/spool/checkresults

Anschließend noch die Zugriffsrechte ebenfalls mit nachfolgendem Befehl:

# chmod 775 /var/nagios/spool/checkresults

:!: HINWEIS - Nach jedem automatischen Update/Upgrade von Nagios, müssen die Besitz- und Zugriffsrechte neu gesetzt werden!

Monarch Konfiguration Webserver

Hier soll die Konfiguration eines virtuellen Host für den Apache HTTP Server beschrieben werden. Der Aufruf von GroundWork Monitor Architect soll über die URL

ermöglicht werden.

:!: Falls Sie noch keine Erfahrungen mit virtuellen Hosts in Verbindung mit dem Apache HTTP Server haben sollten, lesen Sie bitte die Dokumentation des Apache HTTP Server Projektes, da hier nur die grundlegenden Schritte erläutert werden.

Falls noch nicht geschehen wird im Verzeichnis /etc/httpd/conf.d eine Datei mit dem Namen vhosts.conf erstellt. Der Inhalt dieser Datei sollte minimal für einen virtuellen Host für GroundWork Monitor Architect wie folgt aussehen:

# This configuration file enables the vhosts to this
# Server
#
 
NameVirtualHost *:80
 
#
# monarch.tachtler.net
#
<VirtualHost *:80>
        ServerAdmin webmaster@tachtler.net
        ServerName monarch.tachtler.net
        ServerAlias www.monarch.tachtler.net
        ServerPath /
        ScriptAlias /cgi-bin "/var/www/html/monarch/cgi-bin"
        DocumentRoot "/var/www/html/monarch"
        <Directory "/var/www/html/monarch">
                AllowOverride AuthConfig
                Order allow,deny
                Allow from all
        </Directory>
        DirectoryIndex index.htm
        ErrorLog logs/monarch_error.log
        CustomLog logs/monarch_access.log combined
</VirtualHost>

Mit nachfolgendem Befehl muss nun noch das Verzeichnis /var/www/html/monarch angelegt werden:

# mkdir /var/www/html/monarch

Ebenfalls mit nachfolgendem Befehl muss nun noch das Verzeichnis /var/www/html/monarch/cgi-bin angelegt werden:

# mkdir /var/www/html/monarch/cgi-bin

:!: WICHTIG - Aus Sicherheitsgründen sollten alle von GroundWork Monitor Architect benötigten CGI-Scripte mit nachfolgendem Befehl verschoben werden !:

# mv /var/www/cgi-bin/monarch* /var/www/html/monarch/cgi-bin

Nun müssen noch die Datei- und Besitzrechte entsprechend angepasst werden, was mit nachfolgenden Befehlen durchgeführt werden kann. Zuerst die Besitzrechte

# chown -R root.apache /var/www/html/monarch
und anschließend die Dateirechte:
# chmod 750 /var/www/html/monarch/
jedoch das Verzeichnis /var/www/html/monarch/cgi-bin benötigt erweitere Dateirechte:
# chmod 755 /var/www/html/monarch/cgi-bin

Ein erneuter oder erster Start des Apache HTTP Server mit folgenden Befehl für eine erstmaligen Start

# service httpd start
oder einen erneuten Start des Apache HTTP Server mit folgendem Befehl
# service httpd restart
macht die oben beschriebenen Konfigurationen für den Apache HTTP Server wirksam.

Monarch Installation CPAN-Module

Folgende Schritte sind notwendig um die einzelnen CPAN-Module cpan zu installieren. Dazu wird zuerst eine CPAN-Shell mit nachfolgendem Befehl geöffnet:

# perl -MCPAN -e shell

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support enabled


cpan>

Innerhalb der CPAN-Shell können nun die einzelnen CPAN-Module cpan wie folgt installiert werden:

cpan> install CGI::Session
...
cpan> install XML::LibXML::Common
...
cpan> install XML::NamespaceSupport
...
cpan> install XML::SAX
...
cpan> install P/PH/PHISH/XML-LibXML-1.58.tar.gz
...
cpan> install CGI
...
cpan> install DBI
...
cpan> install DBD::mysql
...
cpan> install File::Copy
...
cpan> install Class::Accessor
...
cpan> install CGI::Ajax
...
cpan> force install Data::FormValidator
...
cpan> install JavaScript::DataFormValidator
...
cpan> install Carp
...
cpan> install IO::Socket
...
cpan> install Time::Local
...
cpan> install URI::Escape
...
cpan> q
Lockfile removed.

Monarch Konfiguration MySQL

Um innerhalb von GroundWork Monitor Architect den sogenannten „Pre flight check“ - das vor dem einspielen der Nagios-Konfiguration einen Überprüfung der erstellten Konfiguration durchführt, nutzen zu können ist die Erstellung einer eigenen Datenbank erforderlich.

Folgende Schritte sind dazu notwendig, wobei zu Beginn das Anmelden an der Datenbank mit nachfolgendem Befehl notwendig ist:

# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 98735
Server version: 5.0.45-log Source distribution
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>

Zum erstellen der Datenbank kann folgender Befehl innerhalb der MySQL-Konsole genutzt werden:

mysql> create database monarch
    -> ;
Query OK, 1 row affected (0.07 sec)
 
mysql>

Zum verlassen der MySQL-Konsole kann folgender Befehl eingegeben werden:

mysql> quit;
Bye

Abschließend legen wir mit dem mitgelieferten Script mit Namen monarch_setup.pl welches sich nun in /var/www/monarch befindet mit nachfolgendem Befehlen alle benötigten Tabellen an:

# cd /var/www/monarch
und das Ausführen des Srcipts:
# ./monarch_setup.pl
 
 
        This script will help you setup Monarch on your system.
 
        Defaults and guesses will be provided where possible.
 
 
 
        MySQL database server host name [localhost] : localhost
 
 
 
        Database user name [root] : root
 
 
 
        Database password for user root [] : geheim
 
 
 
        Name of database for your Monarch installation [monarch] : monarch
 
 
 
        User account for httpd web server [apache] : apache
 
 
 
        UNIX group for httpd web server [apache] : apache
 
 
        Web server's relative path to cgi-bin.
        Example: /nagios/cgi-bin [ /cgi-bin ] : /cgi-bin
 
 
 
        Web server's document root [/var/www/html] : /var/www/html/monarch
 
 
 
        Full path of cgi-bin directory [/var/www/cgi-bin] : /var/www/html/monarch/cgi-bin
 
 
 
        Full installation path for Monarch [/usr/local/groundwork/monarch] : /var/www/monarch
 
 
 
        Directory where nagios.cfg file is stored [/etc/nagios] : /etc/nagios
 
 
 
        Directory where nagios binary file resides [] : /usr/bin/
 
 
 
        Your web server account will need read and write access to 
        the nagios object files. Would you like to set group permissions 
        so that Monarch can read your nagios cfg files including 
        resource.cfg? (Note: You will need to manage this manually if 
        your answer is no). yes|no : yes
 
 
                Database host   = localhost
                Database name   = monarch
                Database user   = root
                Database passwd = geheim
                Document root   = /var/www/html/monarch
                Web user        = apache
                Web user group  = apache
                Web cgi-bin     = /var/www/html/monarch/cgi-bin
                Nagios bin      = /usr/bin/
                Nagios cfg dir  = /etc/nagios
                Install path    = /var/www/monarch
 
        Confirmation: Be absolutely certain these values are correct. 
        Does the information look correct? 'yes' or 'no' : yes
 
        Writing /var/www/cgi-bin/monarch_auto.cgi
        Setup completed.

Monarch Web-GUI aufrufen

Nachfolgend Link sollte dann zur Web-Oberfläche von GroundWork Monitor Architect

Monarch Basiskonfiguration

Nachfolgende Konfiguration, stellt eine Konfiguration von GroundWork Monitor Architect. Es sollen nur die Bereiche:

  • Control
    • Setup
    • Nagios cgi configuration
    • Nagios main configuration

betrachtet und konfiguriert werden.

:!: HINWEIS Die Darstellung der Konfiguration erfolgt wie am Bildschirm, in reiner Textform zum leichteren kopieren vie cut&paste!

Control | Setup

Konfigurationsfeld Konfigurationswert
Login authentication: active
Session timeout seconds: 3600
Nagios version: 3.x
Nagios etc: /etc/nagios
Nagios bin: /usr/bin/
Monarch home: /var/www/monarch
Backup dir: /var/www/monarch/backup
Upload dir: /tmp
Enable groups: [Haken]
Enable EZ: [LEER]
Enable externals: [LEER]

Control | Nagios cgi configuration

Seite 1

Konfigurationsfeld Konfigurationswert
Physical HTML path: /usr/share/nagios
URL HTML path: /nagios
Context sensitive help [Haken]
Nagios process check command: /usr/lib/nagios/plugins/check_nagios /var/log/nagios/status.log 5 '/usr/bin/nagios'
Use authentication: [Haken]
Default user name: [LEER]
System/Process Information Access: Name1,Name2,…
System/Process Command Access: Name1,Name2,…
Configuration information access: Name1,Name2,…
Global Host Information Access: Name1,Name2,…

Seite 2

Konfigurationsfeld Konfigurationswert
Global Host Command Access: Name1,Name2,…
Global Service Information Access: Name1,Name2,…
Global Service Command Access: Name1,Name2,…
Statusmap background image: states.png
Default statusmap layout: Circular (Mark Up)
Default statuswrl layout: Collapsed tree
Status wrl include: myworld.wrl
Ping syntax: /bin/ping -n -U -c 5 $HOSTADDRESS$
Refresh rate: 90
Host unreachable sound: [LEER]
Host down sound: [LEER]
Service critical sound: [LEER]
Service warning sound: [LEER]
Service unknown sound: [LEER]

Control | Nagios main configuration

Seite 1

Konfigurationsfeld Konfigurationswert
Log file: /var/log/nagios/nagios.log
Object cache file: /var/nagios/objects.cache
Precached object file: /var/nagios/objects.precache
Resource file: /etc/nagios/resource.cfg
Temp file: /var/nagios/nagios.tmp
Status file: /var/nagios/status.log
Aggregated status updates option: [LEER]
Aggregated status data update interval: [LEER]
Nagios user: nagios
Nagios group: nagios
Enable notifications: [Haken]
Execute service checks: [Haken]
Accept passive service checks: [Haken]
Execute host checks [Haken]
Accept passive host checks [Haken]
Enable event handlers: [Haken]
Log rotation method: d
Log archive path: /var/log/nagios/archives
External command check option: [Haken]
External command check interval: 1
External command file: /var/nagios/rw/nagios.cmd
Downtime file: :!: WICHTIG [LEER]
Comment file: :!: WICHTIG [LEER]
Lock file: :!: WICHTIG [LEER]
State retention option: [Haken]
State retention file: /var/nagios/retention.dat
Retention update interval: 60
Use retained program state: [Haken]
Use retained scheduling info: [Haken]

Seite 2

Konfigurationsfeld Konfigurationswert
Syslog logging option: [Haken]
Notification logging option: [Haken]
Host check retry logging option: [Haken]
Service check retry logging option: [Haken]
Event handler logging option: [Haken]
Initial states logging option: [Haken]
External command logging option: [Haken]
Passive check logging option: [Haken]
Global host event handler: [LEER]
Global service event handler: [LEER]
Sleep time: 1
Service inter check delay method: Smart
Max service check spread: 30
Max service check spread: Smart
Service reaper frequency: 10
Host inter check delay method: Smart
Max host check spread: 30
Maximum Concurrent Service Checks: [LEER]
Check Result Path: /var/nagios/spool/checkresults
Timing interval length: 60
Auto reschedule checks: [LEER]
Auto rescheduling interval: 30
Auto rescheduling window: 180

Seite 3

Konfigurationsfeld Konfigurationswert
Agressive Host Checking Option: [Haken]
Flap Detection Option: [Haken]
Low service flap threshold: 25.0
High service flap threshold: 50.0
Low host flap threshold: 25.0
High host flap threshold: 50.0
Soft state dependencies: [LEER]
Service check timeout: 60
Host check timeout: 30
Event handler timeout: 30
Notification timeout: 30
Ocsp timeout: 5
Ochp timeout: 5
Perfdata timeout: 5
Obsess over services: [LEER]
OCSP command: [LEER]
Obsess over hosts: [LEER]
OCHP command: [LEER]
Process performance data: [Haken]
Host perfdata command: [LEER]
Service perfdata command: [LEER]
Host performance data file: /var/nagios/host-perfdata.dat
Service performance data file: /var/nagios/service-perfdata.dat
Host performance data file template: [LEER]
Service performance data file template: [LEER]
Host performance data file mode: w
Service performance data file mode: w
Host performance data file processing interval: [LEER]
Service performance data file processing interval: [LEER]
Host performance data file processing command: [LEER]
Service performance data file processing command: [LEER]

Seite 4

Konfigurationsfeld Konfigurationswert
Check for orphaned services: [Haken]
Check service freshness: [LEER]
Service freshness check interval: 60
Check host freshness: [LEER]
Host freshness check interval: 60
Date format: ISO-8601 (YYYY-MM-DD HH:MM:SS)
Illegal object name chars:
`~!$%^&*|'"<>?,()'=''
Illegal macro output characters:
`~$&|'"<>
Admin email: nagios@example.com
Admin pager: [LEER]

Control | Nagios resource macros

Konfigurationsfeld Konfigurationswert
user1 /usr/lib/nagios/plugins
user2 /usr/lib/nagios/plugins/eventhandlers
user3 someuser
user4 sompassword

Monarch Pre flight test Fehler

:!: WICHTIG - In der Version 2.5.0 ist ein Fehler, welcher beim „Pre flight test“ die bestehenden Nagios-Konfigurationsdateien in /etc/nagios/ prüft und nicht in /var/www/monarch/workspace enthaltenen Konfigurationsdateien.

Mit folgenden Änderungen in nachfolgendem Verzeichnis

  • /var/www/html/monarch/cgi-bin

an den Dateien

  • /var/www/html/monarch/cgi-bin/monarch.cgi und
  • /var/www/html/monarch/cgi-bin/monarch_ez.cgi

kann dieses Fehlverhalten behoben werden:

/var/www/html/monarch/cgi-bin/monarch.cgi

monarch.cgi Zeile 9128 von:

my ($files, $errors) = Files->build_files($user_acct,$group,'1','',$nagios_ver,$nagios_etc,"$monarch_home/workspace",'');

nach:

my ($files, $errors) = Files->build_files($user_acct,$group,'preflight','',$nagios_ver,$nagios_etc,"$monarch_home/workspace",'');

monarch.cgi Zeile 9801 von:

my ($files, $errors) = Files->build_files($user_acct,'','1','',$nagios_ver,$nagios_etc,"$monarch_home/workspace",'');

nach:

my ($files, $errors) = Files->build_files($user_acct,'','preflight','',$nagios_ver,$nagios_etc,"$monarch_home/workspace",'');

/var/www/html/monarch/cgi-bin/monarch.cgi

monarch_ez.cgi Zeile 1234 von:

my ($files, $errors) = Files->build_files($user_acct,'','1','',$nagios_ver,$nagios_etc,"$monarch_home/workspace",'');

nach:

my ($files, $errors) = Files->build_files($user_acct,'','preflight','',$nagios_ver,$nagios_etc,"$monarch_home/workspace",'');

Monarch extended_host_info.cfg Fehler

:!: WICHTIG - In der Version 2.5.0 ist ein Fehler, welcher die Konfigurationsdatei /etc/nagios/extended_host_info.cfg ab Nagios 3.x in /etc/nagios/nagios.cfg nicht mit einbindet.

Mit folgender Änderung im nachfolgendem Verzeichnis

  • /var/www/monarch/lib

an der Datei

  • /var/www/monarch/lib/MonarchFile.pm

kann dieses Fehlverhalten behoben werden:

/var/www/monarch/lib/MonarchFile.pm

MonarchFile.pm Zeile 767 von:

if ($options{'nagios_version'} eq '2.x') {

nach:

if ($options{'nagios_version'}  =~ /^[234]\.x$/) {

Download bereinigte Dateien

:!: HINWEIS - Die bereinigten Dateien

  • /var/www/html/monarch/cgi-bin/monarch.cgi und
  • /var/www/html/monarch/cgi-bin/monarch_ez.cgi
  • /var/www/monarch/lib/MonarchFile.pm

können ebenfalls unter

heruntergeladen werden.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/groundwork_monitor_architect.txt · Zuletzt geändert: 2014/05/17 07:26 von klaus