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

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...

Foreman Birthday Event 2023 – Recap

Two years ago I started my recap of the event with "Last week on Thursday we had the Foreman Birthday event and I can proudly say it was a big success." and I can do the same for this one. At the beginning of the year planning for the event started in the background...

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...

Trainings

Web Services

Events

Series



Other posts in series: