X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fnagios%2Fmanifests%2Fserver.pp;h=95b4c3b544f150c6d62125a0a839a54a9cad61c0;hb=01cd3002a8cd5624522fbe5ac90b90e2a7149cde;hp=39a48ff394a1f0c006f7d6139c787ad673c2e035;hpb=b868d89e2521786a56e74ceadf819c7fd99d56ae;p=mirror%2Fdsa-puppet.git diff --git a/modules/nagios/manifests/server.pp b/modules/nagios/manifests/server.pp index 39a48ff39..95b4c3b54 100644 --- a/modules/nagios/manifests/server.pp +++ b/modules/nagios/manifests/server.pp @@ -1,80 +1,136 @@ -class nagios::server inherits nagios::client { - package { - nagios3: ensure => installed; - nagios-nrpe-plugin: ensure => installed; - nagios-plugins: ensure => installed; - nagios-images: ensure => installed; +class nagios::server { + include apache2 + include apache2::ssl + include apache2::authn_anon + + ssl::service { 'nagios.debian.org': + notify => Exec['service apache2 reload'], + key => true, + } + apache2::site { "10-nagios.debian.org": + site => "nagios.debian.org", + content => template('nagios/nagios.debian.org.conf.erb'), } - file { - "/etc/nagios-plugins/config/local-dsa-checkcommands.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/checkcommands.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; + ensure_packages( [ + 'icinga', + 'make', + 'monitoring-plugins', + 'nagios-nrpe-plugin', + ], { ensure => 'installed' }) + + service { 'icinga': + ensure => running, + require => Package['icinga'], + } - "/etc/nagios3/cgi.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/cgi.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/nagios.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/nagios.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; + file { '/etc/icinga/apache2.conf': + content => template('nagios/icinga-apache2.conf.erb'), + notify => Exec['service apache2 reload'], + } + file { '/srv/nagios.debian.org/htpasswd': + mode => '0640', + owner => 'root', + group => 'www-data', + } + file { '/etc/icinga/cgi.cfg': + ensure => symlink, + target => 'config-pushed/static/cgi.cfg', + notify => Exec['service apache2 reload'], + } + file { '/etc/icinga/icinga.cfg': + ensure => symlink, + target => 'config-pushed/static/icinga.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects': + ensure => directory, + mode => '755', + purge => true, + recurse => true, + force => true, + source => "puppet:///files/empty/", + notify => Service['icinga'], + } + file { '/etc/icinga/objects/contacts.cfg': + ensure => symlink, + target => '../config-pushed/static/objects/contacts.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/generic-host.cfg': + ensure => symlink, + target => '../config-pushed/static/objects/generic-host.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/generic-service.cfg': + ensure => symlink, + target => '../config-pushed/static/objects/generic-service.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/timeperiods.cfg': + ensure => symlink, + target => '../config-pushed/static/objects/timeperiods.cfg', + notify => Service['icinga'], + } - "/etc/nagios3/puppetconf.d": - mode => 755, - ensure => directory; + file { '/etc/icinga/objects/xauto-dependencies.cfg': + ensure => symlink, + target => '../config-pushed/generated/auto-dependencies.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/xauto-hostgroups.cfg': + ensure => symlink, + target => '../config-pushed/generated/auto-hostgroups.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/xauto-hosts.cfg': + ensure => symlink, + target => '../config-pushed/generated/auto-hosts.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/xauto-servicegroups.cfg': + ensure => symlink, + target => '../config-pushed/generated/auto-servicegroups.cfg', + notify => Service['icinga'], + } + file { '/etc/icinga/objects/xauto-services.cfg': + ensure => symlink, + target => '../config-pushed/generated/auto-services.cfg', + notify => Service['icinga'], + } - "/etc/nagios3/puppetconf.d/contacts.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/conf.d/contacts.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/generic-host.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/conf.d/generic-host.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/generic-service.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/conf.d/generic-service.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/timeperiods.cfg": - source => [ "puppet:///nagios/dsa-nagios/static/conf.d/timeperiods.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; + file { '/etc/nagios-plugins/config/local-dsa-checkcommands.cfg': + ensure => symlink, + target => '../../icinga/config-pushed/static/checkcommands.cfg', + notify => Service['icinga'], + } + file { '/etc/nagios-plugins/config/local-dsa-eventhandlers.cfg': + ensure => symlink, + target => '../../icinga/config-pushed/static/eventhandlers.cfg', + notify => Service['icinga'], + } - "/etc/nagios3/puppetconf.d/auto-dependencies.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-dependencies.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/auto-hostextinfo.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-hostextinfo.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/auto-hostgroups.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-hostgroups.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/auto-hosts.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-hosts.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/auto-serviceextinfo.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-serviceextinfo.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/auto-servicegroups.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-servicegroups.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; - "/etc/nagios3/puppetconf.d/auto-services.cfg": - source => [ "puppet:///nagios/dsa-nagios/generated/auto-services.cfg" ], - require => Package["nagios3"], - notify => Exec["nagios3 reload"]; + file { '/etc/icinga/config-pushed': + ensure => symlink, + target => '/srv/nagios.debian.org/config-pushed' + } + file { '/srv/nagios.debian.org': + ensure => directory, + mode => '0755', + } + file { '/srv/nagios.debian.org/config-pushed': + ensure => directory, + mode => '0755', + owner => 'nagiosadm', + group => 'nagiosadm', } - exec { "nagios3 reload": - path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", - refreshonly => true, + concat::fragment { 'dsa-puppet-stuff--nagios--restart-stale-icinga': + target => '/etc/cron.d/dsa-puppet-stuff', + order => '010', + content => @(EOF) + */15 * * * * root find /var/lib/icinga/status.dat -mmin +20 | grep -q . && service icinga restart + | EOF } }