Icinga

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Icinga ist eine umfassende und mächtige Open-Source Monitoring-Software zur Überwachung von Rechner- und Netzwerkressourcen. Das aktuelle Icinga 1 ist ein Fork von Nagios und hinsichtlich Konfiguration und Check-Plugins kompatibel zu diesem.

Allgemeines

Literatur

  • iX Tutorial
    • Teil 1, iX 10/11 S.129 - Monitoring (Plugins)
    • Teil 2, iX 11/11 S.156 - Alarmierung und Eskalationsmethoden
    • Teil 3, iX 12/11 S.144 - Reporting (PNP4Nagios, Jasper Reports)
  • Automatisierung von Icinga 2 mit Puppet: siehe iX 08/19 S.120

Andere Clients

Icinga 2

  • siehe News c't 15/14 S.48
  • Icinga Director (GUI zur Konfiguration u.a.): siehe iX 04/17 S.62
  • Icinga 2 and AlertOps

Icinga Web 2

Konfiguration

GUIs

Administration

Development

Dokumentation

Installation

Icinga Core und Web

Siehe

Datenbanken:

icinga
icinga_web

Bei systemd:

make install-systemd
/usr/bin/install -c -m 755 -d -o root -g root /usr/lib/systemd/system
/usr/bin/install -c -m 755 -d -o root -g root /etc/sysconfig
/usr/bin/install -c -m 644 -o root -g root icinga-systemd /usr/lib/systemd/system/icinga.service
/usr/bin/install -c -m 644 -o root -g root sysconfig-env /etc/sysconfig/icinga

Icinga Mobile

Siehe

  • Installation
cd icinga-mobile
autoconf
./configure --with-web-user=wwwrun --with-web-group=www --with-web-apache-path=/etc/apache2 --with-web-path=/icinga-mobile
su
make install
make install-apache-config
cp etc/apache/icinga-mobile.conf /etc/apache2/conf.d/

Hinweis: An den Pfad "--with-web-apache-path=/etc/apache2" wird beim make install-apache-config "conf.d" angehangen.

  • Aktivieren der Authentifizierung in der "auth_key" Methode in /usr/local/icinga-web/app/modules/AppKit/config/auth.xml
<ae:parameter name="auth_key">
      ...
      <ae:parameter name="auth_enable">true</ae:parameter>
      ...
</ae:parameter>
  • Cache löschen
/usr/local/icinga-web/bin/clearcache.sh
  • User anlegen (mit API Key Auth.-Methode)

Update

Backup

cd /usr/local
su
rm -rf icinga.old icinga-web.old
cp -rp icinga icinga.old
cp -rp icinga-web icinga-web.old
exit

Icinga Core

Siehe

Update des Cores (bei Beibehaltung der Konfiguration):

cd /opt/pkg/icinga/
tar zxvf icinga-1.7.0.tar.gz
cd icinga-1.7.0
./configure --with-command-group=icinga-cmd --enable-idoutils
make all
su
make install install-init install-commandmode install-idoutils
make install-downtimes
exit

Hinweise:

  • make fullinstall sollte auch funktionieren, jedoch wird auch die Apache-Config überschrieben.
  • Die install-Ziele "install-base install-cgis install-html" werden mit "install" erledigt.
  • Folgende install-Ziele können i.d.R. ausgelassen werden bei einem Update:
make install-config
make install-webconf
  • In 1.7.0 wurde der Pfad und Name des idomod Moduls verändert!

IDOUtils Datenbank

Siehe http://docs.icinga.org/latest/de/upgrading_idoutils.html

Aktuelle Version bestimmen z.B. aus Icinga Logfile:

less /usr/local/icinga/var/icinga.log

DB aktualisieren, falls Upgrade-Datei vorhanden ist:

mysql -u root -p icinga < module/idoutils/db/mysql/upgrade/mysql-upgrade-1.7.0.sql

Oder bei Bedarf DB neu aufsetzen (vorher Tabellen manuell löschen):

mysql -u root -p icinga < module/idoutils/db/mysql/mysql.sql

Änderungen bei Konfig-Parametern prüfen

sample-config/updates
module/idoutils/config/updates

Neustart

su
/etc/init.d/icinga stop
/etc/init.d/ido2db stop
/etc/init.d/ido2db start
/etc/init.d/icinga start
exit

Icinga Web

Siehe http://docs.icinga.org/latest/de/icinga-web-scratch.html und http://docs.icinga.org/latest/de/upgrading_icingaweb.html. Änderungen seit Icinga Web 1.5!!

cd /opt/pkg/icinga/
tar xzvf icinga-web-1.8.0.tar.gz
cd icinga-web-1.8.0
./configure --prefix=/usr/local/icinga-web --with-web-user=wwwrun --with-web-group=www --with-web-path=/icinga-web --with-web-apache-path=/etc/apache2/conf.d --with-db-type=mysql --with-db-host=localhost --with-db-port=3306 --with-db-name=icinga_web --with-db-user=icinga_web --with-db-pass=xxxx
su
make upgrade

Hinweise:

  • --with-db-pass bezieht sich auf Icinga Web DB
  • Das "make upgrade" lässt die etc/conf.d Dateien unberührt.

Oder um alles neu zu installieren:

make install
make install-apache-config
make testdeps

Falls ein Upgrade des DB-Schemas in etc/schema/updates/ vorhanden ist:

mysql -u root -p icinga_web < etc/schema/updates/mysql/mysql_v1-7-2_to_v1-8-0.sql

Oder im Extremfall DB neu initialisieren:

make db-drop
make db-initialize

Anpassungen der Timezone in /usr/local/icinga-web/app/modules/AppKit/config/module.xml (siehe unten).

Cache leeren:

/usr/local/icinga-web/bin/clearcache.sh

PHP:

  • exec Kommando muss erlaubt sein (/etc/php5/apache2/php.ini), wird von Befehlen aus der GUI verwendet in /usr/local/icinga-web/app/modules/Api/lib/console/LocalConsoleConnection.class.php

Konfiguration

Icinga Web

Datenbank-Parameter (Web-GUI) in Datei /usr/local/icinga-web/etc/conf.d/databases.xml. Die Sektionen für die beiden DB-Verbindungen müssen auskommentiert und die dsn-Strings (Passwort) angepasst werden.

  <ae:parameter name="dsn">mysql://icinga_web:PASSWORD@localhost:3306/icinga_web</ae:parameter>
  ...
  <ae:parameter name="dsn">mysql://icinga:PASSWORD@localhost:3306/icinga</ae:parameter>

Optional: Session Lifetime (Expiration) in Sekunden in Datei /usr/local/icinga-web/etc/conf.d/factories.xml (default ist 0):

 <ae:parameter name="session_cookie_lifetime">604800</ae:parameter>

Timezone in Datei /usr/local/icinga-web/etc/conf.d/translation.xml:

<available_locales default_locale="de" default_timezone="Europe/Berlin">
                        <available_locale identifier="de_DE">
                          <ae:parameter name="description">Deutsch</ae:parameter>
                        </available_locale>
                        <available_locale identifier="en">
                          <ae:parameter name="description">English</ae:parameter>
                        </available_locale>
</available_locales>

Timezone in Datei /usr/local/icinga-web/app/modules/AppKit/config/module.xml:

 <ae:parameter name="date.timezone">Europe/Berlin</ae:parameter>

Logging

Tipps und Tricks

SNMP Traps

Siehe auch