Compare commits

..

11 Commits

Author SHA1 Message Date
Jeremy Gardais f0af1328ea
Add extra var for Nvidia support with temp plugin 2020-11-03 17:48:21 +01:00
Jeremy Gardais 9f84ed3c6d
Split pkg_list to separate hobbit-plugins
This way, xymon-client can be installed without "hobbit-plugins".
2020-11-03 17:41:37 +01:00
Jeremy Gardais 61d7aa4e3a
All vars now starts with "xymon_cli__" 2020-11-03 15:17:08 +01:00
Jeremy Gardais d5bffb2252
Combine clientlaunch files for plugins
This leads to manage them in one dedicated task instead of 12…
2020-11-03 13:31:35 +01:00
Jeremy Gardais 79f3831acd
Info Buster support and increase min_ansible_version 2020-11-03 10:12:17 +01:00
Jeremy Gardais 6401a1e836
Combine packages vars of all enabled plugins
This leads to install dependencies in one task instead of 9.
2020-11-03 10:09:48 +01:00
Jeremy Gardais 1c0157dd68
Add megaraid probe management 2020-11-02 18:04:12 +01:00
Jeremy Gardais 052d5a3b3a
Add min version of hobbit-plugins for `net` plugin 2020-11-02 14:13:56 +01:00
Jeremy Gardais 7966645f99
Remove unecessary netstats dependencies 2020-10-30 14:17:18 +01:00
Jeremy Gardais 726300ae1e
Add configuration file for `net` script 2020-10-30 12:42:29 +01:00
Jeremy Gardais dacdd47d9f
Add net probe management 2020-10-29 17:52:19 +01:00
17 changed files with 358 additions and 333 deletions

View File

@ -1,3 +1,21 @@
## v2.X.Y
### Enhancements
* All vars now starts with "xymon_cli__" for more readability.
No backward compatibility with old variable naming! Update your configuration!
* Add megaraid probe management.
* Add net probe management.
* Add configuration file for `net` script (/etc/xymon/net.yaml) and
possibility to set your own template. Check [net documentation](net plugin doc).
* Remove unecessary netstats dependencies (due to a previous misunderstanding)
between `net` and `netstats` probes. `netstats` only
reads /proc/net/{netstat,snmp} files.
* Combine packages vars of all enabled plugins to install them in _one_ task.
* Combine clientlaunch files for plugins to manage them in _one_ dedicated task.
* Split base package list in order to allow installation of `xymon-client` without
"hobbit-plugins".
* Add extra var for Nvidia support with temp plugin.
## v1.5.1 ## v1.5.1
### Enhancements ### Enhancements
@ -85,3 +103,4 @@
* Allow to set Xymon servers list for `xymon-client` config. * Allow to set Xymon servers list for `xymon-client` config.
[20180711 hobbit-plugins debian changelog]: https://salsa.debian.org/debian/hobbit-plugins/blob/debian-20180711/debian/changelog [20180711 hobbit-plugins debian changelog]: https://salsa.debian.org/debian/hobbit-plugins/blob/debian-20180711/debian/changelog
[net plugin doc]: https://salsa.debian.org/debian/hobbit-plugins#net-check-network-interface-states

126
README.md
View File

@ -2,7 +2,7 @@
1. [Overview](#overview) 1. [Overview](#overview)
2. [Role Variables](#role-variables) 2. [Role Variables](#role-variables)
* [Plugins Specific Variables](#plugins-specific-variables) * [Plugins Specific Variables](#plugins-variables)
* [OS Specific Variables](#os-specific-variables) * [OS Specific Variables](#os-specific-variables)
3. [Example Playbook](#example-playbook) 3. [Example Playbook](#example-playbook)
4. [Configuration](#configuration) 4. [Configuration](#configuration)
@ -17,34 +17,37 @@ Manage Xymon (client) installation and configuration.
## Role Variables ## Role Variables
* **xymon_cli_manage**: If `xymon-client` should be managed with this role [default: `true`]. * **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__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_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__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_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__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_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_name**: `xymon-client` service name [default: `xymon-client`].
* **xymon_cli_service_enabled**: Set `xymon-client` service available at startup [default: `true`]. * **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_cli__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_cli__plug_manage**: If this role should manage plugins configuration [default: `true`].
### Plugins Variables ### Plugins Variables
* **xymon_cli__plug_combined_packages**: Combine all packages vars related to plugins (only enabled plugins).
* **xymon_cli__plug_combined_clientlaunch**: Combine clientlaunch files for all plugins.
#### APT #### APT
Variables for the APT plugin from hobbit-plugins. The plugin check for Variables for the APT plugin from hobbit-plugins. The plugin check for
outstanding updates. outstanding updates.
* **xymon_plug_apt_state**: The state of plugin `apt` [default: `true`]. * **xymon_cli__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_cli__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_cli__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_cli__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_cli__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_cli__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_cli__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_cli__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_apt_host_whitelist**: Host list of allowed packages not installed from repositories [default: `[]`].
#### IPMI #### IPMI
@ -62,26 +65,62 @@ sensors and event log.
Variables for the Libs plugin from hobbit-plugins. The plugin check for running Variables for the Libs plugin from hobbit-plugins. The plugin check for running
processes with upgraded libraries. processes with upgraded libraries.
* **xymon_plug_libs_state**: The state of plugin `libs` [default: `true`]. * **xymon_cli__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', 'libfile-slurp-perl', 'libsort-naturally-perl' ]`]. * **xymon_cli__plug_libs_package**: The packages to install to provide `libs` plugin [default: `[ 'binutils', 'lsof', 'libyaml-tiny-perl', 'libfile-slurp-perl', 'libsort-naturally-perl' ]`].
* **xymon_plug_libs_path**: Configuration file for the `libs` plugin [default: `/etc/xymon/clientlaunch.d/libs.cfg`]. * **xymon_cli__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_cli__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_cli__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_cli__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_cli__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_cli__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_cli__plug_libs_host_whitelist**: Host whitelist of processes that should not be monitored with `libs` plugin.
#### Net
Require hobbit-plugins > 20200525.
Variables for the Megaraid plugin from hobbit-plugins. The plugin check
hardware raid status with Megacli tools [from hwraid.le-vert](url hwraid).
You will need to install `megaclisas-status` by your own to get this plugin
running correctly. Please take a look to the [Readme](megaraid plugin doc) of
the project for more informations.
* **xymon_cli__plug_megaraid_state**: The state of plugin `megaraid` [default: `false`].
* **xymon_cli__plug_megaraid_package**: The packages to install to provide `megaraid` plugin [default: `[ 'libipc-run-perl' ]`].
* **xymon_cli__plug_megaraid_path**: Configuration file for the `megaraid` plugin [default: `/etc/xymon/clientlaunch.d/megaraid.cfg`].
* **xymon_cli__plug_megaraid_tpl**: Template used to generate the previous config file [default: `etc/xymon/clientlaunch.d/megaraid.cfg.j2`].
* **xymon_cli__plug_megaraid_interval**: Time between each run of the `megaraid` plugin [default: `5m`].
#### Mq #### Mq
Variables for the Mq plugin from hobbit-plugins. The plugin check Postfix's Variables for the Mq plugin from hobbit-plugins. The plugin check Postfix's
mail queue. mail queue.
* **xymon_plug_mq_state**: The state of plugin `mq` [default: `true`]. * **xymon_cli__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_cli__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_cli__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_cli__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_mq_interval**: Time between each run of the `mq` plugin [default: `5m`].
#### Net
Require hobbit-plugins > 20190129.
Variables for the Net plugin from hobbit-plugins. The plugin check network
interface states. Check the [Readme](net plugin doc) of the project for more
informations.
* **xymon_cli__plug_net_state**: The state of plugin `net` [default: `false`].
* **xymon_cli__plug_net_package**: The packages to install to provide `net` plugin [default: `[ 'ethtool', 'iproute2', 'libfile-slurp-perl', 'libfile-which-perl', 'libipc-run-perl', 'libyaml-tiny-perl' ]`].
* **xymon_cli__plug_net_path**: Configuration file for the `net` plugin [default: `/etc/xymon/clientlaunch.d/net.cfg`].
* **xymon_cli__plug_net_tpl**: Template used to generate the previous config file [default: `etc/xymon/clientlaunch.d/net.cfg.j2`].
* **xymon_cli__plug_net_interval**: Time between each run of the `net` plugin [default: `5m`].
* **xymon_cli__plug_net_conf_path**: Configuration file for the `net` script (probe silently exit if not present) [default: `/etc/xymon/net.yaml`].
* **xymon_cli__plug_net_conf_tpl**: Template used to generate the previous config file [default: `etc/xymon/net.yaml.j2`].
You really should consider writing your own template for `net` script,
specific to your host(s) network configuration and override
**xymon_cli__plug_net_conf_tpl** variable.
#### Netstats #### Netstats
@ -89,7 +128,6 @@ Variables for the Net/Netstats plugin from hobbit-plugins. The plugin check
network interface states. network interface states.
* **xymon_cli__plug_netstats_state**: The state of plugin `netstats` [default: `false`]. * **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_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_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_netstats_interval**: Time between each run of the `netstats` plugin [default: `5m`].
@ -142,7 +180,7 @@ one's recommended by the vendor and check a recent (<24h) test was done.
#### Temp #### Temp
Variables for the Mq plugin from hobbit-plugins. Simple temperature monitor. Variables for the temp plugin from hobbit-plugins. Simple temperature monitor.
* **xymon_cli__plug_temp_state**: The state of plugin `temp` [default: `False`]. * **xymon_cli__plug_temp_state**: The state of plugin `temp` [default: `False`].
* **xymon_cli__plug_temp_package**: The packages to install to provide `temp` plugin [default: `[ 'libfile-which-perl', 'libyaml-tiny-perl', 'hddtemp', 'smartmontools', 'libxml-twig-perl' ]`]. * **xymon_cli__plug_temp_package**: The packages to install to provide `temp` plugin [default: `[ 'libfile-which-perl', 'libyaml-tiny-perl', 'hddtemp', 'smartmontools', 'libxml-twig-perl' ]`].
@ -152,12 +190,12 @@ Variables for the Mq plugin from hobbit-plugins. Simple temperature monitor.
##### Nvidia support ##### Nvidia support
The temp can also checks NVidia GPU temperature. In order to get those The temp plugin can also checks NVidia GPU temperature. In order to get those
informations, you need to install `nvidia-smi` package by your own or override informations, you need to install `nvidia-smi` package by your own or define
**xymon_cli__plug_temp_package** var: **xymon_cli__plug_temp_extra_package** var:
``` yml ``` yml
xymon_cli__plug_temp_package: [ 'libfile-which-perl', 'libyaml-tiny-perl', 'hddtemp', 'smartmontools', 'libxml-twig-perl', 'nvidia-smi' ] xymon_cli__plug_temp_extra_package: [ 'nvidia-smi' ]
``` ```
#### ZFS #### ZFS
@ -188,7 +226,8 @@ xymon_cli__plug_temp_state: '{{ True
Please see default value by Operating System file in [vars][vars directory] directory. Please see default value by Operating System file in [vars][vars directory] directory.
* **xymon_cli_pkg_list**: The list of packages to install to provide `xymon-client`. * **xymon_cli__pkg_list**: The list of packages to install to provide `xymon-client`.
* **xymon_cli__plug_pkg_list**: The list of packages to install to provide extra plugins to Xymon client.
## Example Playbook ## Example Playbook
@ -240,6 +279,9 @@ Jérémy Gardais
[wtfpl website]: http://www.wtfpl.net/about/ [wtfpl website]: http://www.wtfpl.net/about/
[ipr website]: https://ipr.univ-rennes1.fr/ [ipr website]: https://ipr.univ-rennes1.fr/
[url hwraid]: https://hwraid.le-vert.net/wiki/DebianPackages
[megaraid plugin doc]: https://salsa.debian.org/debian/hobbit-plugins#megaraid-check-state-of-lsi-megaraid-sas-controllers
[net plugin doc]: https://salsa.debian.org/debian/hobbit-plugins#net-check-network-interface-states
[sge plugin source]: https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh [sge plugin source]: https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh
[smartoverall plugin source]: https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall [smartoverall plugin source]: https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
[smart plugin source]: https://github.com/skazi0/xymon-plugins [smart plugin source]: https://github.com/skazi0/xymon-plugins

View File

@ -7,12 +7,12 @@
# Packages and installation [[[ # Packages and installation [[[
# ----------------------------- # -----------------------------
# .. envvar:: xymon_cli_manage [[[ # .. envvar:: xymon_cli__manage [[[
# #
# If this role should manage the installation of Xymon client # If this role should manage the installation of Xymon client
xymon_cli_manage: true xymon_cli__manage: true
# ]]] # ]]]
# .. envvar:: xymon_cli_pkg_state [[[ # .. envvar:: xymon_cli__pkg_state [[[
# #
# What is the desired state which this role's packages should be? # What is the desired state which this role's packages should be?
# Possible options: # Possible options:
@ -23,45 +23,45 @@ xymon_cli_manage: true
# ``absent`` # ``absent``
# Ensure to remove the packages. # Ensure to remove the packages.
# #
xymon_cli_pkg_state: 'present' xymon_cli__pkg_state: 'present'
# ]]] # ]]]
# ]]] # ]]]
# Server configuration and service [[[ # Server configuration and service [[[
# ------------------------------------ # ------------------------------------
## conf ## conf
xymon_cli_default_conf_path: '/etc/default/xymon-client' xymon_cli__default_conf_path: '/etc/default/xymon-client'
xymon_cli_default_conf_tpl: 'etc/default/xymon-client.j2' xymon_cli__default_conf_tpl: 'etc/default/xymon-client.j2'
xymon_cli_hostname: "{{ ansible_fqdn }}" xymon_cli__hostname: "{{ ansible_fqdn }}"
xymon_user_groups: 'xymon' xymon_cli__user_groups: 'xymon'
## service ## service
xymon_cli_service_manage: true xymon_cli__service_manage: true
xymon_cli_service_name: 'xymon-client' xymon_cli__service_name: 'xymon-client'
xymon_cli_service_enabled: true xymon_cli__service_enabled: true
# server # server
xymon_srv_list: "monitoring.{{ ansible_domain }}" xymon_cli__srv_list: "monitoring.{{ ansible_domain }}"
# ]]] # ]]]
# Plugins management [[[ # Plugins management [[[
# ---------------------- # ----------------------
xymon_plug_manage: true xymon_cli__plug_manage: true
## Plugin apt [[[ ## Plugin apt [[[
xymon_plug_apt_state: true xymon_cli__plug_apt_state: true
xymon_plug_apt_package: [ 'aptitude', 'dctrl-tools' ] xymon_cli__plug_apt_package: [ 'aptitude', 'dctrl-tools' ]
xymon_plug_apt_path: '/etc/xymon/clientlaunch.d/apt.cfg' xymon_cli__plug_apt_path: '/etc/xymon/clientlaunch.d/apt.cfg'
xymon_plug_apt_tpl: 'etc/xymon/clientlaunch.d/apt.cfg.j2' xymon_cli__plug_apt_tpl: 'etc/xymon/clientlaunch.d/apt.cfg.j2'
xymon_plug_apt_interval: '5m' xymon_cli__plug_apt_interval: '5m'
xymon_plug_apt_default_whitelist: [] xymon_cli__plug_apt_default_whitelist: []
xymon_plug_apt_whitelist: [] xymon_cli__plug_apt_whitelist: []
xymon_plug_apt_group_whitelist: [] xymon_cli__plug_apt_group_whitelist: []
xymon_plug_apt_host_whitelist: [] xymon_cli__plug_apt_host_whitelist: []
xymon_plug_apt_combined_whitelist: '{{ xymon_plug_apt_default_whitelist xymon_cli__plug_apt_combined_whitelist: '{{ xymon_cli__plug_apt_default_whitelist
+ xymon_plug_apt_whitelist + xymon_cli__plug_apt_whitelist
+ xymon_plug_apt_group_whitelist + xymon_cli__plug_apt_group_whitelist
+ xymon_plug_apt_host_whitelist }}' + xymon_cli__plug_apt_host_whitelist }}'
## ]]] ## ]]]
## Plugin ipmi [[[ ## Plugin ipmi [[[
@ -70,15 +70,16 @@ xymon_cli__plug_ipmi_package: ['ipmitool']
xymon_cli__plug_ipmi_path: '/etc/xymon/clientlaunch.d/ipmi.cfg' xymon_cli__plug_ipmi_path: '/etc/xymon/clientlaunch.d/ipmi.cfg'
xymon_cli__plug_ipmi_tpl: 'etc/xymon/clientlaunch.d/ipmi.cfg.j2' xymon_cli__plug_ipmi_tpl: 'etc/xymon/clientlaunch.d/ipmi.cfg.j2'
xymon_cli__plug_ipmi_interval: '5m' xymon_cli__plug_ipmi_interval: '5m'
## ]]] ## ]]]
## Plugin libs [[[ ## Plugin libs [[[
xymon_plug_libs_state: true xymon_cli__plug_libs_state: true
xymon_plug_libs_package: [ 'binutils', 'lsof', 'libyaml-tiny-perl', 'libfile-slurp-perl', 'libsort-naturally-perl' ] xymon_cli__plug_libs_package: [ 'binutils', 'lsof', 'libyaml-tiny-perl', 'libfile-slurp-perl', 'libsort-naturally-perl' ]
xymon_plug_libs_path: '/etc/xymon/clientlaunch.d/libs.cfg' xymon_cli__plug_libs_path: '/etc/xymon/clientlaunch.d/libs.cfg'
xymon_plug_libs_tpl: 'etc/xymon/clientlaunch.d/libs.cfg.j2' xymon_cli__plug_libs_tpl: 'etc/xymon/clientlaunch.d/libs.cfg.j2'
xymon_plug_libs_interval: '5m' xymon_cli__plug_libs_interval: '5m'
xymon_plug_libs_default_whitelist: xymon_cli__plug_libs_default_whitelist:
/lib/systemd/systemd: /lib/systemd/systemd:
- '.*' - '.*'
/usr/lib/x86_64-linux-gnu/sssd/sssd_be: /usr/lib/x86_64-linux-gnu/sssd/sssd_be:
@ -93,24 +94,43 @@ xymon_plug_libs_default_whitelist:
- '.*' - '.*'
/sbin/multipathd: /sbin/multipathd:
- '.*' - '.*'
xymon_plug_libs_whitelist: {} xymon_cli__plug_libs_whitelist: {}
xymon_plug_libs_group_whitelist: {} xymon_cli__plug_libs_group_whitelist: {}
xymon_plug_libs_host_whitelist: {} xymon_cli__plug_libs_host_whitelist: {}
# ]]] # ]]]
## Plugin Megaraid [[[
xymon_cli__plug_megaraid_state: false
xymon_cli__plug_megaraid_package: [ 'libipc-run-perl' ]
xymon_cli__plug_megaraid_path: '/etc/xymon/clientlaunch.d/megaraid.cfg'
xymon_cli__plug_megaraid_tpl: 'etc/xymon/clientlaunch.d/megaraid.cfg.j2'
xymon_cli__plug_megaraid_interval: '5m'
## ]]]
## Plugin mq [[[ ## Plugin mq [[[
xymon_plug_mq_state: true xymon_cli__plug_mq_state: true
xymon_plug_mq_package: ['libtimedate-perl'] xymon_cli__plug_mq_package: ['libtimedate-perl']
xymon_plug_mq_path: '/etc/xymon/clientlaunch.d/mq.cfg' xymon_cli__plug_mq_path: '/etc/xymon/clientlaunch.d/mq.cfg'
xymon_plug_mq_tpl: 'etc/xymon/clientlaunch.d/mq.cfg.j2' xymon_cli__plug_mq_tpl: 'etc/xymon/clientlaunch.d/mq.cfg.j2'
xymon_plug_mq_interval: '5m' xymon_cli__plug_mq_interval: '5m'
## ]]]
## Plugin net [[[
xymon_cli__plug_net_state: false
xymon_cli__plug_net_package: [ 'ethtool', 'iproute2', 'libfile-slurp-perl', 'libfile-which-perl', 'libipc-run-perl', 'libyaml-tiny-perl' ]
xymon_cli__plug_net_path: '/etc/xymon/clientlaunch.d/net.cfg'
xymon_cli__plug_net_tpl: 'etc/xymon/clientlaunch.d/net.cfg.j2'
xymon_cli__plug_net_interval: '5m'
xymon_cli__plug_net_conf_path: '/etc/xymon/net.yaml'
xymon_cli__plug_net_conf_tpl: 'etc/xymon/net.yaml.j2'
## ]]] ## ]]]
## Plugin netstats [[[ ## Plugin netstats [[[
xymon_cli__plug_netstats_state: false xymon_cli__plug_netstats_state: false
xymon_cli__plug_netstats_package: [ 'libfile-which-perl', 'libfile-slurp-perl', 'libipc-run-perl', 'libyaml-tiny-perl', 'iproute2', 'ethtool' ]
xymon_cli__plug_netstats_path: '/etc/xymon/clientlaunch.d/netstats.cfg' xymon_cli__plug_netstats_path: '/etc/xymon/clientlaunch.d/netstats.cfg'
xymon_cli__plug_netstats_tpl: 'etc/xymon/clientlaunch.d/netstats.cfg.j2' xymon_cli__plug_netstats_tpl: 'etc/xymon/clientlaunch.d/netstats.cfg.j2'
xymon_cli__plug_netstats_interval: '5m' xymon_cli__plug_netstats_interval: '5m'
## ]]] ## ]]]
## Plugin SGE [[[ ## Plugin SGE [[[
### From https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh ### From https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh
@ -153,6 +173,9 @@ xymon_cli__plug_smart_interval: '10m'
### Enable by default on hardware host ### Enable by default on hardware host
xymon_cli__plug_temp_state: False xymon_cli__plug_temp_state: False
xymon_cli__plug_temp_package: [ 'libfile-which-perl', 'libyaml-tiny-perl', 'hddtemp', 'smartmontools', 'libxml-twig-perl' ] xymon_cli__plug_temp_package: [ 'libfile-which-perl', 'libyaml-tiny-perl', 'hddtemp', 'smartmontools', 'libxml-twig-perl' ]
# Define xymon_cli__plug_temp_extra_package in your own inventory.
# See Nvidia support in README for more informations
#xymon_cli__plug_temp_extra_package: [ 'nvidia-smi' ]
xymon_cli__plug_temp_path: '/etc/xymon/clientlaunch.d/temp.cfg' xymon_cli__plug_temp_path: '/etc/xymon/clientlaunch.d/temp.cfg'
xymon_cli__plug_temp_tpl: 'etc/xymon/clientlaunch.d/temp.cfg.j2' xymon_cli__plug_temp_tpl: 'etc/xymon/clientlaunch.d/temp.cfg.j2'
xymon_cli__plug_temp_interval: '5m' xymon_cli__plug_temp_interval: '5m'
@ -168,5 +191,66 @@ xymon_cli__plug_zfs_interval: '5m'
# ]]] # ]]]
# .. envvar:: xymon_cli__plug_combined_packages [[[
#
# Combine all packages vars related to plugins (only enabled plugins).
#
xymon_cli__plug_combined_packages: '{{ ((xymon_cli__plug_pkg_list|d([]) if xymon_cli__plug_manage|bool else [])
+ (xymon_cli__plug_apt_package if xymon_cli__plug_apt_state|bool else [])
+ (xymon_cli__plug_ipmi_package if xymon_cli__plug_ipmi_state|bool else [])
+ (xymon_cli__plug_libs_package if xymon_cli__plug_libs_state|bool else [])
+ (xymon_cli__plug_megaraid_package if xymon_cli__plug_megaraid_state|bool else [])
+ (xymon_cli__plug_mq_package if xymon_cli__plug_mq_state|bool else [])
+ (xymon_cli__plug_net_package if xymon_cli__plug_net_state|bool else [])
+ (xymon_cli__plug_smartoverall_package if xymon_cli__plug_smartoverall_state|bool else [])
+ (xymon_cli__plug_smart_package if xymon_cli__plug_smart_state|bool else [])
+ (xymon_cli__plug_temp_package if xymon_cli__plug_temp_state|bool else [])
+ (xymon_cli__plug_temp_extra_package|d([]) if xymon_cli__plug_temp_state|bool else []))
| sort | unique }}'
# ]]]
# .. envvar:: xymon_cli__plug_combined_clientlaunch [[[
#
# Combine clientlaunch files for all plugins
#
xymon_cli__plug_combined_clientlaunch:
- name: apt
path: '{{ xymon_cli__plug_apt_path }}'
template: '{{ xymon_cli__plug_apt_tpl }}'
- name: ipmi
path: '{{ xymon_cli__plug_ipmi_path }}'
template: '{{ xymon_cli__plug_ipmi_tpl }}'
- name: libs
path: '{{ xymon_cli__plug_libs_path }}'
template: '{{ xymon_cli__plug_libs_tpl }}'
- name: megaraid
path: '{{ xymon_cli__plug_megaraid_path }}'
template: '{{ xymon_cli__plug_megaraid_tpl }}'
- name: mq
path: '{{ xymon_cli__plug_mq_path }}'
template: '{{ xymon_cli__plug_mq_tpl }}'
- name: net
path: '{{ xymon_cli__plug_net_path }}'
template: '{{ xymon_cli__plug_net_tpl }}'
- name: netstats
path: '{{ xymon_cli__plug_netstats_path }}'
template: '{{ xymon_cli__plug_netstats_tpl }}'
- name: sge
path: '{{ xymon_cli__plug_sge_path }}'
template: '{{ xymon_cli__plug_sge_tpl }}'
- name: smartoverall
path: '{{ xymon_cli__plug_smartoverall_path }}'
template: '{{ xymon_cli__plug_smartoverall_tpl }}'
- name: smart
path: '{{ xymon_cli__plug_smart_path }}'
template: '{{ xymon_cli__plug_smart_tpl }}'
- name: temp
path: '{{ xymon_cli__plug_temp_path }}'
template: '{{ xymon_cli__plug_temp_tpl }}'
- name: zfs
path: '{{ xymon_cli__plug_zfs_path }}'
template: '{{ xymon_cli__plug_temp_tpl }}'
# ]]]
# ]]] # ]]]
# ]]] # ]]]

View File

@ -1,5 +1,5 @@
--- ---
# handlers file for ipr.ansible.xymon # handlers file for ipr.ansible.xymon
- name: restart xymon-client service - name: restart xymon-client service
service: name={{ xymon_cli_service_name }} state=restarted service: name={{ xymon_cli__service_name }} state=restarted
when: xymon_cli_service_manage when: xymon_cli__service_manage

View File

@ -8,10 +8,11 @@ galaxy_info:
license: WTFPL license: WTFPL
company: IPR company: IPR
issue_tracker_url: https://git.ipr.univ-rennes1.fr/cellinfo/ansible.xymon/issues issue_tracker_url: https://git.ipr.univ-rennes1.fr/cellinfo/ansible.xymon/issues
min_ansible_version: 2.2 min_ansible_version: 2.7
platforms: platforms:
- name: Debian - name: Debian
versions: versions:
- buster
- stretch - stretch
galaxy_tags: galaxy_tags:
- system - system

View File

@ -14,67 +14,70 @@
- name: client package - name: client package
package: package:
name: '{{ item }}' name: '{{ item }}'
state: '{{ xymon_cli_pkg_state }}' state: '{{ xymon_cli__pkg_state }}'
with_items: with_items:
- '{{ xymon_cli_pkg_list | to_nice_json }}' - '{{ xymon_cli__pkg_list | to_nice_json }}'
register: cli_result register: cli_result
until: cli_result is success until: cli_result is success
when: xymon_cli_manage|bool when: xymon_cli__manage|bool
# Manage client configuration [[[1 # Manage client configuration [[[1
- name: CONFIG xymon-client service - name: CONFIG xymon-client service
template: template:
src: '{{ xymon_cli_default_conf_tpl }}' src: '{{ xymon_cli__default_conf_tpl }}'
dest: '{{ xymon_cli_default_conf_path }}' dest: '{{ xymon_cli__default_conf_path }}'
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
backup: true backup: true
when: xymon_cli_manage|bool when: xymon_cli__manage|bool
notify: restart xymon-client service notify: restart xymon-client service
- name: CONFIG xymon user's groups - name: CONFIG xymon user's groups
user: user:
name: xymon name: xymon
groups: '{{ xymon_user_groups }}' groups: '{{ xymon_cli__user_groups }}'
append: true append: true
when: xymon_cli_manage|bool when: xymon_cli__manage|bool
notify: restart xymon-client service notify: restart xymon-client service
# Manage service [[[1 # Manage service [[[1
- name: SERVICE manage '{{ xymon_cli_service_name }}' - name: SERVICE manage '{{ xymon_cli__service_name }}'
service: service:
name: '{{ xymon_cli_service_name }}' name: '{{ xymon_cli__service_name }}'
state: started state: started
enabled: '{{ xymon_cli_service_enabled }}' enabled: '{{ xymon_cli__service_enabled }}'
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_cli_service_manage|bool) xymon_cli__service_manage|bool)
# Manage apt plugin [[[1 # Manage all plugins's packages [[[1
- name: PLUGIN apt packages - name: PLUGINS package and dependencies
package: package:
name: '{{ item }}' name: '{{ item }}'
state: 'present' state: 'present'
with_items: with_items:
- '{{ xymon_plug_apt_package | to_nice_json }}' - '{{ xymon_cli__plug_combined_packages | to_nice_json }}'
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool)
xymon_plug_apt_state|bool) register: combined_packages_plug_result
register: apt_plug_result until: combined_packages_plug_result is success
until: apt_plug_result is success
notify: restart xymon-client service notify: restart xymon-client service
- name: PLUGIN apt # Manage plugins clientlaunch files [[[1
- name: PLUGINS clientlaunch files
template: template:
src: '{{ xymon_plug_apt_tpl }}' src: '{{ item.template }}'
dest: '{{ xymon_plug_apt_path }}' dest: '{{ item.path }}'
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
when: (xymon_cli_manage|bool and with_items:
xymon_plug_manage|bool) - '{{ xymon_cli__plug_combined_clientlaunch }}'
when: (xymon_cli__manage|bool and
xymon_cli__plug_manage|bool)
notify: restart xymon-client service notify: restart xymon-client service
# Manage apt plugin [[[1
- name: PLUGIN apt no_repo_accept whitelist - name: PLUGIN apt no_repo_accept whitelist
template: template:
src: 'etc/xymon/apt_no_repo_accept.j2' src: 'etc/xymon/apt_no_repo_accept.j2'
@ -82,60 +85,11 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool) xymon_cli__plug_manage|bool)
notify: restart xymon-client service
# Manage ipmi plugin [[[1
- name: PLUGIN ipmi packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_ipmi_package | to_nice_json }}'
register: ipmi_plug_result
until: ipmi_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_ipmi_state|bool)
notify: restart xymon-client service
- name: PLUGIN ipmi
template:
src: '{{ xymon_cli__plug_ipmi_tpl }}'
dest: '{{ xymon_cli__plug_ipmi_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service notify: restart xymon-client service
# Manage libs plugin [[[1 # Manage libs plugin [[[1
- name: PLUGIN libs packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_plug_libs_package | to_nice_json }}'
register: libs_plug_result
until: libs_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_plug_libs_state|bool)
notify: restart xymon-client service
- name: PLUGIN libs
template:
src: '{{ xymon_plug_libs_tpl }}'
dest: '{{ xymon_plug_libs_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN libs whitelist - name: PLUGIN libs whitelist
template: template:
src: 'etc/xymon/libs.local.yaml.j2' src: 'etc/xymon/libs.local.yaml.j2'
@ -143,72 +97,23 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool) xymon_cli__plug_manage|bool)
notify: restart xymon-client service notify: restart xymon-client service
# Manage mq plugin [[[1 # Manage net plugin [[[1
- name: PLUGIN mq packages - name: PLUGIN net config template
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_plug_mq_package | to_nice_json }}'
register: mq_plug_result
until: mq_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_plug_mq_state|bool)
notify: restart xymon-client service
- name: PLUGIN mq
template: template:
src: '{{ xymon_plug_mq_tpl }}' src: '{{ xymon_cli__plug_net_conf_tpl }}'
dest: '{{ xymon_plug_mq_path }}' dest: '{{ xymon_cli__plug_net_conf_path }}'
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool) xymon_cli__plug_manage|bool)
notify: restart xymon-client service
# Manage netstats plugin [[[1
- name: PLUGIN netstats packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_netstats_package | to_nice_json }}'
register: netstats_plug_result
until: netstats_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_netstats_state|bool)
notify: restart xymon-client service
- name: PLUGIN netstats config
template:
src: '{{ xymon_cli__plug_netstats_tpl }}'
dest: '{{ xymon_cli__plug_netstats_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service notify: restart xymon-client service
# Manage sge plugin [[[1 # Manage sge plugin [[[1
- name: PLUGIN sge config
template:
src: '{{ xymon_cli__plug_sge_tpl }}'
dest: '{{ xymon_cli__plug_sge_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN sge script file from template - name: PLUGIN sge script file from template
template: template:
src: '{{ xymon_cli__plug_sge_script_tpl }}' src: '{{ xymon_cli__plug_sge_script_tpl }}'
@ -216,8 +121,8 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool and
xymon_cli__plug_sge_script_url|length == 0 ) xymon_cli__plug_sge_script_url|length == 0 )
notify: restart xymon-client service notify: restart xymon-client service
@ -228,36 +133,12 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool and
xymon_cli__plug_sge_script_url|length > 0 ) xymon_cli__plug_sge_script_url|length > 0 )
notify: restart xymon-client service notify: restart xymon-client service
# Manage smartoverall plugin [[[1 # Manage smartoverall plugin [[[1
- name: PLUGIN smartoverall packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_smartoverall_package | to_nice_json }}'
register: smartoverall_plug_result
until: smartoverall_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smartoverall_state|bool)
notify: restart xymon-client service
- name: PLUGIN smartoverall config
template:
src: '{{ xymon_cli__plug_smartoverall_tpl }}'
dest: '{{ xymon_cli__plug_smartoverall_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN smartoverall script file from template - name: PLUGIN smartoverall script file from template
template: template:
src: '{{ xymon_cli__plug_smartoverall_script_tpl }}' src: '{{ xymon_cli__plug_smartoverall_script_tpl }}'
@ -265,8 +146,8 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool and
xymon_cli__plug_smartoverall_script_url|length == 0 ) xymon_cli__plug_smartoverall_script_url|length == 0 )
notify: restart xymon-client service notify: restart xymon-client service
@ -277,36 +158,12 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool and
xymon_cli__plug_smartoverall_script_url|length > 0 ) xymon_cli__plug_smartoverall_script_url|length > 0 )
notify: restart xymon-client service notify: restart xymon-client service
# Manage smart plugin [[[1 # Manage smart plugin [[[1
- name: PLUGIN smart packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_smart_package | to_nice_json }}'
register: smart_plug_result
until: smart_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smart_state|bool)
notify: restart xymon-client service
- name: PLUGIN smart config
template:
src: '{{ xymon_cli__plug_smart_tpl }}'
dest: '{{ xymon_cli__plug_smart_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN smart script file from template - name: PLUGIN smart script file from template
template: template:
src: '{{ xymon_cli__plug_smart_script_tpl }}' src: '{{ xymon_cli__plug_smart_script_tpl }}'
@ -314,8 +171,8 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool and
xymon_cli__plug_smart_script_url|length == 0 ) xymon_cli__plug_smart_script_url|length == 0 )
notify: restart xymon-client service notify: restart xymon-client service
@ -326,48 +183,12 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_manage|bool and
xymon_cli__plug_smart_script_url|length > 0 ) xymon_cli__plug_smart_script_url|length > 0 )
notify: restart xymon-client service notify: restart xymon-client service
# Manage temp plugin [[[1
- name: PLUGIN temp packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_temp_package | to_nice_json }}'
register: temp_plug_result
until: temp_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_temp_state|bool)
notify: restart xymon-client service
- name: PLUGIN temp
template:
src: '{{ xymon_cli__plug_temp_tpl }}'
dest: '{{ xymon_cli__plug_temp_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
# Manage zfs plugin [[[1 # Manage zfs plugin [[[1
- name: PLUGIN zfs config file
template:
src: '{{ xymon_cli__plug_zfs_tpl }}'
dest: '{{ xymon_cli__plug_zfs_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN zfs script file - name: PLUGIN zfs script file
template: template:
src: '{{ xymon_cli__plug_zfs_script_tpl }}' src: '{{ xymon_cli__plug_zfs_script_tpl }}'
@ -375,6 +196,6 @@
owner: root owner: root
group: xymon group: xymon
mode: 0755 mode: 0755
when: (xymon_cli_manage|bool and when: (xymon_cli__manage|bool and
xymon_plug_manage|bool) xymon_cli__plug_manage|bool)
notify: restart xymon-client service notify: restart xymon-client service

View File

@ -13,7 +13,7 @@
# or (multiple servers) # or (multiple servers)
# XYMONSERVERS="10.0.0.1 192.168.1.1" # XYMONSERVERS="10.0.0.1 192.168.1.1"
XYMONSERVERS="{{ xymon_srv_list }}" XYMONSERVERS="{{ xymon_cli__srv_list }}"
# The defaults usually suffice for the rest of this file, # The defaults usually suffice for the rest of this file,
# but you can tweak the hostname that the client reports # but you can tweak the hostname that the client reports
@ -23,7 +23,7 @@ XYMONSERVERS="{{ xymon_srv_list }}"
# CLIENTHOSTNAME="" # CLIENTHOSTNAME=""
# CLIENTOS="rhel3" # CLIENTOS="rhel3"
CLIENTHOSTNAME="{{ xymon_cli_hostname }}" CLIENTHOSTNAME="{{ xymon_cli__hostname }}"
# Optionally mount a tmpfs on /var/lib/xymon/tmp. On client systems this has # Optionally mount a tmpfs on /var/lib/xymon/tmp. On client systems this has
# the advantage that client reports will continue to work even if the /var # the advantage that client reports will continue to work even if the /var

View File

@ -1,5 +1,5 @@
# {{ ansible_managed }} # {{ ansible_managed }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{% for package in xymon_plug_apt_combined_whitelist %} {% for package in xymon_cli__plug_apt_combined_whitelist %}
{{ package }} {{ package }}
{% endfor %} {% endfor %}

View File

@ -1,8 +1,8 @@
[apt] [apt]
# {{ ansible_managed }} # {{ ansible_managed }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_plug_apt_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_apt_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg
CMD $XYMONCLIENTHOME/ext/apt CMD $XYMONCLIENTHOME/ext/apt
LOGFILE /var/log/xymon/xymonclient.log LOGFILE /var/log/xymon/xymonclient.log
INTERVAL {{ xymon_plug_apt_interval }} INTERVAL {{ xymon_cli__plug_apt_interval }}

View File

@ -1,8 +1,8 @@
[libs] [libs]
# {{ ansible_managed }} # {{ ansible_managed }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_plug_libs_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_libs_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg
CMD $XYMONCLIENTHOME/ext/libs CMD $XYMONCLIENTHOME/ext/libs
LOGFILE /var/log/xymon/xymonclient.log LOGFILE /var/log/xymon/xymonclient.log
INTERVAL {{ xymon_plug_libs_interval }} INTERVAL {{ xymon_cli__plug_libs_interval }}

View File

@ -0,0 +1,9 @@
# Requires megaclisas-status package from https://hwraid.le-vert.net/wiki/DebianPackages
[megaraid]
# {{ ansible_managed }}
## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_megaraid_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg
CMD /usr/bin/xynagios --test=megaraid -- sudo megaclisas-status --nagios
LOGFILE /var/log/xymon/xymonclient.log
INTERVAL 5m

View File

@ -1,8 +1,8 @@
[mq] [mq]
# {{ ansible_managed }} # {{ ansible_managed }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_plug_mq_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_mq_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg
CMD $XYMONCLIENTHOME/ext/mq CMD $XYMONCLIENTHOME/ext/mq
LOGFILE /var/log/xymon/xymonclient.log LOGFILE /var/log/xymon/xymonclient.log
INTERVAL {{ xymon_plug_mq_interval }} INTERVAL {{ xymon_cli__plug_mq_interval }}

View File

@ -0,0 +1,8 @@
[net]
# {{ ansible_managed }}
## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_net_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg
CMD $XYMONCLIENTHOME/ext/net
LOGFILE /var/log/xymon/xymonclient.log
INTERVAL {{ xymon_cli__plug_net_interval }}

View File

@ -1,9 +1,9 @@
# {{ ansible_managed }} # {{ ansible_managed }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{% set inputmerged = xymon_plug_libs_default_whitelist.copy() %} {% set inputmerged = xymon_cli__plug_libs_default_whitelist.copy() %}
{% set _ = inputmerged.update(xymon_plug_libs_whitelist) %} {% set _ = inputmerged.update(xymon_cli__plug_libs_whitelist) %}
{% set _ = inputmerged.update(xymon_plug_libs_group_whitelist) %} {% set _ = inputmerged.update(xymon_cli__plug_libs_group_whitelist) %}
{% set _ = inputmerged.update(xymon_plug_libs_host_whitelist) %} {% set _ = inputmerged.update(xymon_cli__plug_libs_host_whitelist) %}
--- ---
whitelist: whitelist:
{% for group, rules in inputmerged|dictsort %} {% for group, rules in inputmerged|dictsort %}

View File

@ -0,0 +1,39 @@
# {{ ansible_managed }}
## From ipr-cnrs.xymon role
{{ ansible_hostname }}:
- {{ ansible_default_ipv4.interface }}
## This file is just here to allow the net probe, you juste enable,
## to send something.
## Check the README of hobbit-plugins project:
## https://salsa.debian.org/debian/hobbit-plugins#net-check-network-interface-states
## To get an overview of what can be done with this probe and how to get
## a working and more complete configuration file (check speed, mtu,…).
## You really should consider writing your own template and override
## `xymon_cli__plug_net_conf_tpl` variable.
## As the probe search for the hostname to get it's configuration, you can
## write one single configuration file with several hosts definition.
## And if you don't like template, you can simply put static informations ;)
## Example for "host1"
#host1:
# ### Ensure eno1 is up with a "Direct Attach Copper" (see ethtool) and
# ### with a speed of 10000Mb/s
# eno1:
# UP: red
# "Port: Direct Attach Copper": red
# "Speed: 10000Mb/s": red
# ### Ensure bond0 and vmbr0 are up
# bond0:
# UP: red
# vmbr0:
# UP: red
# ### Ensure vlan2 as MTU 9000
# vlan2:
# "mtu 9000": red
# ### Ensure eno3 is up with a speed of 1000Mb/s
# eno3:
# UP: red
# "1000Mb/s": red

View File

@ -122,6 +122,6 @@ then
fi fi
# What: Sent out the final bb message to hobbit server. # What: Sent out the final bb message to hobbit server.
$XYMON $XYMONSRV $XYMONSERVERS "status $MACHINE.$TEST $DISPCOLOR `date` $FIRST_LINE $STRING" $XYMON $XYMONSRV $XYMONSERVERS "status $MACHINE.$TEST $DISPCOLOR `date` $FIRST_LINE $STRING"
echo "$XYMON $XYMONSRV $XYMONSERVERS --debug status $MACHINE.$TEST $DISPCOLOR `date` $FIRST_LINE $STRING" > /tmp/xymon_zfs echo "$XYMON $XYMONSRV $XYMONSERVERS --debug status $MACHINE.$TEST $DISPCOLOR `date` $FIRST_LINE $STRING" > /tmp/xymon_cli__zfs
$XYMON $XYMONSRV $XYMONSERVERS "data $MACHINE.$TEST $DISPCOLOR $(echo; echo "$DATA" ;echo;echo)" $XYMON $XYMONSRV $XYMONSERVERS "data $MACHINE.$TEST $DISPCOLOR $(echo; echo "$DATA" ;echo;echo)"

View File

@ -1,5 +1,7 @@
--- ---
# vars file for Debian-based distros # vars file for Debian-based distros
xymon_cli_pkg_list: xymon_cli__pkg_list:
- xymon-client - xymon-client
xymon_cli__plug_pkg_list:
- hobbit-plugins - hobbit-plugins