Compare commits

...

29 Commits

Author SHA1 Message Date
Jeremy Gardais 202ada89cd
Fix "Can't check kernel version" warning message
On Ubuntu only by default.
2025-03-24 13:31:46 +01:00
Jeremy Gardais 56ddaab1fd Merge pull request 'refresh-2024' (#1) from refresh-2024 into master
Reviewed-on: #1
2024-09-30 16:30:19 +02:00
Jeremy Gardais b7f9be38a4
Update SSSD path for libs white list 2024-09-30 16:29:50 +02:00
Jeremy Gardais 38ffb9af77
Allow multi-lines with ansible_managed | comment 2024-09-30 16:29:04 +02:00
Jeremy Gardais 745f3bd3a6
Update domain for git.ipr 2023-11-03 16:08:32 +01:00
Jeremy Gardais e4e2518625
Remove hddtemp dependency
Package is no longer available in Debian Bookworm and can be replaced by
 **drivetemp** kernel module (working since Debian Bullseye 👍).
2023-04-27 13:52:15 +02:00
Jeremy Gardais 5a87fc07fb
20230301 Update dependencies for libs probe 2023-04-26 14:47:00 +02:00
Jeremy Gardais 241ecaac17
Add new kern probe management 2023-04-26 14:20:22 +02:00
Jeremy Gardais c6115085a9
Prefix module with "ansible.builtin." 2023-01-24 11:50:15 +01:00
Jeremy Gardais af8963bb47
Use flatten to manage packages list 2023-01-24 11:45:30 +01:00
Jeremy Gardais 23a0dfa558
Works with Debian Bullseye 2021-11-17 13:51:22 +01:00
Jeremy Gardais 8fa4ebaf77
Prefix net probe command with sudo
Required for some interfaces.
2021-11-17 13:45:48 +01:00
Jeremy Gardais 277308637b
Correct the path for ZFS probe 2021-07-22 12:22:21 +02:00
Jeremy Gardais c3b0b935e5
Publish v2.0.0 2020-12-22 13:23:31 +01:00
Jeremy Gardais 8aad270520
Add ntpq probe management
The ntp package will not be managed in this role because it can break
the "ntp" on the system according to the choosen client (systemd,
chrony,…).
2020-12-22 13:13:31 +01:00
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
Jeremy Gardais 37587a0853
Add example to enable probes for hardware hosts 2020-10-28 18:31:25 +01:00
Jeremy Gardais 6931410def
Add information that files come from Ansible 2020-10-28 11:08:02 +01:00
Jeremy Gardais 68ba6f14f1
Add temp probe configuration 2020-10-28 11:06:04 +01:00
30 changed files with 617 additions and 347 deletions

View File

@ -1,8 +1,75 @@
## v2.3.0
### Enhancements
* Add variable/template to fix **kern**'s probe related message on Ubuntu
(`Can't check kernel version!`)
* See : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725/comments/35
## v2.2.0
### Enhancements
* Use **comment** filter for ansible_managed, to allow multi-lines.
* Update SSSD path for libs white list.
## v2.1.0
### Enhancements
* Add new kern probe management.
* Update dependencies for libs probe after hobbit-plugins 20230301 upgrade
### Removed
* Remove hddtemp dependency. Package is no longer available in Debian Bookworm
and replaced by **drivetemp** kernel module (working since Debian Bullseye).
## v2.0.3
### Fix
* Use flatten to manage packages list.
* Prefix module with "ansible.builtin.".
### Enhancements
* Works with Debian Bullseye
## v2.0.2
### Fix
* Prefix **net** probe command with **sudo** (required for some interfaces).
## v2.0.1
### Fix
* Correct the path for ZFS probe.
## v2.0.0
### 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 ntpq 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
### Enhancements
* Add temp probe configuration.
* Add example to enable probes for hardware hosts.
## v1.5.0 ## v1.5.0
### Enhancements ### Enhancements
* Possibility to define URLs in order to get the latest version of SMART's scripts. * Possibility to define URLs in order to get the latest version of SMART's scripts.
* Add sge plugin from https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh * Add sge plugin from https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh
## v1.4.0 ## v1.4.0
@ -10,7 +77,7 @@
* Add variables to manage plugin interval. * Add variables to manage plugin interval.
* Add netstats plugin managment. * Add netstats plugin managment.
* Add smart plugin from https://github.com/skazi0/xymon-plugins * Add smart plugin from https://github.com/skazi0/xymon-plugins
* Add smartoverall plugin from https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall * Add smartoverall plugin from https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
* Add description for plugins. * Add description for plugins.
### Fix ### Fix
@ -79,3 +146,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

178
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
@ -57,43 +60,99 @@ sensors and event log.
* **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_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_cli__plug_ipmi_interval**: Time between each run of the `ipmi` plugin [default: `5m`].
#### Kern
Variables for the kern plugin from hobbit-plugins. The plugin check for running
outdated running kernel and need for reboot.
* **xymon_cli__plug_kern_state**: The state of plugin `kern` [default: `true`].
* **xymon_cli__plug_kern_package**: The packages to install to provide `kern` plugin [default: `[ 'binutils', 'libfile-slurp-perl', 'libsort-naturally-perl' ]`].
* **xymon_cli__plug_kern_path**: Configuration file for the `kern` plugin [default: `/etc/xymon/clientlaunch.d/kern.cfg`].
* **xymon_cli__plug_kern_tpl**: Template used to generate the previous config file [default: `etc/xymon/clientlaunch.d/kern.cfg.j2`].
* **xymon_cli__plug_kern_interval**: Time between each run of the `kern` plugin [default: `5m`].
#### Libs #### Libs
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: `[ 'lsof', 'sudo', 'libyaml-tiny-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
Variables for the Net/Netstats plugin from hobbit-plugins. The plugin check Variables for the 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`].
#### Ntpq
Variables for the Ntpq plugin from hobbit-plugins. The plugin check
the ntpd daemon synchronization status (needs manual ntp installation).
* **xymon_cli__plug_ntpq_state**: The state of plugin `ntpq` [default: `false`].
* **xymon_cli__plug_ntpq_path**: Configuration file for the `ntpq` plugin [default: `/etc/xymon/clientlaunch.d/ntpq.cfg`].
* **xymon_cli__plug_ntpq_tpl**: Template used to generate the previous config file [default: `etc/xymon/clientlaunch.d/ntpq.cfg.j2`].
* **xymon_cli__plug_ntpq_interval**: Time between each run of the `ntpq` plugin [default: `5m`].
#### SGE #### SGE
Variables for sge plugin from [ipr-cnrs.scripts][sge plugin source]. Variables for sge plugin from [ipr-cnrs.scripts][sge plugin source].
@ -140,6 +199,26 @@ one's recommended by the vendor and check a recent (<24h) test was done.
* **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_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_smart_interval**: Time between each run of the `smart` plugin [default: `'10m'`]
#### Temp
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_package**: The packages to install to provide `temp` plugin [default: `[ 'libfile-which-perl', 'libyaml-tiny-perl', 'smartmontools', 'libxml-twig-perl' ]`].
* **xymon_cli__plug_temp_path**: Configuration file for the `temp` plugin [default: `'/etc/xymon/clientlaunch.d/temp.cfg'`].
* **xymon_cli__plug_temp_tpl**: Template used to generate the previous config file [default: `'etc/xymon/clientlaunch.d/temp.cfg.j2'`].
* **xymon_cli__plug_temp_interval**: Time between each run of the `temp` plugin [default: `'5m'`]
##### Nvidia support
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 define
**xymon_cli__plug_temp_extra_package** var:
``` yml
xymon_cli__plug_temp_extra_package: [ 'nvidia-smi' ]
```
#### ZFS #### ZFS
Variables for ZFS plugin from [Xymonton][zfs plugin source]. The plugin check Variables for ZFS plugin from [Xymonton][zfs plugin source]. The plugin check
@ -152,11 +231,24 @@ health (global and for pools), capacity and snapshot status.
* **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_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`]. * **xymon_cli__plug_zfs_interval**: Time between each run of the `zfs` plugin [default: `5m`].
#### Automatically enable some probes
It can be useful to automatically enable some probes according to the type of
servers:
* Enable temp probe on hardware hosts (also useful for Smartoverall and Smart):
``` yml
xymon_cli__plug_temp_state: '{{ True
if (ansible_virtualization_role == "host")
else False }}'
```
### OS Specific Variables ### OS Specific Variables
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
@ -179,6 +271,7 @@ This role will:
Some plugins and options can be managed with this role: Some plugins and options can be managed with this role:
* apt: Check state of packages and repositories. * apt: Check state of packages and repositories.
* kern: Check for outdated running kernel and need for reboot.
* libs: Check for running processes with upgraded libraries. * libs: Check for running processes with upgraded libraries.
* mq: Check mail queue. * mq: Check mail queue.
* zfs: Check ZFS pools status. * zfs: Check ZFS pools status.
@ -203,12 +296,15 @@ Jérémy Gardais
[vars directory]: ./vars [vars directory]: ./vars
[gogs to github hook]: https://stackoverflow.com/a/21998477 [gogs to github hook]: https://stackoverflow.com/a/21998477
[xymon source]: https://git.ipr.univ-rennes1.fr/cellinfo/ansible.xymon [xymon source]: https://git.ipr.univ-rennes.fr/cellinfo/ansible.xymon
[xymon github]: https://github.com/ipr-cnrs/xymon [xymon github]: https://github.com/ipr-cnrs/xymon
[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/
[sge plugin source]: https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh [url hwraid]: https://hwraid.le-vert.net/wiki/DebianPackages
[smartoverall plugin source]: https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall [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-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh
[smartoverall plugin source]: https://git.ipr.univ-rennes.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
[zfs plugin source]: https://wiki.xymonton.org/doku.php/monitors:bb-zfs [zfs plugin source]: https://wiki.xymonton.org/doku.php/monitors:bb-zfs

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,50 +70,98 @@ 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 [[[
xymon_plug_libs_state: true
xymon_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_plug_libs_tpl: 'etc/xymon/clientlaunch.d/libs.cfg.j2'
xymon_plug_libs_interval: '5m'
xymon_plug_libs_default_whitelist: ## ]]]
## Plugin kern [[[
xymon_cli__plug_kern_state: true
xymon_cli__plug_kern_package: [ 'binutils', 'libfile-slurp-perl', 'libsort-naturally-perl' ]
xymon_cli__plug_kern_path: '/etc/xymon/clientlaunch.d/kern.cfg'
xymon_cli__plug_kern_tpl: 'etc/xymon/clientlaunch.d/kern.cfg.j2'
xymon_cli__plug_kern_interval: '5m'
### Related to "Ubuntu - Can't check kernel version" warning message
### See : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725/comments/35
xymon_cli__plug_kern_fix: '{{ True if (ansible_distribution == "Ubuntu")
else False }}'
xymon_cli__plug_kern_fix_path: '/etc/kernel/postinst.d/statoverride'
xymon_cli__plug_kern_fix_tpl: 'etc/kernel/postinst.d/statoverride.j2'
# ]]]
## Plugin libs [[[
xymon_cli__plug_libs_state: true
xymon_cli__plug_libs_package: [ 'lsof', 'sudo', 'libyaml-tiny-perl' ]
xymon_cli__plug_libs_path: '/etc/xymon/clientlaunch.d/libs.cfg'
xymon_cli__plug_libs_tpl: 'etc/xymon/clientlaunch.d/libs.cfg.j2'
xymon_cli__plug_libs_interval: '5m'
xymon_cli__plug_libs_default_whitelist:
/lib/systemd/systemd: /lib/systemd/systemd:
- '.*' - '.*'
/usr/lib/x86_64-linux-gnu/sssd/sssd_be: /usr/libexec/sssd/sssd_autofs:
- '.*' - '.*'
/usr/lib/x86_64-linux-gnu/sssd/sssd_autofs: /usr/libexec/sssd/sssd_be:
- '.*' - '.*'
/usr/lib/x86_64-linux-gnu/sssd/sssd_nss: /usr/libexec/sssd/sssd_nss:
- '.*' - '.*'
/usr/lib/x86_64-linux-gnu/sssd/sssd_pam: /usr/libexec/sssd/sssd_pac:
- '.*'
/usr/libexec/sssd/sssd_pam:
- '.*'
/usr/libexec/sssd/sssd_ssh:
- '.*'
/usr/libexec/sssd/sssd_sudo:
- '.*' - '.*'
/usr/sbin/sssd: /usr/sbin/sssd:
- '.*' - '.*'
/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 ntpq [[[
xymon_cli__plug_ntpq_state: true
xymon_cli__plug_ntpq_path: '/etc/xymon/clientlaunch.d/ntpq.cfg'
xymon_cli__plug_ntpq_tpl: 'etc/xymon/clientlaunch.d/ntpq.cfg.j2'
xymon_cli__plug_ntpq_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-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh
xymon_cli__plug_sge_state: False xymon_cli__plug_sge_state: False
xymon_cli__plug_sge_script_path: '/usr/lib/xymon/client/ext/sge.sh' xymon_cli__plug_sge_script_path: '/usr/lib/xymon/client/ext/sge.sh'
xymon_cli__plug_sge_script_tpl: 'usr/lib/xymon/client/ext/sge.sh.j2' xymon_cli__plug_sge_script_tpl: 'usr/lib/xymon/client/ext/sge.sh.j2'
@ -124,7 +172,7 @@ xymon_cli__plug_sge_interval: '5m'
# ]]] # ]]]
## Plugin smartoverall [[[ ## Plugin smartoverall [[[
### From https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall ### From https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
### And based on https://www.xymon.com/xymon-cgi/viewconf.sh?smart ### And based on https://www.xymon.com/xymon-cgi/viewconf.sh?smart
### Mostly for disks unknown from smartmontools's database ### Mostly for disks unknown from smartmontools's database
xymon_cli__plug_smartoverall_state: False xymon_cli__plug_smartoverall_state: False
@ -148,6 +196,18 @@ xymon_cli__plug_smart_path: '/etc/xymon/clientlaunch.d/smart.cfg'
xymon_cli__plug_smart_tpl: 'etc/xymon/clientlaunch.d/smart.cfg.j2' xymon_cli__plug_smart_tpl: 'etc/xymon/clientlaunch.d/smart.cfg.j2'
xymon_cli__plug_smart_interval: '10m' xymon_cli__plug_smart_interval: '10m'
# ]]]
## Plugin temp [[[
### Enable by default on hardware host
xymon_cli__plug_temp_state: False
xymon_cli__plug_temp_package: [ 'libfile-which-perl', 'libyaml-tiny-perl', '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_tpl: 'etc/xymon/clientlaunch.d/temp.cfg.j2'
xymon_cli__plug_temp_interval: '5m'
# ]]] # ]]]
## Plugin zfs [[[ ## Plugin zfs [[[
xymon_cli__plug_zfs_state: false xymon_cli__plug_zfs_state: false
@ -159,5 +219,73 @@ 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_kern_package if xymon_cli__plug_kern_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: kern
path: '{{ xymon_cli__plug_kern_path }}'
template: '{{ xymon_cli__plug_kern_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: ntpq
path: '{{ xymon_cli__plug_ntpq_path }}'
template: '{{ xymon_cli__plug_ntpq_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_zfs_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

@ -7,11 +7,13 @@ galaxy_info:
description: "Manage Xymon configuration" description: "Manage Xymon configuration"
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-rennes.fr/cellinfo/ansible.xymon/issues
min_ansible_version: 2.2 min_ansible_version: 2.7
platforms: platforms:
- name: Debian - name: Debian
versions: versions:
- buster
- bullseye
- stretch - stretch
galaxy_tags: galaxy_tags:
- system - system

View File

@ -4,7 +4,7 @@
# tasks file for ipr.ansible.xymon # tasks file for ipr.ansible.xymon
- name: Load specific OS vars for xymon - name: Load specific OS vars for xymon
include_vars: "{{ item }}" ansible.builtin.include_vars: "{{ item }}"
with_first_found: with_first_found:
- "{{ ansible_distribution|lower }}-{{ ansible_distribution_version }}.yml" - "{{ ansible_distribution|lower }}-{{ ansible_distribution_version }}.yml"
- "{{ ansible_distribution|lower }}.yml" - "{{ ansible_distribution|lower }}.yml"
@ -12,344 +12,199 @@
# Manage required client packages [[[1 # Manage required client packages [[[1
- name: client package - name: client package
package: ansible.builtin.package:
name: '{{ item }}' name: '{{ xymon_cli__pkg_list | flatten }}'
state: '{{ xymon_cli_pkg_state }}' state: '{{ xymon_cli__pkg_state }}'
with_items:
- '{{ 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: ansible.builtin.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: ansible.builtin.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: ansible.builtin.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: ansible.builtin.package:
name: '{{ item }}' name: '{{ xymon_cli__plug_combined_packages | flatten }}'
state: 'present' state: 'present'
with_items: when: (xymon_cli__manage|bool and
- '{{ xymon_plug_apt_package | to_nice_json }}' xymon_cli__plug_manage|bool)
when: (xymon_cli_manage|bool and register: combined_packages_plug_result
xymon_plug_manage|bool and until: combined_packages_plug_result is success
xymon_plug_apt_state|bool)
register: apt_plug_result
until: apt_plug_result is success
notify: restart xymon-client service notify: restart xymon-client service
- name: PLUGIN apt # Manage plugins clientlaunch files [[[1
template: - name: PLUGINS clientlaunch files
src: '{{ xymon_plug_apt_tpl }}' ansible.builtin.template:
dest: '{{ xymon_plug_apt_path }}' src: '{{ item.template }}'
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: ansible.builtin.template:
src: 'etc/xymon/apt_no_repo_accept.j2' src: 'etc/xymon/apt_no_repo_accept.j2'
dest: '/etc/xymon/apt_no_repo_accept' dest: '/etc/xymon/apt_no_repo_accept'
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: ansible.builtin.template:
src: 'etc/xymon/libs.local.yaml.j2' src: 'etc/xymon/libs.local.yaml.j2'
dest: '/etc/xymon/libs.local.yaml' dest: '/etc/xymon/libs.local.yaml'
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 kern plugin [[[1
- name: PLUGIN mq packages - name: PLUGIN kern workaround
package: ansible.builtin.template:
name: '{{ item }}' src: '{{ xymon_cli__plug_kern_fix_tpl }}'
state: 'present' dest: '{{ xymon_cli__plug_kern_fix_path }}'
with_items: owner: root
- '{{ xymon_plug_mq_package | to_nice_json }}' group: root
register: mq_plug_result mode: 0754
until: mq_plug_result is success when: (xymon_cli__manage|bool and
when: (xymon_cli_manage|bool and xymon_cli__plug_manage|bool and
xymon_plug_manage|bool and xymon_cli__plug_kern_fix|bool)
xymon_plug_mq_state|bool)
notify: restart xymon-client service notify: restart xymon-client service
- name: PLUGIN mq # Manage net plugin [[[1
template: - name: PLUGIN net config template
src: '{{ xymon_plug_mq_tpl }}' ansible.builtin.template:
dest: '{{ xymon_plug_mq_path }}' src: '{{ xymon_cli__plug_net_conf_tpl }}'
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: ansible.builtin.template:
src: '{{ xymon_cli__plug_sge_script_tpl }}' src: '{{ xymon_cli__plug_sge_script_tpl }}'
dest: '{{ xymon_cli__plug_sge_script_path }}' dest: '{{ xymon_cli__plug_sge_script_path }}'
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
- name: PLUGIN sge script file from URL - name: PLUGIN sge script file from URL
get_url: ansible.builtin.get_url:
url: '{{ xymon_cli__plug_sge_script_url }}' url: '{{ xymon_cli__plug_sge_script_url }}'
dest: '{{ xymon_cli__plug_sge_script_path }}' dest: '{{ xymon_cli__plug_sge_script_path }}'
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: ansible.builtin.template:
src: '{{ xymon_cli__plug_smartoverall_script_tpl }}' src: '{{ xymon_cli__plug_smartoverall_script_tpl }}'
dest: '{{ xymon_cli__plug_smartoverall_script_path }}' dest: '{{ xymon_cli__plug_smartoverall_script_path }}'
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
- name: PLUGIN smartoverall script file from URL - name: PLUGIN smartoverall script file from URL
get_url: ansible.builtin.get_url:
url: '{{ xymon_cli__plug_smartoverall_script_url }}' url: '{{ xymon_cli__plug_smartoverall_script_url }}'
dest: '{{ xymon_cli__plug_smartoverall_script_path }}' dest: '{{ xymon_cli__plug_smartoverall_script_path }}'
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: ansible.builtin.template:
src: '{{ xymon_cli__plug_smart_script_tpl }}' src: '{{ xymon_cli__plug_smart_script_tpl }}'
dest: '{{ xymon_cli__plug_smart_script_path }}' dest: '{{ xymon_cli__plug_smart_script_path }}'
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
- name: PLUGIN smart script file from URL - name: PLUGIN smart script file from URL
get_url: ansible.builtin.get_url:
url: '{{ xymon_cli__plug_smart_script_url }}' url: '{{ xymon_cli__plug_smart_script_url }}'
dest: '{{ xymon_cli__plug_smart_script_path }}' dest: '{{ xymon_cli__plug_smart_script_path }}'
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 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: ansible.builtin.template:
src: '{{ xymon_cli__plug_zfs_script_tpl }}' src: '{{ xymon_cli__plug_zfs_script_tpl }}'
dest: '{{ xymon_cli__plug_zfs_script_path }}' dest: '{{ xymon_cli__plug_zfs_script_path }}'
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

@ -1,3 +1,6 @@
# {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
# Configure the Xymon client settings. # Configure the Xymon client settings.
# You MUST set the list of Xymon servers that this # You MUST set the list of Xymon servers that this
@ -10,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
@ -20,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

@ -0,0 +1,18 @@
#!/bin/sh
{# Use | comment to manage multilines #}
# {{ ansible_managed | comment }}
# Ansible template : {{ template_path }}
#
# Allow to fix the warning :
# "Kernel image /boot/vmlinuz… unreadable. Can't check kernel version!"
# https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725
# See comment #34 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725/comments/34
set -e
version="$1"
if [ -z "$version" ]; then
exit 0
fi
exec dpkg-statoverride --force-statoverride-add --update --add root root 0644 "/boot/vmlinuz-${version}"

View File

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

View File

@ -1,6 +1,8 @@
[apt] [apt]
{{ '#DISABLED' if xymon_plug_apt_state else 'DISABLED' }} # {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
{{ '#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,4 +1,6 @@
[ipmi] [ipmi]
# {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_ipmi_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_ipmi_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg
CMD /usr/bin/sudo -E -u root $XYMONCLIENTHOME/ext/ipmi CMD /usr/bin/sudo -E -u root $XYMONCLIENTHOME/ext/ipmi

View File

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

View File

@ -1,6 +1,8 @@
[libs] [libs]
{{ '#DISABLED' if xymon_plug_libs_state else 'DISABLED' }} # {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
{{ '#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 | comment }}
## 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,6 +1,8 @@
[mq] [mq]
{{ '#DISABLED' if xymon_plug_mq_state else 'DISABLED' }} # {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
{{ '#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 | comment }}
## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_net_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg
CMD /usr/bin/sudo -E -u root $XYMONCLIENTHOME/ext/net
LOGFILE /var/log/xymon/xymonclient.log
INTERVAL {{ xymon_cli__plug_net_interval }}

View File

@ -1,4 +1,6 @@
[netstats] [netstats]
# {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_netstats_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_netstats_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg
CMD $XYMONCLIENTHOME/ext/netstats CMD $XYMONCLIENTHOME/ext/netstats

View File

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

View File

@ -1,5 +1,5 @@
[sge] [sge]
# {{ ansible_managed }} # {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_sge_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_sge_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg

View File

@ -1,5 +1,5 @@
[smart] [smart]
# {{ ansible_managed }} # {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_smart_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_smart_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg

View File

@ -1,5 +1,5 @@
[smartoverall] [smartoverall]
# {{ ansible_managed }} # {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role ## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_smartoverall_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_smartoverall_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg

View File

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

View File

@ -1,4 +1,6 @@
[zfs] [zfs]
# {{ ansible_managed | comment }}
## From ipr-cnrs.xymon role
{{ '#DISABLED' if xymon_cli__plug_zfs_state else 'DISABLED' }} {{ '#DISABLED' if xymon_cli__plug_zfs_state else 'DISABLED' }}
ENVFILE /etc/xymon/xymonclient.cfg ENVFILE /etc/xymon/xymonclient.cfg
CMD /usr/bin/sudo -E -u root $XYMONCLIENTHOME/ext/zfs CMD /usr/bin/sudo -E -u root $XYMONCLIENTHOME/ext/zfs

View File

@ -1,8 +1,9 @@
# {{ ansible_managed }} # {{ ansible_managed | comment }}
{% set inputmerged = xymon_plug_libs_default_whitelist.copy() %} ## From ipr-cnrs.xymon role
{% set _ = inputmerged.update(xymon_plug_libs_whitelist) %} {% set inputmerged = xymon_cli__plug_libs_default_whitelist.copy() %}
{% set _ = inputmerged.update(xymon_plug_libs_group_whitelist) %} {% set _ = inputmerged.update(xymon_cli__plug_libs_whitelist) %}
{% set _ = inputmerged.update(xymon_plug_libs_host_whitelist) %} {% set _ = inputmerged.update(xymon_cli__plug_libs_group_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 | comment }}
## 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

@ -1,8 +1,8 @@
#!/bin/sh #!/bin/sh
# {{ ansible_managed }} # {{ ansible_managed | comment }}
# From ipr-cnrs.xymon role # From ipr-cnrs.xymon role
# https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh # https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/sge.sh
# #
# SGE: Sun Grid Engine check - Xymon external script test # SGE: Sun Grid Engine check - Xymon external script test
# #

View File

@ -2,7 +2,7 @@
# $Id: sensors 70 2011-11-25 09:21:18Z skazi $ # $Id: sensors 70 2011-11-25 09:21:18Z skazi $
# Author: Jacek Tomasiak <jacek.tomasiak@gmail.com> # Author: Jacek Tomasiak <jacek.tomasiak@gmail.com>
# {{ ansible_managed }} # {{ ansible_managed | comment }}
# From ipr-cnrs.xymon role # From ipr-cnrs.xymon role
# Thanks to Jacek Tomasiak skazi0 # Thanks to Jacek Tomasiak skazi0
# https://github.com/skazi0/xymon-plugins/blob/master/client/ext/smart # https://github.com/skazi0/xymon-plugins/blob/master/client/ext/smart

View File

@ -1,10 +1,10 @@
#!/bin/sh #!/bin/sh
# .. vim: foldmarker=[[[,]]]:foldmethod=marker # .. vim: foldmarker=[[[,]]]:foldmethod=marker
# {{ ansible_managed }} # {{ ansible_managed | comment }}
# From ipr-cnrs.xymon role # From ipr-cnrs.xymon role
# Source: # Source:
# https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall # https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
# NOTE: Must be run as root, so you probably need to setup sudo for this. # NOTE: Must be run as root, so you probably need to setup sudo for this.

View File

@ -1,4 +1,8 @@
#!/bin/ksh #!/bin/ksh
# {{ ansible_managed | comment }}
# From ipr-cnrs.xymon role
# Revision History: # Revision History:
# 1. Mike Rowell <Mike.Rowell@Rightmove.co.uk>, original # 1. Mike Rowell <Mike.Rowell@Rightmove.co.uk>, original
# 2. Uwe Kirbach <U.Kirbach@EnBW.com> # 2. Uwe Kirbach <U.Kirbach@EnBW.com>
@ -118,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