Icinga Web 2 - Installation und Konfiguration unter CentOS 7.x
Nach Installation von Icinga 2 werden wir uns in diesem Artikel mit der Installation und Konfiguration von Icinga Web 2 unter CentOS 7 befassen.
Voraussetzungen
Für die Installation und Konfiguration von Icinga Web 2 benötigen wir noch weitere Dienste:
- SQL-Datenbank
- Webserver
Bei der SQL-Datenbank greifen wir auf MariaDB zurück, die als Standard SQL-Datenbank bei CentOS 7 angeboten wird. Beim Webserver nutzen wir Apache 2.4 als Webserver. Diese Voraussetzungen werden wir nun noch schaffen.
MariaDB
Wir nutzen für Icinga Web 2 nicht unsere zentrale, bereits bestehende MariaDB, sondern installieren uns eine eigene MariaDB auf unserem Monitoring Host, wie hier ausführlich beschrieben. So kann der Monitoring-Server immer noch seinen Dienst verrichten, wenn z.B. der zentrale Datenbank-Server ausfallen sollte.
Apache 2.4
Als Webserver setzen wir Apache 2.4 ein. Die Installation und Grundkonfiguration ist ausführlich hier beschrieben. Da wir später eine Benutzer-Authentifizierung vornehmen, ist es zwingend geboten, den Transportweg mit Hilfe von TLS abzusichern!
PHP-(Pakete)
Neben dem Apache-Webserver benötigen wir dann noch einige PHP-Pakete, die wir nun noch installieren werden.
# yum install php php-cli php-xmlrpc php-xsl php-pdo php-ldap php-soap php-gd php-mysql -y
PHP Timezone
Zur korrekten Anzeige von Datum und Uhrzeit setzen wir den Parameter date.timezone in der PHP-Konfigurationsdatei /etc/php.ini.
# vim /etc/php.ini
... [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone = ; Django : 2015-03-08 ; default: unset date.timezone ="Europe/Berlin" ...
Zur Aktivierung der Änderungen starten wir unseren Apache-Webserver einmal durch.
# systemctl restart httpd.service
icinga2-ido-mysql
Installation
Nachdem wir die Installationsvorbereitungen geschaffen haben, können wir das von Icinga web 2 benötigte Paket icinga2-ido-mysql. Wie immer verwenden wir dazu YUM.
# yum install icinga2-ido-mysql -y
Was uns dieses Paket alles an Dateien und Verzeichnissen mit brachte, sehen wir uns nun einmal noch an.
# rpm -qil icinga2-ido-mysql
Name : icinga2-ido-mysql
Version : 2.6.2
Release : 1.el7.centos
Architecture: x86_64
Install Date: Mon 20 Feb 2017 09:30:11 PM CET
Group : Applications/System
Size : 588917
License : GPL-2.0+
Signature : DSA/SHA1, Mon 13 Feb 2017 01:42:28 PM CET, Key ID c6e319c334410682
Source RPM : icinga2-2.6.2-1.el7.centos.src.rpm
Build Date : Mon 13 Feb 2017 01:42:07 PM CET
Build Host : 90c74ef910b1
Relocations : (not relocatable)
URL : https://www.icinga.com/
Summary : IDO MySQL database backend for Icinga 2
Description :
Icinga 2 IDO mysql database backend. Compatible with Icinga 1.x
IDOUtils schema >= 1.12
/etc/icinga2/features-available/ido-mysql.conf
/usr/lib64/icinga2/libdb_ido_mysql.so
/usr/lib64/icinga2/libdb_ido_mysql.so.2.6.2
/usr/share/doc/icinga2-ido-mysql-2.6.2
/usr/share/doc/icinga2-ido-mysql-2.6.2/AUTHORS
/usr/share/doc/icinga2-ido-mysql-2.6.2/COPYING
/usr/share/doc/icinga2-ido-mysql-2.6.2/COPYING.Exceptions
/usr/share/doc/icinga2-ido-mysql-2.6.2/ChangeLog
/usr/share/doc/icinga2-ido-mysql-2.6.2/NEWS
/usr/share/doc/icinga2-ido-mysql-2.6.2/README.md
/usr/share/icinga2-ido-mysql
/usr/share/icinga2-ido-mysql/schema
/usr/share/icinga2-ido-mysql/schema/mysql.sql
/usr/share/icinga2-ido-mysql/schema/upgrade
/usr/share/icinga2-ido-mysql/schema/upgrade/2.0.2.sql
/usr/share/icinga2-ido-mysql/schema/upgrade/2.1.0.sql
/usr/share/icinga2-ido-mysql/schema/upgrade/2.2.0.sql
/usr/share/icinga2-ido-mysql/schema/upgrade/2.3.0.sql
/usr/share/icinga2-ido-mysql/schema/upgrade/2.4.0.sql
/usr/share/icinga2-ido-mysql/schema/upgrade/2.5.0.sql
/usr/share/icinga2-ido-mysql/schema/upgrade/2.6.0.sql
Dokumentation
Erste Hinweise zur Installation finden wir im Markdown-Dokument README.md aus dem Verzeichnis /usr/share/doc/icinga2-ido-mysql-*/ .
# less /usr/share/doc/icinga2-ido-mysql-*/README.md
- /usr/share/doc/icinga2-ido-mysql-2.3.2/README.md
[![Build Status](https://travis-ci.org/Icinga/icinga2.svg?branch=master)](https://travis-ci.org/Icinga/icinga2) # Icinga 2 ![Icinga Logo](https://www.icinga.com/wp-content/uploads/2014/06/icinga_logo.png) #### Table of Contents 1. [About][About] 2. [License][License] 3. [Installation][Installation] 4. [Documentation][Documentation] 5. [Support][Support] 6. [Development and Contributions][Development] ## About Icinga 2 is an open source monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting. Scalable and extensible, Icinga 2 can monitor large, complex environments across multiple locations. Icinga 2 as monitoring core works best with [Icinga Web 2](https://www.icinga.com/products/icinga-web-2/) as web interface. More information can be found at [www.icinga.com](https://www.icinga.com/products/icinga-2/) and inside the [documentation](doc/1-about.md). ## License Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU General Public License Version 2, you will find a copy of this license in the COPYING file included in the source package. ## Installation Read the [INSTALL.md](INSTALL.md) file for more information about how to install it. ## Documentation The documentation is located in the [doc/](doc/) directory. The latest documentation is also available on https://docs.icinga.com ## Support Check the project website at https://www.icinga.com for status updates. Join the [community channels](https://www.icinga.com/community/get-involved/) for questions or ask an Icinga partner for [professional support](https://www.icinga.com/services/support/). ## Development The Git repository is located on [GitHub](https://github.com/Icinga/icinga2). Icinga 2 is written in C++ and can be built on Linux/Unix and Windows. Read more about development builds in the [INSTALL.md](INSTALL.md) file. ### Contributing There are many ways to contribute to Icinga -- whether it be sending patches, testing, reporting bugs, or reviewing and updating the documentation. Every contribution is appreciated! Please read the [contributing section](https://www.icinga.com/community/get-involved/) first. Then you should have a look at the [roadmap](https://github.com/Icinga/icinga2/milestones) and remaining [open issues](https://github.com/Icinga/icinga2/issues). Pick issues you want to help resolve, fork the [repository on GitHub](https://github.com/Icinga/icinga2) and send a pull request with your changes. Thanks for your contribution! ### Testing Basic unit test coverage is provided by running `make test` during package builds. Read the [INSTALL.md](INSTALL.md) file for more information about development builds. Snapshot packages from the laster development branch are available inside the [package repository](http://packages.icinga.com). You can help test-drive the latest Icinga 2 snapshot packages inside the [Icinga 2 Vagrant boxes](https://github.com/icinga/icinga-vagrant). [About]: #about [License]: #license [Installation]: #installation [Documentation]: #documentation [Support]: #support [Development]: #development
Sehr detaillierte Informationen zur Konfiguration von Icinga Web 2 findet man direkt in der aktuellesten Dokumentation bei Icinga.
Updates
Vor allem nach einem Update der Icinga 2 Pakete, ist ein Blick in das Verzeichnis /usr/share/icinga2-ido-mysql/schema/upgrade geboten. Zum Update der MariaDB-Tabellen sind die dort hinterlegten SQL-Statements auf die Icinga-Datenbank anzuwenden. Dies macht man dann entweder direkt mit dem Befehl mysql auf der Konsole unseres Monitoring-Hosts oder unter zu Hilfenahme von phpMyAdmin.
SQL-Datenbank
In dem RPM werden bei der Installation die notwendigen Datenbanktabellen-Definitionen mitgeliefert. Damit wir diese anlegen können benötigen wir noch drei Dinge, nämlich
- eine Datenbank
- einen Datenbankuser unter dessen Rechte später die Kommunikation zwischen Icinga 2 und der MariaDB ablaufen wird, und
- ein Passwort mit dem sich der Datenbankuser an der MariaDB anmelden kann.
Hierzu sind folgende Schritte notwendig:
- Anmelden auf dem Datenbankserver
- Datenbank anlegen
- Neuem Benutzer anlegen und diesem Benutzerprivilegien zuweisen
- Rechte der Nutzer in der Datenbank neu laden
- Beenden der Verbindung zum Datenbankserver
- Anmelden auf dem Datenbankserver
Wir melden uns also als berechtigter Datenbankuser an der MariaDB an.
# mysql -h localhost -u root -p
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 42 Server version: 5.5.40-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB>
- Datenbank anlegen
Mit folgendem Befehl legen wir uns einen neuen Nutzer an:
MariaDB> CREATE DATABASE icinga2;
Query OK, 1 row affected (0.00 sec)
- Benutzer anlegen und Rechte zuweisen
Mit folgendem Befehl legen wir uns für Icinga Web 2 einen neuen Nutzer an und weisen ihm die nötigen Datenbankrechte zu:
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2_user'@'127.0.0.1' IDENTIFIED BY 'Dj4n901$731nw1ld3rV0931';
Query OK, 0 rows affected (0.00 sec)
sowie
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga2_user'@'::1' IDENTIFIED BY 'Dj4n901$731nw1ld3rV0931';
Query OK, 0 rows affected (0.00 sec)
und auch noch
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY 'Dj4n901$731nw1ld3rV0931';
Query OK, 0 rows affected (0.00 sec)
- Rechte der Nutzer in der Datenbank neu laden
Im letzten Schritt laden wir nun die Rechte unseres neuen Datenbankusers.
MariaDB> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
- Datenbankverbindung beenden
Unsere Konfiguration unseres neuen Datenbanknutzers ist hiermit beendet und wir können die Verbindung zur Datenbank wieder schließen.
MariaDB> exit
Bye
Da die Vorbereitungen nun abgeschlossen sind, können wir nun daran machen in unserer Datenbank icinga2 die Tabellen anzulegen. Hierzu greifen wir auf die Datei /usr/share/icinga2-ido-mysql/schema/mysql.sql zurück.
# mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Bevor wir nun die Datenbankverbindung aktivieren können, müssen wir noch die Datenbankverbindung für Icinga 2 definieren. Hierzu tragen wir in der Datei /etc/icinga2/features-available/ido-mysql.conf die zuvor definierten Parameter ein.
# vim /etc/icinga2/features-available/ido-mysql.conf
- /etc/icinga2/features-available/ido-mysql.conf
/** * The db_ido_mysql library implements IDO functionality * for MySQL. */ library "db_ido_mysql" object IdoMysqlConnection "ido-mysql" { // Django : 2015-03-12 user = "icinga2_user" password = "Dj4n901$731nw1ld3rV0931" host = "localhost" database = "icinga2" }
Nun können wir unsere Konfigurationen abschließen und die Datenbank-Anbindung von Icinga 2 aktivieren sowie die beiden Optionen External command pipe und livestatus aktivieren.
# icinga2 feature enable ido-mysql command livestatus
Enabling feature command. Make sure to restart Icinga 2 for these changes to take effect.
warning/cli: Feature 'ido-mysql' already enabled. Enabling feature command Make sure to restart Icinga 2 for these changes to take effect. Enabling feature livestatus Make sure to restart Icinga 2 for these changes to take effect.
Was jetzt noch fehlt ist ein Restart des Icinga 2-Daemon.
# systemctl restart icinga2.service
icingaweb2
Installation
Nachdem wir die Vorbereitungen abgeschlossen haben, ist es an der Zeit Icinga Web 2 zu installieren. Wie immer benutzen wir zur Installation von RPMs den Befaehl yum.
# yum install icingaweb2 -y
Neben dem Grundpaket werden icingaweb2, werden auch noch die zugehörigen Abhängigkeiten installiert. Möchten wir wissen, was in den einzelnen Paketen steckt, fragen wir dies mit dem Befehl rpm un der Option -qil ab. Bsp.:
# rpm -qil icingaweb2
Name : icingaweb2 Version : 2.4.1 Release : 1.el7.centos Architecture: noarch Install Date: Mon 20 Feb 2017 10:00:08 PM CET Group : Applications/System Size : 5972640 License : GPLv2+ and MIT and BSD Signature : DSA/SHA1, Fri 20 Jan 2017 02:12:11 PM CET, Key ID c6e319c334410682 Source RPM : icingaweb2-2.4.1-1.el7.centos.src.rpm Build Date : Fri 20 Jan 2017 02:12:08 PM CET Build Host : 2a1f1a0ffca5 Relocations : (not relocatable) Packager : Icinga Team <info@icinga.com> URL : https://icinga.com Summary : Icinga Web 2 Description : Icinga Web 2 /etc/httpd/conf.d/icingaweb2.conf /etc/icingaweb2/modules/setup /etc/icingaweb2/modules/setup/config.ini /etc/icingaweb2/modules/translation /etc/icingaweb2/modules/translation/config.ini /usr/share/doc/icingaweb2 /usr/share/doc/icingaweb2/schema /usr/share/doc/icingaweb2/schema/mysql-upgrades /usr/share/doc/icingaweb2/schema/mysql-upgrades/2.0.0beta3-2.0.0rc1.sql /usr/share/doc/icingaweb2/schema/mysql.schema.sql /usr/share/doc/icingaweb2/schema/pgsql-upgrades /usr/share/doc/icingaweb2/schema/pgsql-upgrades/2.0.0beta3-2.0.0rc1.sql /usr/share/doc/icingaweb2/schema/pgsql.schema.sql /usr/share/icingaweb2/application/VERSION /usr/share/icingaweb2/application/controllers /usr/share/icingaweb2/application/controllers/AboutController.php /usr/share/icingaweb2/application/controllers/AccountController.php /usr/share/icingaweb2/application/controllers/AnnouncementsController.php /usr/share/icingaweb2/application/controllers/ApplicationStateController.php /usr/share/icingaweb2/application/controllers/AuthenticationController.php /usr/share/icingaweb2/application/controllers/ConfigController.php /usr/share/icingaweb2/application/controllers/DashboardController.php /usr/share/icingaweb2/application/controllers/ErrorController.php /usr/share/icingaweb2/application/controllers/GroupController.php /usr/share/icingaweb2/application/controllers/IframeController.php /usr/share/icingaweb2/application/controllers/IndexController.php /usr/share/icingaweb2/application/controllers/LayoutController.php /usr/share/icingaweb2/application/controllers/ListController.php /usr/share/icingaweb2/application/controllers/NavigationController.php /usr/share/icingaweb2/application/controllers/RoleController.php /usr/share/icingaweb2/application/controllers/SearchController.php /usr/share/icingaweb2/application/controllers/StaticController.php /usr/share/icingaweb2/application/controllers/UserController.php /usr/share/icingaweb2/application/controllers/UsergroupbackendController.php /usr/share/icingaweb2/application/fonts /usr/share/icingaweb2/application/fonts/fontello-ifont /usr/share/icingaweb2/application/fonts/fontello-ifont/LICENSE.txt /usr/share/icingaweb2/application/fonts/fontello-ifont/README.txt /usr/share/icingaweb2/application/fonts/fontello-ifont/config.json /usr/share/icingaweb2/application/fonts/fontello-ifont/css /usr/share/icingaweb2/application/fonts/fontello-ifont/css/animation.css /usr/share/icingaweb2/application/fonts/fontello-ifont/css/ifont-codes.css /usr/share/icingaweb2/application/fonts/fontello-ifont/css/ifont-embedded.css /usr/share/icingaweb2/application/fonts/fontello-ifont/css/ifont-ie7-codes.css /usr/share/icingaweb2/application/fonts/fontello-ifont/css/ifont-ie7.css /usr/share/icingaweb2/application/fonts/fontello-ifont/css/ifont.css /usr/share/icingaweb2/application/fonts/fontello-ifont/demo.html /usr/share/icingaweb2/application/fonts/icingaweb.md /usr/share/icingaweb2/application/forms /usr/share/icingaweb2/application/forms/Account /usr/share/icingaweb2/application/forms/Account/ChangePasswordForm.php /usr/share/icingaweb2/application/forms/Announcement /usr/share/icingaweb2/application/forms/Announcement/AcknowledgeAnnouncementForm.php /usr/share/icingaweb2/application/forms/Announcement/AnnouncementForm.php /usr/share/icingaweb2/application/forms/Authentication /usr/share/icingaweb2/application/forms/Authentication/LoginForm.php /usr/share/icingaweb2/application/forms/AutoRefreshForm.php /usr/share/icingaweb2/application/forms/Config /usr/share/icingaweb2/application/forms/Config/General /usr/share/icingaweb2/application/forms/Config/General/ApplicationConfigForm.php /usr/share/icingaweb2/application/forms/Config/General/LoggingConfigForm.php /usr/share/icingaweb2/application/forms/Config/General/ThemingConfigForm.php /usr/share/icingaweb2/application/forms/Config/GeneralConfigForm.php /usr/share/icingaweb2/application/forms/Config/Resource /usr/share/icingaweb2/application/forms/Config/Resource/DbResourceForm.php /usr/share/icingaweb2/application/forms/Config/Resource/FileResourceForm.php /usr/share/icingaweb2/application/forms/Config/Resource/LdapResourceForm.php /usr/share/icingaweb2/application/forms/Config/Resource/LivestatusResourceForm.php /usr/share/icingaweb2/application/forms/Config/Resource/SshResourceForm.php /usr/share/icingaweb2/application/forms/Config/ResourceConfigForm.php /usr/share/icingaweb2/application/forms/Config/User /usr/share/icingaweb2/application/forms/Config/User/CreateMembershipForm.php /usr/share/icingaweb2/application/forms/Config/User/UserForm.php /usr/share/icingaweb2/application/forms/Config/UserBackend /usr/share/icingaweb2/application/forms/Config/UserBackend/DbBackendForm.php /usr/share/icingaweb2/application/forms/Config/UserBackend/ExternalBackendForm.php /usr/share/icingaweb2/application/forms/Config/UserBackend/LdapBackendForm.php /usr/share/icingaweb2/application/forms/Config/UserBackendConfigForm.php /usr/share/icingaweb2/application/forms/Config/UserBackendReorderForm.php /usr/share/icingaweb2/application/forms/Config/UserGroup /usr/share/icingaweb2/application/forms/Config/UserGroup/AddMemberForm.php /usr/share/icingaweb2/application/forms/Config/UserGroup/DbUserGroupBackendForm.php /usr/share/icingaweb2/application/forms/Config/UserGroup/LdapUserGroupBackendForm.php /usr/share/icingaweb2/application/forms/Config/UserGroup/UserGroupBackendForm.php /usr/share/icingaweb2/application/forms/Config/UserGroup/UserGroupForm.php /usr/share/icingaweb2/application/forms/ConfigForm.php /usr/share/icingaweb2/application/forms/ConfirmRemovalForm.php /usr/share/icingaweb2/application/forms/Control /usr/share/icingaweb2/application/forms/Control/LimiterControlForm.php /usr/share/icingaweb2/application/forms/Dashboard /usr/share/icingaweb2/application/forms/Dashboard/DashletForm.php /usr/share/icingaweb2/application/forms/LdapDiscoveryForm.php /usr/share/icingaweb2/application/forms/Navigation /usr/share/icingaweb2/application/forms/Navigation/DashletForm.php /usr/share/icingaweb2/application/forms/Navigation/MenuItemForm.php /usr/share/icingaweb2/application/forms/Navigation/NavigationConfigForm.php /usr/share/icingaweb2/application/forms/Navigation/NavigationItemForm.php /usr/share/icingaweb2/application/forms/PreferenceForm.php /usr/share/icingaweb2/application/forms/RepositoryForm.php /usr/share/icingaweb2/application/forms/Security /usr/share/icingaweb2/application/forms/Security/RoleForm.php /usr/share/icingaweb2/application/layouts /usr/share/icingaweb2/application/layouts/scripts /usr/share/icingaweb2/application/layouts/scripts/body.phtml /usr/share/icingaweb2/application/layouts/scripts/guest-error.phtml /usr/share/icingaweb2/application/layouts/scripts/inline.phtml /usr/share/icingaweb2/application/layouts/scripts/layout.phtml /usr/share/icingaweb2/application/layouts/scripts/parts /usr/share/icingaweb2/application/layouts/scripts/parts/navigation.phtml /usr/share/icingaweb2/application/layouts/scripts/pdf.phtml /usr/share/icingaweb2/application/layouts/scripts/wrapped.phtml /usr/share/icingaweb2/application/views /usr/share/icingaweb2/application/views/helpers /usr/share/icingaweb2/application/views/helpers/CreateTicketLinks.php /usr/share/icingaweb2/application/views/helpers/FormDateTime.php /usr/share/icingaweb2/application/views/helpers/FormNumber.php /usr/share/icingaweb2/application/views/helpers/FormTriStateCheckbox.php /usr/share/icingaweb2/application/views/helpers/ProtectId.php /usr/share/icingaweb2/application/views/helpers/Util.php /usr/share/icingaweb2/application/views/scripts /usr/share/icingaweb2/application/views/scripts/about /usr/share/icingaweb2/application/views/scripts/about/index.phtml /usr/share/icingaweb2/application/views/scripts/account /usr/share/icingaweb2/application/views/scripts/account/index.phtml /usr/share/icingaweb2/application/views/scripts/announcements /usr/share/icingaweb2/application/views/scripts/announcements/index.phtml /usr/share/icingaweb2/application/views/scripts/application-state /usr/share/icingaweb2/application/views/scripts/application-state/index.phtml /usr/share/icingaweb2/application/views/scripts/authentication /usr/share/icingaweb2/application/views/scripts/authentication/login.phtml /usr/share/icingaweb2/application/views/scripts/authentication/logout.phtml /usr/share/icingaweb2/application/views/scripts/config /usr/share/icingaweb2/application/views/scripts/config/devtools.phtml /usr/share/icingaweb2/application/views/scripts/config/general.phtml /usr/share/icingaweb2/application/views/scripts/config/module-configuration-error.phtml /usr/share/icingaweb2/application/views/scripts/config/module.phtml /usr/share/icingaweb2/application/views/scripts/config/modules.phtml /usr/share/icingaweb2/application/views/scripts/config/resource /usr/share/icingaweb2/application/views/scripts/config/resource.phtml /usr/share/icingaweb2/application/views/scripts/config/resource/create.phtml /usr/share/icingaweb2/application/views/scripts/config/resource/modify.phtml /usr/share/icingaweb2/application/views/scripts/config/resource/remove.phtml /usr/share/icingaweb2/application/views/scripts/config/userbackend /usr/share/icingaweb2/application/views/scripts/config/userbackend/reorder.phtml /usr/share/icingaweb2/application/views/scripts/dashboard /usr/share/icingaweb2/application/views/scripts/dashboard/error.phtml /usr/share/icingaweb2/application/views/scripts/dashboard/index.phtml /usr/share/icingaweb2/application/views/scripts/dashboard/new-dashlet.phtml /usr/share/icingaweb2/application/views/scripts/dashboard/remove-dashlet.phtml /usr/share/icingaweb2/application/views/scripts/dashboard/remove-pane.phtml /usr/share/icingaweb2/application/views/scripts/dashboard/settings.phtml /usr/share/icingaweb2/application/views/scripts/dashboard/update-dashlet.phtml /usr/share/icingaweb2/application/views/scripts/error /usr/share/icingaweb2/application/views/scripts/error/error.phtml /usr/share/icingaweb2/application/views/scripts/filter /usr/share/icingaweb2/application/views/scripts/filter/index.phtml /usr/share/icingaweb2/application/views/scripts/form /usr/share/icingaweb2/application/views/scripts/form/reorder-authbackend.phtml /usr/share/icingaweb2/application/views/scripts/group /usr/share/icingaweb2/application/views/scripts/group/form.phtml /usr/share/icingaweb2/application/views/scripts/group/list.phtml /usr/share/icingaweb2/application/views/scripts/group/show.phtml /usr/share/icingaweb2/application/views/scripts/iframe /usr/share/icingaweb2/application/views/scripts/iframe/index.phtml /usr/share/icingaweb2/application/views/scripts/index /usr/share/icingaweb2/application/views/scripts/index/welcome.phtml /usr/share/icingaweb2/application/views/scripts/inline.phtml /usr/share/icingaweb2/application/views/scripts/joystickPagination.phtml /usr/share/icingaweb2/application/views/scripts/layout /usr/share/icingaweb2/application/views/scripts/layout/announcements.phtml /usr/share/icingaweb2/application/views/scripts/layout/menu.phtml /usr/share/icingaweb2/application/views/scripts/list /usr/share/icingaweb2/application/views/scripts/list/applicationlog.phtml /usr/share/icingaweb2/application/views/scripts/mixedPagination.phtml /usr/share/icingaweb2/application/views/scripts/navigation /usr/share/icingaweb2/application/views/scripts/navigation/index.phtml /usr/share/icingaweb2/application/views/scripts/navigation/shared.phtml /usr/share/icingaweb2/application/views/scripts/pivottablePagination.phtml /usr/share/icingaweb2/application/views/scripts/role /usr/share/icingaweb2/application/views/scripts/role/list.phtml /usr/share/icingaweb2/application/views/scripts/search /usr/share/icingaweb2/application/views/scripts/search/hint.phtml /usr/share/icingaweb2/application/views/scripts/search/index.phtml /usr/share/icingaweb2/application/views/scripts/showConfiguration.phtml /usr/share/icingaweb2/application/views/scripts/simple-form.phtml /usr/share/icingaweb2/application/views/scripts/user /usr/share/icingaweb2/application/views/scripts/user/form.phtml /usr/share/icingaweb2/application/views/scripts/user/list.phtml /usr/share/icingaweb2/application/views/scripts/user/show.phtml /usr/share/icingaweb2/doc /usr/share/icingaweb2/doc/01-About.md /usr/share/icingaweb2/doc/02-Installation.md /usr/share/icingaweb2/doc/03-Configuration.md /usr/share/icingaweb2/doc/04-Resources.md /usr/share/icingaweb2/doc/05-Authentication.md /usr/share/icingaweb2/doc/06-Security.md /usr/share/icingaweb2/doc/07-Preferences.md /usr/share/icingaweb2/doc/90-SELinux.md /usr/share/icingaweb2/doc/99-Vagrant.md /usr/share/icingaweb2/doc/accessibility /usr/share/icingaweb2/doc/accessibility/ifont-mute.html /usr/share/icingaweb2/doc/accessibility/ifont.html /usr/share/icingaweb2/doc/accessibility/link-labels.html /usr/share/icingaweb2/doc/accessibility/required-form-elements.html /usr/share/icingaweb2/doc/accessibility/skip-content.html /usr/share/icingaweb2/doc/accessibility/svg.html /usr/share/icingaweb2/doc/accessibility/text-cue-for-required-form-control-labels.html /usr/share/icingaweb2/doc/phpdoc.xml /usr/share/icingaweb2/doc/res /usr/share/icingaweb2/doc/res/GraphExample#1.png /usr/share/icingaweb2/doc/res/GraphExample#2.png /usr/share/icingaweb2/doc/res/GraphExample#3.png /usr/share/icingaweb2/doc/res/GraphExample#4.png /usr/share/icingaweb2/doc/res/GraphExample#5.png /usr/share/icingaweb2/doc/res/GraphExample#6.png /usr/share/icingaweb2/doc/res/GraphExample#7.1.png /usr/share/icingaweb2/doc/res/GraphExample#7.png /usr/share/icingaweb2/doc/res/GraphExample#8.png /usr/share/icingaweb2/doc/res/GraphExample#9.png /usr/share/icingaweb2/modules /usr/share/icingaweb2/modules/doc /usr/share/icingaweb2/modules/doc/application /usr/share/icingaweb2/modules/doc/application/controllers /usr/share/icingaweb2/modules/doc/application/controllers/IcingawebController.php /usr/share/icingaweb2/modules/doc/application/controllers/IndexController.php /usr/share/icingaweb2/modules/doc/application/controllers/ModuleController.php /usr/share/icingaweb2/modules/doc/application/controllers/SearchController.php /usr/share/icingaweb2/modules/doc/application/controllers/StyleController.php /usr/share/icingaweb2/modules/doc/application/views /usr/share/icingaweb2/modules/doc/application/views/scripts /usr/share/icingaweb2/modules/doc/application/views/scripts/chapter.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/index /usr/share/icingaweb2/modules/doc/application/views/scripts/index/index.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/module /usr/share/icingaweb2/modules/doc/application/views/scripts/module/index.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/pdf.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/search /usr/share/icingaweb2/modules/doc/application/views/scripts/search/index.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/style /usr/share/icingaweb2/modules/doc/application/views/scripts/style/font.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/style/guide.phtml /usr/share/icingaweb2/modules/doc/application/views/scripts/toc.phtml /usr/share/icingaweb2/modules/doc/configuration.php /usr/share/icingaweb2/modules/doc/doc /usr/share/icingaweb2/modules/doc/doc/1-module-documentation.md /usr/share/icingaweb2/modules/doc/doc/img /usr/share/icingaweb2/modules/doc/doc/img/markdown.png /usr/share/icingaweb2/modules/doc/library /usr/share/icingaweb2/modules/doc/library/Doc /usr/share/icingaweb2/modules/doc/library/Doc/DocController.php /usr/share/icingaweb2/modules/doc/library/Doc/DocParser.php /usr/share/icingaweb2/modules/doc/library/Doc/DocSection.php /usr/share/icingaweb2/modules/doc/library/Doc/DocSectionFilterIterator.php /usr/share/icingaweb2/modules/doc/library/Doc/Exception /usr/share/icingaweb2/modules/doc/library/Doc/Exception/ChapterNotFoundException.php /usr/share/icingaweb2/modules/doc/library/Doc/Exception/DocException.php /usr/share/icingaweb2/modules/doc/library/Doc/Renderer /usr/share/icingaweb2/modules/doc/library/Doc/Renderer/DocRenderer.php /usr/share/icingaweb2/modules/doc/library/Doc/Renderer/DocSearchRenderer.php /usr/share/icingaweb2/modules/doc/library/Doc/Renderer/DocSectionRenderer.php /usr/share/icingaweb2/modules/doc/library/Doc/Renderer/DocTocRenderer.php /usr/share/icingaweb2/modules/doc/library/Doc/Search /usr/share/icingaweb2/modules/doc/library/Doc/Search/DocSearch.php /usr/share/icingaweb2/modules/doc/library/Doc/Search/DocSearchIterator.php /usr/share/icingaweb2/modules/doc/library/Doc/Search/DocSearchMatch.php /usr/share/icingaweb2/modules/doc/module.info /usr/share/icingaweb2/modules/doc/public /usr/share/icingaweb2/modules/doc/public/css /usr/share/icingaweb2/modules/doc/public/css/module.less /usr/share/icingaweb2/modules/doc/public/js /usr/share/icingaweb2/modules/doc/public/js/module.js /usr/share/icingaweb2/modules/doc/run.php /usr/share/icingaweb2/modules/monitoring /usr/share/icingaweb2/modules/monitoring/application /usr/share/icingaweb2/modules/monitoring/application/clicommands /usr/share/icingaweb2/modules/monitoring/application/clicommands/ConferenceCommand.php /usr/share/icingaweb2/modules/monitoring/application/clicommands/ListCommand.php /usr/share/icingaweb2/modules/monitoring/application/clicommands/NrpeCommand.php /usr/share/icingaweb2/modules/monitoring/application/controllers /usr/share/icingaweb2/modules/monitoring/application/controllers/ActionsController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/AlertsummaryController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/CommentController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/CommentsController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/ConfigController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/DowntimeController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/DowntimesController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/HealthController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/HostController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/HostsController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/ListController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/ServiceController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/ServicesController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/ShowController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/TacticalController.php /usr/share/icingaweb2/modules/monitoring/application/controllers/TimelineController.php /usr/share/icingaweb2/modules/monitoring/application/forms /usr/share/icingaweb2/modules/monitoring/application/forms/Command /usr/share/icingaweb2/modules/monitoring/application/forms/Command/CommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Instance /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Instance/DisableNotificationsExpireCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Instance/ToggleInstanceFeaturesCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/AcknowledgeProblemCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/AddCommentCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/CheckNowCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/DeleteCommentCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/DeleteCommentsCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/DeleteDowntimeCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/DeleteDowntimesCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ObjectsCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ProcessCheckResultCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/RemoveAcknowledgementCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ScheduleHostCheckCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ScheduleHostDowntimeCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ScheduleServiceCheckCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ScheduleServiceDowntimeCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/SendCustomNotificationCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Command/Object/ToggleObjectFeaturesCommandForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Config /usr/share/icingaweb2/modules/monitoring/application/forms/Config/BackendConfigForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Config/SecurityConfigForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Config/Transport /usr/share/icingaweb2/modules/monitoring/application/forms/Config/Transport/ApiTransportForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Config/Transport/LocalTransportForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Config/Transport/RemoteTransportForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Config/TransportConfigForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/EventOverviewForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Navigation /usr/share/icingaweb2/modules/monitoring/application/forms/Navigation/ActionForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Navigation/HostActionForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Navigation/ServiceActionForm.php /usr/share/icingaweb2/modules/monitoring/application/forms/Setup /usr/share/icingaweb2/modules/monitoring/application/forms/Setup/BackendPage.php /usr/share/icingaweb2/modules/monitoring/application/forms/Setup/IdoResourcePage.php /usr/share/icingaweb2/modules/monitoring/application/forms/Setup/LivestatusResourcePage.php /usr/share/icingaweb2/modules/monitoring/application/forms/Setup/SecurityPage.php /usr/share/icingaweb2/modules/monitoring/application/forms/Setup/TransportPage.php /usr/share/icingaweb2/modules/monitoring/application/forms/Setup/WelcomePage.php /usr/share/icingaweb2/modules/monitoring/application/forms/StatehistoryForm.php /usr/share/icingaweb2/modules/monitoring/application/locale /usr/share/icingaweb2/modules/monitoring/application/locale/ar_SA /usr/share/icingaweb2/modules/monitoring/application/locale/ar_SA/LC_MESSAGES /usr/share/icingaweb2/modules/monitoring/application/locale/ar_SA/LC_MESSAGES/monitoring.mo /usr/share/icingaweb2/modules/monitoring/application/locale/ar_SA/LC_MESSAGES/monitoring.po /usr/share/icingaweb2/modules/monitoring/application/locale/de_DE /usr/share/icingaweb2/modules/monitoring/application/locale/de_DE/LC_MESSAGES /usr/share/icingaweb2/modules/monitoring/application/locale/de_DE/LC_MESSAGES/monitoring.mo /usr/share/icingaweb2/modules/monitoring/application/locale/de_DE/LC_MESSAGES/monitoring.po /usr/share/icingaweb2/modules/monitoring/application/locale/it_IT /usr/share/icingaweb2/modules/monitoring/application/locale/it_IT/LC_MESSAGES /usr/share/icingaweb2/modules/monitoring/application/locale/it_IT/LC_MESSAGES/monitoring.mo /usr/share/icingaweb2/modules/monitoring/application/locale/it_IT/LC_MESSAGES/monitoring.po /usr/share/icingaweb2/modules/monitoring/application/locale/pt_BR /usr/share/icingaweb2/modules/monitoring/application/locale/pt_BR/LC_MESSAGES /usr/share/icingaweb2/modules/monitoring/application/locale/pt_BR/LC_MESSAGES/monitoring.mo /usr/share/icingaweb2/modules/monitoring/application/locale/pt_BR/LC_MESSAGES/monitoring.po /usr/share/icingaweb2/modules/monitoring/application/locale/ru_RU /usr/share/icingaweb2/modules/monitoring/application/locale/ru_RU/LC_MESSAGES /usr/share/icingaweb2/modules/monitoring/application/locale/ru_RU/LC_MESSAGES/monitoring.po /usr/share/icingaweb2/modules/monitoring/application/views /usr/share/icingaweb2/modules/monitoring/application/views/helpers /usr/share/icingaweb2/modules/monitoring/application/views/helpers/CheckPerformance.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/ContactFlags.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/Customvar.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/EscapeComment.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/HostFlags.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/IconImage.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/Link.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/MonitoringFlags.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/Perfdata.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/PluginOutput.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/RuntimeVariables.php /usr/share/icingaweb2/modules/monitoring/application/views/helpers/ServiceFlags.php /usr/share/icingaweb2/modules/monitoring/application/views/scripts /usr/share/icingaweb2/modules/monitoring/application/views/scripts/alertsummary /usr/share/icingaweb2/modules/monitoring/application/views/scripts/alertsummary/defectimage.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/alertsummary/index.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/comment /usr/share/icingaweb2/modules/monitoring/application/views/scripts/comment/remove.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/comment/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/comments /usr/share/icingaweb2/modules/monitoring/application/views/scripts/comments/delete-all.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/comments/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/config /usr/share/icingaweb2/modules/monitoring/application/views/scripts/config/form.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/config/index.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/config/security.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/downtime /usr/share/icingaweb2/modules/monitoring/application/views/scripts/downtime/remove.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/downtime/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/downtimes /usr/share/icingaweb2/modules/monitoring/application/views/scripts/downtimes/delete-all.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/downtimes/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/health /usr/share/icingaweb2/modules/monitoring/application/views/scripts/health/disable-notifications.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/health/info.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/health/not-running.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/health/stats.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/host /usr/share/icingaweb2/modules/monitoring/application/views/scripts/host/services.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/host/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/hosts /usr/share/icingaweb2/modules/monitoring/application/views/scripts/hosts/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/comments.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/components /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/components/hostssummary.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/components/selectioninfo.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/components/servicesummary.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/contactgroups.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/contacts.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/downtimes.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/eventgrid.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/eventhistory.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/hostgroups.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/hosts.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/notifications.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/servicegrid.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/servicegroups.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/list/services.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/object /usr/share/icingaweb2/modules/monitoring/application/views/scripts/object/detail-history.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/command /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/command/object-command-form.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/command/objects-command-form.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/comment /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/comment/comment-description.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/comment/comment-detail.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/comment/comment-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/comment/comments-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/downtime /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/downtime/downtime-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/downtime/downtimes-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/event-history.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/host /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/host/objects-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/object /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/object/detail-content.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/object/host-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/object/quick-actions.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/object/service-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/service /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/service/objects-header.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/partials/show-more.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/service /usr/share/icingaweb2/modules/monitoring/application/views/scripts/service/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/services /usr/share/icingaweb2/modules/monitoring/application/views/scripts/services/show.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/acknowledgement.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/actions.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/checksource.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/checkstatistics.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/command.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/comments.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/contacts.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/customvars.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/downtime.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/flags.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/flapping.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/grapher.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/hostgroups.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/notes.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/notifications.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/output.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/perfdata.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/servicegroups.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/components/status.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/show/contact.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components/ok_hosts.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components/parts /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/components/problem_hosts.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/tactical/index.phtml /usr/share/icingaweb2/modules/monitoring/application/views/scripts/timeline /usr/share/icingaweb2/modules/monitoring/application/views/scripts/timeline/index.phtml /usr/share/icingaweb2/modules/monitoring/configuration.php /usr/share/icingaweb2/modules/monitoring/doc /usr/share/icingaweb2/modules/monitoring/doc/commandtransports.md /usr/share/icingaweb2/modules/monitoring/doc/configuration.md /usr/share/icingaweb2/modules/monitoring/doc/restrict-custom-variables.md /usr/share/icingaweb2/modules/monitoring/doc/security.md /usr/share/icingaweb2/modules/monitoring/library /usr/share/icingaweb2/modules/monitoring/library/Monitoring /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/IdoBackend.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/AllcontactsQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/CommandQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/CommentQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/CommentdeletionhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/CommenthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/CustomvarQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/DowntimeQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/DowntimeendhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/DowntimestarthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/EventgridQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/EventhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/FlappingendhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/FlappingstarthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/GroupsummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostcommentQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostcommentdeletionhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostcommenthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostdowntimeQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostdowntimeendhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostdowntimestarthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostflappingendhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostflappingstarthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostgroupQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostgroupsummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostnotificationQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostserviceproblemsummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatehistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatussummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/InstanceQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/NotificationQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/NotificationhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ProgramstatusQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/RuntimesummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/RuntimevariablesQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicecommentQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicecommentdeletionhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicecommenthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicedowntimeQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicedowntimeendhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicedowntimestarthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServiceflappingendhistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServiceflappingstarthistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicegroupQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicegroupsummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicenotificationQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatehistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatussummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/StatehistoryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Ido/Query/StatussummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/LivestatusBackend.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/Query /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/Query/DowntimeQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/Query/HostgroupQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/Query/ServicegroupQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/Query/StatusQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/Livestatus/Query/StatusSummaryQuery.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Backend/MonitoringBackend.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/BackendStep.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Cli /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Cli/CliUtils.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/IcingaApiCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/IcingaCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Instance /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Instance/DisableNotificationsExpireCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Instance/ToggleInstanceFeatureCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/AcknowledgeProblemCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/AddCommentCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/DeleteCommentCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/DeleteDowntimeCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ObjectCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ProcessCheckResultCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/PropagateHostDowntimeCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/RemoveAcknowledgementCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ScheduleHostCheckCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ScheduleHostDowntimeCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ScheduleServiceCheckCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ScheduleServiceDowntimeCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/SendCustomNotificationCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/ToggleObjectFeatureCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Object/WithCommentCommand.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Renderer /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Renderer/IcingaApiCommandRenderer.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Renderer/IcingaCommandFileCommandRenderer.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Renderer/IcingaCommandRendererInterface.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport/ApiCommandTransport.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport/CommandTransport.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport/CommandTransportInterface.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport/LocalCommandFile.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport/RemoteCommandFile.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Controller.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Data /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Data/ColumnFilterIterator.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Command.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Comment.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Contact.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Contactgroup.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Customvar.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/DataView.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Downtime.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Eventgrid.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Eventhistory.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Hostcomment.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Hostdowntime.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Hostgroup.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Hostgroupsummary.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Hoststatus.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Hoststatussummary.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Instance.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Notification.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Programstatus.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Runtimesummary.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Runtimevariables.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Servicecomment.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Servicedowntime.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Servicegroup.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Servicegroupsummary.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Servicestatus.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Servicestatussummary.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/DataView/Statussummary.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Environment.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Exception /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Exception/CommandTransportException.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Exception/UnsupportedBackendException.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook/DataviewExtensionHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook/HostActionsHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook/IdoQueryExtensionHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook/ObjectActionsHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook/ServiceActionsHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Hook/TimelineProviderHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/MonitoringWizard.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/Acknowledgement.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/Host.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/HostList.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/Macro.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/MonitoredObject.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/ObjectList.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/Service.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Object/ServiceList.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Plugin /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Plugin.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Plugin/Perfdata.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Plugin/PerfdataSet.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/SecurityStep.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Timeline /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Timeline/TimeEntry.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Timeline/TimeLine.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Timeline/TimeRange.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/TransportStep.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Controller /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Hook /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Hook/HostActionsHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Hook/ServiceActionsHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Hook/TimelineProviderHook.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/Action.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/HostAction.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/HostNote.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/Renderer /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/Renderer/BackendAvailabilityNavigationItemRenderer.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/Renderer/MonitoringBadgeNavigationItemRenderer.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/ServiceAction.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Navigation/ServiceNote.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Rest /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Rest/RestRequest.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Widget /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Widget/SelectBox.php /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Web/Widget/StateBadges.php /usr/share/icingaweb2/modules/monitoring/module.info /usr/share/icingaweb2/modules/monitoring/public /usr/share/icingaweb2/modules/monitoring/public/css /usr/share/icingaweb2/modules/monitoring/public/css/module.less /usr/share/icingaweb2/modules/monitoring/public/css/service-grid.less /usr/share/icingaweb2/modules/monitoring/public/css/tables.less /usr/share/icingaweb2/modules/monitoring/public/js /usr/share/icingaweb2/modules/monitoring/public/js/module.js /usr/share/icingaweb2/modules/monitoring/test /usr/share/icingaweb2/modules/monitoring/test/php /usr/share/icingaweb2/modules/monitoring/test/php/application /usr/share/icingaweb2/modules/monitoring/test/php/application/views /usr/share/icingaweb2/modules/monitoring/test/php/application/views/helpers /usr/share/icingaweb2/modules/monitoring/test/php/application/views/helpers/MonitoringFlagsTest.php /usr/share/icingaweb2/modules/monitoring/test/php/library /usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring /usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring/Object /usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring/Object/MacroTest.php /usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring/Plugin /usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring/Plugin/PerfdataSetTest.php /usr/share/icingaweb2/modules/monitoring/test/php/library/Monitoring/Plugin/PerfdataTest.php /usr/share/icingaweb2/modules/monitoring/test/php/regression /usr/share/icingaweb2/modules/monitoring/test/php/regression/Bug11728Test.php /usr/share/icingaweb2/modules/monitoring/test/php/regression/Bug11796Test.php /usr/share/icingaweb2/modules/monitoring/test/php/regression/Bug6088Test.php /usr/share/icingaweb2/modules/monitoring/test/php/regression/Bug7043Test.php /usr/share/icingaweb2/modules/setup /usr/share/icingaweb2/modules/setup/application /usr/share/icingaweb2/modules/setup/application/clicommands /usr/share/icingaweb2/modules/setup/application/clicommands/ConfigCommand.php /usr/share/icingaweb2/modules/setup/application/clicommands/TokenCommand.php /usr/share/icingaweb2/modules/setup/application/controllers /usr/share/icingaweb2/modules/setup/application/controllers/IndexController.php /usr/share/icingaweb2/modules/setup/application/forms /usr/share/icingaweb2/modules/setup/application/forms/AdminAccountPage.php /usr/share/icingaweb2/modules/setup/application/forms/AuthBackendPage.php /usr/share/icingaweb2/modules/setup/application/forms/AuthenticationPage.php /usr/share/icingaweb2/modules/setup/application/forms/DatabaseCreationPage.php /usr/share/icingaweb2/modules/setup/application/forms/DbResourcePage.php /usr/share/icingaweb2/modules/setup/application/forms/GeneralConfigPage.php /usr/share/icingaweb2/modules/setup/application/forms/LdapDiscoveryConfirmPage.php /usr/share/icingaweb2/modules/setup/application/forms/LdapDiscoveryPage.php /usr/share/icingaweb2/modules/setup/application/forms/LdapResourcePage.php /usr/share/icingaweb2/modules/setup/application/forms/ModulePage.php /usr/share/icingaweb2/modules/setup/application/forms/RequirementsPage.php /usr/share/icingaweb2/modules/setup/application/forms/SummaryPage.php /usr/share/icingaweb2/modules/setup/application/forms/UserGroupBackendPage.php /usr/share/icingaweb2/modules/setup/application/forms/WelcomePage.php /usr/share/icingaweb2/modules/setup/application/locale /usr/share/icingaweb2/modules/setup/application/locale/de_DE /usr/share/icingaweb2/modules/setup/application/locale/de_DE/LC_MESSAGES /usr/share/icingaweb2/modules/setup/application/locale/de_DE/LC_MESSAGES/setup.mo /usr/share/icingaweb2/modules/setup/application/locale/de_DE/LC_MESSAGES/setup.po /usr/share/icingaweb2/modules/setup/application/locale/it_IT /usr/share/icingaweb2/modules/setup/application/locale/it_IT/LC_MESSAGES /usr/share/icingaweb2/modules/setup/application/locale/it_IT/LC_MESSAGES/setup.mo /usr/share/icingaweb2/modules/setup/application/locale/it_IT/LC_MESSAGES/setup.po /usr/share/icingaweb2/modules/setup/application/views /usr/share/icingaweb2/modules/setup/application/views/scripts /usr/share/icingaweb2/modules/setup/application/views/scripts/form /usr/share/icingaweb2/modules/setup/application/views/scripts/form/setup-modules.phtml /usr/share/icingaweb2/modules/setup/application/views/scripts/form/setup-requirements.phtml /usr/share/icingaweb2/modules/setup/application/views/scripts/form/setup-summary.phtml /usr/share/icingaweb2/modules/setup/application/views/scripts/form/setup-welcome.phtml /usr/share/icingaweb2/modules/setup/application/views/scripts/index /usr/share/icingaweb2/modules/setup/application/views/scripts/index/index.phtml /usr/share/icingaweb2/modules/setup/application/views/scripts/index/parts /usr/share/icingaweb2/modules/setup/application/views/scripts/index/parts/finish.phtml /usr/share/icingaweb2/modules/setup/application/views/scripts/index/parts/wizard.phtml /usr/share/icingaweb2/modules/setup/library /usr/share/icingaweb2/modules/setup/library/Setup /usr/share/icingaweb2/modules/setup/library/Setup/Exception /usr/share/icingaweb2/modules/setup/library/Setup/Exception/SetupException.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement /usr/share/icingaweb2/modules/setup/library/Setup/Requirement.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement/ClassRequirement.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement/ConfigDirectoryRequirement.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement/OSRequirement.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement/PhpConfigRequirement.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement/PhpModuleRequirement.php /usr/share/icingaweb2/modules/setup/library/Setup/Requirement/PhpVersionRequirement.php /usr/share/icingaweb2/modules/setup/library/Setup/RequirementSet.php /usr/share/icingaweb2/modules/setup/library/Setup/RequirementsRenderer.php /usr/share/icingaweb2/modules/setup/library/Setup/Setup.php /usr/share/icingaweb2/modules/setup/library/Setup/SetupWizard.php /usr/share/icingaweb2/modules/setup/library/Setup/Step.php /usr/share/icingaweb2/modules/setup/library/Setup/Steps /usr/share/icingaweb2/modules/setup/library/Setup/Steps/AuthenticationStep.php /usr/share/icingaweb2/modules/setup/library/Setup/Steps/DatabaseStep.php /usr/share/icingaweb2/modules/setup/library/Setup/Steps/GeneralConfigStep.php /usr/share/icingaweb2/modules/setup/library/Setup/Steps/ResourceStep.php /usr/share/icingaweb2/modules/setup/library/Setup/Steps/UserGroupStep.php /usr/share/icingaweb2/modules/setup/library/Setup/Utils /usr/share/icingaweb2/modules/setup/library/Setup/Utils/DbTool.php /usr/share/icingaweb2/modules/setup/library/Setup/Utils/EnableModuleStep.php /usr/share/icingaweb2/modules/setup/library/Setup/Web /usr/share/icingaweb2/modules/setup/library/Setup/Web/Form /usr/share/icingaweb2/modules/setup/library/Setup/Web/Form/Validator /usr/share/icingaweb2/modules/setup/library/Setup/Web/Form/Validator/TokenValidator.php /usr/share/icingaweb2/modules/setup/library/Setup/WebWizard.php /usr/share/icingaweb2/modules/setup/library/Setup/Webserver /usr/share/icingaweb2/modules/setup/library/Setup/Webserver.php /usr/share/icingaweb2/modules/setup/library/Setup/Webserver/Apache.php /usr/share/icingaweb2/modules/setup/library/Setup/Webserver/Nginx.php /usr/share/icingaweb2/modules/setup/module.info /usr/share/icingaweb2/modules/setup/test /usr/share/icingaweb2/modules/setup/test/php /usr/share/icingaweb2/modules/setup/test/php/library /usr/share/icingaweb2/modules/setup/test/php/library/Setup /usr/share/icingaweb2/modules/setup/test/php/library/Setup/RequirementSetTest.php /usr/share/icingaweb2/modules/translation /usr/share/icingaweb2/modules/translation/application /usr/share/icingaweb2/modules/translation/application/clicommands /usr/share/icingaweb2/modules/translation/application/clicommands/CompileCommand.php /usr/share/icingaweb2/modules/translation/application/clicommands/RefreshCommand.php /usr/share/icingaweb2/modules/translation/doc /usr/share/icingaweb2/modules/translation/doc/img /usr/share/icingaweb2/modules/translation/doc/img/poedit_001.png /usr/share/icingaweb2/modules/translation/doc/img/poedit_002.png /usr/share/icingaweb2/modules/translation/doc/img/poedit_003.png /usr/share/icingaweb2/modules/translation/doc/img/poedit_004.png /usr/share/icingaweb2/modules/translation/doc/img/poedit_005.png /usr/share/icingaweb2/modules/translation/doc/translation.md /usr/share/icingaweb2/modules/translation/library /usr/share/icingaweb2/modules/translation/library/Translation /usr/share/icingaweb2/modules/translation/library/Translation/Cli /usr/share/icingaweb2/modules/translation/library/Translation/Cli/TranslationCommand.php /usr/share/icingaweb2/modules/translation/library/Translation/Util /usr/share/icingaweb2/modules/translation/library/Translation/Util/GettextTranslationHelper.php /usr/share/icingaweb2/modules/translation/module.info /usr/share/icingaweb2/public /usr/share/icingaweb2/public/css /usr/share/icingaweb2/public/css/icinga /usr/share/icingaweb2/public/css/icinga/about.less /usr/share/icingaweb2/public/css/icinga/animation.less /usr/share/icingaweb2/public/css/icinga/badges.less /usr/share/icingaweb2/public/css/icinga/base.less /usr/share/icingaweb2/public/css/icinga/compat.less /usr/share/icingaweb2/public/css/icinga/controls.less /usr/share/icingaweb2/public/css/icinga/dev.less /usr/share/icingaweb2/public/css/icinga/forms.less /usr/share/icingaweb2/public/css/icinga/grid.less /usr/share/icingaweb2/public/css/icinga/layout-structure.less /usr/share/icingaweb2/public/css/icinga/layout.less /usr/share/icingaweb2/public/css/icinga/login.less /usr/share/icingaweb2/public/css/icinga/main.less /usr/share/icingaweb2/public/css/icinga/menu.less /usr/share/icingaweb2/public/css/icinga/mixins.less /usr/share/icingaweb2/public/css/icinga/nav.less /usr/share/icingaweb2/public/css/icinga/print.less /usr/share/icingaweb2/public/css/icinga/responsive.less /usr/share/icingaweb2/public/css/icinga/setup.less /usr/share/icingaweb2/public/css/icinga/spinner.less /usr/share/icingaweb2/public/css/icinga/tabs.less /usr/share/icingaweb2/public/css/icinga/widgets.less /usr/share/icingaweb2/public/css/pdf /usr/share/icingaweb2/public/css/pdf/pdfprint.less /usr/share/icingaweb2/public/css/themes /usr/share/icingaweb2/public/css/themes/Winter.less /usr/share/icingaweb2/public/css/themes/high-contrast.less /usr/share/icingaweb2/public/css/vendor /usr/share/icingaweb2/public/css/vendor/normalize.css /usr/share/icingaweb2/public/css/vendor/tipsy.css /usr/share/icingaweb2/public/error_norewrite.html /usr/share/icingaweb2/public/font /usr/share/icingaweb2/public/font/ifont.eot /usr/share/icingaweb2/public/font/ifont.svg /usr/share/icingaweb2/public/font/ifont.ttf /usr/share/icingaweb2/public/font/ifont.woff /usr/share/icingaweb2/public/font/ifont.woff2 /usr/share/icingaweb2/public/img /usr/share/icingaweb2/public/img/favicon.png /usr/share/icingaweb2/public/img/icinga-logo-big-dark.png /usr/share/icingaweb2/public/img/icinga-logo-big.png /usr/share/icingaweb2/public/img/icinga-logo-big.svg /usr/share/icingaweb2/public/img/icinga-logo.png /usr/share/icingaweb2/public/img/icinga-logo.svg /usr/share/icingaweb2/public/img/icons /usr/share/icingaweb2/public/img/icons/acknowledgement.png /usr/share/icingaweb2/public/img/icons/acknowledgement_petrol.png /usr/share/icingaweb2/public/img/icons/active_checks_disabled.png /usr/share/icingaweb2/public/img/icons/active_checks_disabled_petrol.png /usr/share/icingaweb2/public/img/icons/active_passive_checks_disabled.png /usr/share/icingaweb2/public/img/icons/active_passive_checks_disabled_petrol.png /usr/share/icingaweb2/public/img/icons/comment.png /usr/share/icingaweb2/public/img/icons/comment_petrol.png /usr/share/icingaweb2/public/img/icons/configuration.png /usr/share/icingaweb2/public/img/icons/configuration_petrol.png /usr/share/icingaweb2/public/img/icons/create.png /usr/share/icingaweb2/public/img/icons/create_petrol.png /usr/share/icingaweb2/public/img/icons/csv.png /usr/share/icingaweb2/public/img/icons/csv_petrol.png /usr/share/icingaweb2/public/img/icons/dashboard.png /usr/share/icingaweb2/public/img/icons/dashboard_petrol.png /usr/share/icingaweb2/public/img/icons/disabled.png /usr/share/icingaweb2/public/img/icons/disabled_petrol.png /usr/share/icingaweb2/public/img/icons/down.png /usr/share/icingaweb2/public/img/icons/down_petrol.png /usr/share/icingaweb2/public/img/icons/downtime_end.png /usr/share/icingaweb2/public/img/icons/downtime_end_petrol.png /usr/share/icingaweb2/public/img/icons/downtime_start.png /usr/share/icingaweb2/public/img/icons/downtime_start__petrol.png /usr/share/icingaweb2/public/img/icons/edit.png /usr/share/icingaweb2/public/img/icons/edit_petrol.png /usr/share/icingaweb2/public/img/icons/error.png /usr/share/icingaweb2/public/img/icons/error_petrol.png /usr/share/icingaweb2/public/img/icons/error_white.png /usr/share/icingaweb2/public/img/icons/expand.png /usr/share/icingaweb2/public/img/icons/expand_petrol.png /usr/share/icingaweb2/public/img/icons/flapping.png /usr/share/icingaweb2/public/img/icons/flapping_petrol.png /usr/share/icingaweb2/public/img/icons/history.png /usr/share/icingaweb2/public/img/icons/history_petrol.png /usr/share/icingaweb2/public/img/icons/host.png /usr/share/icingaweb2/public/img/icons/host_petrol.png /usr/share/icingaweb2/public/img/icons/hostgroup.png /usr/share/icingaweb2/public/img/icons/hostgroup_petrol.png /usr/share/icingaweb2/public/img/icons/in_downtime.png /usr/share/icingaweb2/public/img/icons/in_downtime_petrol.png /usr/share/icingaweb2/public/img/icons/json.png /usr/share/icingaweb2/public/img/icons/json_petrol.png /usr/share/icingaweb2/public/img/icons/logout.png /usr/share/icingaweb2/public/img/icons/logout_petrol.png /usr/share/icingaweb2/public/img/icons/next.png /usr/share/icingaweb2/public/img/icons/next_petrol.png /usr/share/icingaweb2/public/img/icons/notification.png /usr/share/icingaweb2/public/img/icons/notification_disabled.png /usr/share/icingaweb2/public/img/icons/notification_disabled_petrol.png /usr/share/icingaweb2/public/img/icons/notification_petrol.png /usr/share/icingaweb2/public/img/icons/pdf.png /usr/share/icingaweb2/public/img/icons/pdf_petrol.png /usr/share/icingaweb2/public/img/icons/prev.png /usr/share/icingaweb2/public/img/icons/prev_petrol.png /usr/share/icingaweb2/public/img/icons/refresh.png /usr/share/icingaweb2/public/img/icons/refresh_petrol.png /usr/share/icingaweb2/public/img/icons/remove.png /usr/share/icingaweb2/public/img/icons/remove_petrol.png /usr/share/icingaweb2/public/img/icons/reschedule.png /usr/share/icingaweb2/public/img/icons/reschedule_petrol.png /usr/share/icingaweb2/public/img/icons/save.png /usr/share/icingaweb2/public/img/icons/save_petrol.png /usr/share/icingaweb2/public/img/icons/search.png /usr/share/icingaweb2/public/img/icons/search_icinga_blue.png /usr/share/icingaweb2/public/img/icons/search_petrol.png /usr/share/icingaweb2/public/img/icons/service.png /usr/share/icingaweb2/public/img/icons/service_petrol.png /usr/share/icingaweb2/public/img/icons/servicegroup.png /usr/share/icingaweb2/public/img/icons/servicegroup_petrol.png /usr/share/icingaweb2/public/img/icons/softstate.png /usr/share/icingaweb2/public/img/icons/submit.png /usr/share/icingaweb2/public/img/icons/submit_petrol.png /usr/share/icingaweb2/public/img/icons/success.png /usr/share/icingaweb2/public/img/icons/success_petrol.png /usr/share/icingaweb2/public/img/icons/tux.png /usr/share/icingaweb2/public/img/icons/uebersicht.png /usr/share/icingaweb2/public/img/icons/unhandled.png /usr/share/icingaweb2/public/img/icons/unhandled_petrol.png /usr/share/icingaweb2/public/img/icons/up.png /usr/share/icingaweb2/public/img/icons/up_petrol.png /usr/share/icingaweb2/public/img/icons/user.png /usr/share/icingaweb2/public/img/icons/user_petrol.png /usr/share/icingaweb2/public/img/icons/win.png /usr/share/icingaweb2/public/img/touch-icon.png /usr/share/icingaweb2/public/img/tree /usr/share/icingaweb2/public/img/tree/tree-minus.gif /usr/share/icingaweb2/public/img/tree/tree-plus.gif /usr/share/icingaweb2/public/img/winter /usr/share/icingaweb2/public/img/winter/logo_icinga_big_winter.png /usr/share/icingaweb2/public/img/winter/snow1.png /usr/share/icingaweb2/public/img/winter/snow2.png /usr/share/icingaweb2/public/img/winter/snow3.png /usr/share/icingaweb2/public/index.php /usr/share/icingaweb2/public/js /usr/share/icingaweb2/public/js/helpers.js /usr/share/icingaweb2/public/js/icinga /usr/share/icingaweb2/public/js/icinga.js /usr/share/icingaweb2/public/js/icinga/behavior /usr/share/icingaweb2/public/js/icinga/behavior/actiontable.js /usr/share/icingaweb2/public/js/icinga/behavior/application-state.js /usr/share/icingaweb2/public/js/icinga/behavior/autofocus.js /usr/share/icingaweb2/public/js/icinga/behavior/dropdown.js /usr/share/icingaweb2/public/js/icinga/behavior/form.js /usr/share/icingaweb2/public/js/icinga/behavior/navigation.js /usr/share/icingaweb2/public/js/icinga/behavior/selectable.js /usr/share/icingaweb2/public/js/icinga/behavior/sparkline.js /usr/share/icingaweb2/public/js/icinga/behavior/tooltip.js /usr/share/icingaweb2/public/js/icinga/behavior/tristate.js /usr/share/icingaweb2/public/js/icinga/eventlistener.js /usr/share/icingaweb2/public/js/icinga/events.js /usr/share/icingaweb2/public/js/icinga/history.js /usr/share/icingaweb2/public/js/icinga/loader.js /usr/share/icingaweb2/public/js/icinga/logger.js /usr/share/icingaweb2/public/js/icinga/module.js /usr/share/icingaweb2/public/js/icinga/timer.js /usr/share/icingaweb2/public/js/icinga/timezone.js /usr/share/icingaweb2/public/js/icinga/ui.js /usr/share/icingaweb2/public/js/icinga/utils.js /usr/share/icingaweb2/public/js/vendor /usr/share/icingaweb2/public/js/vendor/SOURCE.jquery.tipsy /usr/share/icingaweb2/public/js/vendor/jquery-1.11.0.js /usr/share/icingaweb2/public/js/vendor/jquery-1.11.0.min.js /usr/share/icingaweb2/public/js/vendor/jquery-1.11.0.min.map /usr/share/icingaweb2/public/js/vendor/jquery-2.1.0.js /usr/share/icingaweb2/public/js/vendor/jquery-2.1.0.min.js /usr/share/icingaweb2/public/js/vendor/jquery-2.1.0.min.map /usr/share/icingaweb2/public/js/vendor/jquery.sparkline.js /usr/share/icingaweb2/public/js/vendor/jquery.sparkline.min.js /usr/share/icingaweb2/public/js/vendor/jquery.tipsy.js /usr/share/icingaweb2/public/js/vendor/jquery.tipsy.min.js /var/log/icingaweb2
Neben den Icinga-Paketen benötigen wir noch weitere RPM-Pakete, die wir nun noch installieren werden. So brauchen wir zum Beispiel für die Authentifizierungsabfragen gegen unseren LDAP-Server das Paket php-ldap.
# yum install icinga-web-scheduler icinga-web-module-pnp icinga-idoutils-libdbi-mysql php-Icinga icinga-web-mysql
Dokumentation
Hinweise zur Installation und Konfiguration finden wir im Verzeichnis /usr/share/icingaweb2/doc/ bzw. in der offiziellen Dokumentation auf der Icings webseite. Sehr detaillierte Informationen zur Konfiguration von Icinga Web 2 findet man direkt in der aktuellesten Dokumentation bei Icinga.
Updates
Vor allem nach einem Update der Icinga 2 Pakete, ist ein Blick in das Verzeichnis /usr/share/icingaweb2/doc/ geboten. Dort finden sich z.B. weitere informationen für den Update der MariaDB-Tabellen.
SQL-Datenbank
Wollen wir zur Authentifizierung Usernamen und Passwort gegen eine MariaDB-Tabelle testen so benötigen wir dazu natürlich eine passende Datenbank, samt Tabellen. Auch für das Speichern der userindividuellen Einstellungen (Preferences) in einer Datenbank wollen wir unter Umständen auf eine SQL-Tabelle zurückgreifen. Wir werden daher eine Datenbank anlegen, einem technischem User den Zugriff auf diese Datenbank ermöglichen und die benötigten Tabellen anlegen. Wie schon zuvor bei der Datenbank für Icinga 2 gehen wir nach dem bewährten Schema vor und legen drei Dinge an:
- eine Datenbank
- einen Datenbankuser unter dessen Rechte später die Kommunikation zwischen Icinga Web 2 und der MariaDB ablaufen wird, und
- ein Passwort mit dem sich der Datenbankuser an der MariaDB anmelden kann.
Hierzu sind folgende Schritte notwendig:
- Anmelden auf dem Datenbankserver
- Datenbank anlegen
- Neuem Benutzer anlegen und diesem Benutzerprivilegien zuweisen
- Rechte der Nutzer in der Datenbank neu laden
- Beenden der Verbindung zum Datenbankserver
- Anmelden auf dem Datenbankserver
Wir melden uns also als berechtigter Datenbankuser an der MariaDB an.
# mysql -h localhost -u root -p
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 42 Server version: 5.5.40-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB>
- Datenbank anlegen
Mit folgendem Befehl legen wir uns einen neuen Nutzer an:
MariaDB> CREATE DATABASE icinga_web2;
Query OK, 1 row affected (0.00 sec)
- Benutzer anlegen und Rechte zuweisen
Mit folgendem Befehl legen wir uns für Icinga Web 2 einen neuen Nutzer an und weisen ihm die nötigen Datenbankrechte zu:
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga_web2.* TO 'icinga_web2_user'@'127.0.0.1' IDENTIFIED BY 'Dj4n901$731nG33k';
Query OK, 0 rows affected (0.00 sec)
sowie
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga_web2.* TO 'icinga_web2_user'@'::1' IDENTIFIED BY 'Dj4n901$731nG33k';
Query OK, 0 rows affected (0.00 sec)
und auch noch
MariaDB> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga_web2.* TO 'icinga_web2_user'@'localhost' IDENTIFIED BY 'Dj4n901$731nG33k';
Query OK, 0 rows affected (0.00 sec)
- Rechte der Nutzer in der Datenbank neu laden
Im letzten Schritt laden wir nun die Rechte unseres neuen Datenbankusers.
MariaDB> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
- Datenbankverbindung beenden
Unsere Konfiguration unseres neuen Datenbanknutzers ist hiermit beendet und wir können die Verbindung zur Datenbank wieder schließen.
MariaDB> exit
Bye
Da die Vorbereitungen nun abgeschlossen sind, können wir nun daran machen in unserer Datenbank icinga_web2 die Tabellen anzulegen. Hierzu greifen wir auf die Datei /usr/share/doc/icingaweb2/schema/mysql.schema.sql zurück.
# mysql -h localhost -u root -p icinga_web2 < /usr/share/doc/icingaweb2/schema/mysql.schema.sql
Apache Konfiguration
Für die Konfiguration des Apache-Webservers wurde eine passende Konfigurationsdatei im RPM mitgeliefert; die wir so auch direkt verwenden können.
# less /etc/httpd/conf.d/icingaweb2.conf
- /etc/httpd/conf.d/icingaweb2.conf
Alias /icingaweb2 "/usr/share/icingaweb2/public" <Directory "/usr/share/icingaweb2/public"> Options SymLinksIfOwnerMatch AllowOverride None <IfModule mod_authz_core.c> # Apache 2.4 <RequireAll> Require all granted </RequireAll> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order allow,deny Allow from all </IfModule> SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2" EnableSendfile Off <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /icingaweb2/ RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] </IfModule> <IfModule !mod_rewrite.c> DirectoryIndex error_norewrite.html ErrorDocument 404 /error_norewrite.html </IfModule> </Directory>
Da wir später eine Benutzer-Authentifizierung vornehmen, ist es zwingend geboten, den Transportweg mit Hilfe von TLS abzusichern!
Abhängig von den noch zu wählenden Authentifizierungsbackends sind ggf. noch Anpassungen an der Apache Konfigurationsdatei vorzunehmen. Wir werden aber darauf noch bei den Einzelthemen einsteigen!
Will man die Konfiguration von Icinga Web 2 ausschließlich über das Webfrontend vornehmen und man nutzt als Authorisierungsbackend SQL oder LDAP, kann man auch alternativ direkt zum Kapitel Icinga CLI gehen.
externe Authentifikation (htdigest)
Im ersten Konfigurationsbeispiel gehen wir auf die Authentifizierungsart ein, bei der Usernamen und Passwörter in einer lokal gespeicherten Datei vorgehalten werden. Unter Zuhilfenahme des Programms htdigest legen wir erst einmal einen User an und speichern das zugehörige Passwort ab.
# htdigest -c /etc/icingaweb2/.icingawebdigest "Icinga Web 2" django
Adding password for django in realm Icinga Web 2. New password: Re-type new password:
Damit der Apache-Webserver für den Zugang zu Icinga Web 2 den Usernamen und ein Passwort abfrägt, ergänzen wir die/etc/httpd/conf.d/icingaweb2.conf wie nachfolgend aufgezeigt.
# vim /etc/httpd/conf.d/icingaweb2.conf
- /etc/httpd/conf.d/icingaweb2.conf
Alias /icingaweb2 "/usr/share/icingaweb2/public" <Directory "/usr/share/icingaweb2/public"> # Django : 2015-03-15 # Authentifizierung gegen eine Passwort-Datei AuthType digest AuthName "Icinga Web 2" AuthDigestProvider file AuthUserFile /etc/icingaweb2/.icingawebdigest Require valid-user django Options SymLinksIfOwnerMatch AllowOverride None <IfModule mod_authz_core.c> # Apache 2.4 <RequireAll> Require all granted </RequireAll> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order allow,deny Allow from all </IfModule> SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2" EnableSendfile Off <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /icingaweb2/ RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] </IfModule> <IfModule !mod_rewrite.c> DirectoryIndex error_norewrite.html ErrorDocument 404 /error_norewrite.html </IfModule> </Directory>
Wichtig:
Der realm aus der Passwort-Datei, in unserem Beispiel Icinga Web 2
muss mit dem Parameter AuthName in der Apache-Konfigurationsdatei übereinstimmen! Andernfalls wir die Authentifizierung kläglich scheitern, obwohl z.B. sowohl Passwort wie auch Usernamen richtig eingegeben worden sind!
In der Konfigurationsdatei /etc/icingaweb2/roles.ini definieren wir dann noch unseren User django noch als Superadmin. Dazu tragen wir in der Datei folgende Daten ein.
# vim /etc/icingaweb2/roles.ini
- /etc/icingaweb2/roles.ini
[administrators] users = "django" permissions = "*"
Damit nun Icinga Web2 weiß, dass die Authentifizierung dem Apache-Webserver übertragen wurde, legen wir die Datei authentication.ini im Verzeichnis /etc/icingaweb2 an.
# vim /etc/icingaweb2/authentication.ini
- /etc/icingaweb2/authentication.ini
; Django : 2015-03-15 ; Authentifizierung delegieren an den Apache Webserver [autologin] backend = external
Will man die noch fehlende Konfiguration von Icinga Web 2 ausschließlich über das Webfrontend vornehmen, kann man auch alternativ direkt zum Kapitel Icinga CLI gehen.
Authentifikation gegen eine SQL-Tabelle (MariaDB)
Hat man nicht nur einen Admin, der mit Icinga Web 2 arbeiten soll, oder man möchte im Dateisystem keine Nutzerdaten ablegen und hat kein zentrales Authentifizierungsbackend, wie z.B. einen LDAP-Server, so kann man eine SQL-Tabelle in der MariaDB auf unserem Monitoring-Host ausweichen.
Wie im vorhergehenden Beispiel werden wir erst einmal den Usernamen unseres Admins zusammen mit dem Passwort in der Datenbank icinga_web_2 abspeichern. Da Icinga Web 2 den BSD Passwort Algorithmus MD5 nutzt, müssen wir das Passwort des Icinga Admins entsprechend umwandeln. Dazu verwenden wir nachfolgenden Befehlsaufruf.
# openssl passwd -1 "das Passwort ist streng geheim"
$1$fyERgK3Y$uNAL1mWufHnasI7os3tN5/
Diesen Passwort-Hashwert tragen wir nun in die Datenbank ein, dazu melden wir uns nun mit dem User icinga_web2_user an unserer MariaDB an.
# mysql -h localhost -D icinga_web2 -u icinga_web2_user -p
Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 15365 Server version: 5.5.41-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [icinga_web2]>
Nach erfolgreichem Login legen wir nun Admin-Name und Passwort in die Tabelle icingaweb_user ein
MariaDB [icinga_web2]> INSERT INTO icingaweb_user (name, active, password_hash) VALUES ('django', 1, '$1$fyERgK3Y$uNAL1mWufHnasI7os3tN5/');
Query OK, 0 rows affected (0.00 sec) MariaDB [icinga_web2]>
Wir können nun die datenbankverbindung wieder beenden.
MariaDB [icinga_web2]> quit Bye
Damit nun beim Anmelde-Fenster von Icinga web 2 die Anmeldedaten gegen unsere MariaDB geprüft werden können müssen wir unserer Installation beibringen, welches Authtifizierungs-Backend bzw. -Methode zu verwenden ist und wie dies erreicht werden kann. Als erstes definieren wir die Ressource, also das „WIE erreiche ich die MariaDB-Tabelle“. Dazu legen wir im Verzeichnis /etc/icingaweb2 die Datei resources.ini an.
# vim /etc/icingaweb2/resources.ini
- /etc/icingaweb2/resources.ini
; Django : 2015-03-15 ; Authetifizierungs-Backend "MariaDB" verwenden. [icingaweb_db] type = "db" db = "mysql" host = "127.0.0.1" port = "3306" username = "icinga_web2_user" password = "Dj4n901$731nG33k" dbname = "icinga_web2"
Mit dieser Definition weiß nun unser Icinga web 2 wie er die Datenbanktabelle mit den Anmeldedaten erreichen kann. Was nun noch fehlt, ist die Antwort auf die Frage: „Welches Authentifizierungs-Backend soll verwendet werden?“. Hierzu legen wir die Datei /etc/icingaweb2/authentication.ini an.
# vim /etc/icingaweb2/authentication.ini
- /etc/icingaweb2/authentication.ini
; Django : 2015-03-15 ; Authentifizierungsbackend SQL-Tabelle der MariaDB nutzen [auth_db] backend = "db" resource = "icingaweb_db"
Entscheidend ist hier, dass der Parameter resource dem Wert entspricht, der in der Ressourcen-Konfigurationsdatei /etc/icingaweb2/resources.ini verwendet wurde
Bei unserem Apache-Webserver bedarf es dazu keiner weiteren Anpassung, so dass wir die Default-Datei aus dem RPM einfach weiterverwenden kann!
Authentifikation gegen LDAP
Meist haben wir nicht nur eine Web-Anwendung an der sich User zum Arbeiten anmelden müssen, sondern mehrere bis mit unter sehr vielen. In diesem Umfeld bietet es sich förmlich an, die Authentifizierungsdaten zentral an einem LDAP-Server1) zu verwalten.
Wie im vorhergehenden Beispiel bei der Authentifikation gegen eine SQL-Tabelle (MariaDB) müssen wir unserer Installation beibringen, welches Authtifizierungs-Backend bzw. -Methode zu verwenden ist und wie dies erreicht werden kann. Nur so können die eingegebenen Daten beim Anmelde-Fenster von Icinga Web 2 geprüft werden.
Als erstes definieren wir die Ressource, also das „WIE erreiche ich den LDAP-Server“. Dazu legen wir im Verzeichnis /etc/icingaweb2 die Datei resources.ini an.
# vim /etc/icingaweb2/resources.ini
- /etc/icingaweb2/resources.ini
; Django : 2015-03-15 ; Authetifizierungs-Backend "LDAP" verwenden. [ldap_auth] type = "ldap" hostname = "ldap.dmz.nausch.org" port = "389" root_dn = "dc=nausch,dc=org" bind_dn = "cn=Technischeruser,dc=nausch,dc=org" bind_pw = "Kl4u5-157-d3r-gr035573!"
Für LDAPs sieht die Beispielskonfigurationen entsprechend nachfolgend aus.
- /etc/icingaweb2/resources.ini
; Django : 2015-03-15 ; Authetifizierungs-Backend "LDAP" verwenden. [ldap_auth] type = "ldap" hostname = "ldap.dmz.nausch.org" port = "636" root_dn = "ou=people,dc=nausch,dc=org" bind_dn = "cn=Technischeruser,dc=nausch,dc=org" bind_pw = "Kl4u5-157-d3r-gr035573!" encryption = "ldaps" reqcert = "1"
Mit dieser Definition weiß nun Icinga Web 2 wie es den LDAP-Server anzusprechen hat. Was nun noch fehlt, ist die Antwort auf die Frage: „Welches Authentifizierungs-Backend soll verwendet werden?“. Hierzu legen wir die Datei /etc/icingaweb2/authentication.ini an.
# vim /etc/icingaweb2/authentication.ini
- /etc/icingaweb2/authentication.ini
; Django : 2015-03-15 ; Das Authentifizierungsbackend LDP-Server verwenden [ldap_auth] backend = "ldap" resource = "ldap_auth" user_class = "posixAccount" user_name_attribute = "uid" base_dn = "dc=nausch,dc=org"
Wichtig: Entscheidend ist zum einen, dass der Parameter resource dem Wert entspricht, der in der Ressourcen-Konfigurationsdatei /etc/icingaweb2/resources.ini verwendet wurde. Zum anderen ist die user_class entsprechen dem Wert zu geben, wo im LDAP-Baum die Nutzer zu finden sind, ebenso natürlich auch der Wert base_dn.
Anbindung an die MariaDB von Icinga 2
Nachdem wir die Authentifizierung konfiguriert haben, müssen wir noch Icinga Web2 mitgeben, wie die MariaDB-Tabellen abgefragt und bearbeitet werden können.
Wie auch schon bei den zuvor gezeigten Beispielen zur Authentifizierung erfolgt die Definition des MariaDB-Zugangs über einen Abschnitt in der Datei /etc/icingaweb2/resources.ini; kurzum wir brauchen noch eine Ressource.
# vim /etc/icingaweb2/resources.ini
- /etc/icingaweb2/resources.ini
; Django : 2015-03-15 ; Datenbank-Anbindung an die "MariaDB" verwenden [MariaDB] type = "db" db = "mysql" host = "localhost" port = "3306" dbname = "icinga2" username = "icinga2_user" password = "Dj4n901$731nw1ld3rV0931"
Konfigurationsübersicht (Konsole)
Nach erfolgter Konfiguration werfen wir kurz mal einen Blick in das Konfigurationsverzeichnis /etc/icingaweb2/.
/etc/icingaweb2/ ├── authentication.ini ├── config.ini ├── enabledModules │ ├── doc -> /usr/share/icingaweb2/modules/doc │ ├── monitoring -> /usr/share/icingaweb2/modules/monitoring │ └── setup -> /usr/share/icingaweb2/modules/setup ├── modules │ ├── monitoring │ │ ├── backends.ini │ │ ├── config.ini │ │ └── instances.ini │ └── setup ├── resources.ini └── roles.ini
Konfigurationsübersicht (Web-GUI)
Da wir die Konfiguration bereits vollständig erledigt haben, können wir uns an unserem Icinga Web 2-Host anmelden.
$ firefox http://icinga.nausch.org/icingaweb2/
Hier geben wir nun die Daten unseres Incinga Admins ein und klicken auf die Schaltfläche [ Login ].
Auf der linken Seite finden wir den Menüpunkt System; diese wählen wir nun an.
Hier klicken wir nun den Menüpunkt Configuration* an; die Konfiguration des Systems allgemein findet auf dem ersten Reiter Application statt.
Auf dem Reiter Resources … finden wir dann auch die zuvor definierten Ressourcen wieder. Das nächste Bild zeigt exemplarisch die definierte Ressource icinga_ido, der Anbindung an die Icinga 2 IDO Datenbank.
Die definierten Authentication-Backends sind auf dem Reiter Authentication zu finden. Das nächste Bild zeigt exemplarisch das definierte Backend ldap_auth.
Icinga CLI
Die Konfiguration von Icinga Web 2 mit Hilfe der GUI2) wird durch ein maschinenlesbaren Einmalpasswortes, kurz Token, abgesichert. Das Generieren dieses Token erfolgt mit Hilfe des Befehls icingacli aus dem gleichnamigen RPM. Wollen wir die Kongiguration ausschließlich über die Web-Gui vornehmen, müssen wir für die Generierung des Setip Token das noch fehlende Paket icingacli installieren.
# yum install icingacli -y
Wir generieren uns nun noch den Setup Token mit folgendem Aufruf:
# icingacli setup token create;
The newly generated setup token is: 21e0014b08d67ad42
Konfiguration über die Web-GUI
Wer die zuvor gezeigte Konfiguration an Hand von Konfigurationsdateien scheut, kann auch den Weg über den Setup Wizard gehen. Diesen rufen wir über die URL: https://icinga.nausch.org/icingaweb2/setup auf.
Das nachfolgende Beispiel zeigt die Konfiguration von Icinga Web 2 bei Benutzung einer MariaDB SQL-Tabelle.
$ firefox https://icinga.nausch.org/icingaweb2/setup
In dem Feld Setup Token tragen wir den zuvor auf der Konsole generierten Token ein und klicken auf die Schaltfläche [ Next ].
In dem Fenster wählen wir zusätzlich noch das Modul Doc aus, dass uns später direkt die sehr gute Programmdokumentation von Icinga 2 als Menüpunkt zur Verfügung stellt. Dieses Fenster verlassen wir auch wieder mit einem Klick die Schaltfläche [ Next ].
Auf dem nächsten Fenster werden uns nochmal alle Optionen und Module angezeigt. Sollte einer der angemahnten Module noch fehlen, wäre jetzt die beste Gelegenheit den Fehler abzustellen bzw. das noch fehlende Modul zu installieren.
Auch dieses Fenster verlassen wir mit einem Klick auf die Schaltfläche [ Next ].
In diesem Fenster erfolgt die Auswahl der Authentifizierung. In unserem Beispiel haben wir Database gewählt. Die anderen Optionen wären LDAP und external. Wie immer geht es weiter mit einem Klick auf die Schaltfläche [ Next ].
In diesem Konfigurationsfenster wird abgefragt, wohin die benutzerspezifischen Einstellungen gespeichert werden sollen. Wir wählen hier ebenfalls Database aus und klicken auf die Schaltfläche [ Next ]. Die Konfiguration in Sachen LDAP unterscheidet sich lediglich bei der Definition des Resource ldap_auth und dem Authentication Backend ldap_auth.
In diesem Fenster werden nun die Ressourcedefinitionen für die Benutzerauthentifizierung und den benutzerspezifischen Einstellungen eingetragen. haben wir alle Werte eingetragen, geht es weiter mit einem Klick auf die Schaltfläche [ Next ]
In diesem Fenster erfolgt dann das Anlegen des ersten Icinga 2 Admin Accounts. Die Daten bestätigen wir mit einem Klick auf die Schaltfläche [ Next ] und gelangen so zum nächsten Fenster.
In diesem Fenster wird das Logging und wie umfangreich dieses erfolgen soll, definiert. Passt alles, klicken wir auf die Schaltfläche [ Next ].
In diesem Fenster werden uns noch einmal zusammengefasst die bisherigen Definitionen angezeigt. Zum Verlassen dieses Fensters klicken wir auf die Schaltfläche [ Next ].
Ab hier erfolgt nun die Konfiguration des Icinga Web 2 Monitoring Modul. Weiter geht es mit einem Klick auf die Schaltfläche [ Next ].
Als Monitoring Backend verwenden wir IDO und können so einfach die Vorgaben mit einem Klick auf die Schaltfläche [ Next ] übernehmen.
In diesem Fenster wird nun die Datenbankanbindung (Ressource)) an die Icinga 2 IDO Datenbank definiert. Passen alle Werte klicken wir auf die Schaltfläche [ Next ].
Die Definition der Monitoring Instanz erfolgt in diesem Fenster. Wir akzeptieren die Werte und gehen weiter mit einem Klick auf die Schaltfläche [ Next ].
Die besonders zu schützenden Variablen werden in diesem Fenster angezeigt. Wir akzeptieren dies und gehen weiter mit einem Klick auf die Schaltfläche [ Next ] zum nächsten Fenster.
Auf diesem Fenster werden nochmal alle gewählten Optionen angezeigt. Letztmalig klicken wir auf die Schaltfläche [ Next ] und gelangen auf die letzte Seite der Konfigurationsarbeit von Icinga Web 2.
Dieses Fenster verlassen wir nun über die Schaltfläche [ Congratulations! Icinga Web 2 has been successfully set up. ]