|
|
- ---
-
- ## Install and configure xymon client ##
-
- # Binaries
- - name: install xymon client debian
- apt: pkg={{item}} state=present update_cache=yes
- tags:
- - client-packages
- - xymon-client
- with_items:
- - xymon-client
- - hobbit-plugins
- when: ansible_distribution == 'Debian'
-
- - name: Install xymon client CentOS
- tags:
- - xymon-client
- - client-packages
- yum: pkg=xymon-client state=installed
- when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
-
- # Configuration
- - name: Configure Xymon ip on old Debian
- tags:
- - xymon-client
- - client-configuration
- lineinfile: name=/etc/default/hobbit-client regexp='^HOBBITSERVERS=' line='HOBBITSERVERS="{{xymon_server}}"'
- notify: restart hobbit-client
- when: ansible_distribution == 'Debian' and ansible_distribution_release != 'jessie'
-
- - name: Configure Xymon ip on Jessie
- tags:
- - xymon-client
- - client-configuration
- lineinfile: name=/etc/default/xymon-client regexp='^XYMONSERVERS=' line='XYMONSERVERS="{{xymon_server}}"'
- notify: restart xymon-client
- when: ansible_distribution == 'Debian' and ansible_distribution_release == 'jessie'
-
- - name: Configure Xymon ip on CentOS
- tags:
- - xymon-client
- - client-configuration
- lineinfile: name=/etc/sysconfig/xymon-client regexp='^XYMONSERVERS=' line='XYMONSERVERS="{{xymon_server}}"'
- notify: restart xymon-client
- when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
-
- - name: Configure local Xymon name on old debian
- tags:
- - xymon-client
- - client-configuration
- lineinfile: name=/etc/default/hobbit-client regexp='^CLIENTHOSTNAME=' line='CLIENTHOSTNAME="{{ansible_fqdn}}"'
- notify: restart hobbit-client
- when: ansible_distribution == 'Debian' and ansible_distribution_release != 'jessie' # and ansible_distribution_version < '7'
-
- - name: Configure local Xymon name on Jessie
- tags:
- - xymon-client
- - client-configuration
- lineinfile: name=/etc/default/xymon-client regexp='^CLIENTHOSTNAME=' line='CLIENTHOSTNAME="{{ansible_fqdn}}"'
- notify: restart hobbit-client
- when: ansible_distribution == 'Debian' and ansible_distribution_release == 'jessie'
-
- - name: Configure local Xymon name on Centos
- tags:
- - xymon-client
- - client-configuration
- lineinfile: name=/etc/sysconfig/xymon-client regexp='^CLIENTHOSTNAME=' line='CLIENTHOSTNAME="{{ansible_fqdn}}"'
- notify: restart xymon-client
- when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
-
- - name: Set xymon cron for APT
- tags:
- - xymon-client
- - client-configuration
- cron:
- name="check update for Xymon"
- minute="45"
- hour="*/4"
- job="apt-get update -qq > /var/lib/apt/update_output 2>&1 && [ ! -s /var/lib/apt/update_output ] && date -u > /var/lib/apt/update_success"
- cron_file="xymon-apt"
- state=present
- user=root
- when: ansible_distribution == 'Debian'
-
- ## Add the client to xymon server
- - name: Ensure /etc/xymon/hosts.d exists
- tags:
- - xymon-client
- - client-configuration
- file: path=/etc/xymon/hosts.d state=directory
- delegate_to: "{{ xymon_server }}"
-
- - name: Ensure the monitoring section file is included
- tags:
- - xymon-client
- - client-configuration
- lineinfile: dest=/etc/xymon/hosts.cfg
- insertafter='^page (?i){{monitoring_section}}'
- line="include hosts.d/{{monitoring_file}}"
- delegate_to: "{{ xymon_server }}"
- when: monitoring_file is defined and monitoring_section is defined
-
- - name: Ensure /etc/xymon/hosts.d/SECTION exists if used
- tags:
- - xymon-client
- - client-configuration
- lineinfile: dest="/etc/xymon/hosts.d/{{monitoring_file}}"
- regexp="^group\s+{{monitoring_section}}$"
- line="group {{monitoring_section}}"
- state=present
- create="yes"
- mode="0644"
- delegate_to: "{{ xymon_server }}"
- when: monitoring_file is defined and monitoring_section is defined
-
- - name: Add the host to the monitoring section file if used
- tags:
- - xymon-client
- - client-configuration
- lineinfile: dest="/etc/xymon/hosts.d/{{monitoring_file}}"
- insertafter="^group {{monitoring_section}}"
- regexp="^{{monitoring_ip}}\s+{{ansible_fqdn}} .*$"
- line="{{monitoring_ip}} {{ansible_fqdn}} {{xymon_checks}}"
- delegate_to: "{{ xymon_server }}"
- when: monitoring_file is defined and monitoring_section is defined
-
- - name: Add the host to the cfg file without section if needed
- tags:
- - xymon-client
- - client-configuration
- lineinfile: dest=/etc/xymon/hosts.cfg
- insertafter='^group Servers'
- regexp="^{{monitoring_ip}}\s+{{ansible_fqdn}} .*$"
- line="{{monitoring_ip}} {{ansible_fqdn}} {{xymon_checks}}"
- delegate_to: "{{ xymon_server }}"
- when: monitoring_file is not defined and monitoring_section is not defined
|