2022-10-19 18:23:54 +02:00
|
|
|
# yamllint disable rule:line-length
|
2018-12-28 11:23:49 +01:00
|
|
|
---
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Install nrpe"
|
2023-10-23 09:33:54 +02:00
|
|
|
community.general.openbsd_pkg:
|
2020-04-21 11:35:45 +02:00
|
|
|
name:
|
|
|
|
- nrpe--
|
2018-12-28 11:23:49 +01:00
|
|
|
state: present
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Install monitoring packages"
|
2023-10-23 09:33:54 +02:00
|
|
|
community.general.openbsd_pkg:
|
2020-04-21 11:35:45 +02:00
|
|
|
name:
|
|
|
|
- monitoring-plugins
|
2021-12-15 16:29:48 +01:00
|
|
|
- check_bioctl
|
2018-12-28 11:23:49 +01:00
|
|
|
state: present
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Create nrpe.d dir"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.file:
|
2018-12-28 11:23:49 +01:00
|
|
|
path: /etc/nrpe.d
|
|
|
|
state: directory
|
|
|
|
owner: root
|
|
|
|
group: wheel
|
|
|
|
mode: "0755"
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Include nrpe.d dir in nrpe.cfg"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.lineinfile:
|
2018-12-28 11:23:49 +01:00
|
|
|
dest: /etc/nrpe.cfg
|
|
|
|
line: 'include_dir=/etc/nrpe.d'
|
2023-11-09 17:08:13 +01:00
|
|
|
create: true
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2023-11-09 17:08:13 +01:00
|
|
|
- name: "Check if nrpe service exists, for usage in check_mode"
|
|
|
|
stat:
|
|
|
|
path: /etc/rc.d/nrpe
|
|
|
|
register: nrpe_exists
|
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Custom configuration is present"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.blockinfile:
|
2022-08-25 16:28:33 +02:00
|
|
|
block: "{{ lookup('template', 'evolix_bsd.cfg.j2') }}"
|
|
|
|
path: /etc/nrpe.d/evolix.cfg
|
|
|
|
marker: "## {mark} ANSIBLE MANAGED BLOCK : Custom NRPE configuration file from EvoBSD"
|
2022-10-19 18:23:54 +02:00
|
|
|
create: true
|
2022-04-13 16:57:39 +02:00
|
|
|
mode: "0644"
|
2022-08-25 16:28:33 +02:00
|
|
|
insertbefore: BOF
|
2018-12-28 11:23:49 +01:00
|
|
|
notify: restart nrpe
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2023-03-15 17:00:36 +01:00
|
|
|
- name: "Fetch nrpe config content"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.command: 'grep "allowed_hosts=" /etc/nrpe.d/evolix.cfg'
|
2023-03-15 17:00:36 +01:00
|
|
|
check_mode: false
|
|
|
|
register: nrpe_config_content
|
|
|
|
failed_when: false
|
|
|
|
changed_when: false
|
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
|
|
|
|
|
|
|
- name: "Allow NRPE hosts - if no allowed_hosts configured"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.lineinfile:
|
2022-08-25 16:28:33 +02:00
|
|
|
dest: /etc/nrpe.d/evolix.cfg
|
|
|
|
insertbefore: BOF
|
2023-03-15 17:00:36 +01:00
|
|
|
regex: "allowed_hosts={{ nagios_nrpe_allowed_hosts | join(',') }}"
|
|
|
|
line: 'allowed_hosts={{ nagios_nrpe_allowed_hosts | join(",") }}'
|
2023-11-09 17:08:13 +01:00
|
|
|
create: true
|
|
|
|
mode: "0644"
|
2023-03-15 17:00:36 +01:00
|
|
|
when: nrpe_config_content.rc != 0
|
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
|
|
|
|
|
|
|
- name: "Allow NRPE hosts - if allowed_hosts already configured : keep added IP"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.lineinfile:
|
2023-03-15 17:00:36 +01:00
|
|
|
dest: /etc/nrpe.d/evolix.cfg
|
2022-10-19 18:23:54 +02:00
|
|
|
backrefs: true
|
2023-03-15 17:00:36 +01:00
|
|
|
insertbefore: BOF
|
|
|
|
regex: "allowed_hosts={{ nagios_nrpe_allowed_hosts | join(',') }}(.*)*"
|
2022-08-25 16:28:33 +02:00
|
|
|
line: 'allowed_hosts={{ nagios_nrpe_allowed_hosts | join(",") }}\1'
|
2023-11-09 17:08:13 +01:00
|
|
|
create: true
|
|
|
|
mode: "0644"
|
2023-03-15 17:00:36 +01:00
|
|
|
when: nrpe_config_content.rc == 0
|
2022-08-25 16:28:33 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
|
|
|
|
|
|
|
- name: "Allow NRPE hosts - add comment"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.lineinfile:
|
2022-08-25 16:28:33 +02:00
|
|
|
dest: /etc/nrpe.d/evolix.cfg
|
|
|
|
insertbefore: BOF
|
|
|
|
line: "# Allowed IPs"
|
2023-11-09 17:08:13 +01:00
|
|
|
create: true
|
|
|
|
mode: "0644"
|
2022-08-25 16:28:33 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Create nrpe plugins dir"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.file:
|
2020-10-14 16:35:17 +02:00
|
|
|
path: /usr/local/libexec/nagios/plugins/
|
|
|
|
state: directory
|
|
|
|
owner: root
|
|
|
|
group: wheel
|
|
|
|
mode: "0755"
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
2020-10-14 16:35:17 +02:00
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Nagios plugins are installed"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.copy:
|
2020-07-09 15:44:25 +02:00
|
|
|
src: plugins_bsd/{{ item.name }}
|
|
|
|
dest: /usr/local/libexec/nagios/plugins/{{ item.name }}
|
2018-12-28 11:23:49 +01:00
|
|
|
owner: root
|
|
|
|
group: wheel
|
|
|
|
mode: "0755"
|
2020-07-09 15:44:25 +02:00
|
|
|
force: "{{ item.force }}"
|
|
|
|
with_items:
|
2020-07-09 16:09:19 +02:00
|
|
|
- {name: 'check_carp_if', force: true}
|
|
|
|
- {name: 'check_connections_state.sh', force: false}
|
|
|
|
- {name: 'check_ipsecctl.sh', force: false}
|
2021-10-15 11:55:46 +02:00
|
|
|
- {name: 'check_ipsecctl_critiques.sh', force: false}
|
2020-07-09 16:09:19 +02:00
|
|
|
- {name: 'check_openbgpd', force: true}
|
|
|
|
- {name: 'check_openvpn', force: false}
|
|
|
|
- {name: 'check_openvpn.pl', force: true}
|
|
|
|
- {name: 'check_ospfd_simple', force: true}
|
2020-10-13 12:02:48 +02:00
|
|
|
- {name: 'check_packetfilter.sh', force: true}
|
2020-10-14 12:13:52 +02:00
|
|
|
- {name: 'check_pf_states', force: false}
|
2021-07-27 18:02:49 +02:00
|
|
|
- {name: 'check_mailq.pl', force: true}
|
2022-03-31 11:57:45 +02:00
|
|
|
- {name: 'check_dhcp_pool', force: false}
|
2022-04-13 15:41:47 +02:00
|
|
|
- {name: 'check_dhcpd.sh', force: false}
|
2023-06-26 16:27:50 +02:00
|
|
|
- {name: 'check_ipmi_sensor', force: true}
|
2018-12-28 11:23:49 +01:00
|
|
|
notify: restart nrpe
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
|
|
|
- nagios-nrpe-utils
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Nagios plugins are installed - template"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.template:
|
2020-07-09 15:44:25 +02:00
|
|
|
src: plugins_bsd/{{ item.name }}.j2
|
|
|
|
dest: /usr/local/libexec/nagios/plugins/{{ item.name }}
|
2018-12-28 11:23:49 +01:00
|
|
|
owner: root
|
|
|
|
group: wheel
|
|
|
|
mode: "0755"
|
2020-07-09 15:44:25 +02:00
|
|
|
force: "{{ item.force }}"
|
2018-12-28 11:23:49 +01:00
|
|
|
with_items:
|
2020-07-09 16:09:19 +02:00
|
|
|
- {name: 'check_free_mem.sh', force: true}
|
2018-12-28 11:23:49 +01:00
|
|
|
notify: restart nrpe
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|
|
|
|
- nagios-nrpe-utils
|
2018-12-28 11:23:49 +01:00
|
|
|
|
2022-06-23 16:17:42 +02:00
|
|
|
- name: "Starting and enabling nrpe"
|
2023-10-23 09:33:54 +02:00
|
|
|
ansible.builtin.service:
|
2018-12-28 11:23:49 +01:00
|
|
|
name: nrpe
|
2020-06-01 11:37:15 +02:00
|
|
|
enabled: true
|
2018-12-28 11:23:49 +01:00
|
|
|
state: started
|
2023-11-09 17:08:13 +01:00
|
|
|
when: nrpe_exists.stat.exists
|
2022-06-23 18:35:39 +02:00
|
|
|
tags:
|
|
|
|
- nagios-nrpe
|