OP#436 add full service details
This commit is contained in:
@@ -97,6 +97,8 @@
|
|||||||
# to update the status file. Default is '10'.
|
# to update the status file. Default is '10'.
|
||||||
# @param [String] ng_check_ext_commands Whether to allow external commands
|
# @param [String] ng_check_ext_commands Whether to allow external commands
|
||||||
# to be submitted to Nagios. Default is '1'.
|
# to be submitted to Nagios. Default is '1'.
|
||||||
|
# @param [String] ng_user The user to run the Nagios service as.
|
||||||
|
# Default is 'nagios'.
|
||||||
###############################################################################
|
###############################################################################
|
||||||
class confdroid_nagios::params (
|
class confdroid_nagios::params (
|
||||||
|
|
||||||
@@ -111,6 +113,7 @@ class confdroid_nagios::params (
|
|||||||
String $ng_max_check_attempts = '10',
|
String $ng_max_check_attempts = '10',
|
||||||
String $ng_status_upd_interval = '10',
|
String $ng_status_upd_interval = '10',
|
||||||
String $ng_check_ext_commands = '1',
|
String $ng_check_ext_commands = '1',
|
||||||
|
String $ng_user = 'nagios',
|
||||||
|
|
||||||
# contact groups
|
# contact groups
|
||||||
String $ng_contactgroup_name = 'admins',
|
String $ng_contactgroup_name = 'admins',
|
||||||
@@ -174,6 +177,7 @@ class confdroid_nagios::params (
|
|||||||
) {
|
) {
|
||||||
# Default facts
|
# Default facts
|
||||||
$fqdn = $facts['networking']['fqdn']
|
$fqdn = $facts['networking']['fqdn']
|
||||||
|
$hostname = $facts['networking']['hostname']
|
||||||
$domain = $facts['networking']['domain']
|
$domain = $facts['networking']['domain']
|
||||||
$os_name = $facts['os']['name']
|
$os_name = $facts['os']['name']
|
||||||
$os_release = $facts['os']['release']['major']
|
$os_release = $facts['os']['release']['major']
|
||||||
|
|||||||
@@ -25,5 +25,179 @@ class confdroid_nagios::server::service (
|
|||||||
hasstatus => true,
|
hasstatus => true,
|
||||||
require => Exec['ng_restart_httpd'],
|
require => Exec['ng_restart_httpd'],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@nagios_host { 'localhost':
|
||||||
|
ensure => $ng_ping_ensure,
|
||||||
|
alias => 'localhost',
|
||||||
|
address => '127.0.0.1',
|
||||||
|
use => 'linux-server',
|
||||||
|
target => $ng_target_localhost,
|
||||||
|
hostgroups => 'linux-servers',
|
||||||
|
contacts => 'ops',
|
||||||
|
max_check_attempts => $ng_max_check_attempts,
|
||||||
|
notification_period => '24x7',
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
check_command => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
|
||||||
|
notify => Service[$ng_service],
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_service { 'check_nagios_localhost':
|
||||||
|
check_command => $ng_nagios_service_cmd,
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => 'localhost',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => 'localhost_nagios_service',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
contacts => 'ops',
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_host { $fqdn:
|
||||||
|
ensure => $ng_ping_ensure,
|
||||||
|
alias => $hostname,
|
||||||
|
address => $fqdn,
|
||||||
|
use => 'linux-server',
|
||||||
|
target => $ng_target_host,
|
||||||
|
hostgroups => 'linux-servers',
|
||||||
|
contacts => 'ops',
|
||||||
|
max_check_attempts => $ng_max_check_attempts,
|
||||||
|
notification_period => '24x7',
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
check_command => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
|
||||||
|
notify => Service[$ng_user],
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_service { "root_partition_${hostname}":
|
||||||
|
ensure => $ng_disk_ensure,
|
||||||
|
check_command => "check_nrpe!check_disk!${ng_disk_warn}!${ng_disk_crit}!/",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
contacts => 'ops',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${hostname}_root_partition",
|
||||||
|
servicegroups => 'linux-services',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
}
|
||||||
|
|
||||||
|
if $ng_enable_swap_check == true {
|
||||||
|
@@nagios_service { "Swap_Usage_${hostname}":
|
||||||
|
ensure => $ng_swap_ensure,
|
||||||
|
check_command => "check_nrpe!check_swap!${ng_swap_warn}!${ng_swap_crit}",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
contacts => 'ops',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${hostname}_swap_usage",
|
||||||
|
servicegroups => 'linux-services',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_service { "Local_Users_${hostname}":
|
||||||
|
ensure => $ng_users_ensure,
|
||||||
|
check_command => "check_nrpe!check_users!${ng_users_warn}!${ng_users_crit}",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
contacts => 'ops',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${hostname}_local_users",
|
||||||
|
servicegroups => 'linux-services',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_service { "Total Processes_${hostname}":
|
||||||
|
ensure => $ng_procs_tot_ens,
|
||||||
|
check_command => "check_nrpe!check_procs!${ng_procs_tot_warn}!${ng_procs_tot_crit}!${ng_procs_tot_param}",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
contacts => 'ops',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${hostname}_total_processes",
|
||||||
|
servicegroups => 'linux-services',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_service { "Zombie Processes_${hostname}":
|
||||||
|
ensure => $ng_procs_z_ensure,
|
||||||
|
check_command => "check_nrpe!check_procs!${ng_procs_z_warn}!${ng_procs_z_crit}!${ng_procs_z_param}",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
contacts => 'ops',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${hostname}_zombie_processes",
|
||||||
|
servicegroups => 'linux-services',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
}
|
||||||
|
|
||||||
|
@@nagios_service { "Current_Load_${hostname}":
|
||||||
|
ensure => $ng_load_ensure,
|
||||||
|
check_command => "check_nrpe!check_load!${ng_load_warn}!${ng_load_crit}",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
contacts => 'ops',
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${hostname}_current_load",
|
||||||
|
servicegroups => 'linux-services',
|
||||||
|
target => $ng_target_service,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
}
|
||||||
|
|
||||||
|
resources { ['nagios_host',
|
||||||
|
'nagios_hostgroup',
|
||||||
|
'nagios_hostdependency',
|
||||||
|
'nagios_hostescalation',
|
||||||
|
'nagios_hostextinfo',
|
||||||
|
'nagios_service',
|
||||||
|
'nagios_servicegroup',
|
||||||
|
'nagios_servicedependency',
|
||||||
|
'nagios_serviceescalation',
|
||||||
|
'nagios_serviceextinfo',
|
||||||
|
'nagios_contact',
|
||||||
|
'nagios_contactgroup',
|
||||||
|
'nagios_command',
|
||||||
|
'nagios_timeperiod']:
|
||||||
|
purge => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
# collect resources and populate /etc/nagios/conf.d/nagios_*.cfg
|
||||||
|
Nagios_host <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_hostgroup <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_hostdependency <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_hostescalation <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_hostextinfo <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_service <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_servicegroup <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_servicedependency <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_serviceescalation <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_serviceextinfo <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_contact <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_contactgroup <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_command <<||>> { notify => Service['nagios'] }
|
||||||
|
Nagios_timeperiod <<||>> { notify => Service['nagios'] }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user