Select Page

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

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

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 PHP | Linux | IT Automation | DevOps | Icinga | Puppet

Foreman Birthday Event 2024 – Recap

On Monday, 15.07.2024, I met early with my colleagues Lennart and Matthias to travel to Garching for the Foreman Birthday Event. This year it was again hosted by ATIX at a conference room next to their office, so thanks to all of them for having as there, especially...

Ansible und Terraform: Die Hochzeit des Jahrzentes?

Ansible und Terraform sind wichtige Werkzeuge im DevOps-Werkzeugkasten und gehören genauso zusammen wie der Hammer und der Schraubendreher. Was sind Ansible und Terraform überhaupt? Ansible ist ein Open-Source-Tool zur Automatisierung von IT-Aufgaben wie...

Trainings

Web Services

Events

Series



Other posts in series: