summaryrefslogtreecommitdiff
path: root/manifests/base.pp
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2010-06-28 19:28:27 +0200
committermh <mh@immerda.ch>2010-06-28 19:28:27 +0200
commitc25c57f3945a7edf66bedaa34fa4af62a803d174 (patch)
tree863c61e2de0c258c859527e14e86b47ffd8f0bb1 /manifests/base.pp
parent77f601607093b7fb22f3498574d0dedd2cbe01d9 (diff)
parent5d5ec8c28d0fe39359af8db159b14faeae397e1f (diff)
merge with lavamind
Diffstat (limited to 'manifests/base.pp')
-rw-r--r--manifests/base.pp213
1 files changed, 124 insertions, 89 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
index bd55ff9..6106ab2 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -1,110 +1,73 @@
class nagios::base {
- # needs apache to work
- include apache
-
- package { nagios:
- ensure => present,
+ package { 'nagios':
+ alias => 'nagios',
+ ensure => present,
}
- service{nagios:
+ service { 'nagios':
ensure => running,
enable => true,
#hasstatus => true, #fixme!
- require => Package[nagios],
+ require => Package['nagios'],
}
- # manage nagios cfg files
- file {nagios_cfg_dir:
- path => '/etc/nagios',
- source => "puppet://$server/modules/common/empty",
- ensure => directory,
- recurse => true,
- purge => true,
- notify => Service[nagios],
- mode => 0755, owner => root, group => root;
- }
# this file should contain all the nagios_puppet-paths:
- file {nagios_main_cfg:
- path => "/etc/nagios/nagios.cfg",
- source => [ "puppet://$server/modules/site-nagios/configs/${fqdn}/nagios.cfg",
+ file { 'nagios_main_cfg':
+ path => "${nagios_cfgdir}/nagios.cfg",
+ source => [ "puppet://$server/modules/site-nagios/configs/${fqdn}/nagios.cfg",
"puppet://$server/modules/site-nagios/configs/${operatingsystem}/nagios.cfg",
"puppet://$server/modules/site-nagios/configs/nagios.cfg",
"puppet://$server/modules/nagios/configs/${operatingsystem}/nagios.cfg",
"puppet://$server/modules/nagios/configs/nagios.cfg" ],
- notify => Service[nagios],
+ notify => Service['nagios'],
mode => 0644, owner => root, group => root;
- }
- file { nagios_cgi_cfg:
- path => "/etc/nagios/cgi.cfg",
+ }
+
+ file { 'nagios_cgi_cfg':
+ path => "${nagios_cfgdir}/cgi.cfg",
source => [ "puppet://$server/modules/site-nagios/configs/${fqdn}/cgi.cfg",
"puppet://$server/modules/site-nagios/configs/${operatingsystem}/cgi.cfg",
"puppet://$server/modules/site-nagios/configs/cgi.cfg",
"puppet://$server/modules/nagios/configs/${operatingsystem}/cgi.cfg",
"puppet://$server/modules/nagios/configs/cgi.cfg" ],
- owner => 'root',
- group => 0,
- mode => '0644',
+ mode => '0644', owner => 'root', group => 0,
notify => Service['apache'],
}
- file {"/etc/nagios/htpasswd.users":
- source => [
- "puppet://$server/modules/site-nagios/htpasswd.users",
- "puppet://$server/modules/nagios/htpasswd.users" ],
- mode => 0640, owner => root, group => apache;
- }
- file{[ "/etc/nagios/nagios_command.cfg",
- "/etc/nagios/nagios_contact.cfg",
- "/etc/nagios/nagios_contactgroup.cfg",
- "/etc/nagios/nagios_host.cfg",
- "/etc/nagios/nagios_hostextinfo.cfg",
- "/etc/nagios/nagios_hostgroup.cfg",
- "/etc/nagios/nagios_hostgroupescalation.cfg",
- "/etc/nagios/nagios_service.cfg",
- "/etc/nagios/nagios_servicedependency.cfg",
- "/etc/nagios/nagios_serviceescalation.cfg",
- "/etc/nagios/nagios_serviceextinfo.cfg",
- "/etc/nagios/nagios_timeperdiod.cfg" ]:
- ensure => file,
- replace => false,
- notify => Service[nagios],
- mode => 0644, owner => root, group => 0;
+ file { 'nagios_htpasswd':
+ path => "${nagios_cfgdir}/htpasswd.users",
+ source => [ "puppet://$server/modules/site-nagios/htpasswd.users",
+ "puppet://$server/modules/nagios/htpasswd.users" ],
+ mode => 0640, owner => root, group => apache;
}
- nagios::plugin{'check_jabber_login': }
+ file { 'nagios_private':
+ path => "${nagios_cfgdir}/private/",
+ source => "puppet://$server/modules/common/empty",
+ ensure => directory,
+ purge => true,
+ recurse => true,
+ notify => Service['nagios'],
+ mode => '0750', owner => root, group => nagios;
+ }
- nagios::command{
- ssh_port:
- command_line => '$USER1$/check_ssh -p $ARG1$ $HOSTADDRESS$';
- # from apache2.pp
- http_port:
- command_line => '$USER1$/check_http -p $ARG1$ -H $HOSTADDRESS$ -I $HOSTADDRESS$';
- # from bind.pp
- check_dig2:
- command_line => '$USER1$/check_dig -H $HOSTADDRESS$ -l $ARG1$ --record_type=$ARG2$';
- check_ntp_time:
- command_line => '$USER1$/check_ntp_time -H $HOSTADDRESS$ -w 0.5 -c 1';
- check_http_url:
- command_line => '$USER1$/check_http -H $ARG1$ -u $ARG2$';
- check_http_url_regex:
- command_line => '$USER1$/check_http -H $ARG1$ -u $ARG2$ -e $ARG3$';
- check_https_url:
- command_line => '$USER1$/check_http --ssl -H $ARG1$ -u $ARG2$';
- check_https_url_regex:
- command_line => '$USER1$/check_http --ssl -H $ARG1$ -u $ARG2$ -e $ARG3$';
- check_https:
- command_line => '$USER1$/check_http -S -H $HOSTADDRESS$';
- check_silc:
- command_line => '$USER1$/check_tcp -p 706 -H $ARG1$';
- check_sobby:
- command_line => '$USER1$/check_tcp -H $ARG1$ -p $ARG2$';
- check_jabber:
- command_line => '$USER1$/check_jabber -H $ARG1$';
- check_jabber_login:
- command_line => '$USER1$/check_jabber_login $ARG1$ $ARG2$',
- require => Nagios::Plugin['check_jabber_login'];
- }
+ file { 'nagios_private_resource_cfg':
+ path => "${nagios_cfgdir}/private/resource.cfg",
+ source => "puppet://$server/nagios/configs/${operatingsystem}/private/resource.cfg.${architecture}",
+ notify => Service['nagios'],
+ owner => root, group => nagios, mode => '0640';
+ }
+
+ file { 'nagios_confd':
+ path => "${nagios_cfgdir}/conf.d/",
+ source => "puppet://$server/modules/common/empty",
+ ensure => directory,
+ purge => true,
+ recurse => true,
+ notify => Service['nagios'],
+ mode => '0750', owner => root, group => nagios;
+ }
Nagios_command <<||>>
Nagios_contact <<||>>
@@ -119,15 +82,87 @@ class nagios::base {
Nagios_serviceextinfo <<||>>
Nagios_timeperiod <<||>>
- if $use_munin {
- include munin::plugins::nagios
+ Nagios_command <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_command.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_contact <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_contact.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_contactgroup <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_contactgroup.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_host <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_host.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_hostextinfo <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_hostextinfo.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_hostgroup <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_hostgroup.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_hostgroupescalation <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_hostgroupescalation.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_service <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_service.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_servicedependency <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_servicedependency.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_serviceescalation <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_serviceescalation.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_serviceextinfo <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_serviceextinfo.cfg",
+ notify => Service['nagios'],
+ }
+ Nagios_timeperiod <||> {
+ target => "${nagios_cfgdir}/conf.d/nagios_timeperiod.cfg",
+ notify => Service['nagios'],
+ }
+
+ file{[ "${nagios_cfgdir}/conf.d/nagios_command.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_contact.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_contactgroup.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_host.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_hostextinfo.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_hostgroup.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_hostgroupescalation.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_service.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_servicedependency.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_serviceescalation.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_serviceextinfo.cfg",
+ "${nagios_cfgdir}/conf.d/nagios_timeperiod.cfg" ]:
+ ensure => file,
+ replace => false,
+ notify => Service['nagios'],
+ mode => 0644, owner => root, group => 0;
}
- if $nagios_allow_external_cmd {
- file{'/var/spool/nagios/cmd':
- ensure => 'directory',
- require => Package['nagios'],
- owner => apache, group => nagios, mode => 2660;
- }
+ # manage nagios cfg files
+ # must be defined after exported resource overrides and cfg file defs
+ file { 'nagios_cfgdir':
+ path => "${nagios_cfgdir}/",
+ source => "puppet://$server/modules/common/empty",
+ ensure => directory,
+ recurse => true,
+ purge => true,
+ notify => Service['nagios'],
+ mode => 0755, owner => root, group => root;
+ }
+
+ if $use_munin {
+ include nagios::munin
}
+
}