OP#436 update Readme

This commit is contained in:
2026-03-02 15:01:55 +01:00
parent bfe21a8f11
commit 5abb52ff06
4 changed files with 181 additions and 52 deletions

138
README.md
View File

@@ -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.