Icinga Web 2 - Installation und Konfiguration unter CentOS 7.x

Bild: Icinga Web 2
Nach Installation von Icinga 2 werden wir uns in diesem Artikel mit der Installation und Konfiguration von Icinga Web 2 unter CentOS 7 befassen.

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.

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.

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!

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

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

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.

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

  1. eine Datenbank
  2. einen Datenbankuser unter dessen Rechte später die Kommunikation zwischen Icinga 2 und der MariaDB ablaufen wird, und
  3. ein Passwort mit dem sich der Datenbankuser an der MariaDB anmelden kann.

Hierzu sind folgende Schritte notwendig:

  1. Anmelden auf dem Datenbankserver
  2. Datenbank anlegen
  3. Neuem Benutzer anlegen und diesem Benutzerprivilegien zuweisen
  4. Rechte der Nutzer in der Datenbank neu laden
  5. Beenden der Verbindung zum Datenbankserver
  1. 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>
  2. Datenbank anlegen
    Mit folgendem Befehl legen wir uns einen neuen Nutzer an:

    MariaDB> CREATE DATABASE icinga2;
    Query OK, 1 row affected (0.00 sec)
  3. 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)
  4. 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)
  5. 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

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

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.

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:

  1. eine Datenbank
  2. einen Datenbankuser unter dessen Rechte später die Kommunikation zwischen Icinga Web 2 und der MariaDB ablaufen wird, und
  3. ein Passwort mit dem sich der Datenbankuser an der MariaDB anmelden kann.

Hierzu sind folgende Schritte notwendig:

  1. Anmelden auf dem Datenbankserver
  2. Datenbank anlegen
  3. Neuem Benutzer anlegen und diesem Benutzerprivilegien zuweisen
  4. Rechte der Nutzer in der Datenbank neu laden
  5. Beenden der Verbindung zum Datenbankserver
  1. 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>
  2. 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)
  3. 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)
  4. 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)
  5. 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

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.

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.

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!

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.

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"

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

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/

Bild: Icinga Web 2 Anmeldefenster

Hier geben wir nun die Daten unseres Incinga Admins ein und klicken auf die Schaltfläche [ Login ].

Bild: Icinga Web 2 Übersicht

Auf der linken Seite finden wir den Menüpunkt System; diese wählen wir nun an.

Bild: Icinga Web 2 Systemmenü

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.

Bild: Icinga Web 2 Configuration Menue Resources

Die definierten Authentication-Backends sind auf dem Reiter Authentication zu finden. Das nächste Bild zeigt exemplarisch das definierte Backend ldap_auth.

Bild: Icinga Web 2 Configuration Menue Authentication Backends

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

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

Bild: Icinga Web 2 Setup Wizard

In dem Feld Setup Token tragen wir den zuvor auf der Konsole generierten Token ein und klicken auf die Schaltfläche [ Next ].

Bild: Icinga Web 2 Modul Auswahl

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.

Bild: Icinga Web 2 Requirements

Auch dieses Fenster verlassen wir mit einem Klick auf die Schaltfläche [ Next ].

Bild: Icinga Web 2 Authentication

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 ].

Bild: Icinga Web 2 Preferences

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.

Bild: Icinga Web 2 Datenbank Ressource

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 ]

Bild: Icinga Web 2 Administration

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.

Bild: Icinga Web 2 Konfiguration der Applikation

In diesem Fenster wird das Logging und wie umfangreich dieses erfolgen soll, definiert. Passt alles, klicken wir auf die Schaltfläche [ Next ].

Bild: Icinga Web 2 Zusammenfassung der bisherigen Konfiguration

In diesem Fenster werden uns noch einmal zusammengefasst die bisherigen Definitionen angezeigt. Zum Verlassen dieses Fensters klicken wir auf die Schaltfläche [ Next ].

Bild: Icinga Web 2 Monitoring Modul

Ab hier erfolgt nun die Konfiguration des Icinga Web 2 Monitoring Modul. Weiter geht es mit einem Klick auf die Schaltfläche [ Next ].

Bild: Icinga Web 2 Monitoring Backend

Als Monitoring Backend verwenden wir IDO und können so einfach die Vorgaben mit einem Klick auf die Schaltfläche [ Next ] übernehmen.

Bild: Icinga Web 2 IDO Datenbank

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 ].

Bild: Icinga Web 2 Monitoring Instanz

Die Definition der Monitoring Instanz erfolgt in diesem Fenster. Wir akzeptieren die Werte und gehen weiter mit einem Klick auf die Schaltfläche [ Next ].

Bild: Icinga Web 2 Variablendefinition

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.

Bild: Icinga Web 2 Konfiguration der Datenbankanbindung

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.

Bild: Icinga Web 2

Dieses Fenster verlassen wir nun über die Schaltfläche [ Congratulations! Icinga Web 2 has been successfully set up. ]

Links


1)
Lightweight Directory Access Protocol
2)
Graphical User Interface
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • centos/web_c7/icinga/web2.txt
  • Zuletzt geändert: 30.05.2020 16:42.
  • von django