Icinga2: Unterschied zwischen den Versionen
Sysd0b (Diskussion | Beiträge) |
Sysd0b (Diskussion | Beiträge) |
||
Zeile 101: | Zeile 101: | ||
Zeile: 86 | Zeile: 86 | ||
− | alt: RRD_DAEMON_OPTS = | + | alt: RRD_DAEMON_OPTS = unix:/tmp/rrdcached.sock |
neu: RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock | neu: RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock | ||
</pre> | </pre> |
Version vom 28. Oktober 2014, 22:48 Uhr
Weil es zuviel geworden ist jetzt mit eigener Seite.
Inhaltsverzeichnis
Installation
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
IDO MYSQL
aptitude install mysql-server-5.5 icinga2-ido-mysql
cat /etc/icinga2/constants.conf
Logging aktivieren
vim /etc/icinga2/classicui/cgi.cfg Zeile: 40 alt: use_logging=0 neu: use_logging=1
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
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:
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
Apache Config anpassen
vim /etc/apache2/conf.d/pnp4nagios.conf alt: AuthName "Nagios Access" neu: AuthName "Icinga Access" alt: AuthUserFile /usr/local/nagios/etc/htpasswd.users neu: AuthUserFile /etc/icinga2/classicui/htpasswd.users /etc/init.d/apache2 reload
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 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 -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
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_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