diff --git a/manifests/main/config.pp b/manifests/main/config.pp index ad39492..18c3efc 100644 --- a/manifests/main/config.pp +++ b/manifests/main/config.pp @@ -7,4 +7,8 @@ class confdroid_automatic::main::config ( ) inherits confdroid_automatic::params { include confdroid_automatic::main::service + + if $ac_manage_nagios == true { + include confdroid_automatic::monitoring::target + } } diff --git a/manifests/monitoring/target.pp b/manifests/monitoring/target.pp new file mode 100644 index 0000000..11aef33 --- /dev/null +++ b/manifests/monitoring/target.pp @@ -0,0 +1,22 @@ +## confdroid_automatic::monitoring::target.pp +# Module name: confdroid_automatic +# Author: 12ww1160 (12ww1160@confdroid.com) +# @summary Class manages services for the confdroid_automatic module +############################################################################## +class confdroid_automatic::monitoring::target ( + +) inherits confdroid_automatic::params { + if $ac_manage_nagios == true { + @@nagios_service { "check_automatic_${fqdn}": + check_command => "check_nrpe!check_automatic!${ac_procs_allowed}!automatic-service", + use => 'generic-service', + host_name => $fqdn, + notification_period => '24x7', + service_description => "${fqdn}_check_automatic", + target => $ac_target_service, + owner => 'nagios', + group => 'nagios', + mode => '0640', + contacts => $ac_target_contacts, + } +} diff --git a/manifests/params.pp b/manifests/params.pp index 5d5f1ea..35f1efd 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -15,6 +15,10 @@ # @param [String] ac_email_to where to send the email to # @param [String] ac_email_host which host to use to send the email # @param [Variant[String,Array[String]]] ac_excludepkgs packages to exclude from updates +# @param [Boolean] ac_manage_nagios whether to manage nagios monitoring +# @param [String] ac_target_service where to write the nagios service config +# @param [String] ac_target_contacts which nagios contacts to use +# @param [String] ac_procs_allowed how many processes are allowed to run ############################################################################## class confdroid_automatic::params ( @@ -33,6 +37,12 @@ class confdroid_automatic::params ( String $ac_email_to = 'root@example.net', String $ac_email_host = 'localhost', + # monitoring + Boolean $ac_manage_nagios = false, + String $ac_target_service = '/etc/nagios/conf.d/automatic_service.cfg', + String $ac_target_contacts = 'nagiosadmin', + String $ac_procs_allowed = '1:', + ) { # Facts $fqdn = $facts['networking']['fqdn']