Icinga

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen

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