Ansible role to manage Xymon client configuration
Go to file
Jeremy Gardais 91a1b41e56
Add smart plugin
2020-02-18 14:30:13 +01:00
defaults Add smart plugin 2020-02-18 14:30:13 +01:00
handlers Notify xymon-client handler when modification to default cli config. 2017-08-11 14:42:49 +02:00
meta Set empty dependencies line to fix Galaxy warning 2018-08-06 15:37:11 +02:00
tasks Add smart plugin 2020-02-18 14:30:13 +01:00
templates Add smart plugin 2020-02-18 14:30:13 +01:00
tests Install `xymon-client` packages for Debian based distros. 2017-08-11 13:58:39 +02:00
vars Install `xymon-client` packages for Debian based distros. 2017-08-11 13:58:39 +02:00
.travis.yml Install `xymon-client` packages for Debian based distros. 2017-08-11 13:58:39 +02:00
CHANGELOG.md Add smart plugin 2020-02-18 14:30:13 +01:00
README.md Add smart plugin 2020-02-18 14:30:13 +01:00

README.md

Xymon

  1. Overview
  2. Role Variables
  3. Example Playbook
  4. Configuration
  5. Plugins
  6. Development
  7. License
  8. Author Information

Overview

Manage Xymon (client) installation and configuration.

Role Variables

  • xymon_cli_manage: If xymon-client should be managed with this role [default: true].
  • xymon_cli_pkg_state: State of new xymon-client package(s) [default: present].
  • xymon_cli_default_conf_path: Configuration file for xymon-client [default: /etc/default/xymon-client].
  • xymon_cli_default_conf_tpl: Template used to generate the previous config file [default: etc/default/xymon-client.j2].
  • xymon_cli_hostname: Allow to override default value of CLIENTHOSTNAME var [default: {{ ansible_fqdn }}].
  • xymon_user_groups: List of 'xymon' user's groups [default: xymon].
  • xymon_cli_service_manage: If xymon-client service should be managed with this role [default: true].
  • xymon_cli_service_name: xymon-client service name [default: xymon-client].
  • xymon_cli_service_enabled: Set xymon-client service available at startup [default: true].
  • xymon_srv_list: The list of Xymon servers (you must give an hostname, IP,… reachable from any clients) [defaults: monitoring.{{ ansible_domain }}].
  • xymon_plug_manage: If this role should manage plugins configuration [default: true].
  • xymon_plug_apt_state: The state of plugin apt [default: true].
  • xymon_plug_apt_package: The packages to install to provide apt plugin [default: [ 'libtimedate-perl' ]].
  • xymon_plug_apt_path: Configuration file for the apt plugin [default: /etc/xymon/clientlaunch.d/apt.cfg].
  • xymon_plug_apt_tpl: Template used to generate the previous config file [default: etc/xymon/clientlaunch.d/apt.cfg.j2].
  • xymon_plug_apt_interval: Time between each run of the apt plugin [default: 5m].
  • **xymon_plug_apt_default_whitelist: Default list of allowed packages not installed from repositories [default: []].
  • **xymon_plug_apt_whitelist: All hosts list of allowed packages not installed from repositories [default: []].
  • **xymon_plug_apt_group_whitelist: Group list of allowed packages not installed from repositories [default: []].
  • **xymon_plug_apt_host_whitelist: Host list of allowed packages not installed from repositories [default: []].
  • xymon_cli__plug_ipmi_state: The state of plugin ipmi [default: false].
  • xymon_cli__plug_ipmi_state: The packages to install to provide ipmi plugin [default: [ 'ipmitool' ]].
  • xymon_cli__plug_ipmi_path: Configuration file for the ipmi plugin [default: /etc/xymon/clientlaunch.d/ipmi.cfg].
  • xymon_cli__plug_ipmi_tpl: Template used to generate the previous config file [default: etc/xymon/clientlaunch.d/ipmi.cfg.j2].
  • xymon_cli__plug_ipmi_interval: Time between each run of the ipmi plugin [default: 5m].
  • xymon_plug_libs_state: The state of plugin libs [default: true].
  • xymon_plug_libs_package: The packages to install to provide libs plugin [default: [ 'binutils', 'lsof', 'libyaml-tiny-perl', 'libsort-naturally-perl' ]].
  • xymon_plug_libs_path: Configuration file for the libs plugin [default: /etc/xymon/clientlaunch.d/libs.cfg].
  • xymon_plug_libs_tpl: Template used to generate the previous config file [default: etc/xymon/clientlaunch.d/libs.cfg.j2].
  • xymon_plug_libs_interval: Time between each run of the libs plugin [default: 5m].
  • xymon_plug_libs_default_whitelist: Default whitelist of processes that should not be monitored with libs plugin.
  • xymon_plug_libs_whitelist: All hosts whitelist of processes that should not be monitored with libs plugin.
  • xymon_plug_libs_group_whitelist: Group whitelist of processes that should not be monitored with libs plugin.
  • xymon_plug_libs_host_whitelist: Host whitelist of processes that should not be monitored with libs plugin.
  • xymon_plug_mq_state: The state of plugin mq [default: true].
  • xymon_plug_mq_package: The packages to install to provide mq plugin [default: [ 'libtimedate-perl' ]].
  • xymon_plug_mq_path: Configuration file for the mq plugin [default: /etc/xymon/clientlaunch.d/mq.cfg].
  • xymon_plug_mq_tpl: Template used to generate the previous config file [default: etc/xymon/clientlaunch.d/mq.cfg.j2].
  • xymon_plug_mq_interval: Time between each run of the mq plugin [default: 5m].
  • xymon_cli__plug_netstats_state: The state of plugin netstats [default: false].
  • xymon_cli__plug_netstats_package: The packages to install to provide netstats plugin [default: [ 'libfile-which-perl', 'libfile-slurp-perl', 'libipc-run-perl', 'libyaml-tiny-perl', 'iproute2', 'ethtool' ]].
  • xymon_cli__plug_netstats_path: Configuration file for the netstats plugin [default: /etc/xymon/clientlaunch.d/netstats.cfg].
  • xymon_cli__plug_netstats_tpl: Template used to generate the previous config file [default: etc/xymon/clientlaunch.d/netstats.cfg.j2].
  • xymon_cli__plug_netstats_interval: Time between each run of the netstats plugin [default: 5m].
  • xymon_cli__plug_smart_state: The state of plugin smart [default: False].
  • xymon_cli__plug_smart_package: The packages to install to provide smart plugin [default: [ 'smartmontools' ]].
  • xymon_cli__plug_smart_script_path: Path to the smart script [default: '/usr/lib/xymon/client/ext/smart'].
  • xymon_cli__plug_smart_script_tpl: Template used to generate the previous script [default: 'usr/lib/xymon/client/ext/smart.j2'].
  • xymon_cli__plug_smart_path: Configuration file for the smart plugin [default: '/etc/xymon/clientlaunch.d/smart.cfg'].
  • xymon_cli__plug_smart_tpl: Template used to generate the previous config file [default: 'etc/xymon/clientlaunch.d/smart.cfg.j2'].
  • xymon_cli__plug_smart_interval: Time between each run of the smart plugin [default: '10m']
  • xymon_cli__plug_zfs_state: The state of plugin zfs [default: false].
  • xymon_cli__plug_zfs_script_path: Path to the ZFS script [default: /usr/lib/xymon/client/ext/zfs].
  • xymon_cli__plug_zfs_script_tpl: Template used to generate the previous script [default: usr/lib/xymon/client/ext/zfs.j2].
  • xymon_cli__plug_zfs_path: Configuration file for the zfs plugin [default: /etc/xymon/clientlaunch.d/zfs.cfg].
  • xymon_cli__plug_zfs_tpl: Template used to generate the previous config file [default: etc/xymon/clientlaunch.d/zfs.cfg.j2].
  • xymon_cli__plug_zfs_interval: Time between each run of the zfs plugin [default: 5m].

OS Specific Variables

Please see default value by Operating System file in vars directory.

  • xymon_cli_pkg_list: The list of packages to install to provide xymon-client.

Example Playbook

  • Use defaults vars:
- hosts: serverXYZ
  roles:
    - role: ipr-cnrs.xymon

Configuration

This role will:

  • Install needed packages to provide xymon-client.
  • Manage xymon-client configuration and service.
  • Add 'xymon' user to new groups.

Plugins

Some plugins and options can be managed with this role:

  • apt: Check state of packages and repositories.
  • libs: Check for running processes with upgraded libraries.
  • mq: Check mail queue.
  • zfs: Check ZFS pools status.

Development

This source code comes from our Gogs instance and the Github repo exist just to be able to send the role to Ansible Galaxy…

But feel free to send issue/PR here :)

Thanks to this hook, Github automatically got updates from our Gogs instance :)

License

WTFPL

Author Information

Jérémy Gardais