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
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.
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
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>
app/modules/AppKit
Hier "lebt" das Framwork: Authentifikation, Menüs und weiteres.
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 Authentifizierung- 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 Status Informationen. 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 standard Einstellungen 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:
Zeilen die mit <!-- beginnen und enden mit --> werden als Kommentare interpretiert.
Variablen Namen sind case-sensitive
Ihre benutzdefinierten 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 Datein 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 and 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 |
---|---|
Nachdem ändern von Konfigurationsdateien, leeren Sie bitte den Cache! |
#> rm -rf app/cache/config/*.php
oder
#> /icinga-web/bin/clearcache.sh
Benötigen Sie weitere Informationen? Schauen Sie bitte in unserem Development Wiki.
© 2009-2011 Icinga Development Team, http://www.icinga.org