From f8806f30d9df7657ac386b0184908b960513c378 Mon Sep 17 00:00:00 2001 From: Sheppy Date: Wed, 4 Jan 2023 03:44:47 +0100 Subject: [PATCH] update: monitoring master stucture --- playbook.yaml | 2 +- roles/monitoring-master/tasks/grafana.yaml | 16 ++++ roles/monitoring-master/tasks/icinga.yaml | 94 ++++++++++++++++++ roles/monitoring-master/tasks/main.yaml | 105 +++------------------ 4 files changed, 123 insertions(+), 94 deletions(-) create mode 100644 roles/monitoring-master/tasks/grafana.yaml create mode 100644 roles/monitoring-master/tasks/icinga.yaml diff --git a/playbook.yaml b/playbook.yaml index bc20eca..8d1bfd0 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -8,4 +8,4 @@ - hosts: monitoring roles: - - { role : monitoring-master, tags : [ "monitoring-master" ] } + - { role : monitoring-master, tags : [ "monitoring-master", "icinga", "grafana" ] } diff --git a/roles/monitoring-master/tasks/grafana.yaml b/roles/monitoring-master/tasks/grafana.yaml new file mode 100644 index 0000000..1b2fff8 --- /dev/null +++ b/roles/monitoring-master/tasks/grafana.yaml @@ -0,0 +1,16 @@ +- name: Create Compose Directory + file: + path: /opt/ + state: directory + +- name: Create Data Volume Directory + file: + path: /var/grafana/ + state: directory + owner: 472 # grafana docker uid + group: root + +- name: Copy Grafana Compose file + template: + src: grafana.yaml.j2 + dest: /opt/ diff --git a/roles/monitoring-master/tasks/icinga.yaml b/roles/monitoring-master/tasks/icinga.yaml new file mode 100644 index 0000000..3c018a2 --- /dev/null +++ b/roles/monitoring-master/tasks/icinga.yaml @@ -0,0 +1,94 @@ +- name: Install Dependecies + apt: + name: git + state: present + +- name: Clone Passive Monitoring + git: + repo: https://github.com/FAUSheppy/icinga-passive-checks-monitoring + dest: "/etc/monitoring/" + version: master + +- name: Clone Monitoring tools + git: + repo: https://github.com/FAUSheppy/monitoring-tools + dest: "/etc/monitoring-tools/" + version: master + +- name: Set monitoring tools permissions + file: + dest: /etc/monitoring-tools/ + owner: root + mode: u=rwX,g=rX,o=rX + recurse: yes + +- name: Set monitoring permissions + file: + dest: /etc/monitoring/ + owner: root + mode: u=rwX,g=rX,o=rX + recurse: yes + +- name: Copy nsca-ng and send_nsca to /bin/ + copy: + src: nsca-ng + dest: /bin/nsca-ng + mode: 0755 + +- name: Copy nsca-ng and send_nsca to /bin/ + copy: + src: send_nsca + dest: /bin/send_nsca + mode: 0755 + +- name: Create nsca server directory + file: + path: /etc/nsca-ng/ + mode: 0750 + owner: root + group: nagios + +- name: Copy nsca server config + copy: + src: nsca_server.conf + dest: /etc/nsca-ng/nsca-ng.cfg + owner: root + group: nagios + mode: 0644 + +- name: Copy nsca systemd unit + copy: + src: nsca-ng.service + dest: /etc/systemd/user/nsca-ng.service + mode: 0644 + notify: + - nsca-ng service reload + +- name: Enable and start nsca-ng + systemd: + name: nsca-ng.service + state: started + enabled: yes + +- name: Copy icinga configuration + copy: + src: "{{ item }}" + dest: /etc/icinga2/conf.d/ + owner: root + group: nagios + mode: 0640 + with_items: + - icinga_master_hosts.conf + - services_vhosts_http_checks.conf + - services_passive.conf + - services_passive_mail_extern.conf + - services_async.conf + notify: + - restart icinga + +- name: Signal command loaded from monitoring tools + lineinfile: + path: /etc/icinga2/icinga2.conf + line: '"include /etc/monitoring-tools/commands.d/signal-notify.conf"' + notify: + - restart icinga diff --git a/roles/monitoring-master/tasks/main.yaml b/roles/monitoring-master/tasks/main.yaml index 3c018a2..92af6cb 100644 --- a/roles/monitoring-master/tasks/main.yaml +++ b/roles/monitoring-master/tasks/main.yaml @@ -1,94 +1,13 @@ -- name: Install Dependecies - apt: - name: git - state: present +- name: Icinga + include: icinga.yaml + when: monitoring_master + tags: + - icinga + - monitoring-master -- name: Clone Passive Monitoring - git: - repo: https://github.com/FAUSheppy/icinga-passive-checks-monitoring - dest: "/etc/monitoring/" - version: master - -- name: Clone Monitoring tools - git: - repo: https://github.com/FAUSheppy/monitoring-tools - dest: "/etc/monitoring-tools/" - version: master - -- name: Set monitoring tools permissions - file: - dest: /etc/monitoring-tools/ - owner: root - mode: u=rwX,g=rX,o=rX - recurse: yes - -- name: Set monitoring permissions - file: - dest: /etc/monitoring/ - owner: root - mode: u=rwX,g=rX,o=rX - recurse: yes - -- name: Copy nsca-ng and send_nsca to /bin/ - copy: - src: nsca-ng - dest: /bin/nsca-ng - mode: 0755 - -- name: Copy nsca-ng and send_nsca to /bin/ - copy: - src: send_nsca - dest: /bin/send_nsca - mode: 0755 - -- name: Create nsca server directory - file: - path: /etc/nsca-ng/ - mode: 0750 - owner: root - group: nagios - -- name: Copy nsca server config - copy: - src: nsca_server.conf - dest: /etc/nsca-ng/nsca-ng.cfg - owner: root - group: nagios - mode: 0644 - -- name: Copy nsca systemd unit - copy: - src: nsca-ng.service - dest: /etc/systemd/user/nsca-ng.service - mode: 0644 - notify: - - nsca-ng service reload - -- name: Enable and start nsca-ng - systemd: - name: nsca-ng.service - state: started - enabled: yes - -- name: Copy icinga configuration - copy: - src: "{{ item }}" - dest: /etc/icinga2/conf.d/ - owner: root - group: nagios - mode: 0640 - with_items: - - icinga_master_hosts.conf - - services_vhosts_http_checks.conf - - services_passive.conf - - services_passive_mail_extern.conf - - services_async.conf - notify: - - restart icinga - -- name: Signal command loaded from monitoring tools - lineinfile: - path: /etc/icinga2/icinga2.conf - line: '"include /etc/monitoring-tools/commands.d/signal-notify.conf"' - notify: - - restart icinga +- name: Grafana.yaml + include: icinga.yaml + when: monitoring_master + tags: + - grafana + - monitoring-master