Files
nagios/roles/pips/tasks/nagios_tasks.yml
T

97 lines
2.5 KiB
YAML

- name: Gather installed package facts
package_facts:
manager: auto
- name: Debug OS family fact
debug:
msg: "{{ ansible_facts['os_family'] }} is the OS"
- name: Set NRPE package name
set_fact:
nrpe_package: >
{% if ansible_facts['os_family'] == 'Debian' %}
nagios-nrpe-plugin
{% elif ansible_facts['os_family'] == 'RedHat' %}
nagios-plugins-nrpe.x86_64
{% else %}
nrpe
{% endif %}
- name: Check if nagios NRPE is installed
debug:
msg: "NRPE is installed."
when: {{ nrpe_package }} in ansible_facts.packages"
- name: Ensure NRPE is installed (Debian/Ubuntu)
apt:
name: "{{ nrpe_package }}"
state: present
become: true
register: nrpe_install_result
when: "{{ ansible_facts['os_family'] }} == 'Debian' "
- name: Ensure NRPE is installed (RedHat/CentOS)
yum:
name: "{{ nrpe_package }}"
state: present
become: yes
register: nrpe_install_result
when: "{{ ansible_facts['os_family'] }} == 'RedHat' "
- name: Ensure NRPE is installed (FreeBSD)
ansible.builtin.pkgng:
name: "{{ nrpe_package }}"
state: present
become: yes
register: nrpe_install_result
when:
- ansible_facts['os_family'] == 'FreeBSD'
- name: Set psutil_installed fact if any package name contains "psutil"
ansible.builtin.set_fact:
psutil_installed: "{{ (ansible_facts.packages | default({}) | dict2items | map(attribute='key') | select('search','psutil') | list) | length > 0 }}"
- name: Debug psutil presence
ansible.builtin.debug:
msg: "psutil already installed on host."
when: psutil_installed
- name: Ensure python3-psutil is installed (Debian/Ubuntu)
ansible.builtin.apt:
name: python3-psutil
state: present
become: yes
register: psutil_install_result
when:
- ansible_facts['os_family'] == 'Debian'
- not psutil_installed
- name: Ensure python3-psutil is installed (RedHat/CentOS)
ansible.builtin.yum:
name: python3-psutil
state: present
become: yes
register: psutil_install_result
when:
- ansible_facts['os_family'] == 'RedHat'
- not psutil_installed
- name: Ensure psutil is installed (FreeBSD)
ansible.builtin.pkgng:
name: python3-psutil
state: present
become: yes
register: psutil_install_result
when:
- ansible_facts['os_family'] == 'FreeBSD'
- not psutil_installed
- name: Deploy custom Nagios/NRPE script
ansible.builtin.copy:
src: memory_usage_check.py
dest: /usr/local/nagios/libexec/my_custom_check.py
mode: '0755'
when: nrpe_install_result is defined and nrpe_install_result.changed