From 0bc39913db6530ca9f64835e3beff5fbad8fb05e Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 3 Feb 2023 22:10:23 +0100 Subject: [PATCH] Refine basic Linux monitoring * Add ragent * Use servicegroups/hostgroups --- .../puppet/modules/nagios/manifests/init.pp | 44 +++++++++++++++++++ .../modules/nagios/templates/nagios.cfg.epp | 3 ++ personal_infra/puppet/site/00-common.pp | 12 ++--- 3 files changed, 50 insertions(+), 9 deletions(-) diff --git a/personal_infra/puppet/modules/nagios/manifests/init.pp b/personal_infra/puppet/modules/nagios/manifests/init.pp index 48aaf0a..5568fbf 100644 --- a/personal_infra/puppet/modules/nagios/manifests/init.pp +++ b/personal_infra/puppet/modules/nagios/manifests/init.pp @@ -41,6 +41,50 @@ class nagios { owner => 'nagios', } + nagios_command {'check_ragent': + command_name => 'check_ragent', + command_line => '/usr/bin/check_ragent http://$HOSTADDRESS$:21488/ --warning-units dnf-makecache.service --warning-units dnf-automatic-install.service', + require => Package['nagios'], + notify => Service['nagios'], + owner => 'nagios', + } + + nagios_hostgroup {'linux': + hostgroup_name => 'linux', + require => Package['nagios'], + notify => Service['nagios'], + owner => 'nagios', + ensure => present, + } + + nagios_servicegroup {'ragent': + require => Package['nagios'], + notify => Service['nagios'], + owner => 'nagios', + ensure => present, + } + + nagios_service {'check_ragent': + use => 'generic-service', + hostgroup_name => 'linux', + service_description => 'check_ragent', + servicegroups => 'ragent', + check_command => 'check_ragent', + require => Package['nagios'], + notify => Service['nagios'], + owner => 'nagios', + } + + nagios_service {'check_ssh': + use => 'generic-service', + hostgroup_name => 'linux', + service_description => 'ssh', + check_command => 'check_ssh', + require => Package['nagios'], + notify => Service['nagios'], + owner => 'nagios', + } + package {'httpd':} -> service {'httpd': diff --git a/personal_infra/puppet/modules/nagios/templates/nagios.cfg.epp b/personal_infra/puppet/modules/nagios/templates/nagios.cfg.epp index 8ed499b..8e28ceb 100644 --- a/personal_infra/puppet/modules/nagios/templates/nagios.cfg.epp +++ b/personal_infra/puppet/modules/nagios/templates/nagios.cfg.epp @@ -33,6 +33,9 @@ cfg_file=/etc/nagios/objects/templates.cfg # puppet generated cfg_file=/etc/nagios/nagios_contactgroup.cfg cfg_file=/etc/nagios/nagios_contact.cfg +cfg_file=/etc/nagios/nagios_command.cfg +cfg_file=/etc/nagios/nagios_hostgroup.cfg +cfg_file=/etc/nagios/nagios_servicegroup.cfg cfg_file=/etc/nagios/nagios_host.cfg cfg_file=/etc/nagios/nagios_service.cfg diff --git a/personal_infra/puppet/site/00-common.pp b/personal_infra/puppet/site/00-common.pp index cb0126b..b9f2a6f 100644 --- a/personal_infra/puppet/site/00-common.pp +++ b/personal_infra/puppet/site/00-common.pp @@ -12,15 +12,9 @@ nagios_host {$nagios_host: use => 'generic-host', address => lookup({name => 'nagios.address', default_value => $facts['networking']['fqdn']}), max_check_attempts => 5, - contact_groups => "admins", - check_command => "check-host-alive", -} - -nagios_service {"${nagios_host}-ssh": - use => 'generic-service', - host_name => $facts['networking']['fqdn'], - service_description => "ssh", - check_command => "check_ssh", + contact_groups => 'admins', + hostgroups => 'linux', + check_command => 'check-host-alive', } # https://github.com/alexpdp7/ragent/issues/352 -- 2.47.3