Select Page

Icinga 2 – Monitoring automatisiert mit Puppet Teil 13: Profile Part V

by | Dec 21, 2018 | Linux, IT Automation, DevOps, Icinga, Puppet, PHP

This entry is part 13 of 14 in the series Icinga 2 Monitoring automatisiert mit Puppet

Im heutigen Teil dieser Reihe, fügen wir den ausstehenden Code zur Konfiguration von Nginx als Webserver für Icinga Web 2 hinzu. Neben den benötigten Nginx-Ressources, vor allem der Umleitung auf den PHP-FPM, ist darauf zu achten, dass Nginx vor der Klasse icingaweb2 und damit vor dem Paket icingaweb2 abzuarbeiten ist. Wird dies nich beachtet installiert das icingaweb2-Paket automatisch den Apache als Abhängigkeit und man hätte zwei Webserver bei sich auf dem Icinga-2-Server.
Damit das Icinga-Web-2-Modul für seine Konfigurationsdateien den korrekten Benutzer verwenden kann, ziehen wir diesen nach der Abarbeitung der Klasse nginx aus dessen Modul.
[ruby] […]
if $web_server == ‘nginx’ {
#
# Nginx
#
$manage_package = true
Class[‘nginx’]
-> Class[‘icingaweb2’]
class { ‘::nginx’:
manage_repo => false,
server_purge => true,
confd_purge => true,
}
$web_conf_user = $::nginx::daemon_user
nginx::resource::server { ‘icingaweb2’:
server_name => [ ‘localhost’ ],
ssl => false,
index_files => [],
use_default_location => false,
}
nginx::resource::location { ‘icingaweb2’:
location => ‘~ ^/icingaweb2(.+)?’,
location_alias => ‘/usr/share/icingaweb2/public’,
try_files => [‘$1’, ‘$uri’, ‘$uri/’, ‘/icingaweb2/index.php$is_args$args’],
index_files => [‘index.php’],
server => ‘icingaweb2’,
ssl => false,
}
nginx::resource::location { ‘icingaweb2_index’:
location => ‘~ ^/icingaweb2/index\.php(.*)$’,
server => ‘icingaweb2’,
ssl => false,
index_files => [],
fastcgi => ‘127.0.0.1:9000’,
fastcgi_index => ‘index.php’,
fastcgi_param => {
‘SCRIPT_FILENAME’ => ‘/usr/share/icingaweb2/public/index.php’,
‘ICINGAWEB_CONFIGDIR’ => ‘/etc/icingaweb2’,
‘REMOTE_USER’ => ‘$remote_user’,
},
}
} else {
[…][/ruby]
Beim Nginx selbst werden alle von der Standard-Installation kommenden virtuellen Hosts (server_purge => true) und sonstigen Konfigurationsdateien entfernt. Der Artikel der kommenden Woche schließt diesen Abschnitt über eine komplexere Konfiguration vorerst ab. Dort wird dann der noch fehlende Code präsentiert, der einen Apache-Webserver zum Ausliefern von Icinga Web 2 verwendet.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Linux | IT Automation | DevOps | Icinga | Puppet | PHP

Kritischer Fehler in Puppet Version 7.29.0 und 8.5.0

Eine Warnung an alle Nutzer von Puppet, aber auch Foreman oder dem Icinga-Installer, die Version 7.29.0 und 8.5.0 von Puppet enthält einen kritischen Fehler, der die Erstellung eines Katalogs und somit die Anwendung der Konfiguration verhindert. Daher stellt bitte...

Trainings

Web Services

Events

Series



Other posts in series: