Inhaltsverzeichnis
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.