From f839bd1db9f3d7f5b664d0e7d4f1f1f0eb02d3da Mon Sep 17 00:00:00 2001 From: Markus Hauschild Date: Sat, 2 Mar 2024 21:01:42 +0100 Subject: [PATCH] icinga_agent: add basic disk monitoring --- roles/icinga-monitor/tasks/disk.yml | 17 +++++++++++++++++ roles/icinga-monitor/templates/disk.j2 | 8 ++++++++ roles/icinga_agent/tasks/main.yml | 7 +++++++ 3 files changed, 32 insertions(+) create mode 100644 roles/icinga-monitor/tasks/disk.yml create mode 100644 roles/icinga-monitor/templates/disk.j2 diff --git a/roles/icinga-monitor/tasks/disk.yml b/roles/icinga-monitor/tasks/disk.yml new file mode 100644 index 0000000..4948c02 --- /dev/null +++ b/roles/icinga-monitor/tasks/disk.yml @@ -0,0 +1,17 @@ +--- + +- name: Configure monitoring for disk + template: + src: disk.j2 + dest: /etc/icinga2/conf.d/hosts/{{ inventory_hostname }}.disk + owner: "{{ icinga_user }}" + group: "{{ icinga_group }}" + delegate_to: "{{ icinga_server }}" + +- name: Regenerate hosts.conf + assemble: + src: /etc/icinga2/conf.d/hosts + dest: /etc/icinga2/conf.d/hosts.conf +# validate: /usr/sbin/icinga2 daemon -c %s --validate + notify: Restart icinga2 + delegate_to: "{{ icinga_server }}" diff --git a/roles/icinga-monitor/templates/disk.j2 b/roles/icinga-monitor/templates/disk.j2 new file mode 100644 index 0000000..090dc0f --- /dev/null +++ b/roles/icinga-monitor/templates/disk.j2 @@ -0,0 +1,8 @@ +{% for disk in disks %} + + vars.disks["{{ disk }}"] = { + disk_partitions = "{{ disks }}" + disk_wfree = "10%" + disk_cfree = "5%" + } +{% endfor %} diff --git a/roles/icinga_agent/tasks/main.yml b/roles/icinga_agent/tasks/main.yml index 221714a..283024a 100644 --- a/roles/icinga_agent/tasks/main.yml +++ b/roles/icinga_agent/tasks/main.yml @@ -56,3 +56,10 @@ - --accept-commands - --accept-config when: not cert_file.stat.exists + +# TODO expand this to cover more than just the root partition +- name: Monitor disks + include_role: name=icinga-monitor tasks_from=disk + vars: + disks: + - "/"