OP#436 update Readme
This commit is contained in:
138
README.md
138
README.md
@@ -102,7 +102,7 @@ Use that value to override the default password in ENC or Hiera, if you use it.
|
||||
|
||||
### Additional UI users
|
||||
|
||||
The main user is automatically created. If you want to add more users, this should be done via the define confdroid_nagios::server::access. In your control repo, site.pp etc. address the access define like this:
|
||||
The main user is automatically created. If you want to add more users, this should be done via the define `confdroid_nagios::server::access`. In your control repo, site.pp etc. address the access define like this:
|
||||
|
||||
```puppet
|
||||
confdroid_nagios::server::access { 'example':
|
||||
@@ -126,6 +126,25 @@ In order to add contacts for the notifications, address the define `confdroid_na
|
||||
|
||||
This requires the contact groups to be in place as well.
|
||||
|
||||
Alternatively you also can create a custom class within this module and use the export command like this:
|
||||
|
||||
```puppet
|
||||
@@nagios_contact { 'ops':
|
||||
ensure => present,
|
||||
alias => 'Operations',
|
||||
contact_name => 'ops',
|
||||
contactgroups => 'operations',
|
||||
email => 'ops@example.net',
|
||||
can_submit_commands => '1',
|
||||
register => '1',
|
||||
use => 'generic-contact',
|
||||
target => $ng_target_base_contact,
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
}
|
||||
```
|
||||
|
||||
### Adding contact groups
|
||||
|
||||
In order to add contact groups for the notifications, address the define `confdroid_nagios::nagios::objects::add_contactgroups` in your config repo, site.pp etc. like this:
|
||||
@@ -138,6 +157,21 @@ In order to add contact groups for the notifications, address the define `confdr
|
||||
}
|
||||
```
|
||||
|
||||
Alternatively you also can create a custom class within this module and use the export command like this:
|
||||
|
||||
```puppet
|
||||
@@nagios_contactgroup { 'operations':
|
||||
ensure => present,
|
||||
alias => 'Operations Team',
|
||||
contactgroup_name => 'operations',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
register => '1',
|
||||
target => $ng_tgt_contactgroup_base,
|
||||
}
|
||||
```
|
||||
|
||||
### Adding host groups
|
||||
|
||||
In order to add host groups, address the define `confdroid_nagios::nagios::objects::add_hostgroups` in your config repo, site.pp etc. like this:
|
||||
@@ -149,22 +183,116 @@ In order to add host groups, address the define `confdroid_nagios::nagios::objec
|
||||
}
|
||||
```
|
||||
|
||||
Hosts will be populated through the target.pp dynamically.
|
||||
Alternatively you also can create a custom class within this module and use the export command like this:
|
||||
|
||||
```puppet
|
||||
@@nagios_hostgroup { 'rhel-servers':
|
||||
ensure => present,
|
||||
hostgroup_name => 'rhel-servers',
|
||||
alias => 'RHEL Servers',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
register => '1',
|
||||
target => $ng_target_hostgroup_base,
|
||||
}
|
||||
```
|
||||
|
||||
Hosts themselves will be populated through the target.pp dynamically.
|
||||
|
||||
### Adding service groups
|
||||
|
||||
ToDo
|
||||
In order to add service groups, address the define `confdroid_nagios::nagios::objects::add_servicegroups` in your config repo, site.pp etc. like this:
|
||||
|
||||
```puppet
|
||||
confdroid_nagios::nagios::objects::add_servicegroups { 'example_servicegroup':
|
||||
ng_servicegroup_name => 'example_servicegroup',
|
||||
ng_servicegroup_alias => 'Example servicegroup',
|
||||
}
|
||||
```
|
||||
|
||||
Alternatively you also can create a custom class within this module and use the export command like this:
|
||||
|
||||
```puppet
|
||||
@@nagios_servicegroup { 'network-services':
|
||||
ensure => present,
|
||||
servicegroup_name => 'network-services',
|
||||
alias => 'Network Services',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
register => '1',
|
||||
target => $ng_target_svcgrp_base,
|
||||
}
|
||||
```
|
||||
|
||||
### Adding time periods
|
||||
|
||||
ToDo
|
||||
In order to add time periods, address the define `confdroid_nagios::nagios::objects::add_timeperiods` in your config repo, site.pp etc. like this:
|
||||
|
||||
```puppet
|
||||
confdroid_nagios::nagios::objects::add_timeperiods { 'example_timeperiod':
|
||||
ng_timep_name => 'example_timeperiod',
|
||||
ng_timep_alias => 'Example timeperiod',
|
||||
ng_timep_monday => '00:00-00:00',
|
||||
ng_timep_tuesday => '00:00-00:00',
|
||||
ng_timep_wednesday => '00:00-00:00',
|
||||
ng_timep_thursday => '00:00-00:00',
|
||||
ng_timep_friday => '00:00-00:00',
|
||||
ng_timep_saturday => '00:00-00:00',
|
||||
ng_timep_sunday => '00:00-00:00',
|
||||
}
|
||||
```
|
||||
|
||||
Alternatively you also can create a custom class within this module and use the export command like this:
|
||||
|
||||
```puppet
|
||||
@@nagios_timeperiod { 'office_hours':
|
||||
ensure => present,
|
||||
timeperiod_name => 'office_hours',
|
||||
alias => 'Office hours only, 5 Days A Week 09-05',
|
||||
monday => '09:00-17:00',
|
||||
tuesday => '09:00-17:00',
|
||||
wednesday => '09:00-17:00',
|
||||
thursday => '09:00-17:00',
|
||||
friday => '09:00-17:00',
|
||||
saturday => '00:00-00:00',
|
||||
sunday => '00:00-00:00',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
register => '1',
|
||||
target => $ng_tgt_timeperiods_base,
|
||||
}
|
||||
```
|
||||
|
||||
### Adding custom commands
|
||||
|
||||
ToDo
|
||||
Commands are defined in `confdroid_nagios::nagios::objects::commands` and deployed /etc/nagios/conf.d/nagios_commands_base.cfg through PuppetDB exports like this:
|
||||
|
||||
```puppet
|
||||
@@nagios_command { 'check_disk':
|
||||
ensure => present,
|
||||
command_name => 'check_disk',
|
||||
command_line => '$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
```
|
||||
|
||||
### Adding templates
|
||||
|
||||
In order to add time periods, address the define `confdroid_nagios::nagios::objects::add_templates` in your config repo, site.pp etc. like this:
|
||||
|
||||
```puppet
|
||||
confdroid_nagios::nagios::objects::templates { 'generic contact':
|
||||
ng_template_object => 'contact',
|
||||
ng_template_object_name => 'generic-contact',
|
||||
}
|
||||
```
|
||||
|
||||
## PuppetDB
|
||||
|
||||
A working instance of PuppetDB connected to the Puppet master is required for this to work. Installation and configuration of PuppetDB is out of scope for this module, however [cd_puppetdb](https://gitlab.confdroid.com/puppet/cd_puppetdb) is available to automate this task for you as well within a few minutes.
|
||||
|
||||
@@ -13,8 +13,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
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$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -23,8 +23,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'notify-service-by-email',
|
||||
command_line => '/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -33,8 +33,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check-host-alive',
|
||||
command_line => '$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -43,8 +43,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_disk',
|
||||
command_line => '$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -53,8 +53,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_local_load',
|
||||
command_line => '$USER1$/check_load -w $ARG1$ -c $ARG2$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -63,8 +63,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_local_procs',
|
||||
command_line => '$USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -73,8 +73,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_local_users',
|
||||
command_line => '$USER1$/check_users -w $ARG1$ -c $ARG2$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -83,8 +83,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_local_swap',
|
||||
command_line => '$USER1$/check_swap -w $ARG1$ -c $ARG2$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -93,8 +93,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_ftp',
|
||||
command_line => '$USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -103,8 +103,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_snmp',
|
||||
command_line => '$USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -113,8 +113,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_http',
|
||||
command_line => '$USER1$/check_http -I $HOSTADDRESS$ $ARG1$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -123,8 +123,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_ssh',
|
||||
command_line => '$USER1$/check_ssh $ARG1$ $HOSTADDRESS$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -133,8 +133,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_ping',
|
||||
command_line => '$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -143,8 +143,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_tcp',
|
||||
command_line => '$USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -153,8 +153,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_udp',
|
||||
command_line => '$USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -163,8 +163,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_nrpe',
|
||||
command_line => '$USER1$/check_nrpe -t 30 -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -173,8 +173,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_nagios',
|
||||
command_line => '$USER1$/check_nagios -F $ARG1$ -e $ARG2$ -C $ARG3$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -183,8 +183,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_bandwidth',
|
||||
command_line => '$USER1$/check_bandwidth.sh -t 30 -H $HOSTADDRESS$ linux $ARG1$ $ARG2$ $ARG3$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -193,8 +193,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'process-service-perfdata-file',
|
||||
command_line => '/bin/mv /var/log/pnp4nagios/service-perfdata /var/spool/pnp4nagios/service-perfdata.$TIMET$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -203,8 +203,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'process-host-perfdata-file',
|
||||
command_line => '/bin/mv /var/log/pnp4nagios/host-perfdata /var/spool/pnp4nagios/host-perfdata.$TIMET$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
@@ -213,8 +213,8 @@ class confdroid_nagios::nagios::objects::commands (
|
||||
ensure => present,
|
||||
command_name => 'check_ntp_time',
|
||||
command_line => '$USER1$/check_ntp_time -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$',
|
||||
owner => 'nagios',
|
||||
group => 'nagios',
|
||||
owner => $ng_user,
|
||||
group => $ng_user,
|
||||
mode => '0640',
|
||||
target => $ng_target_command,
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class manages /etc/nagios/conf.d/nagios_templates.cfg through
|
||||
# concat.
|
||||
# @example confdroid_nagios::nagios::objects::templates { 'generic contact':
|
||||
# @example
|
||||
# confdroid_nagios::nagios::objects::templates { 'generic contact':
|
||||
# ng_template_object => 'contact',
|
||||
# ng_template_object_name => 'generic-contact',
|
||||
# }
|
||||
|
||||
@@ -238,7 +238,7 @@ class confdroid_nagios::params (
|
||||
$ng_tgt_svcgrp_head_erb = 'confdroid_nagios/nagios/svcgroups_cfg_head.erb'
|
||||
$ng_tgt_svcgrp_rule_erb = 'confdroid_nagios/nagios/svcgroups_cfg_rule.erb'
|
||||
$ng_target_base_contact = "${ng_conf_d_dir}/nagios_contact_base.cfg"
|
||||
$ng_target_add_contact = "${ng_conf_d_dir}/nagios_contact_add.cfg"
|
||||
$ng_target_add_contact = "${ng_conf_d_dir}/nagios_contact.cfg"
|
||||
$ng_contacts_head_erb = 'confdroid_nagios/nagios/contacts_cfg_head.erb'
|
||||
$ng_contacts_rule_erb = 'confdroid_nagios/nagios/contacts_cfg_rule.erb'
|
||||
$ng_tgt_contactgroup_base = "${ng_conf_d_dir}/nagios_contactgroup_base.cfg"
|
||||
|
||||
Reference in New Issue
Block a user