pixel
Select Page

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

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

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.
More posts on the topic Icinga | Puppet | PHP | Linux | Automation | DevOps

Foreman Birthday Event 2023 – Save the date

I can happily announce we will have a Birthday event on 27.07. this year again. I will be our host again, supported by my colleagues from NETWAYS, ATIX and the Foreman Project. When I talked to people at Cfgmgmtcamp, I was told by many that they really liked the...

Trainings

Web Services

Events

Series



Other posts in series: