Browse Source

amelioration de la compatibilite centos pour xymon-client

master
LecygneNoir 6 years ago
parent
commit
5866ef61cd
4 changed files with 139 additions and 117 deletions
  1. +9
    -87
      roles/xymon-client/tasks/client.yml
  2. +53
    -0
      roles/xymon-client/tasks/client_centos.yml
  3. +77
    -0
      roles/xymon-client/tasks/client_debian.yml
  4. +0
    -30
      roles/xymon-client/tasks/main.yml

+ 9
- 87
roles/xymon-client/tasks/client.yml View File

@ -1,98 +1,20 @@
---
## 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
- include: client_debian.yml
when: ansible_distribution == 'Debian'
- include: client_centos.yml
when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux' or ansible_distribution == 'Virtuozzo'
- 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_major_version|int < 8
- name: Configure Xymon ip on debian >= 8
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_major_version|int >= 8
- 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_major_version|int < 8
- name: Configure local Xymon name on Debian >=8
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_major_version|int >= 8
- 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:
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:
tags:
- xymon-client
- client-configuration
lineinfile: dest=/etc/xymon/hosts.cfg
@ -102,7 +24,7 @@
when: monitoring_file is defined and monitoring_section is defined
- name: Ensure /etc/xymon/hosts.d/SECTION exists if used
tags:
tags:
- xymon-client
- client-configuration
lineinfile: dest="/etc/xymon/hosts.d/{{monitoring_file}}"
@ -115,7 +37,7 @@
when: monitoring_file is defined and monitoring_section is defined
- name: Add the host to the monitoring section file if used
tags:
tags:
- xymon-client
- client-configuration
lineinfile: dest="/etc/xymon/hosts.d/{{monitoring_file}}"
@ -126,7 +48,7 @@
when: monitoring_file is defined and monitoring_section is defined
- name: Add the host to the cfg file without section if needed
tags:
tags:
- xymon-client
- client-configuration
lineinfile: dest=/etc/xymon/hosts.cfg

+ 53
- 0
roles/xymon-client/tasks/client_centos.yml View File

@ -0,0 +1,53 @@
---
## Install and configure xymon client Centos ##
# Custom facts
- name: Set Facts CentOs
set_fact:
xymon_cfg_path: "/etc/xymon-client/client.d"
xymon_ext_path: "/etc/xymon-client/ext"
xymon_binary: "/usr/share/xymon-client/bin/xymon"
client_name: "xymon"
client_name_cfg: "$XYMONCLIENTHOME"
client_name_logs: "$XYMONCLIENTLOGS"
tags:
- xymon-client
- xymon-server
- configuration
when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux' or ansible_distribution == 'Virtuozzo'
# Binaries
- name: add xymon repo url -- centos
yum_repository:
name: Xymon
description: Xymon RPMs
file: xymon_repos
baseurl: http://terabithia.org/rpms/xymon/el$releasever/x86_64/
gpgcheck: yes
gpgkey: http://terabithia.org/rpms/RPM-GPG-KEY-JCLEAVER
when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux' or ansible_distribution == 'Virtuozzo'
- name: Install xymon client CentOS
tags:
- xymon-client
- client-packages
yum: pkg=xymon-client state=installed
when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux' or ansible_distribution == 'Virtuozzo'
- 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' or ansible_distribution == 'Virtuozzo'
- 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' or ansible_distribution == 'Virtuozzo'

+ 77
- 0
roles/xymon-client/tasks/client_debian.yml View File

@ -0,0 +1,77 @@
---
## Install and configure xymon client Debian ##
## Custom Facts
- name: Set Facts Debian
set_fact:
xymon_cfg_path: "/usr/lib/hobbit/client/etc/clientlaunch.d"
xymon_ext_path: "/usr/lib/hobbit/client/ext"
xymon_binary: "/usr/lib/hobbit/client/bin/bb"
client_name: "hobbit"
client_name_cfg: "$HOBBITCLIENTHOME"
client_name_logs: "$BBCLIENTLOGS"
tags:
- xymon-client
- xymon-server
- configuration
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
# 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'
# 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_major_version|int < 8
- name: Configure Xymon ip on debian >= 8
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_major_version|int >= 8
- 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_major_version|int < 8
- name: Configure local Xymon name on Debian >=8
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_major_version|int >= 8
- 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'

+ 0
- 30
roles/xymon-client/tasks/main.yml View File

@ -48,35 +48,5 @@
- server-configuration
when: xymon_htpasswd is not defined
## Custom Facts
- name: Set Facts Debian
set_fact:
xymon_cfg_path: "/usr/lib/hobbit/client/etc/clientlaunch.d"
xymon_ext_path: "/usr/lib/hobbit/client/ext"
xymon_binary: "/usr/lib/hobbit/client/bin/bb"
client_name: "hobbit"
client_name_cfg: "$HOBBITCLIENTHOME"
client_name_logs: "$BBCLIENTLOGS"
tags:
- xymon-client
- xymon-server
- configuration
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: Set Facts CentOs
set_fact:
xymon_cfg_path: "/etc/xymon-client/client.d"
xymon_ext_path: "/etc/xymon-client/ext"
xymon_binary: "/usr/share/xymon-client/bin/xymon"
client_name: "xymon"
client_name_cfg: "$XYMONCLIENTHOME"
client_name_logs: "$XYMONCLIENTLOGS"
tags:
- xymon-client
- xymon-server
- configuration
when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
##Main tasks
- include: client.yml

Loading…
Cancel
Save