Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
installation_nagios_4_nagiosgraph_nagvis_loghost [2015/07/23 08:33] admin [Config] |
installation_nagios_4_nagiosgraph_nagvis_loghost [2016/10/04 09:09] (aktuell) admin [Loghost] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Installation Nagios4, Nagiosgraph, NagVis, Loghost ====== | ====== Installation Nagios4, Nagiosgraph, NagVis, Loghost ====== | ||
- | ===== Nagios 4 ===== | + | ===== Betriebssystem ===== |
- | + | Auf dem Nagios-Server sollten bestimmte Basisdienste installiert und konfiguriert sein. | |
- | + | ==== SNMP / SNMPD ==== | |
- | Eine gute Dokumentation für die Installation unter Ubuntu ist bei http://nagios.sourceforge.net/docs/nagioscore/4/en/quickstart-ubuntu.html zu finden. | + | |
- | Zusammengefasst sind die folgende Schritte durchzuführen: | + | |
- | \\ | + | |
- | \\ | + | |
- | ===Installation der benötigten Pakete=== | + | |
- | <code bash> | + | |
- | sudo apt-get install apache2 apache2-utils libapache2-mod-php5 build-essential libgd2-xpm-dev | + | |
- | </code> | + | |
- | + | ||
- | ===Anlegen von Benutzer und Gruppe=== | + | |
- | <code bash> | + | |
- | useradd -m -s /bin/bash nagios | + | |
- | passwd nagios | + | |
- | groupadd nagcmd | + | |
- | usermod -a -G nagcmd nagios | + | |
- | usermod -a -G nagcmd www-data | + | |
- | </code> | + | |
- | + | ||
- | === Kompilieren und Installieren === | + | |
- | <code bash> | + | |
- | ./configure --with-command-group=nagcmd | + | |
- | make all | + | |
- | make install | + | |
- | make install-init | + | |
- | make install-config # damit das etc-Verzeichnis angelegt wird | + | |
- | make install-commandmode | + | |
- | make install-webconf # Apache Config | + | |
- | htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin | + | |
- | service apache2 reload | + | |
- | </code> | + | |
- | + | ||
- | === Plugins === | + | |
- | == Kompilieren und Installieren der Standard-Plugins == | + | |
- | + | ||
- | <code bash> | + | |
- | ./configure --with-nagios-user=nagios --with-nagios-group=nagios | + | |
- | make | + | |
- | make install | + | |
- | </code> | + | |
- | + | ||
- | == Perl-Module für diverse Plugins == | + | |
- | <code bash> | + | |
- | apt-get install libsnmp-perl libnet-snmp-perl libnmap-parser-perl \ | + | |
- | libio-pty-perl libnet-openssh-perl \ | + | |
- | libdbi-perl libdatetime-perl libdatetime-format-strptime-perl \ | + | |
- | libdbd-mysql-perl | + | |
- | </code> | + | |
- | + | ||
- | === SNMP / SNMPD === | + | |
Die SNMP-Tools (snmpwalk, snmpget) und der SNMP-Daemon (zur "Eigenüberwachung") sollten nicht fehlen. | Die SNMP-Tools (snmpwalk, snmpget) und der SNMP-Daemon (zur "Eigenüberwachung") sollten nicht fehlen. | ||
<code bash> | <code bash> | ||
Zeile 71: | Zeile 22: | ||
</code> | </code> | ||
- | === Postfix === | + | ==== Postfix ==== |
Damit Nagios eMails versenden kann, muss Postfix installiert und konfiguriert werden. | Damit Nagios eMails versenden kann, muss Postfix installiert und konfiguriert werden. | ||
<code bash> | <code bash> | ||
Zeile 119: | Zeile 70: | ||
service postfix restart | service postfix restart | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | ===== Nagios 4 ===== | ||
+ | |||
+ | |||
+ | Eine gute Dokumentation für die Installation unter Ubuntu ist bei http://nagios.sourceforge.net/docs/nagioscore/4/en/quickstart-ubuntu.html zu finden. | ||
+ | Zusammengefasst sind die folgende Schritte durchzuführen: | ||
+ | \\ | ||
+ | \\ | ||
+ | ===Installation der benötigten Pakete=== | ||
+ | <code bash> | ||
+ | sudo apt-get install apache2 apache2-utils libapache2-mod-php5 \ | ||
+ | build-essential libgd2-xpm-dev zip unzip | ||
+ | </code> | ||
+ | |||
+ | ===Anlegen von Benutzer und Gruppe=== | ||
+ | <code bash> | ||
+ | useradd -m -s /bin/bash nagios | ||
+ | passwd nagios | ||
+ | groupadd nagcmd | ||
+ | usermod -a -G nagcmd nagios | ||
+ | usermod -a -G nagcmd www-data | ||
+ | </code> | ||
+ | |||
+ | === Kompilieren und Installieren === | ||
+ | <code bash> | ||
+ | ./configure --with-command-group=nagcmd | ||
+ | make all | ||
+ | make install | ||
+ | make install-init | ||
+ | make install-config # damit das etc-Verzeichnis angelegt wird | ||
+ | make install-commandmode | ||
+ | make install-webconf # Apache Config | ||
+ | htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin | ||
+ | service apache2 reload | ||
+ | </code> | ||
+ | |||
+ | ===== Plugins ===== | ||
+ | ==== Kompilieren und Installieren der Standard-Plugins ==== | ||
+ | Folgende Pakete sollten vorab installiert werden, damit auch alle plugins kompiliert werden. | ||
+ | <code bash> | ||
+ | apt-get install dnsutils # DNS | ||
+ | apt-get install libssl-dev libgnutls-dev # SSL | ||
+ | apt-get install libldap2-dev # LDAP | ||
+ | apt-get install libmysqlclient-dev # MySQL | ||
+ | apt-get install libpq-dev # PostgresQL | ||
+ | apt-get install libradiusclient-ng-dev # Radius | ||
+ | </code> | ||
+ | |||
+ | <code bash> | ||
+ | ./configure --with-nagios-user=nagios --with-nagios-group=nagios | ||
+ | make | ||
+ | make install | ||
+ | </code> | ||
+ | |||
+ | === Perl-Module für diverse Plugins === | ||
+ | <code bash> | ||
+ | apt-get install libsnmp-perl libnet-snmp-perl libnmap-parser-perl \ | ||
+ | libio-pty-perl libnet-openssh-perl \ | ||
+ | libdbi-perl libdatetime-perl libdatetime-format-strptime-perl \ | ||
+ | libdbd-mysql-perl libnet-telnet-perl libxml-simple-perl | ||
+ | </code> | ||
+ | |||
+ | === check_nrpe (64Bit) === | ||
+ | |||
+ | Möglicherweise meldet ein "check_nrpe" den Fehler "No such file or directory", obwohl das Plugin im angegebenen Pfad zu finden ist. Das Problem ist hier, dass das "check_nrpe" möglicherweise von einem anderen Rechner mit 32Bit-Architektur stammt. Am besten kompiliert man kurz auf dem Nagios neu. Da das ''configure'' aber Probleme hat, das ssl einer 64Bit Installation zu finden, legt man vorher einen Link an. | ||
+ | <code bash> | ||
+ | ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/libssl.so | ||
+ | tar xvf nrpe-2.15.tar.gz | ||
+ | cd nrpe-2.15 | ||
+ | ./configure | ||
+ | make | ||
+ | # Da wir nur das check_nrpe haben wollen, lassen wir "make install" weg und kopieren von Hand. | ||
+ | cp src/check_nrpe /usr/local/nagios/plugins-3rdparty/ | ||
+ | </code> | ||
+ | |||
+ | ===check_esxi_hardware.py=== | ||
+ | Das Plugin ''check_esxi_hardware.py'' benötigt das Paket ''python-pywbem'' in einer älteren Version (0.7.0-4). Anderenfalls kommt es zu einem ssl-Fehler bei der Ausführung. Für die Installation geht man folgendermaßen vor: | ||
+ | <code bash> | ||
+ | apt-get install python-pywbem | ||
+ | aptitude install python-pywbem=0.7.0-4 | ||
+ | # Auf HOLD setzen (damit es nicht mehr aktualisiert wird) | ||
+ | echo "python-pywbem hold"|dpkg --set-selections | ||
+ | # Kontrolle | ||
+ | dpkg --get-selections |awk '$2 == "hold" { print $1 }' | ||
+ | </code> | ||
+ | |||
===== Nagios-Konfiguration ===== | ===== Nagios-Konfiguration ===== | ||
Zeile 259: | Zeile 297: | ||
</code> | </code> | ||
- | Danach können mit dem mitgelieferten Perl-Skript die Voraussetzungen geprüft und die Installation gestartet werden. | + | Danach können mit dem mitgelieferten Perl-Skript die Voraussetzungen geprüft und die Installation gestartet werden. Bei den gestellten Fragen kann der jeweilige Default übernommen werden. Ausnahme natürlich, wenn man die Nagios-Config bzw. Apache-Config direkt anpassen lassen will. |
<code bash> | <code bash> | ||
./install.pl --check-prereq | ./install.pl --check-prereq | ||
./install.pl | ./install.pl | ||
+ | # ... | ||
+ | Modify the Nagios configuration? [n] y | ||
+ | Path of Nagios configuration file? [/usr/local/nagios/etc/nagios.cfg] | ||
+ | Path of Nagios commands file? [/usr/local/nagios/etc/objects/commands.cfg] | ||
+ | Modify the Apache configuration? [n] y | ||
+ | Path of Apache configuration directory? /etc/apache/conf-available | ||
+ | configuration: | ||
+ | ng_prefix /usr/local/nagiosgraph | ||
+ | ng_etc_dir /usr/local/nagiosgraph/etc | ||
+ | ng_bin_dir /usr/local/nagiosgraph/bin | ||
+ | ng_cgi_dir /usr/local/nagiosgraph/cgi | ||
+ | ng_doc_dir /usr/local/nagiosgraph/doc | ||
+ | ng_examples_dir /usr/local/nagiosgraph/examples | ||
+ | ng_www_dir /usr/local/nagiosgraph/share | ||
+ | ng_util_dir /usr/local/nagiosgraph/util | ||
+ | ng_var_dir /usr/local/nagiosgraph/var | ||
+ | ng_rrd_dir /usr/local/nagiosgraph/var/rrd | ||
+ | ng_log_dir /usr/local/nagiosgraph/var/log | ||
+ | ng_log_file /usr/local/nagiosgraph/var/log/nagiosgraph.log | ||
+ | ng_cgilog_file /usr/local/nagiosgraph/var/log/nagiosgraph-cgi.log | ||
+ | ng_url /nagiosgraph | ||
+ | ng_cgi_url /nagiosgraph/cgi-bin | ||
+ | ng_css_url /nagiosgraph/nagiosgraph.css | ||
+ | ng_js_url /nagiosgraph/nagiosgraph.js | ||
+ | nagios_cgi_url /nagios/cgi-bin | ||
+ | nagios_perfdata_file /tmp/perfdata.log | ||
+ | nagios_user nagios | ||
+ | www_user www-data | ||
+ | modify_nagios_config y | ||
+ | nagios_config_file /usr/local/nagios/etc/nagios.cfg | ||
+ | nagios_commands_file /usr/local/nagios/etc/objects/commands.cfg | ||
+ | modify_apache_config y | ||
+ | apache_config_dir /etc/apache2/conf-available | ||
+ | apache_config_file | ||
+ | Continue with this configuration? [y] | ||
</code> | </code> | ||
+ | |||
+ | Lässt man die Apache-Config automatisch generieren, sollte man kontrollieren, ob die Berechtigungen passend gesetzt sind. Meisst muss für beide ''Directories'' noch ein ''Require all granted'' gesetzt werden. Anderenfalls bekommt man Fehlermeldungen wie: | ||
+ | <code apache> | ||
+ | You dont have permission to access /nagiosgraph/cgi-bin/show.cgi | ||
+ | # oder | ||
+ | JavaScript is disabled. | ||
+ | nagiosgraph.js is not installed or wrong version. | ||
+ | </code> | ||
+ | |||
Im Anschluss muss für die Funktion "mouseover" noch die nagiosgraph.ssi ins Nagios-Verzeichnis kopiert werden. | Im Anschluss muss für die Funktion "mouseover" noch die nagiosgraph.ssi ins Nagios-Verzeichnis kopiert werden. | ||
Zeile 270: | Zeile 352: | ||
</code> | </code> | ||
+ | Für das ''nagiosgraph.log'' sollte noch ''logrotate'' konfiguriert werden, da das nagiosgraph.log recht schnell sehr groß werden kann. | ||
+ | <code bash> | ||
+ | # vi /etc/logrotate.d/nagiosgraph | ||
+ | /usr/local/nagios/nagiosgraph/var/log/nagiosgraph.log { | ||
+ | daily | ||
+ | missingok | ||
+ | rotate 7 | ||
+ | notifempty | ||
+ | compress | ||
+ | create 644 nagios nagios | ||
+ | postrotate | ||
+ | touch /usr/local/nagios/nagiosgraph/var/log/nagiosgraph.log | ||
+ | chown nagios:nagios /usr/local/nagios/nagiosgraph/var/log/nagiosgraph.log | ||
+ | chmod 644 /usr/local/nagios/nagiosgraph/var/log/nagiosgraph.log | ||
+ | endscript | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Nagiosgraph ist damit prinzipiell funktionsfähig. Es lässt sich aber über diverse Config-Files noch die Darstellung optimieren. Die entsprechenden Konfiguration sind im Artikel "[[Nagiosgraph - Konfiguration]]" näher beschrieben. | ||
Zeile 314: | Zeile 415: | ||
# Require valid-user | # Require valid-user | ||
</Directory> | </Directory> | ||
+ | </code> | ||
+ | |||
+ | Natürlich muss die Apache-Config wieder per Command aktiviert werden. | ||
+ | <code bash> | ||
+ | a2enconf nagiosgraph | ||
+ | service apache2 reload | ||
</code> | </code> | ||
===== mk-livestatus ===== | ===== mk-livestatus ===== | ||
Zeile 332: | Zeile 439: | ||
Benötigt wird das php5-gd Paket. | Benötigt wird das php5-gd Paket. | ||
<code bash> | <code bash> | ||
- | apt-get install php5-gd graphviz sqlite3 php5-sqlite | + | apt-get install php5-gd graphviz sqlite3 php5-sqlite rsync |
</code> | </code> | ||
Die Installation von NagVis ist über die install.sh Dialog-gesteuert. | Die Installation von NagVis ist über die install.sh Dialog-gesteuert. | ||
Zeile 364: | Zeile 471: | ||
<code bash> | <code bash> | ||
cd /usr/local/nagvis/etc/ | cd /usr/local/nagvis/etc/ | ||
- | /install/nagvis-1.8/nagvis-make-admin nagiosadmin | + | /install/nagvis-1.8.5/nagvis-make-admin nagiosadmin |
+ | # Damit dieser Befehl funktioniert, muss 1x die NagVis-Seite aufgerufen worden sein, damit die Datei "auth.db" angelegt wurde. | ||
</code> | </code> | ||
===== Loghost ===== | ===== Loghost ===== | ||
Zeile 400: | Zeile 508: | ||
Jetzt kann man den Loganalyzer schon im Webbrowser aufrufen und wird durch die Konfiguration geführt. | Jetzt kann man den Loganalyzer schon im Webbrowser aufrufen und wird durch die Konfiguration geführt. | ||
+ | |||
+ | === Anzeige-DBs / nagtrap === | ||
+ | WErden nagtrap oder "Abwandlungen" hiervon zu Anzeige der Loghost Events genutzt, muss in der php.ini der Wert "short_open_tag=On" gesetzt werden. Außerdem sollte die Speichergrenze erhöht werden. | ||
+ | <code bash> | ||
+ | # vi /etc/php5/apache2/php.ini | ||
+ | ; ... | ||
+ | ;JB - short_open_tag = Off | ||
+ | short_open_tag = On | ||
+ | ; ... | ||
+ | ;JB - memory_limit = 128M | ||
+ | memory_limit = 512M | ||
+ | ; ... | ||
+ | </code> | ||
===== Nagios Mobile ===== | ===== Nagios Mobile ===== |