- Icinga 2 – Monitoring automatisiert mit Puppet Teil 1: Installation
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 2: Features
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 3: Plugins
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 4: Konfiguration I
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 5: Konfiguration II
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 6: Agenten
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 7: Objekte aus Hiera erzeugen
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 8: Integration von Icinga Web 2
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 9: Profile
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 10: Profile Part II
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 11: Profile Part III
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 12: Profile Part IV
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 13: Profile Part V
- Icinga 2 – Monitoring automatisiert mit Puppet Teil 14: Profile Part VI
Heute steht der Blog um des Icinga Puppet-Modul ganz im Zeichen der Icinga-2-Features. Features lassen sich entweder über die main class aktivieren und via Hiera parametrisieren oder dediziert mittels einer eigenen Klasse deklarieren.
include ::mysql::server include ::icinga2 mysql::db { 'icinga': user => 'icinga', password => 'secret', host => 'localhost', grant => ['SELECT', 'INSERT', 'UPDATE', 'DELETE', 'DROP', 'CREATE VIEW', 'CREATE', 'INDEX', 'EXECUTE', 'ALTER'], before => Class['::icinga2'] }
Da die Klasse icinga2 auch über einen Parameter features verfügt über den die angegeben Features aktiviert werden, kann auch dieser Parameter nach Hiera ausgelagert werden. Nachfolgend wird für die MySQL-IDO-Anbindung das Passwort gesetzt und veranlasst, dass erstmalig das DB-Schema importiert wird. Alle anderen Parameter für das Feature idomysql, sowie alle für mainlog und checker sind die entsprechenden Default-Werte.
--- icinga2::features: - checker - notification - mainlog - idomysql icinga2::feature::idomysql::password: secret icinga2::feature::idomysql::import_schema: true
Das selbe erreicht man ebenfalls unter Verwendung der direkten Deklaration:
class { '::icinga2::feature::idomysql': password => 'secret', import_schema => true, }
Etwas anders verhält es sich, wenn man die Feature checker, notification oder mainlog explizit deklarieren möchte. Da diese die standardmäßig aktivierten Features sind, muss das entsprechende Feature vorher deaktiviert werden bzw. nur die anderen im Parameter features angegeben werden:
class { '::icinga2': features => [ 'checker', 'notification' ], } class { '::icinga2::feature::mainlog': severity => 'notice', }
Der Weg über die Konfiguration über Hiera ist da doch wirklich eleganter. Die Deklaration ist übersichtlich
include ::icinga2
und auch in Hiera ist nicht viel zu hinterlegen:
--- icinga2::feature::manilog::severity: notice