ansible/roles/nagios_client/tasks/main.yml
2014-07-19 17:32:11 +00:00

137 lines
3.8 KiB
YAML

# nagios-client/nrpe
---
# install pkgs:
- name: install nagios client pkgs
yum: name={{ item }} state=installed
with_items:
- nrpe
- nagios-plugins
- nagios-plugins-disk
- nagios-plugins-file_age
- nagios-plugins-users
- nagios-plugins-procs
- nagios-plugins-swap
- nagios-plugins-load
- nagios-plugins-ping
tags:
- packages
- nagios_client
- name: install local nrpe check scripts that are not packaged
copy: src="scripts/{{ item }}" dest="{{ libdir }}/nagios/plugins/{{ item }}" mode=0755 owner=nagios group=nagios
with_items:
- check_postfix_queue
- check_raid.py
- check_lock
- check_fcomm_queue
- check_fedmsg_consumer_backlog.py
- check_fedmsg_consumer_exceptions.py
- check_fedmsg_producers_consumers.py
- check_supybot_plugin
- check_datanommer_timesince.py
tags:
- nagios_client
# create dirs
# puppet used to make /var/spool/nagios (owned by nagios.nagios) mode 750
# and /usr/lib/nagios/plugins (owned by root) mode 755 - but we don't know WHY
# then stuff it with plugins from the plugins dir in the nagios module
# then we symlinked that to /usr/lib64/nagios/plugins
# it was a nightmare - don't do that - my ghost will haunt you if you do
# skvidal 2013-05-21
# Three tasks for handling our custom selinux module
- name: ensure a directory exists for our custom selinux module
file: dest=/usr/share/nrpe state=directory
- name: copy over our custom selinux module
copy: src=selinux/fi-nrpe.pp dest=/usr/share/nrpe/fi-nrpe.pp
register: selinux_module
- name: install our custom selinux module
command: semodule -i /usr/share/nrpe/fi-nrpe.pp
when: ansible_distribution_major_version == '7' and selinux_module|changed
# Set up our base config.
- name: /etc/nagios/nrpe.cfg
template: src=nrpe.cfg.j2 dest=/etc/nagios/nrpe.cfg
when: not inventory_hostname.startswith('noc')
notify:
- restart nrpe
tags:
- config
- nagios_client
#
# The actual items files here end in .j2 (they are templates)
# So when adding or modifying them change the .j2 version in git.
#
- name: install nrpe client configs
template: src={{ item }}.j2 dest=/etc/nrpe.d/{{ item }}
with_items:
- check_mirrorlist_cache.cfg
- check_raid.cfg
- check_cron.cfg
- check_disk.cfg
- check_swap.cfg
- check_postfix_queue.cfg
- check_lock.cfg
- check_fedmsg_hub_proc.cfg
- check_fedmsg_irc_proc.cfg
- check_fedmsg_relay_proc.cfg
- check_fedmsg_gateway_proc.cfg
- check_redis_proc.cfg
- check_fcomm_cache_worker_proc.cfg
- check_fcomm_queue.cfg
- check_fedmsg_consumers.cfg
- check_supybot_fedmsg_plugin.cfg
- check_datanommer_history.cfg
notify:
- restart nrpe
tags:
- config
- nagios_client
#
# The actual items files here end in .j2 (they are templates)
# So when adding or modifying them change the .j2 version in git.
#
- name: install nrpe openvpn check config
template: src=check_openvpn_link.cfg.j2 dest=/etc/nrpe.d/check_openvpn_link.cfg
when: datacenter != 'phx2'
notify:
- restart nrpe
tags:
- nagios_client
#
# The actual items files here end in .j2 (they are templates)
# So when adding or modifying them change the .j2 version in git.
#
- name: install nrpe unbound check config
template: src=check_unbound_proc.cfg.j2 dest=/etc/nrpe.d/check_unbound_proc.cfg
when: inventory_hostname.startswith('unbound')
notify:
- restart nrpe
tags:
- nagios_client
#
# The actual items files here end in .j2 (they are templates)
# So when adding or modifying them change the .j2 version in git.
#
- name: install nrpe merged log check script on log01
template: src=check_merged_file_age.cfg.j2 dest=/etc/nrpe.d/check_merged_file_age.cfg
when: inventory_hostname.startswith('log0')
notify:
- restart nrpe
tags:
- nagios_client
- name: nrpe service start
service: name=nrpe state=running enabled=true
tags:
- service
- nagios_client