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 Framework: 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 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:
Zeilen die mit <!-- beginnen und enden mit --> werden als Kommentare interpretiert.
Variablennamen sind case-sensitive
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.
© 2009-2011 Icinga Development Team, http://www.icinga.org