From d7a8ad65763198bd7cc67a4301a3a57841d5543d Mon Sep 17 00:00:00 2001 From: 12ww1160 <12ww1160@confdroid.com> Date: Thu, 24 Sep 2026 16:36:18 +0200 Subject: [PATCH] OP#672 add sshd nagios check --- manifests/main/config.pp | 4 ++++ manifests/monitoring/target.pp | 22 ++++++++++++++++++++++ manifests/params.pp | 7 +++++++ 3 files changed, 33 insertions(+) create mode 100644 manifests/monitoring/target.pp diff --git a/manifests/main/config.pp b/manifests/main/config.pp index c035b41..0a9609b 100644 --- a/manifests/main/config.pp +++ b/manifests/main/config.pp @@ -7,4 +7,8 @@ class confdroid_ssh::main::config ( ) inherits confdroid_ssh::params { require confdroid_selinux include confdroid_ssh::main::service + + if $ssh_manage_nagios == true { + include confdroid_ssh::monitoring::target + } } diff --git a/manifests/monitoring/target.pp b/manifests/monitoring/target.pp new file mode 100644 index 0000000..b796ba0 --- /dev/null +++ b/manifests/monitoring/target.pp @@ -0,0 +1,22 @@ +## confdroid_ssh::monitoring::target.pp +# Module name: confdroid_ssh +# Author: 12ww1160 (12ww1160@confdroid.com) +# @summary Class manages Nagios monitoring settings +############################################################################## +class confdroid_ssh::monitoring::target ( +) inherits confdroid_ssh::params { + if $ssh_manage_nagios == true { + @@nagios_service { "check_ssh_${fqdn}": + check_command => "check_nrpe!check_ssh!${ssh_procs_allowed}!sshd", + use => 'generic-service', + host_name => $fqdn, + notification_period => '24x7', + service_description => "${fqdn}_check_ssh", + target => $ssh_target_service, + owner => 'nagios', + group => 'nagios', + mode => '0640', + contacts => $ssh_target_contacts, + } + } +} diff --git a/manifests/params.pp b/manifests/params.pp index 6e97d34..1c614af 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -21,6 +21,13 @@ class confdroid_ssh::params ( String $ssh_fw_order = '50', String $ssh_source_range = '0.0.0.0/0', + # monitoring + + Boolean $ssh_manage_nagios = false, + String $ssh_target_service = '/etc/nagios/conf.d/sshd_service.cfg', + String $ssh_target_contacts = 'nagiosadmin', + String $ssh_procs_allowed = '1:', + ) { # default facts $fqdn = $facts['networking']['fqdn']