Keywords: Supervision, Icinga, Nagios, Linux

Konfigurationsübersicht Icinga-Web
Zurück | Kapitel 6. Die Benutzeroberflächen | Weiter

## Konfigurationsübersicht Icinga-Web

Wo sind meine Konfigurationsdateien?

Wir versuchen die Verwendung von globalen Konfigurationsdateien zu minimieren. Icinga-Web arbeitet mit Modulen und jedes Modul hat seine eigene Konfiguration. Das gilt ebenfalls für die Libraries. Wenn Sie weitere Informationen zu den Cronk Libraries benötigen, schauen Sie in `app/modules/Cronks/lib` (für js in `app/modules/Cronks/lib/js`).

Ein Modul von Icinga-Web ist wie folgt aufgebaut:

    tree -d -L 1 app/modules/AppKit/
    app/modules/AppKit/
    |-- actions
    |-- config
    |-- lib
    |-- models
    |-- templates
    |-- validate
    |-- views

Index

- Globale Konfiguration

- Session Cookie Lifetime

- Zeitzone

- Module Konfiguration

- Authentifizierung

- Icinga-API Verbindungseinstellung

- Benutzerdefinierte Konfiguration

Globale Konfiguration

app/config

Hier finden Sie die globalen Konfigurationsdateien für z.B. die Web Session, den Icinga Web Pfad und die Datenbankinformationen.

Die wichtigsten Dateien:

- `database.xml` - enthält die Verbindungseinstellungen für Ihre Icinga-Web Datenbank

- `factories.xml` - enthält die Konfiguration für Ihre Web Session

- `icinga.xml` - enthält die Konfiguration für Ihr Icinga-Web ROOT-Verzeichnis und den Icinga Web Pfad.

Session Cookie Lifetime

Beispiel: Ändern von session_cookie_lifetime

Die Session Lifetime ist die Zeit in Sekunden, bis die Icinga-Web- Session abläuft. Sie kann auf globaler Ebene in der Datei `app/config/factories.xml` konfiguriert werden.

    #> vi app/config/factories.xml

    <ae:parameter name="session_cookie_lifetime">3600<ae:parameter>

Wenn Sie die session_cookie_lifetime ändern möchten, editieren Sie bitte `app/config/factories.site.xml`

Icinga-Web- Zeitzone

Beispiel: Ändern der Zeitzone für Icinga-Web

Wenn die Zeitzone von Icinga-Web von Ihrer lokalen Zeitzone abweicht, überprüfen Sie bitte den Parameter "date.timezone" in `app/modules/AppKit/config/module.xml` (z.B. 'Europe/Berlin')

    #> vi app/modules/AppKit/config/module.xml
    <ae:parameter name="date.timezone">GMT</ae:parameter>

Modul Konfiguration:

app/modules/AppKit

Hier "lebt" das Framework: Authentifikation, Menüs und weiteres.

Authentifizierung

Beispiel: LDAP-Authentifizierung

Öffnen Sie `app/modules/AppKit/config/auth.xml`.

Ein Anbieter ist wie folgt aufgebaut:

     <ae:parameter name="msad-ldap1">
                <ae:parameter name="auth_module">AppKit</ae:parameter>
                <ae:parameter name="auth_provider">Auth.Provider.LDAP</ae:parameter>
                <ae:parameter name="auth_enable">true</ae:parameter>
                <ae:parameter name="auth_authoritative">true</ae:parameter>
                <ae:parameter name="auth_create">true</ae:parameter>
                <ae:parameter name="auth_update">true</ae:parameter>

                <ae:parameter name="auth_map">
                    <ae:parameter name="user_firstname">givenName</ae:parameter>
                    <ae:parameter name="user_lastname">sn</ae:parameter>
                    <ae:parameter name="user_email">mail</ae:parameter>
                </ae:parameter>

                <ae:parameter name="ldap_dsn">ldap://ad.icinga.org</ae:parameter>
                <ae:parameter name="ldap_basedn">DC=ad,DC=icinga,DC=org</ae:parameter>
                <ae:parameter name="ldap_binddn">ldap@AD.ICINGA.ORG</ae:parameter>
                <ae:parameter name="ldap_bindpw"><![CDATA[XXXXXXXXX]]></ae:parameter>
                <ae:parameter name="ldap_userattr">uid</ae:parameter>
                <ae:parameter name="ldap_filter_user"><![CDATA[(&(sAmAccountName=__USERNAME__))]]></ae:parameter>
            </ae:parameter>

Die `auth.xml` hält die Dokumentation für die globale Konfiguration. Die LDAP-Authentifizierung sollte mit einigen grundlegenden LDAP- Kenntnissen möglich sein.

Sie können die Anbieter duplizieren und so Ihre Authentifizierungs-Basis vergrössern.

Bitte speichern Sie Ihre Konfiguration in `auth.site.xml` !

app/modules/Cronks

Alle Cronks werden hier implementiert: Grids und iframes. Sie sind einfache HTML-Seiten, die ExtJS Komponenten Code enthalten. Wenn Sie einen neuen Cronk hinzufügen möchten, wird dieses Modul Ihr Freund sein.

Wenn Sie einen neuen Cronk entwickeln möchten, schauen Sie hier: HowToDevelopCronks

Die Konfiguration können Sie im Cronk-Module ändern:

    #> ls app/modules/Cronks/config
    autoload.xml  config_handlers.xml  cronks.xml  module.xml  validators.xml

- `module.xml` - definieren von neuen Kategorien in denen die Cronks erscheinen, die Datei `module.xml` hält dazu alle Informationen

- `cronks.xml` - um auf neue Cronks zu zugreifen, definieren von neuen iframe Cronks

app/modules/Web

Oder besser: Icinga. Dieses Modul enthält alle Icinga relevanten Dinge wie IcingaAPI2Json und die Statusinformationen. Auch die Icinga-API-Verbindungseinstellungen werden hier konfiguriert.

Icinga-API Verbindungseinstellungen

Beispiel: Ändern der Icinga-API-Verbindungseinstellungen

Sehen Sie in `app/modules/Web/config/icinga-io.xml`, hier finden Sie die Standardeinstellungen für die Icinga-API-Verbindung.

    #> vi app/modules/Web/config/icinga-io.xml

              <setting name="api.interfaces.data">
                                            <!-- IcingaApi connection interface -->
                                            <ae:parameter name="api_type">IcingaApi::CONNECTION_IDO</ae:parameter>

                                            <!-- Suits for all interfaes -->
                                            <ae:parameter name="config_type">mysql</ae:parameter>
                                            <ae:parameter name="config_host">localhost</ae:parameter>
                                            <ae:parameter name="config_port">3306</ae:parameter>

                                            <!-- ###BEGIN_CONNECTION_IDO### -->
                                            <!-- Database specific (IcingaApi::CONNECTION_IDO) -->
                                            <ae:parameter name="config_database">icinga</ae:parameter>
                                            <ae:parameter name="config_user">icinga</ae:parameter>
                                            <ae:parameter name="config_password">icinga</ae:parameter>
                                            <ae:parameter name="config_table_prefix">icinga_</ae:parameter>
                                            <!-- ###END_CONNECTION_IDO### -->

Wenn Sie diese Einstellungen ändern möchten, editieren Sie bitte `app/modules/Web/config/icinga-io.site.xml`.

Benutzerdefinierte Konfiguration

Bitte beachten:

Wenn Sie Konfigurationsdateien ändern oder erstellen, denken Sie bitte an folgendes:

1. Zeilen die mit <!-- beginnen und enden mit --> werden als Kommentare interpretiert.

2. Variablennamen sind case-sensitive

3. Ihre benutzerdefinierten Icinga-Web-Konfigurationseinstellungen für die Icinga-API, die Authentifizierung und die Datenbank können Sie in den app/modules/Appkit(/Cronks/Web)/config/*.site.xml- Dateien vornehmen. Diese Dateien werden bei einer Aktualisierung von Icinga-Web nicht überschrieben.

   Folgende Dateien sind dafür vorgesehen:

   `app/modules/Cronks/config/cronks.site.xml`

   `app/modules/Web/config/icinga-io.site.xml`

   `app/modules/AppKit/config/auth.site.xml`

   `app/config/icinga.site.xml`

   `app/config/databases.site.xml`

   `app/config/settings.site.xml`

   `app/config/translation.site.xml`

   `app/config/factories.site.xml`

   Die Templates für Grids und TO's (tactical overview) können in ihrem Verzeichnis zu *.site.xml- Dateien kopiert werden:

   Die Grids:

   `app/modules/Cronks/data/xml/grid/icinga-hostgroup-summary-template.xml`

   `app/modules/Cronks/data/xml/grid/icinga-host-history-template.xml`

   `app/modules/Cronks/data/xml/grid/icinga-host-template.xml`

   ...

   und die TO's:

   `app/modules/Cronks/data/xml/to/icinga-tactical-overview-groupstat.xml`

   `app/modules/Cronks/data/xml/to/icinga-tactical-overview-presets.xml`

   `app/modules/Cronks/data/xml/to/icinga-tactical-overview-template-charts.xml`

   ...

   Um auf Ihre *.site.xml- Grids/Cronks zugreifen zu können, müssen Sie diese in `app/modules/Cronks/config/cronks.xml` hinterlegen.

| Anmerkung
Nach dem Ändern von Konfigurationsdateien leeren Sie bitte den Cache!

     #> rm -rf app/cache/config/*.php

oder

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

Benötigen Sie weitere Informationen? Schauen Sie bitte in unserem Development Wiki.

Zurück | Nach oben | Weiter
Installation des Icinga-Web Frontend | Zum Anfang | Aktualisierung von Icinga-Web und Icinga-Web Datenbank

© 2009-2011 Icinga Development Team, http://www.icinga.org