Select Page

Icinga 2 – Monitoring automatisiert mit Puppet Teil 12: Profile Part IV

by | Dec 14, 2018 | MariaDB, Linux, IT Automation, Icinga, Puppet, MySQL

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

Heute geht es mit der Konfiguration von Icinga Web 2 weiter, nach dem im letzte Teil als Voraussetzung PHP konfiguriert wurde. Als Backend zur Speicherung von Authentifizierungs- und Benutzerdaten, kommt eine eigene MySQL Datenbank auf dem gleichen lokalen System zum Einsatz. Der Datenbank- und der Benutzername, sowie dass Passwort soll mittels Parameter festgelegt werden könnten, das gleiche gilt für den zum Senden von Kommandos an Icinga benötigten API-Benutzer und man soll sich als Webserver zwischen einem Apache bzw. einem Nginx entscheiden können. Die Konfiguration letztgenannter, wird im nächsten Teil der kommenden Woche behandelt.
[ruby]class profile::icinga2::server(
String $web_db_pass,
String $web_api_pass,

String $web_db_user = ‘icingaweb2’,
String $web_db_name = ‘icingaweb2’,
String $web_api_user = ‘icingaweb2’,
Enum[‘apache’, ‘nginx’] $web_server = ‘apache’,
) {

mysql::db { $web_db_name:
host => $web_db_host,
user => $web_db_user,
password => $web_db_pass,
grant => [‘ALL’],
before => Class[‘icingaweb2’],
}
if $web_server == ‘nginx’ {
$manage_package = true
# $web_conf_user =
} else {
$manage_package = false
# $web_conf_user =
package { ‘icingaweb2’:
ensure => installed,
}
}
class { ‘icingaweb2’:
db_username => $web_db_user,
db_password => $web_db_pass,
import_schema => true,
config_backend => ‘db’,
conf_user => $web_conf_user,
manage_package => $manage_package,
}
::icinga2::object::apiuser { $web_api_user:
ensure => present,
password => $web_api_pass,
permissions => [ ‘status/query’, ‘actions/*’, ‘objects/modify/*’, ‘objects/query/*’ ],
target => ‘/etc/icinga2/conf.d/api-users.conf’,
}
class { ‘::icingaweb2::module::monitoring’:
ido_db_host => ‘127.0.0.1’,
ido_db_name => $ido_db_name,
ido_db_username => $ido_db_user,
ido_db_password => $ido_db_pass,
commandtransports => {
‘icinga2’ => {
transport => ‘api’,
username => $web_api_user,
password => $web_api_pass,
}
}
}
}[/ruby]

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 MariaDB | Linux | IT Automation | Icinga | Puppet | MySQL

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: