Icinga2: Unterschied zwischen den Versionen
Sysd0b (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Weil es zuviel geworden ist jetzt mit eigener Seite.“) |
Sysd0b (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
Weil es zuviel geworden ist jetzt mit eigener Seite. | Weil es zuviel geworden ist jetzt mit eigener Seite. | ||
+ | |||
+ | == Installation == | ||
+ | === Icinga2 === | ||
+ | Unter Debian 7.6.0 (standardtools + ssh) | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | Schlüssel herunterladen und Pakete als vertrauenswürdig einstufen: | ||
+ | <pre> | ||
+ | wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add - | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | aptitude update && aptitude -y upgrade | ||
+ | aptitude install icinga2 | ||
+ | service icinga2 start | ||
+ | </pre> | ||
+ | === ClassicUI === | ||
+ | <pre> | ||
+ | aptitude install apache2 icinga2-classicui | ||
+ | </pre> | ||
+ | === IDO MYSQL === | ||
+ | <pre> | ||
+ | aptitude install mysql-server-5.5 icinga2-ido-mysql | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | cat /etc/icinga2/constants.conf | ||
+ | </pre> | ||
+ | |||
+ | Logging aktivieren | ||
+ | <pre> | ||
+ | vim /etc/icinga2/classicui/cgi.cfg | ||
+ | |||
+ | Zeile: 40 | ||
+ | alt: use_logging=0 | ||
+ | neu: use_logging=1 | ||
+ | </pre> | ||
+ | |||
+ | == Icinga-web == | ||
+ | Wer folgenden Fehler beim Aufruf von "http://localhost/icinga-web" bekommt: | ||
+ | <pre> | ||
+ | Request Failed! | ||
+ | The server encountered an error: | ||
+ | Internal Exception, check your logs! | ||
+ | </pre> | ||
+ | Sollte seine Java-Konsole im Browser anmachen und da loslegen mit der Suche, im log steht leider nichts brauchbares. | ||
+ | |||
+ | === Manubulon Plugins === | ||
+ | <pre> | ||
+ | aptitude install nagios-snmp-plugins | ||
+ | |||
+ | ls -la /usr/lib/nagios/plugins // Skripte | ||
+ | ls -la /etc/nagios-plugins/config/ // Config | ||
+ | </pre> | ||
+ | |||
+ | === Monitoring Plugins === | ||
+ | <pre> | ||
+ | aptitude-install nagios-plugins | ||
+ | |||
+ | ls -la /usr/lib/nagios/plugins // Skripte | ||
+ | ls -la /etc/nagios-plugins/config/ // Config | ||
+ | </pre> | ||
+ | |||
+ | === Optionale Plugins === | ||
+ | Ja wie geht das? Ganz einfach: | ||
+ | <pre> | ||
+ | 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/" | ||
+ | </pre> | ||
+ | ==== check_hp_procurve ==== | ||
+ | Da ich auch Pro Curve Switche überwache, konnte ich auf das [http://sourceforge.net/projects/jued-ni-plugins/files/check_hp_procurve.pl/ check_hp_procurve.pl] von [http://www.jued.de/ Juergen Edelbluth] zurückgreifen. | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | ==== check_qnap ==== | ||
+ | Das [https://github.com/trendchiller/icinga-checks/blob/master/check_qnap.sh Check_Qnap] Plugin soll mir helfen Daten für Icinga zu sammeln, gut wenn man nicht selber alle OID suchen muss =) | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | Plugin testen | ||
+ | <pre> | ||
+ | # /opt/icinga-plugins/ | ||
+ | |||
+ | ./check_qnamp.sh <HOST-IP> <snmp-community> <check> | ||
+ | ./check_qnamp.sh 192.168.23.23 public cpu | ||
+ | </pre> | ||
+ | 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 | ||
+ | <pre> | ||
+ | # /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" | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Host anlegen | ||
+ | <pre> | ||
+ | # /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" | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Service anlegen (mehrfach) | ||
+ | <pre> | ||
+ | # /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" | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | ==== check mk ==== | ||
+ | * Check MK [http://exchange.check-mk.org/index.php?option=com_remository&Itemid=53&func=select&id=2 check_mk] | ||
+ | |||
+ | === [http://pnp4nagios.org PNP4Nagios] === | ||
+ | Damit Icinga2 schöne Graphen bereitstellt, habe ich mich für das Addon PNP4Nagios im [http://docs.pnp4nagios.org/de/pnp-0.6/modes#bulk_mode_mit_npcd Bulk Mode mit NPCD] entschieden. | ||
+ | |||
+ | Vorraussetzung: Icinga2 + classicui (Auf Debian ) | ||
+ | |||
+ | Notwendige Pakete abholen | ||
+ | <pre> | ||
+ | aptitude update && aptitude install pnp4nagios rrdcached | ||
+ | </pre> | ||
+ | |||
+ | Icinga2 ist bereits für PNP4Nagios ausgestattet, deswegen legen wir nur einen Schalter um. | ||
+ | <pre> | ||
+ | icinga2-enable-feature perfdata | ||
+ | </pre> | ||
+ | |||
+ | Npcd User + Spool Directoy Pfad anpassen | ||
+ | <pre> | ||
+ | vim /etc/pnp4nagios/npcd.cfg | ||
+ | |||
+ | Zeile: 79 | ||
+ | alt: perfdata_spool_dir = /var/spool/pnp4nagios/npcd/ | ||
+ | neu: perfdata_spool_dir = /var/spool/icinga2/perfdata/ | ||
+ | </pre> | ||
+ | |||
+ | Npcd aktivieren & starten | ||
+ | <pre> | ||
+ | vim /etc/default/npcd | ||
+ | |||
+ | alt: Run="no" | ||
+ | neu: Run="yes" | ||
+ | |||
+ | /etc/init.d/npcd start | ||
+ | </pre> | ||
+ | |||
+ | RRD OPTS setzen: | ||
+ | <pre> | ||
+ | vim /etc/pnp4nagios/process_perfdata.cfg | ||
+ | |||
+ | Zeile: 86 | ||
+ | alt: RRD_DAEMON_OPTS = | ||
+ | neu: RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock | ||
+ | </pre> | ||
+ | |||
+ | Apache Config anpassen | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | Icinga2 Templates anpassen | ||
+ | <pre> | ||
+ | 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" | ||
+ | </pre> | ||
+ | |||
+ | Alles neu starten | ||
+ | <pre> | ||
+ | service rrdcached restart | ||
+ | service npcd restart | ||
+ | service icinga2 restart | ||
+ | </pre> | ||
+ | |||
+ | === Troubleshooting === | ||
+ | Grundsätzlich erstmal einen Blick in die logs werfen, auch bei den [http://docs.pnp4nagios.org/de/pnp-0.6/start docs] vorbeischauen hilft oftmals. | ||
+ | <pre> | ||
+ | vim /etc/pnp4nagios/process_perfdata.cfg // LOG Level auf 2 = debug setzen | ||
+ | tail /var/log/pnp4nagios/perfdata.log | ||
+ | </pre> | ||
+ | |||
+ | Es gibt eine [http://verify.pnp4nagios.org/ Verify Script], was man auch mal laufen lassen kann: | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> |
Version vom 22. Oktober 2014, 00:45 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
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
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.
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
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 = 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