OP#436 add nagios contacts
This commit is contained in:
@@ -10,7 +10,7 @@ class confdroid_nagios::nagios::config (
|
|||||||
require confdroid_nagios::nagios::objects::commands
|
require confdroid_nagios::nagios::objects::commands
|
||||||
#require confdroid_nagios::nagios::objects::template_rules
|
#require confdroid_nagios::nagios::objects::template_rules
|
||||||
#require confdroid_nagios::nagios::objects::contacts
|
#require confdroid_nagios::nagios::objects::contacts
|
||||||
#require confdroid_nagios::nagios::objects::add_contact_rules
|
require confdroid_nagios::nagios::objects::add_contact_rules
|
||||||
#require confdroid_nagios::nagios::objects::contactgroups
|
#require confdroid_nagios::nagios::objects::contactgroups
|
||||||
#require confdroid_nagios::nagios::objects::add_contactgroups_rules
|
#require confdroid_nagios::nagios::objects::add_contactgroups_rules
|
||||||
#require confdroid_nagios::nagios::objects::hostgroups
|
#require confdroid_nagios::nagios::objects::hostgroups
|
||||||
|
|||||||
38
manifests/nagios/objects/add_contact.pp
Normal file
38
manifests/nagios/objects/add_contact.pp
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
## confdroid_nagios::nagios::objects::add_contact.pp
|
||||||
|
# Module name: confdroid_nagios
|
||||||
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
|
# @summary Define manages additional contacts known to NAGIOS through external
|
||||||
|
# Puppet rules, and populates /etc/nagios/conf.d/nagios_add_contact.cfg.
|
||||||
|
# @example
|
||||||
|
# confdroid_nagios::nagios::objects::add_contact { 'example_user':
|
||||||
|
# ng_contact_name => 'example_user',
|
||||||
|
# ng_contact_alias => 'Example User',
|
||||||
|
# ng_contact_groups => 'admins',
|
||||||
|
# ng_contact_email => 'example@example.net',
|
||||||
|
# }
|
||||||
|
# @param [string] ng_contact_name Specify the contact short name.
|
||||||
|
# @param [string] ng_contact_use which contact template to use
|
||||||
|
# @param [string] ng_contact_alias Specify the contact alias (long name).
|
||||||
|
# @param [string] ng_contact_email Specify the contact email address.
|
||||||
|
# @param [string] ng_contact_groups specify the contact group for the contact.
|
||||||
|
################################################################################
|
||||||
|
define confdroid_nagios::nagios::objects::add_contact (
|
||||||
|
|
||||||
|
Optional[String] $ng_contact_name = undef,
|
||||||
|
String $ng_contact_use = 'generic-contact',
|
||||||
|
Optional[String] $ng_contact_alias = undef,
|
||||||
|
Optional[String] $ng_contact_email = undef,
|
||||||
|
Optional[String] $ng_contact_groups = undef,
|
||||||
|
|
||||||
|
) {
|
||||||
|
$ng_nagios_server = $confdroid_nagios::params::ng_nagios_server
|
||||||
|
$ng_target_add_contact = $confdroid_nagios::params::ng_target_add_contact
|
||||||
|
$ng_contacts_rule_erb = $confdroid_nagios::params::ng_contacts_rule_erb
|
||||||
|
|
||||||
|
if $ng_nagios_server == $fqdn {
|
||||||
|
concat::fragment { $name:
|
||||||
|
target => $ng_target_add_contact,
|
||||||
|
content => template($ng_contacts_rule_erb),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
40
manifests/nagios/objects/add_contact_rules.pp
Normal file
40
manifests/nagios/objects/add_contact_rules.pp
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
## confdroid_nagios::nagios::objects::add_contact_rules.pp
|
||||||
|
# Module name: confdroid_nagios
|
||||||
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
|
# @summary Class manages /etc/nagios/conf.d/nagios_add_contact.cfg through
|
||||||
|
# concat.
|
||||||
|
# @example confdroid_nagios::nagios::objects::add_contact { 'example_user':
|
||||||
|
# ng_contact_name => 'example_user',
|
||||||
|
# ng_contact_alias => 'Example User',
|
||||||
|
# ng_contact_groups => 'admins',
|
||||||
|
# ng_contact_email => 'example@example.net',
|
||||||
|
# }
|
||||||
|
################################################################################
|
||||||
|
class confdroid_nagios::nagios::objects::add_contact_rules (
|
||||||
|
|
||||||
|
) inherits confdroid_nagios::params {
|
||||||
|
if $ng_nagios_server == $fqdn {
|
||||||
|
# manage /etc/nagios/conf.d/nagios_add_contacts.cfg
|
||||||
|
|
||||||
|
concat { $ng_target_add_contact:
|
||||||
|
ensure => present,
|
||||||
|
path => $ng_target_add_contact,
|
||||||
|
owner => $ng_user,
|
||||||
|
group => $ng_user,
|
||||||
|
mode => '0640',
|
||||||
|
selrange => s0,
|
||||||
|
selrole => object_r,
|
||||||
|
seltype => nagios_etc_t,
|
||||||
|
seluser => system_u,
|
||||||
|
notify => Service[$ng_service],
|
||||||
|
}
|
||||||
|
|
||||||
|
# manage file header
|
||||||
|
|
||||||
|
concat::fragment { 'contact_header':
|
||||||
|
target => $ng_target_add_contact,
|
||||||
|
content => template($ng_contacts_head_erb),
|
||||||
|
order => '000',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,7 +13,7 @@ class confdroid_nagios::nagios::objects::commands (
|
|||||||
ensure => present,
|
ensure => present,
|
||||||
command_name => 'notify-host-by-email',
|
command_name => 'notify-host-by-email',
|
||||||
command_line => '/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTADDRESS$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTADDRESS$ is $HOSTSTATE$ **" $CONTACTEMAIL$',
|
command_line => '/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTADDRESS$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTADDRESS$ is $HOSTSTATE$ **" $CONTACTEMAIL$',
|
||||||
owner => 'nagions',
|
owner => 'nagios',
|
||||||
group => 'nagios',
|
group => 'nagios',
|
||||||
mode => '0640',
|
mode => '0640',
|
||||||
target => $ng_target_command,
|
target => $ng_target_command,
|
||||||
|
|||||||
@@ -77,6 +77,8 @@ class confdroid_nagios::params (
|
|||||||
# files
|
# files
|
||||||
$ng_nagios_cfg_file = "${ng_main_dir}/nagios.cfg"
|
$ng_nagios_cfg_file = "${ng_main_dir}/nagios.cfg"
|
||||||
$ng_nagios_cfg_erb = 'confdroid_nagios/nagios/nagios_cfg.erb'
|
$ng_nagios_cfg_erb = 'confdroid_nagios/nagios/nagios_cfg.erb'
|
||||||
|
$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg"
|
||||||
|
$ng_cgi_cfg_erb = 'confdroid_nagios/nagios/cgi_cfg.erb'
|
||||||
|
|
||||||
# nagios
|
# nagios
|
||||||
$ng_target_templates = "${ng_conf_d_dir}/nagios_templates.cfg"
|
$ng_target_templates = "${ng_conf_d_dir}/nagios_templates.cfg"
|
||||||
@@ -117,9 +119,6 @@ class confdroid_nagios::params (
|
|||||||
$ng_resource_erb = 'confdroid_nagios/nagios/resource_cfg.erb'
|
$ng_resource_erb = 'confdroid_nagios/nagios/resource_cfg.erb'
|
||||||
|
|
||||||
## old
|
## old
|
||||||
$ng_main_config = "${ng_main_dir}/nagios.cfg"
|
|
||||||
$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg"
|
|
||||||
$ng_cgi_cfg_erb = 'confdroid_nagios/nagios/cgi_cfg.erb'
|
|
||||||
$ng_taccgi_erb = 'confdroid_nagios/selinux/taccgi.erb'
|
$ng_taccgi_erb = 'confdroid_nagios/selinux/taccgi.erb'
|
||||||
$ng_statcgi_erb = 'confdroid_nagios/selinux/statuscgi.erb'
|
$ng_statcgi_erb = 'confdroid_nagios/selinux/statuscgi.erb'
|
||||||
$ng_statdat_erb = 'confdroid_nagios/selinux/statusdat.erb'
|
$ng_statdat_erb = 'confdroid_nagios/selinux/statusdat.erb'
|
||||||
|
|||||||
Reference in New Issue
Block a user