Icinga2: Unterschied zwischen den Versionen
Sysd0b (Diskussion | Beiträge) |
Sysd0b (Diskussion | Beiträge) |
||
Zeile 30: | Zeile 30: | ||
aptitude install apache2 icinga2-classicui | aptitude install apache2 icinga2-classicui | ||
</pre> | </pre> | ||
− | + | === Xmpp Notification === | |
* https://blog.netways.de/2014/07/17/jabber-notifications-mit-icinga-2/ | * https://blog.netways.de/2014/07/17/jabber-notifications-mit-icinga-2/ | ||
Version vom 3. Februar 2015, 01:53 Uhr
Weil es zuviel geworden ist jetzt mit eigener Seite.
Inhaltsverzeichnis
Icinga2
Unter Debian 7.6.0 (standardtools + ssh)
aptitude update && aptitude -y upgrade // System auf den neuesten Stand bringen aptitude install vim -y // Favorit Editor installieren vim /etc/apt/sources.list // Sources öffnen und um folgende Zeilen erweitern #Icinga 2 Packages deb http://debmon.org/debmon debmon-wheezy main deb-src http://debmon.org/debmon debmon-wheezy main
Schlüssel herunterladen und Pakete als vertrauenswürdig einstufen:
wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add -
aptitude update && aptitude -y upgrade aptitude install icinga2 service icinga2 start
ClassicUI
Frontend, nach der installation erreichbar unter "http://localhost/icinga2-classicui"
aptitude install apache2 icinga2-classicui
Xmpp Notification
Icinga-web
folgt...
Troubleshooting
Wer folgenden Fehler beim Aufruf von "http://localhost/icinga-web" bekommt:
Request Failed! The server encountered an error: Internal Exception, check your logs!
Sollte seine Java-Konsole im Browser anmachen und da loslegen mit der Suche, im log steht leider nichts brauchbares.
PNP4Nagios
Damit Icinga2 schöne Graphen bereitstellt, habe ich mich für das Addon PNP4Nagios im Bulk Mode mit NPCD entschieden.
Vorraussetzung: Icinga2 + classicui (Auf Debian )
Notwendige Pakete abholen
aptitude update && aptitude install pnp4nagios rrdcached
Icinga2 ist bereits für PNP4Nagios ausgestattet, deswegen legen wir nur einen Schalter um.
icinga2-enable-feature perfdata icinga2 feature enable perfdata // Ab Icinga Version 1.7.1
Npcd User + Spool Directoy Pfad anpassen
vim /etc/pnp4nagios/npcd.cfg Zeile: 79 alt: perfdata_spool_dir = /var/spool/pnp4nagios/npcd/ neu: perfdata_spool_dir = /var/spool/icinga2/perfdata/
Npcd aktivieren & starten
vim /etc/default/npcd alt: Run="no" neu: Run="yes" /etc/init.d/npcd start
RRD OPTS setzen
update-rc.d npcd defaults mkdir -p /var/cache/rrdcached chown nagios: /var/cache/rrdcached
vim /etc/default/rrdcached OPTS="-w 1800 -z 1800 -j /var/cache/rrdcached -s nagios -m 0660 -l unix:/var/run/rrdcached.sock"
vim /etc/pnp4nagios/process_perfdata.cfg Zeile: 86 alt: RRD_DAEMON_OPTS = unix:/tmp/rrdcached.sock neu: RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock
PNP4Nagios config anpassen
vim /etc/pnp4nagios/config.php Zeile: 86 alt: $conf['nagios_base'] = "/cgi-bin/nagios3"; neu: $conf['nagios_base'] = "/cgi-bin/icinga"; Zeile: 224 alt: $conf['RRD_DAEMON_OPTS'] = ''; neu: $conf['RRD_DAEMON_OPTS'] = 'unix:/var/run/rrdcached.sock';
Apache Config anpassen
vim /etc/apache2/conf.d/pnp4nagios.conf Zeile: 12 alt: AuthName "Nagios Access" neu: AuthName "Icinga Access" Zeile: 14 alt: AuthUserFile /usr/local/nagios/etc/htpasswd.users neu: AuthUserFile /etc/icinga2-classicui/htpasswd.users
Jetzt noch den Apache User in die Nagios Gruppe & Apache neustarten
usermod -G nagios www-data service apache2 restart
Icinga2 Templates anpassen
vim /etc/icinga2/conf.d/templates.conf # Am Anfang der Datei einfügen: template Host "pnp-hst" { action_url = "/pnp4nagios/graph?host=$HOSTNAME$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_" } template Service "pnp-svc" { action_url = "/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$" } # Bei "generic-host" wird hinzugefügt: import "pnp-hst" # Bei "generic-service" wird hinzugefügt: import "pnp-svc"
Alles neu starten
service rrdcached restart service npcd restart service icinga2 restart
Troubleshooting
Grundsätzlich erstmal einen Blick in die logs werfen, auch bei den docs vorbeischauen hilft oftmals.
vim /etc/pnp4nagios/process_perfdata.cfg // LOG Level auf 2 = debug setzen (Zeile 65) tail /var/log/pnp4nagios/perfdata.log
Es gibt eine Verify Script, was man auch mal laufen lassen kann:
wget http://verify.pnp4nagios.org/verify_pnp_config #verify_pnp_config -m|--mode=[sync|bulk|bulk+npcd|npcdmod] # -c|--config=[path to nagios.cfg] # -p|--pnpcfg=[path to PNP config dir] perl verify_pnp_config -m bulk+npcd -c /etc/icinga2/icinga2.conf -p /etc/apache2/conf.d/pnp4nagios.conf
Wenn das bisher keine Ergebnisse geliefer hat, einfach mal den Weg der Performance Daten verfolgen.
ls -la /var/spool/icinga2/perfdata/
Plugins
Manubulon Plugins
aptitude install nagios-snmp-plugins ls -la /usr/lib/nagios/plugins // Skripte ls -la /etc/nagios-plugins/config/ // Config
Monitoring Plugins
aptitude-install nagios-plugins ls -la /usr/lib/nagios/plugins // Skripte ls -la /etc/nagios-plugins/config/ // Config
Optionale Plugins
Ja wie geht das? Ganz einfach:
mkdir /opt/icinga-plugins/ // Ein neues Verzeichnis für die Optionalen Plugins anlegen vim /etc/icinga2/constants.conf // Icinga bescheid sagen wo dieser Pfad ist, mit Kommentar ;-) /* * Custom / Optionale Plugins */ const CustomPluginDir = "/opt/icinga-plugins/"
check_hp_procurve
Da ich auch Pro Curve Switche überwache, konnte ich auf das check_hp_procurve.pl von Juergen Edelbluth zurückgreifen.
cd /opt/icinga-plugins/ wget http://sourceforge.net/projects/jued-ni-plugins/files/check_hp_procurve.pl/check_hp_procurve.pl_0.0.2.5.tar.gz tar -xvzf check_hp_procurve.pl_0.0.2.5.tar.gz chmod +x check_hp_procurve.pl
check_snmp_int
cd /opt/icinga-custom-plugins wget http://nagios.proy.org/check_snmp_int.pl
check_qnap
Das Check_Qnap Plugin soll mir helfen Daten für Icinga zu sammeln, gut wenn man nicht selber alle OID suchen muss =)
cd /opt/icinga-plugins/ wget http://constey.de/wp-content/uploads/2011/12/check_qnap.txt // Plugin runterladen aptitude install libnagios-plugin-perl libnet-snmp-per // Abhängigkeiten des Plugins installieren mv check_qnap.txt check_qnap.sh // Plugin umbenennen chmod +x check_qnap.sh // Rechte erteilen
Plugin testen
# /opt/icinga-plugins/ ./check_qnamp.sh <HOST-IP> <snmp-community> <check> ./check_qnamp.sh 192.168.23.23 public cpu
Ich habe nach dem Test, welcher weniger erfolgreich war, alle snmpget Aufrufe angepasst damit es läuft. Dafür habe ich das Parameter "-mAll" entfernt und weil ich gerade dabei war die Version von "-v1" auf "-v 2c" umgestellt. Danach war alles schön =)
Commands.conf erweitern
# /etc/icinga2/conf.d/commands.conf /* Custom Commands */ object CheckCommand "check_qnap" { import "plugin-check-command" command = [ CustomPluginDir + "/check_qnap.sh", "$check_qnap_hostip$", "$check_qnap_snmpcom$", "$check_qnap_check$" ] vars.check_qnap_hostip = "$address$" vars.check_qnap_snmpcom = "public" }
Host anlegen
# /etc/icinga2/conf.d/hosts/GPS001.conf object Host "GPS001" { import "generic-host" address = "192.168.23.20" vars.os = "Linux" vars.sla = "24x7" max_check_attempts = 5 check_interval = 1m retry_interval = 30s check_command = "hostalive" }
Service anlegen (mehrfach)
# /etc/icinga2/conf.d/hosts/GPS001/check_qnap_cpu.conf object Service "cpu" { import "generic-service" host_name = "GPS001" check_command = "check_qnap" vars.check_qnap_check = "cpu" // Hier den gewünschten Check eintragen {cpu|diskusage|fan|hdsmart|hdtemp|volumes|systemp|ramuse} vars.sla = "24x7" }
check mk
- Check MK check_mk
Updates & Troubleshooting
Icinga2 r2.1.1-1 auf r2.2.1-1
Beim Update von Icinga2 Version "r2.1.1-1" auf "r2.2.1-1", hat sich was an den Pfad zur classicUI Oberfläche getan, daher sind folgende Schritte notwenig:
- Wer den Symlink auf die icinga2-classicui.conf nicht ändert bekommt diesen Fehler von aptitude geliefert:
ln: Symbolische Verknüpfung „/etc/apache2/conf.d/icinga2-classicui.conf“ konnte nicht angelegt werden: Die Datei existiert bereits dpkg: Fehler beim Bearbeiten von icinga2-classicui (--configure): Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück Fehler traten auf beim Bearbeiten von: icinga2-classicui
Die Lösung steht im Fehler und ist schnell erledigt mit
rm /etc/apache2/conf.d/icinga2-classicui.conf aptitude -f install
- Wer PNP4Nagios einsetzt, sollte auch da den Pfad anpassen
vim /etc/apache2/conf.d/pnp4nagios.conf Zeile: 14 alt: AuthUserFile /etc/icinga2/classicui/htpasswd.users neu: AuthUserFile /etc/icinga2-classicui/htpasswd.users service apache2 reload