From 9a052b78ae15a4c7ada57fb779e170648f512d22 Mon Sep 17 00:00:00 2001 From: Stephen Smoogen Date: Tue, 10 Jan 2017 19:54:23 +0000 Subject: [PATCH] try and make this work with a template --- .../files/nagios/services-staging/disk.cfg | 76 +++++++++++++++++++ .../{services => services-staging}/mgmt.cfg | 0 .../files/nagios/services-staging/ping.cfg | 14 ++++ .../files/nagios/services-staging/ssh.cfg | 36 +++++++++ .../templates-staging.cfg} | 33 +++----- .../files/nagios/services/templates.cfg | 33 +++----- roles/nagios_server/tasks/main.yml | 55 +++++++++++++- .../templates/nagios/services/mgmt.cfg.j2 | 20 +++++ 8 files changed, 218 insertions(+), 49 deletions(-) create mode 100644 roles/nagios_server/files/nagios/services-staging/disk.cfg rename roles/nagios_server/files/nagios/{services => services-staging}/mgmt.cfg (100%) create mode 100644 roles/nagios_server/files/nagios/services-staging/ping.cfg create mode 100644 roles/nagios_server/files/nagios/services-staging/ssh.cfg rename roles/nagios_server/files/nagios/{services-staging/templates.cfg => services/templates-staging.cfg} (89%) create mode 100644 roles/nagios_server/templates/nagios/services/mgmt.cfg.j2 diff --git a/roles/nagios_server/files/nagios/services-staging/disk.cfg b/roles/nagios_server/files/nagios/services-staging/disk.cfg new file mode 100644 index 0000000000..b1d8ad1b02 --- /dev/null +++ b/roles/nagios_server/files/nagios/services-staging/disk.cfg @@ -0,0 +1,76 @@ +define service { + hostgroup_name virtservers + service_description Disk Space / + check_command check_by_nrpe!check_disk_/ + use disktemplate +} + +define service { + hostgroup_name virtservers,proxies + service_description Disk Space /boot + check_command check_by_nrpe!check_disk_/boot + use disktemplate +} + +define service { + hostgroup_name hosted + service_description Disk Space /srv + check_command check_by_nrpe!check_disk_/srv + use disktemplate +} + +define service { + hostgroup_name qahardware + service_description Disk Space /srv + check_command check_by_nrpe!check_disk_/srv + use disktemplate +} + +define service { + hostgroup_name taskotron + service_description Disk Space /srv/buildmaster + check_command check_by_nrpe!check_disk_/srv/buildmaster + use disktemplate +} + +define service { + hostgroup_name taskotron + service_description Disk Space /srv/taskotron + check_command check_by_nrpe!check_disk_/srv/taskotron + use disktemplate +} + +define service { + host_name log01.phx2.fedoraproject.org + service_description Disk space /var/log + check_command check_by_nrpe!check_disk_/var/log + use disktemplate +} + +define service { + hostgroup_name pkgs + service_description Check read-only filesystem + check_command check_by_nrpe!check_readonly_fs + use disktemplate +} + +define service { + hostgroup_name pkgs + service_description Disk space /srv/cache/lookaside + check_command check_by_nrpe!check_disk_/srv/cache/lookaside + use disktemplate +} + +define service { + hostgroup_name koji + service_description Disk space / + check_command check_by_nrpe!check_disk_/ + use ppc-secondarytemplate +} + +define service { + hostgroup_name retrace + service_description Disk space / + check_command check_by_nrpe!check_disk_/ + use retracetemplate +} diff --git a/roles/nagios_server/files/nagios/services/mgmt.cfg b/roles/nagios_server/files/nagios/services-staging/mgmt.cfg similarity index 100% rename from roles/nagios_server/files/nagios/services/mgmt.cfg rename to roles/nagios_server/files/nagios/services-staging/mgmt.cfg diff --git a/roles/nagios_server/files/nagios/services-staging/ping.cfg b/roles/nagios_server/files/nagios/services-staging/ping.cfg new file mode 100644 index 0000000000..dae065e41d --- /dev/null +++ b/roles/nagios_server/files/nagios/services-staging/ping.cfg @@ -0,0 +1,14 @@ +define service { + hostgroup_name all + service_description ICMP-Ping4 + check_command check_ping4!350.0,20%!500.0,60% + use criticaltemplate +} + +# define service { +# hostgroup_name all +# service_description ICMP-Ping6 +# check_command check_ping6!350.0,20%!500.0,60% +# use criticaltemplate +# } + diff --git a/roles/nagios_server/files/nagios/services-staging/ssh.cfg b/roles/nagios_server/files/nagios/services-staging/ssh.cfg new file mode 100644 index 0000000000..ea46ff56bf --- /dev/null +++ b/roles/nagios_server/files/nagios/services-staging/ssh.cfg @@ -0,0 +1,36 @@ +define service { + hostgroup_name virtservers + service_description SSH-virtservers + check_command check_ssh + use defaulttemplate +} + +define service { + hostgroup_name bastion + service_description SSH-bastion + check_command check_ssh + use defaulttemplate +} + +#define service { +# hostgroup_name buildservers +# service_description SSH +# check_command check_ssh +# use defaulttemplate +# retry_check_interval 5 +# max_check_attempts 12 +#} + +#define service { +# hostgroup_name autoqa +# service_description SSH +# check_command check_ssh +# use autoqatemplate +#} + +define service { + hostgroup_name retrace + service_description SSH-retrace + check_command check_ssh + use retracetemplate +} diff --git a/roles/nagios_server/files/nagios/services-staging/templates.cfg b/roles/nagios_server/files/nagios/services/templates-staging.cfg similarity index 89% rename from roles/nagios_server/files/nagios/services-staging/templates.cfg rename to roles/nagios_server/files/nagios/services/templates-staging.cfg index eb220aaa83..5538eaff1d 100644 --- a/roles/nagios_server/files/nagios/services-staging/templates.cfg +++ b/roles/nagios_server/files/nagios/services/templates-staging.cfg @@ -146,30 +146,17 @@ define service { register 0 } - define service { - use defaulttemplate - name passivetemplate - active_checks_enabled 0 - passive_checks_enabled 1 - check_command check_dummy!0 - check_period 24x7 - check_freshness 0 - register 0 -} +define service { + use defaulttemplate + name passivetemplate + active_checks_enabled 0 + passive_checks_enabled 1 + check_command check_dummy!0 + check_period 24x7 + check_freshness 0 -#define service { -# name autoqatemplate -# max_check_attempts 3 -# normal_check_interval 10 -# retry_check_interval 1 -# check_period 24x7 -# notification_interval 360 -# notification_period 24x7 -# notification_options w,u,c,r -# contact_groups sysadmin-qa-email -# -# register 0 -#} + register 0 +} define service { name ppc-secondarytemplate diff --git a/roles/nagios_server/files/nagios/services/templates.cfg b/roles/nagios_server/files/nagios/services/templates.cfg index eb220aaa83..5538eaff1d 100644 --- a/roles/nagios_server/files/nagios/services/templates.cfg +++ b/roles/nagios_server/files/nagios/services/templates.cfg @@ -146,30 +146,17 @@ define service { register 0 } - define service { - use defaulttemplate - name passivetemplate - active_checks_enabled 0 - passive_checks_enabled 1 - check_command check_dummy!0 - check_period 24x7 - check_freshness 0 - register 0 -} +define service { + use defaulttemplate + name passivetemplate + active_checks_enabled 0 + passive_checks_enabled 1 + check_command check_dummy!0 + check_period 24x7 + check_freshness 0 -#define service { -# name autoqatemplate -# max_check_attempts 3 -# normal_check_interval 10 -# retry_check_interval 1 -# check_period 24x7 -# notification_interval 360 -# notification_period 24x7 -# notification_options w,u,c,r -# contact_groups sysadmin-qa-email -# -# register 0 -#} + register 0 +} define service { name ppc-secondarytemplate diff --git a/roles/nagios_server/tasks/main.yml b/roles/nagios_server/tasks/main.yml index 8be774d369..5dc8059002 100644 --- a/roles/nagios_server/tasks/main.yml +++ b/roles/nagios_server/tasks/main.yml @@ -150,7 +150,41 @@ ## Copy over the services - name: Copy /etc/nagios/services (production) - synchronize: src=nagios/services/ dest=/etc/nagios/services/ + copy: src=nagios/services/{{ item }} dest=/etc/nagios/services/{{ item }} + with_items: + - autocloud.cfg + - basset.cfg + - copr.cfg + - db_backups.cfg + - disk.cfg + - dns.cfg + - fedmsg.cfg + - file_age.cfg + - fmn.cfg + - haproxy.cfg + - haproxy_mirrorlist.cfg + - hosted.cfg + - ipa.cfg + - koji.cfg + - koschei.cfg + - locking.cfg + - mail_queue.cfg + - memcached.cfg + - nagios.cfg + - nrpe.cfg + - osbs.cfg + - pgsql.cfg + - ping.cfg + - procs.cfg + - raid.cfg + - smtp-mm.cfg + - ssh.cfg + - ssl.cfg + - swap.cfg + - unbound.cfg + - vpnclients.cfg + - websites.cfg + - templates.cfg tags: - nagios-config - nagios_server @@ -158,8 +192,16 @@ notify: restart nagios ## Copy over the services -- name: Copy /etc/nagios/services (staging) - synchronize: src=nagios/services-staging/ dest=/etc/nagios/services/ +- name: Copy /etc/nagios/services (production) + copy: src=nagios/services/{{ item }} dest=/etc/nagios/services/{{ item }} + with_items: + - disk.cfg + - mail_queue.cfg + - ping.cfg + - procs.cfg + - raid.cfg + - ssh.cfg + - templates.cfg tags: - nagios-config - nagios_server @@ -204,6 +246,13 @@ tags: - nagios_server +- name: Template over services + template: src=nagios/services/{{item}}.j2 dest=/etc/nagios/services/{{item}} mode=0644 owner=root group=root + with_items: + - phx2-mgmt.cfg + tags: + - nagios_server + - name: Build out nagios host templates (production) template: src=nagios/hosts/{{item}}.j2 dest=/etc/nagios/hosts/{{item}} mode=0644 owner=root group=root with_items: diff --git a/roles/nagios_server/templates/nagios/services/mgmt.cfg.j2 b/roles/nagios_server/templates/nagios/services/mgmt.cfg.j2 new file mode 100644 index 0000000000..921c4f2c20 --- /dev/null +++ b/roles/nagios_server/templates/nagios/services/mgmt.cfg.j2 @@ -0,0 +1,20 @@ +# HTTP + +{% for host in vars['phx2_management_hosts'] %} +define service { + host_name {{ host }} + service_description {{ host }}-http + check_command check_http!{{ host }} + use defaulttemplate +} + +define service { + host_name {{ host }} + service_description {{ host }}-https + check_command check_https!{{ host }} + use defaulttemplate +} + + +{% endfor %} +