Compare commits
No commits in common. "master" and "v1.4.0" have entirely different histories.
76
CHANGELOG.md
76
CHANGELOG.md
|
@ -1,83 +1,10 @@
|
||||||
## 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
|
|
||||||
|
|
||||||
### Enhancements
|
|
||||||
* Possibility to define URLs in order to get the latest version of SMART's scripts.
|
|
||||||
* 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
|
||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
* 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-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
|
* Add smartoverall plugin from https://git.ipr.univ-rennes1.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
|
||||||
* Add description for plugins.
|
* Add description for plugins.
|
||||||
|
|
||||||
### Fix
|
### Fix
|
||||||
|
@ -146,4 +73,3 @@
|
||||||
* 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
|
|
||||||
|
|
193
README.md
193
README.md
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
1. [Overview](#overview)
|
1. [Overview](#overview)
|
||||||
2. [Role Variables](#role-variables)
|
2. [Role Variables](#role-variables)
|
||||||
* [Plugins Specific Variables](#plugins-variables)
|
* [Plugins Specific Variables](#plugins-specific-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,37 +17,34 @@ 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_cli__user_groups** : List of 'xymon' user's groups [default : `xymon`].
|
* **xymon_user_groups** : List of 'xymon' user's groups [default : `xymon`].
|
||||||
* **xymon_cli__service_manage** : If `xymon-client` service should be managed with this role [default : `true`].
|
* **xymon_cli_service_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_cli__srv_list** : The list of Xymon servers (you must give an hostname, IP,… reachable from any clients) [defaults : `monitoring.{{ ansible_domain }}`].
|
* **xymon_srv_list** : The list of Xymon servers (you must give an hostname, IP,… reachable from any clients) [defaults : `monitoring.{{ ansible_domain }}`].
|
||||||
* **xymon_cli__plug_manage** : If this role should manage plugins configuration [default : `true`].
|
* **xymon_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_cli__plug_apt_state** : The state of plugin `apt` [default : `true`].
|
* **xymon_plug_apt_state** : The state of plugin `apt` [default : `true`].
|
||||||
* **xymon_cli__plug_apt_package** : The packages to install to provide `apt` plugin [default : `[ 'libtimedate-perl' ]`].
|
* **xymon_plug_apt_package** : The packages to install to provide `apt` plugin [default : `[ 'libtimedate-perl' ]`].
|
||||||
* **xymon_cli__plug_apt_path** : Configuration file for the `apt` plugin [default : `/etc/xymon/clientlaunch.d/apt.cfg`].
|
* **xymon_plug_apt_path** : Configuration file for the `apt` plugin [default : `/etc/xymon/clientlaunch.d/apt.cfg`].
|
||||||
* **xymon_cli__plug_apt_tpl** : Template used to generate the previous config file [default : `etc/xymon/clientlaunch.d/apt.cfg.j2`].
|
* **xymon_plug_apt_tpl** : Template used to generate the previous config file [default : `etc/xymon/clientlaunch.d/apt.cfg.j2`].
|
||||||
* **xymon_cli__plug_apt_interval** : Time between each run of the `apt` plugin [default : `5m`].
|
* **xymon_plug_apt_interval** : Time between each run of the `apt` plugin [default : `5m`].
|
||||||
* **xymon_cli__plug_apt_default_whitelist** : Default list of allowed packages not installed from repositories [default : `[]`].
|
* **xymon_plug_apt_default_whitelist** : Default 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_whitelist** : All hosts 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_group_whitelist** : Group 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 : `[]`].
|
* **xymon_plug_apt_host_whitelist** : Host list of allowed packages not installed from repositories [default : `[]`].
|
||||||
|
|
||||||
#### IPMI
|
#### IPMI
|
||||||
|
|
||||||
|
@ -60,113 +57,43 @@ 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_cli__plug_libs_state** : The state of plugin `libs` [default : `true`].
|
* **xymon_plug_libs_state** : The state of plugin `libs` [default : `true`].
|
||||||
* **xymon_cli__plug_libs_package** : The packages to install to provide `libs` plugin [default : `[ 'lsof', 'sudo', 'libyaml-tiny-perl' ]`].
|
* **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_path** : Configuration file for the `libs` plugin [default : `/etc/xymon/clientlaunch.d/libs.cfg`].
|
* **xymon_plug_libs_path** : Configuration file for the `libs` plugin [default : `/etc/xymon/clientlaunch.d/libs.cfg`].
|
||||||
* **xymon_cli__plug_libs_tpl** : Template used to generate the previous config file [default : `etc/xymon/clientlaunch.d/libs.cfg.j2`].
|
* **xymon_plug_libs_tpl** : Template used to generate the previous config file [default : `etc/xymon/clientlaunch.d/libs.cfg.j2`].
|
||||||
* **xymon_cli__plug_libs_interval** : Time between each run of the `libs` plugin [default : `5m`].
|
* **xymon_plug_libs_interval** : Time between each run of the `libs` plugin [default : `5m`].
|
||||||
* **xymon_cli__plug_libs_default_whitelist** : Default whitelist of processes that should not be monitored with `libs` plugin.
|
* **xymon_plug_libs_default_whitelist** : Default 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_whitelist** : All hosts 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_group_whitelist** : Group 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.
|
* **xymon_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_cli__plug_mq_state** : The state of plugin `mq` [default : `true`].
|
* **xymon_plug_mq_state** : The state of plugin `mq` [default : `true`].
|
||||||
* **xymon_cli__plug_mq_package** : The packages to install to provide `mq` plugin [default : `[ 'libtimedate-perl' ]`].
|
* **xymon_plug_mq_package** : The packages to install to provide `mq` plugin [default : `[ 'libtimedate-perl' ]`].
|
||||||
* **xymon_cli__plug_mq_path** : Configuration file for the `mq` plugin [default : `/etc/xymon/clientlaunch.d/mq.cfg`].
|
* **xymon_plug_mq_path** : Configuration file for the `mq` plugin [default : `/etc/xymon/clientlaunch.d/mq.cfg`].
|
||||||
* **xymon_cli__plug_mq_tpl** : Template used to generate the previous config file [default : `etc/xymon/clientlaunch.d/mq.cfg.j2`].
|
* **xymon_plug_mq_tpl** : Template used to generate the previous config file [default : `etc/xymon/clientlaunch.d/mq.cfg.j2`].
|
||||||
* **xymon_cli__plug_mq_interval** : Time between each run of the `mq` plugin [default : `5m`].
|
* **xymon_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 Netstats plugin from hobbit-plugins. The plugin check
|
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`].
|
||||||
|
|
||||||
#### 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
|
|
||||||
|
|
||||||
Variables for sge plugin from [ipr-cnrs.scripts][sge plugin source].
|
|
||||||
The plugin check health status for SGE queues and display informations about
|
|
||||||
SGE jobs and host.
|
|
||||||
|
|
||||||
* **xymon_cli__plug_sge_state** : The state of plugin `sge` [default : `False`].
|
|
||||||
* **xymon_cli__plug_sge_script_path** : Path to the `sge` script [default : `'/usr/lib/xymon/client/ext/sge'`].
|
|
||||||
* **xymon_cli__plug_sge_script_tpl** : Template used to generate the previous script [default : `'usr/lib/xymon/client/ext/sge.j2'`].
|
|
||||||
* **xymon_cli__plug_sge_script_url** : Use a remote file to get the previous script instead of a template [default : `''`].
|
|
||||||
* **xymon_cli__plug_sge_path** : Configuration file for the `sge` plugin [default : `'/etc/xymon/clientlaunch.d/sge.cfg'`].
|
|
||||||
* **xymon_cli__plug_sge_tpl** : Template used to generate the previous config file [default : `'etc/xymon/clientlaunch.d/sge.cfg.j2'`].
|
|
||||||
* **xymon_cli__plug_sge_interval** : Time between each run of the `sge` plugin [default : `'10m'`]
|
|
||||||
|
|
||||||
#### Smartoverall
|
#### Smartoverall
|
||||||
|
|
||||||
Variables for Smartoverall plugin from [ipr-cnrs.scripts][smartoverall plugin source].
|
Variables for Smartoverall plugin from [ipr-cnrs.scripts][smartoverall plugin source].
|
||||||
|
@ -179,7 +106,6 @@ For more features, see the next Smart plugin.
|
||||||
* **xymon_cli__plug_smartoverall_package** : The packages to install to provide `smartoverall` plugin [default : `[ 'smartmontools' ]`].
|
* **xymon_cli__plug_smartoverall_package** : The packages to install to provide `smartoverall` plugin [default : `[ 'smartmontools' ]`].
|
||||||
* **xymon_cli__plug_smartoverall_script_path** : Path to the `smartoverall` script [default : `'/usr/lib/xymon/client/ext/smartoverall'`].
|
* **xymon_cli__plug_smartoverall_script_path** : Path to the `smartoverall` script [default : `'/usr/lib/xymon/client/ext/smartoverall'`].
|
||||||
* **xymon_cli__plug_smartoverall_script_tpl** : Template used to generate the previous script [default : `'usr/lib/xymon/client/ext/smartoverall.j2'`].
|
* **xymon_cli__plug_smartoverall_script_tpl** : Template used to generate the previous script [default : `'usr/lib/xymon/client/ext/smartoverall.j2'`].
|
||||||
* **xymon_cli__plug_smartoverall_script_url** : Use a remote file to get the previous script instead of a template [default : `''`].
|
|
||||||
* **xymon_cli__plug_smartoverall_path** : Configuration file for the `smartoverall` plugin [default : `'/etc/xymon/clientlaunch.d/smartoverall.cfg'`].
|
* **xymon_cli__plug_smartoverall_path** : Configuration file for the `smartoverall` plugin [default : `'/etc/xymon/clientlaunch.d/smartoverall.cfg'`].
|
||||||
* **xymon_cli__plug_smartoverall_tpl** : Template used to generate the previous config file [default : `'etc/xymon/clientlaunch.d/smartoverall.cfg.j2'`].
|
* **xymon_cli__plug_smartoverall_tpl** : Template used to generate the previous config file [default : `'etc/xymon/clientlaunch.d/smartoverall.cfg.j2'`].
|
||||||
* **xymon_cli__plug_smartoverall_interval** : Time between each run of the `smartoverall` plugin [default : `'10m'`]
|
* **xymon_cli__plug_smartoverall_interval** : Time between each run of the `smartoverall` plugin [default : `'10m'`]
|
||||||
|
@ -194,31 +120,10 @@ one's recommended by the vendor and check a recent (<24h) test was done.
|
||||||
* **xymon_cli__plug_smart_package** : The packages to install to provide `smart` plugin [default : `[ 'smartmontools' ]`].
|
* **xymon_cli__plug_smart_package** : The packages to install to provide `smart` plugin [default : `[ 'smartmontools' ]`].
|
||||||
* **xymon_cli__plug_smart_script_path** : Path to the `smart` script [default : `'/usr/lib/xymon/client/ext/smart'`].
|
* **xymon_cli__plug_smart_script_path** : Path to the `smart` script [default : `'/usr/lib/xymon/client/ext/smart'`].
|
||||||
* **xymon_cli__plug_smart_script_tpl** : Template used to generate the previous script [default : `'usr/lib/xymon/client/ext/smart.j2'`].
|
* **xymon_cli__plug_smart_script_tpl** : Template used to generate the previous script [default : `'usr/lib/xymon/client/ext/smart.j2'`].
|
||||||
* **xymon_cli__plug_smart_script_url** : Use a remote file to get the previous script instead of a template [default : `''`].
|
|
||||||
* **xymon_cli__plug_smart_path** : Configuration file for the `smart` plugin [default : `'/etc/xymon/clientlaunch.d/smart.cfg'`].
|
* **xymon_cli__plug_smart_path** : Configuration file for the `smart` plugin [default : `'/etc/xymon/clientlaunch.d/smart.cfg'`].
|
||||||
* **xymon_cli__plug_smart_tpl** : Template used to generate the previous config file [default : `'etc/xymon/clientlaunch.d/smart.cfg.j2'`].
|
* **xymon_cli__plug_smart_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
|
||||||
|
@ -231,24 +136,11 @@ 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
|
||||||
|
|
||||||
|
@ -271,7 +163,6 @@ 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.
|
||||||
|
@ -296,15 +187,11 @@ 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-rennes.fr/cellinfo/ansible.xymon
|
[xymon source]: https://git.ipr.univ-rennes1.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/
|
||||||
|
|
||||||
[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
|
||||||
|
|
|
@ -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_cli__user_groups: 'xymon'
|
xymon_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_cli__srv_list: "monitoring.{{ ansible_domain }}"
|
xymon_srv_list: "monitoring.{{ ansible_domain }}"
|
||||||
# ]]]
|
# ]]]
|
||||||
# Plugins management [[[
|
# Plugins management [[[
|
||||||
# ----------------------
|
# ----------------------
|
||||||
|
|
||||||
xymon_cli__plug_manage: true
|
xymon_plug_manage: true
|
||||||
|
|
||||||
## Plugin apt [[[
|
## Plugin apt [[[
|
||||||
xymon_cli__plug_apt_state: true
|
xymon_plug_apt_state: true
|
||||||
xymon_cli__plug_apt_package: [ 'aptitude', 'dctrl-tools' ]
|
xymon_plug_apt_package: [ 'aptitude', 'dctrl-tools' ]
|
||||||
xymon_cli__plug_apt_path: '/etc/xymon/clientlaunch.d/apt.cfg'
|
xymon_plug_apt_path: '/etc/xymon/clientlaunch.d/apt.cfg'
|
||||||
xymon_cli__plug_apt_tpl: 'etc/xymon/clientlaunch.d/apt.cfg.j2'
|
xymon_plug_apt_tpl: 'etc/xymon/clientlaunch.d/apt.cfg.j2'
|
||||||
xymon_cli__plug_apt_interval: '5m'
|
xymon_plug_apt_interval: '5m'
|
||||||
xymon_cli__plug_apt_default_whitelist: []
|
xymon_plug_apt_default_whitelist: []
|
||||||
xymon_cli__plug_apt_whitelist: []
|
xymon_plug_apt_whitelist: []
|
||||||
xymon_cli__plug_apt_group_whitelist: []
|
xymon_plug_apt_group_whitelist: []
|
||||||
xymon_cli__plug_apt_host_whitelist: []
|
xymon_plug_apt_host_whitelist: []
|
||||||
xymon_cli__plug_apt_combined_whitelist: '{{ xymon_cli__plug_apt_default_whitelist
|
xymon_plug_apt_combined_whitelist: '{{ xymon_plug_apt_default_whitelist
|
||||||
+ xymon_cli__plug_apt_whitelist
|
+ xymon_plug_apt_whitelist
|
||||||
+ xymon_cli__plug_apt_group_whitelist
|
+ xymon_plug_apt_group_whitelist
|
||||||
+ xymon_cli__plug_apt_host_whitelist }}'
|
+ xymon_plug_apt_host_whitelist }}'
|
||||||
|
|
||||||
## ]]]
|
## ]]]
|
||||||
## Plugin ipmi [[[
|
## Plugin ipmi [[[
|
||||||
|
@ -70,116 +70,50 @@ 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 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 [[[
|
## Plugin libs [[[
|
||||||
xymon_cli__plug_libs_state: true
|
xymon_plug_libs_state: true
|
||||||
xymon_cli__plug_libs_package: [ 'lsof', 'sudo', 'libyaml-tiny-perl' ]
|
xymon_plug_libs_package: [ 'binutils', 'lsof', 'libyaml-tiny-perl', 'libfile-slurp-perl', 'libsort-naturally-perl' ]
|
||||||
xymon_cli__plug_libs_path: '/etc/xymon/clientlaunch.d/libs.cfg'
|
xymon_plug_libs_path: '/etc/xymon/clientlaunch.d/libs.cfg'
|
||||||
xymon_cli__plug_libs_tpl: 'etc/xymon/clientlaunch.d/libs.cfg.j2'
|
xymon_plug_libs_tpl: 'etc/xymon/clientlaunch.d/libs.cfg.j2'
|
||||||
xymon_cli__plug_libs_interval: '5m'
|
xymon_plug_libs_interval: '5m'
|
||||||
|
|
||||||
xymon_cli__plug_libs_default_whitelist:
|
xymon_plug_libs_default_whitelist:
|
||||||
/lib/systemd/systemd:
|
/lib/systemd/systemd:
|
||||||
- '.*'
|
- '.*'
|
||||||
/usr/libexec/sssd/sssd_autofs:
|
/usr/lib/x86_64-linux-gnu/sssd/sssd_be:
|
||||||
- '.*'
|
|
||||||
/usr/libexec/sssd/sssd_be:
|
|
||||||
- '.*'
|
|
||||||
/usr/libexec/sssd/sssd_nss:
|
|
||||||
- '.*'
|
|
||||||
/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_cli__plug_libs_whitelist: {}
|
xymon_plug_libs_whitelist: {}
|
||||||
xymon_cli__plug_libs_group_whitelist: {}
|
xymon_plug_libs_group_whitelist: {}
|
||||||
xymon_cli__plug_libs_host_whitelist: {}
|
xymon_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_cli__plug_mq_state: true
|
xymon_plug_mq_state: true
|
||||||
xymon_cli__plug_mq_package: ['libtimedate-perl']
|
xymon_plug_mq_package: ['libtimedate-perl']
|
||||||
xymon_cli__plug_mq_path: '/etc/xymon/clientlaunch.d/mq.cfg'
|
xymon_plug_mq_path: '/etc/xymon/clientlaunch.d/mq.cfg'
|
||||||
xymon_cli__plug_mq_tpl: 'etc/xymon/clientlaunch.d/mq.cfg.j2'
|
xymon_plug_mq_tpl: 'etc/xymon/clientlaunch.d/mq.cfg.j2'
|
||||||
xymon_cli__plug_mq_interval: '5m'
|
xymon_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 [[[
|
|
||||||
### 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_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_url: ''
|
|
||||||
xymon_cli__plug_sge_path: '/etc/xymon/clientlaunch.d/sge.cfg'
|
|
||||||
xymon_cli__plug_sge_tpl: 'etc/xymon/clientlaunch.d/sge.cfg.j2'
|
|
||||||
xymon_cli__plug_sge_interval: '5m'
|
|
||||||
|
|
||||||
# ]]]
|
|
||||||
## Plugin smartoverall [[[
|
## Plugin smartoverall [[[
|
||||||
### From https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
|
### From https://git.ipr.univ-rennes1.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
|
||||||
xymon_cli__plug_smartoverall_package: [ 'smartmontools' ]
|
xymon_cli__plug_smartoverall_package: [ 'smartmontools' ]
|
||||||
xymon_cli__plug_smartoverall_script_path: '/usr/lib/xymon/client/ext/smartoverall'
|
xymon_cli__plug_smartoverall_script_path: '/usr/lib/xymon/client/ext/smartoverall'
|
||||||
xymon_cli__plug_smartoverall_script_tpl: 'usr/lib/xymon/client/ext/smartoverall.j2'
|
xymon_cli__plug_smartoverall_script_tpl: 'usr/lib/xymon/client/ext/smartoverall.j2'
|
||||||
xymon_cli__plug_smartoverall_script_url: ''
|
|
||||||
xymon_cli__plug_smartoverall_path: '/etc/xymon/clientlaunch.d/smartoverall.cfg'
|
xymon_cli__plug_smartoverall_path: '/etc/xymon/clientlaunch.d/smartoverall.cfg'
|
||||||
xymon_cli__plug_smartoverall_tpl: 'etc/xymon/clientlaunch.d/smartoverall.cfg.j2'
|
xymon_cli__plug_smartoverall_tpl: 'etc/xymon/clientlaunch.d/smartoverall.cfg.j2'
|
||||||
xymon_cli__plug_smartoverall_interval: '10m'
|
xymon_cli__plug_smartoverall_interval: '10m'
|
||||||
|
@ -191,23 +125,10 @@ xymon_cli__plug_smart_state: False
|
||||||
xymon_cli__plug_smart_package: [ 'smartmontools' ]
|
xymon_cli__plug_smart_package: [ 'smartmontools' ]
|
||||||
xymon_cli__plug_smart_script_path: '/usr/lib/xymon/client/ext/smart'
|
xymon_cli__plug_smart_script_path: '/usr/lib/xymon/client/ext/smart'
|
||||||
xymon_cli__plug_smart_script_tpl: 'usr/lib/xymon/client/ext/smart.j2'
|
xymon_cli__plug_smart_script_tpl: 'usr/lib/xymon/client/ext/smart.j2'
|
||||||
xymon_cli__plug_smart_script_url: ''
|
|
||||||
xymon_cli__plug_smart_path: '/etc/xymon/clientlaunch.d/smart.cfg'
|
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
|
||||||
|
@ -219,73 +140,5 @@ 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 }}'
|
|
||||||
|
|
||||||
# ]]]
|
|
||||||
|
|
||||||
# ]]]
|
# ]]]
|
||||||
# ]]]
|
# ]]]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -7,13 +7,11 @@ 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-rennes.fr/cellinfo/ansible.xymon/issues
|
issue_tracker_url: https://git.ipr.univ-rennes1.fr/cellinfo/ansible.xymon/issues
|
||||||
min_ansible_version: 2.7
|
min_ansible_version: 2.2
|
||||||
platforms:
|
platforms:
|
||||||
- name: Debian
|
- name: Debian
|
||||||
versions:
|
versions:
|
||||||
- buster
|
|
||||||
- bullseye
|
|
||||||
- stretch
|
- stretch
|
||||||
galaxy_tags:
|
galaxy_tags:
|
||||||
- system
|
- system
|
||||||
|
|
317
tasks/main.yml
317
tasks/main.yml
|
@ -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
|
||||||
ansible.builtin.include_vars: "{{ item }}"
|
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,199 +12,282 @@
|
||||||
|
|
||||||
# Manage required client packages [[[1
|
# Manage required client packages [[[1
|
||||||
- name: client package
|
- name: client package
|
||||||
ansible.builtin.package:
|
package:
|
||||||
name: '{{ xymon_cli__pkg_list | flatten }}'
|
name: '{{ item }}'
|
||||||
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
|
||||||
ansible.builtin.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
|
||||||
ansible.builtin.user:
|
user:
|
||||||
name: xymon
|
name: xymon
|
||||||
groups: '{{ xymon_cli__user_groups }}'
|
groups: '{{ xymon_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 }}'
|
||||||
ansible.builtin.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 all plugins's packages [[[1
|
# Manage apt plugin [[[1
|
||||||
- name: PLUGINS package and dependencies
|
- name: PLUGIN apt packages
|
||||||
ansible.builtin.package:
|
package:
|
||||||
name: '{{ xymon_cli__plug_combined_packages | flatten }}'
|
name: '{{ item }}'
|
||||||
state: 'present'
|
state: 'present'
|
||||||
when: (xymon_cli__manage|bool and
|
with_items:
|
||||||
xymon_cli__plug_manage|bool)
|
- '{{ xymon_plug_apt_package | to_nice_json }}'
|
||||||
register: combined_packages_plug_result
|
when: (xymon_cli_manage|bool and
|
||||||
until: combined_packages_plug_result is success
|
xymon_plug_manage|bool and
|
||||||
|
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
|
||||||
|
|
||||||
# Manage plugins clientlaunch files [[[1
|
- name: PLUGIN apt
|
||||||
- name: PLUGINS clientlaunch files
|
template:
|
||||||
ansible.builtin.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
|
||||||
with_items:
|
when: (xymon_cli_manage|bool and
|
||||||
- '{{ xymon_cli__plug_combined_clientlaunch }}'
|
xymon_plug_manage|bool)
|
||||||
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
|
||||||
ansible.builtin.template:
|
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_cli__plug_manage|bool)
|
xymon_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
|
||||||
ansible.builtin.template:
|
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_cli__plug_manage|bool)
|
xymon_plug_manage|bool)
|
||||||
notify: restart xymon-client service
|
notify: restart xymon-client service
|
||||||
|
|
||||||
# Manage kern plugin [[[1
|
# Manage mq plugin [[[1
|
||||||
- name: PLUGIN kern workaround
|
- name: PLUGIN mq packages
|
||||||
ansible.builtin.template:
|
package:
|
||||||
src: '{{ xymon_cli__plug_kern_fix_tpl }}'
|
name: '{{ item }}'
|
||||||
dest: '{{ xymon_cli__plug_kern_fix_path }}'
|
state: 'present'
|
||||||
owner: root
|
with_items:
|
||||||
group: root
|
- '{{ xymon_plug_mq_package | to_nice_json }}'
|
||||||
mode: 0754
|
register: mq_plug_result
|
||||||
when: (xymon_cli__manage|bool and
|
until: mq_plug_result is success
|
||||||
xymon_cli__plug_manage|bool and
|
when: (xymon_cli_manage|bool and
|
||||||
xymon_cli__plug_kern_fix|bool)
|
xymon_plug_manage|bool and
|
||||||
|
xymon_plug_mq_state|bool)
|
||||||
notify: restart xymon-client service
|
notify: restart xymon-client service
|
||||||
|
|
||||||
# Manage net plugin [[[1
|
- name: PLUGIN mq
|
||||||
- name: PLUGIN net config template
|
template:
|
||||||
ansible.builtin.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_cli__plug_manage|bool)
|
xymon_plug_manage|bool)
|
||||||
notify: restart xymon-client service
|
notify: restart xymon-client service
|
||||||
|
|
||||||
# Manage sge plugin [[[1
|
# Manage netstats plugin [[[1
|
||||||
- name: PLUGIN sge script file from template
|
- name: PLUGIN netstats packages
|
||||||
ansible.builtin.template:
|
package:
|
||||||
src: '{{ xymon_cli__plug_sge_script_tpl }}'
|
name: '{{ item }}'
|
||||||
dest: '{{ xymon_cli__plug_sge_script_path }}'
|
state: 'present'
|
||||||
owner: root
|
with_items:
|
||||||
group: xymon
|
- '{{ xymon_cli__plug_netstats_package | to_nice_json }}'
|
||||||
mode: 0755
|
register: netstats_plug_result
|
||||||
when: (xymon_cli__manage|bool and
|
until: netstats_plug_result is success
|
||||||
xymon_cli__plug_manage|bool and
|
when: (xymon_cli_manage|bool and
|
||||||
xymon_cli__plug_sge_script_url|length == 0 )
|
xymon_plug_manage|bool and
|
||||||
|
xymon_cli__plug_netstats_state|bool)
|
||||||
notify: restart xymon-client service
|
notify: restart xymon-client service
|
||||||
|
|
||||||
- name: PLUGIN sge script file from URL
|
- name: PLUGIN netstats config
|
||||||
ansible.builtin.get_url:
|
template:
|
||||||
url: '{{ xymon_cli__plug_sge_script_url }}'
|
src: '{{ xymon_cli__plug_netstats_tpl }}'
|
||||||
dest: '{{ xymon_cli__plug_sge_script_path }}'
|
dest: '{{ xymon_cli__plug_netstats_path }}'
|
||||||
owner: root
|
owner: root
|
||||||
group: xymon
|
group: root
|
||||||
mode: 0755
|
mode: 0644
|
||||||
when: (xymon_cli__manage|bool and
|
when: (xymon_cli_manage|bool and
|
||||||
xymon_cli__plug_manage|bool and
|
xymon_plug_manage|bool)
|
||||||
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 script file from template
|
- name: PLUGIN smartoverall packages
|
||||||
ansible.builtin.template:
|
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
|
||||||
|
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_cli__plug_manage|bool and
|
xymon_plug_manage|bool)
|
||||||
xymon_cli__plug_smartoverall_script_url|length == 0 )
|
|
||||||
notify: restart xymon-client service
|
|
||||||
|
|
||||||
- name: PLUGIN smartoverall script file from URL
|
|
||||||
ansible.builtin.get_url:
|
|
||||||
url: '{{ xymon_cli__plug_smartoverall_script_url }}'
|
|
||||||
dest: '{{ xymon_cli__plug_smartoverall_script_path }}'
|
|
||||||
owner: root
|
|
||||||
group: xymon
|
|
||||||
mode: 0755
|
|
||||||
when: (xymon_cli__manage|bool and
|
|
||||||
xymon_cli__plug_manage|bool and
|
|
||||||
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 script file from template
|
- name: PLUGIN smart packages
|
||||||
ansible.builtin.template:
|
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
|
||||||
|
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_cli__plug_manage|bool and
|
xymon_plug_manage|bool)
|
||||||
xymon_cli__plug_smart_script_url|length == 0 )
|
|
||||||
notify: restart xymon-client service
|
|
||||||
|
|
||||||
- name: PLUGIN smart script file from URL
|
|
||||||
ansible.builtin.get_url:
|
|
||||||
url: '{{ xymon_cli__plug_smart_script_url }}'
|
|
||||||
dest: '{{ xymon_cli__plug_smart_script_path }}'
|
|
||||||
owner: root
|
|
||||||
group: xymon
|
|
||||||
mode: 0755
|
|
||||||
when: (xymon_cli__manage|bool and
|
|
||||||
xymon_cli__plug_manage|bool and
|
|
||||||
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
|
||||||
ansible.builtin.template:
|
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_cli__plug_manage|bool)
|
xymon_plug_manage|bool)
|
||||||
notify: restart xymon-client service
|
notify: restart xymon-client service
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
# {{ 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
|
||||||
|
@ -13,7 +10,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_cli__srv_list }}"
|
XYMONSERVERS="{{ xymon_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 +20,7 @@ XYMONSERVERS="{{ xymon_cli__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
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/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}"
|
|
|
@ -1,5 +1,4 @@
|
||||||
# {{ ansible_managed | comment }}
|
# {{ ansible_managed }}
|
||||||
## 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 %}
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
[apt]
|
[apt]
|
||||||
# {{ ansible_managed | comment }}
|
{{ '#DISABLED' if xymon_plug_apt_state else 'DISABLED' }}
|
||||||
## 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_cli__plug_apt_interval }}
|
INTERVAL {{ xymon_plug_apt_interval }}
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
[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
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
[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 }}
|
|
|
@ -1,8 +1,6 @@
|
||||||
[libs]
|
[libs]
|
||||||
# {{ ansible_managed | comment }}
|
{{ '#DISABLED' if xymon_plug_libs_state else 'DISABLED' }}
|
||||||
## 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_cli__plug_libs_interval }}
|
INTERVAL {{ xymon_plug_libs_interval }}
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
# 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
|
|
|
@ -1,8 +1,6 @@
|
||||||
[mq]
|
[mq]
|
||||||
# {{ ansible_managed | comment }}
|
{{ '#DISABLED' if xymon_plug_mq_state else 'DISABLED' }}
|
||||||
## 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_cli__plug_mq_interval }}
|
INTERVAL {{ xymon_plug_mq_interval }}
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
[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 }}
|
|
|
@ -1,6 +1,4 @@
|
||||||
[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
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
[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 }}
|
|
|
@ -1,8 +0,0 @@
|
||||||
[sge]
|
|
||||||
# {{ ansible_managed | comment }}
|
|
||||||
## From ipr-cnrs.xymon role
|
|
||||||
{{ '#DISABLED' if xymon_cli__plug_sge_state else 'DISABLED' }}
|
|
||||||
ENVFILE /etc/xymon/xymonclient.cfg
|
|
||||||
CMD {{ xymon_cli__plug_sge_script_path }}
|
|
||||||
LOGFILE /var/log/xymon/sge.log
|
|
||||||
INTERVAL {{ xymon_cli__plug_sge_interval }}
|
|
|
@ -1,5 +1,5 @@
|
||||||
[smart]
|
[smart]
|
||||||
# {{ ansible_managed | comment }}
|
# {{ ansible_managed }}
|
||||||
## 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
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[smartoverall]
|
[smartoverall]
|
||||||
# {{ ansible_managed | comment }}
|
# {{ ansible_managed }}
|
||||||
## 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
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
[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 }}
|
|
|
@ -1,6 +1,4 @@
|
||||||
[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
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
# {{ ansible_managed | comment }}
|
# {{ ansible_managed }}
|
||||||
## 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 %}
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
# {{ 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
|
|
|
@ -1,252 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# {{ ansible_managed | comment }}
|
|
||||||
# From ipr-cnrs.xymon role
|
|
||||||
# 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
|
|
||||||
#
|
|
||||||
##### Purpose is to report back to a central server, all Sun
|
|
||||||
##### Grid Engine software faults.
|
|
||||||
#####
|
|
||||||
#
|
|
||||||
# version 0.4
|
|
||||||
#
|
|
||||||
# BIG BROTHER / XXXXXXXXXXXXXXXX status
|
|
||||||
#
|
|
||||||
# Written by Butch Deal <butchdeal@yahoo.com>
|
|
||||||
# Daniel Gomez <dgomez@tigr.org,daniel@ixplosive.com>
|
|
||||||
# Jérémy Gardais <jeremy.gardais@univ-rennes1.fr>
|
|
||||||
#
|
|
||||||
# v0.4 09/06/20 clean, correction,… for Xymon 4.3.28
|
|
||||||
# v0.3e 10/14/08 cut down on the number of qhost runs
|
|
||||||
# v0.3d 03/31/06 added alarm/suspend state identification
|
|
||||||
# v0.3c 03/01/06 propogated yellow state upon UNAVAILABLE queue intances
|
|
||||||
# v0.3b 01/31/06 fixed yellow warning queue status for ambigious config test
|
|
||||||
# v0.3a 01/31/06 added unknown queue status and ambigious config test
|
|
||||||
# v0.3 01/26/06 fixed status reporting and optimized job status
|
|
||||||
# v0.2 08/03/05 flag disabled queues as clear
|
|
||||||
# v0.1 07/28/05 authored
|
|
||||||
|
|
||||||
########################################
|
|
||||||
# NOTE
|
|
||||||
# The version v0.4 has only been tested with Xymon (server and client) 4.2.x.
|
|
||||||
#
|
|
||||||
# The color status with respects to queue status is arbitrary and should be
|
|
||||||
# reviewed for your particular environment.
|
|
||||||
#
|
|
||||||
# Tested on :
|
|
||||||
# Solaris & Linux
|
|
||||||
# Linux only (for v0.4)
|
|
||||||
########################################
|
|
||||||
|
|
||||||
########################################
|
|
||||||
# INSTALLATION
|
|
||||||
# step 1 - copy to Xymon client's ext dir
|
|
||||||
# step 2 - New clientlaunch.d/sge.cfg file
|
|
||||||
# step 3 - restart Xymon client
|
|
||||||
#
|
|
||||||
# NOTE - the TEST variable in the configuration section, this is the name used
|
|
||||||
# as the column header.
|
|
||||||
########################################
|
|
||||||
|
|
||||||
##################################
|
|
||||||
# CONFIGURE IT HERE
|
|
||||||
##################################
|
|
||||||
readonly PLUGIN_NAME=$(basename "${0}")
|
|
||||||
|
|
||||||
readonly TEST="sge"
|
|
||||||
readonly PLUGIN_RESULT="${XYMONTMP}/${MACHINEDOTS}.${TEST}.plugin_result"
|
|
||||||
|
|
||||||
readonly QSTAT=$(command -v qstat)
|
|
||||||
readonly QHOST=$(command -v qhost)
|
|
||||||
readonly QSELECT=$(command -v qselect)
|
|
||||||
export QSTAT QHOST QSELECT
|
|
||||||
|
|
||||||
# define colours for graphics
|
|
||||||
# Comment these out if using older BB versions
|
|
||||||
CLEAR_PIC="&clear"
|
|
||||||
RED_PIC="&red"
|
|
||||||
YELLOW_PIC="&yellow"
|
|
||||||
GREEN_PIC="&green"
|
|
||||||
UNKNOWN_PIC="&purple"
|
|
||||||
|
|
||||||
##################################
|
|
||||||
# Start of script
|
|
||||||
##################################
|
|
||||||
|
|
||||||
get_header()
|
|
||||||
{
|
|
||||||
echo ""
|
|
||||||
#echo "<FONT SIZE=+2><b>$1</b></FONT> ($2)<BR>"
|
|
||||||
echo "<FONT SIZE=+2><b>$1</b></FONT> <BR>"
|
|
||||||
# If you do not want the header in a bigger font use line below instead
|
|
||||||
#echo "<b>$1</b> ($2)"
|
|
||||||
# If you want the "Paul Luzzi" look uncomment this section and comment
|
|
||||||
# out the above sections:
|
|
||||||
#echo "<P><DIV ALIGN=\"CENTER\"><HR>"
|
|
||||||
#echo "<B>============== $1 ==============</B>"
|
|
||||||
#echo "<B>--- ($2) ---</B>"
|
|
||||||
#echo "<HR></DIV>"
|
|
||||||
#echo "<BLOCKQUOTE>"
|
|
||||||
}
|
|
||||||
get_header_small()
|
|
||||||
{
|
|
||||||
echo ""
|
|
||||||
#echo "<FONT SIZE=+2><b>$1</b></FONT> ($2)<BR>"
|
|
||||||
echo "<FONT SIZE=+1><b>$1</b></FONT> <BR>"
|
|
||||||
# If you do not want the header in a bigger font use line below instead
|
|
||||||
# echo "<b>$1</b> ($2)"
|
|
||||||
# If you want the "Paul Luzzi" look uncomment this section and comment
|
|
||||||
# out the above sections:
|
|
||||||
#echo "<P><DIV ALIGN=\"CENTER\"><HR>"
|
|
||||||
#echo "<B>============== $1 ==============</B>"
|
|
||||||
#echo "<B>--- ($2) ---</B>"
|
|
||||||
#echo "<HR></DIV>"
|
|
||||||
#echo "<BLOCKQUOTE>"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
get_footer()
|
|
||||||
{
|
|
||||||
echo ""
|
|
||||||
# If you want the "Paul Luzzi" look uncomment this section and comment
|
|
||||||
# out the above sections:
|
|
||||||
#echo "</BLOCKQUOTE>"
|
|
||||||
}
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### Get Status proc - used to get all responses
|
|
||||||
#####
|
|
||||||
get_status()
|
|
||||||
{
|
|
||||||
#####
|
|
||||||
##### Setup some variables for use later
|
|
||||||
#####
|
|
||||||
COLOR="green"
|
|
||||||
|
|
||||||
# Check defaults have been set
|
|
||||||
if [ "${QSTAT}" = "" ]; then
|
|
||||||
readonly QSTAT=$(command -v qstat)
|
|
||||||
echo ""
|
|
||||||
echo "$YELLOW_PIC QSTAT command is not defined in etc/bbsys.local - using default: ${QSTAT}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${QHOST}" = "" ]; then
|
|
||||||
readonly QHOST=$(command -v qhost)
|
|
||||||
echo ""
|
|
||||||
echo "$YELLOW_PIC QHOST command is not defined in etc/bbsys.local - using default: ${QHOST}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${QSELECT}" = "" ]; then
|
|
||||||
readonly QSELECT=$(command -v qselect)
|
|
||||||
echo ""
|
|
||||||
echo "$YELLOW_PIC QSELECT command is not defined in etc/bbsys.local - using default: ${QSELECT}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
###
|
|
||||||
### Check the jobs
|
|
||||||
###
|
|
||||||
get_header "Jobs" "$QSTAT -l hostname=$MACHINEDOTS"
|
|
||||||
jobs=$(${QSTAT} -l hostname="${MACHINEDOTS}" -s r -u \*)
|
|
||||||
if [ -z "$jobs" ]; then
|
|
||||||
echo "No Running Jobs"
|
|
||||||
else
|
|
||||||
${QSTAT} -l hostname="${MACHINEDOTS}" -s r -u \*
|
|
||||||
fi
|
|
||||||
get_footer
|
|
||||||
|
|
||||||
###
|
|
||||||
### Check the host
|
|
||||||
###
|
|
||||||
get_header "Host" "$METAHS -i"
|
|
||||||
${QHOST} -h "${MACHINEDOTS}" | grep -v "global"
|
|
||||||
get_footer
|
|
||||||
|
|
||||||
###
|
|
||||||
### Identify queue memberships
|
|
||||||
###
|
|
||||||
#get_header "Queue Membership" "$QHOST -q"
|
|
||||||
#${QHOST} -h ${MACHINEDOTS} -q | tail +5
|
|
||||||
#get_footer
|
|
||||||
|
|
||||||
###
|
|
||||||
### Check queue instance states
|
|
||||||
###
|
|
||||||
queueTriggered=false;
|
|
||||||
# Queueset=$(${QHOST} -h ${MACHINEDOTS} -q | tail +5 | awk '{ print $1 }')
|
|
||||||
${QHOST} -h "${MACHINEDOTS}" -q | tail +5 > "${PLUGIN_RESULT}.QSTATE"
|
|
||||||
Queueset=$(< "${PLUGIN_RESULT}.QSTATE" awk '{ print $1 }')
|
|
||||||
for Qset in $Queueset; do
|
|
||||||
# qstate=$(${QHOST} -q -h "${MACHINEDOTS}" | tail +5 | grep " $Qset" | awk '{print $4}')
|
|
||||||
qstate=$(grep " $Qset" "${PLUGIN_RESULT}.QSTATE" | awk '{print $4}')
|
|
||||||
|
|
||||||
# Order determines more significant color status
|
|
||||||
if [ "$(echo "${qstate}" | grep -c d)" != "0" ]; then
|
|
||||||
COLOR="clear"
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$CLEAR_PIC $Qset@$HOST is DISABLED")
|
|
||||||
queueTriggered=true;
|
|
||||||
elif [ "$(echo "${qstate}" | grep -c E)" != "0" ]; then
|
|
||||||
COLOR="red"
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$RED_PIC $Qset@$HOST is in ERROR!")
|
|
||||||
queueTriggered=true;
|
|
||||||
elif [ "$(echo "${qstate}" | grep -c c)" != "0" ]; then
|
|
||||||
COLOR="yellow"
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$YELLOW_PIC $Qset@$HOST has an ambigious configuration!")
|
|
||||||
queueTriggered=true;
|
|
||||||
elif [ "$(echo "${qstate}" | grep -c a)" != "0" ] || \
|
|
||||||
[ "$(echo "${qstate}" | grep -c A)" != "0" ]; then
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$YELLOW_PIC $Qset@$HOST is in ALARM")
|
|
||||||
elif [ "$(echo "${qstate}" | grep -c s)" != "0" ] || \
|
|
||||||
[ "$(echo "${qstate}" | grep -c S)" != "0" ]; then
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$YELLOW_PIC $Qset@$HOST is SUSPENDED")
|
|
||||||
elif [ "$(echo "${qstate}" | grep -c u)" != "0" ]; then
|
|
||||||
COLOR="yellow"
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$YELLOW_PIC $Qset@$HOST is UNAVAILABLE!")
|
|
||||||
queueTriggered=true;
|
|
||||||
elif [ "$qstate" = "" ]; then
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$GREEN_PIC $Qset@$HOST is OK")
|
|
||||||
else
|
|
||||||
queueMsg=$(echo "$queueMsg<BR>$UNKNOWN_PIC $Qset@$HOST is UNKNOWN")
|
|
||||||
queueTriggered=true;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -f "${PLUGIN_RESULT}.QSTATE" ]; then
|
|
||||||
rm -f -- "${PLUGIN_RESULT}.QSTATE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
get_header "Queue Instance Status Report"
|
|
||||||
echo "$queueMsg"
|
|
||||||
get_footer
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### Make sure to export COLOR so that it gets back to "central"
|
|
||||||
#####
|
|
||||||
export COLOR
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### End of get_status proc
|
|
||||||
#####
|
|
||||||
}
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### Main body
|
|
||||||
#####
|
|
||||||
get_status > "${PLUGIN_RESULT}"
|
|
||||||
|
|
||||||
# NOW USE THE XYMON COMMAND TO SEND THE DATA ACROSS
|
|
||||||
$XYMON "${XYMSRV}" "status ${MACHINE}.${TEST} ${COLOR} $($DATE) $(cat ${PLUGIN_RESULT})"
|
|
||||||
#For testing only
|
|
||||||
# echo $XYMON "${XYMSRV}" "status ${MACHINE}.${TEST} ${COLOR} $($DATE) $(cat ${PLUGIN_RESULT})" > /tmp/sgetmp
|
|
||||||
|
|
||||||
# Clean up our mess
|
|
||||||
# Checking for existence of each file since the whole test may be optional
|
|
||||||
# and may not actually run on every client
|
|
||||||
#
|
|
||||||
if [ -f "${PLUGIN_RESULT}" ]; then
|
|
||||||
rm -f -- "${PLUGIN_RESULT}"
|
|
||||||
fi
|
|
||||||
##############################################
|
|
||||||
# end of script
|
|
||||||
##############################################
|
|
|
@ -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 | comment }}
|
# {{ ansible_managed }}
|
||||||
# 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
|
||||||
|
@ -17,7 +17,6 @@ use Data::Dumper;
|
||||||
|
|
||||||
my $bb = new Hobbit('smart');
|
my $bb = new Hobbit('smart');
|
||||||
|
|
||||||
my $temp_disk_list = "$ENV{'XYMONTMP'}/$ENV{'MACHINEDOTS'}.smart.drivedb.list";
|
|
||||||
my @disks = ();
|
my @disks = ();
|
||||||
my %olderr = {};
|
my %olderr = {};
|
||||||
|
|
||||||
|
@ -26,33 +25,13 @@ my $CACHEFILE = "$ENV{'XYMONTMP'}/$ENV{'MACHINEDOTS'}.smart.cache";
|
||||||
|
|
||||||
&load_config("$ENV{'XYMONTMP'}/logfetch.$ENV{'MACHINEDOTS'}.cfg");
|
&load_config("$ENV{'XYMONTMP'}/logfetch.$ENV{'MACHINEDOTS'}.cfg");
|
||||||
|
|
||||||
my @disks_stat = stat($temp_disk_list);
|
|
||||||
my $disks_mtime = scalar @disks_stat ? $disks_stat[9] : 0;
|
|
||||||
#
|
|
||||||
# Regenerate disks list if the file is too old (600 minutes)
|
|
||||||
if (time() - $disks_mtime > 600)
|
|
||||||
{
|
|
||||||
unlink $temp_disk_list;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-e $temp_disk_list) {
|
|
||||||
# Should use the existing file
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
# Create a file with the list of disks
|
|
||||||
system("ls -1 /dev/sd* | grep -vE '[0-9]' > $temp_disk_list") == 0
|
|
||||||
or die "system command to create $temp_disk_list failed: $?";
|
|
||||||
}
|
|
||||||
|
|
||||||
# fallback to disk detection if nothing defined in the config
|
# fallback to disk detection if nothing defined in the config
|
||||||
unless (@disks) {
|
unless (@disks) {
|
||||||
## Put temp_disk_list content to disks array
|
opendir(DIR, '/dev') or die $!;
|
||||||
open(my $fh, '<:encoding(UTF-8)', $temp_disk_list)
|
while (my $dev = readdir(DIR)) {
|
||||||
or die "Could not open file '$temp_disk_list' $!";
|
push(@disks, "/dev/$dev") if ($dev =~ /^[vs]d.*\D$/);
|
||||||
while (my $row = <$fh>) {
|
|
||||||
chomp $row;
|
|
||||||
push(@disks, "$row");
|
|
||||||
}
|
}
|
||||||
|
closedir(DIR);
|
||||||
}
|
}
|
||||||
|
|
||||||
my @stat = stat($CACHEFILE);
|
my @stat = stat($CACHEFILE);
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
|
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
|
||||||
|
|
||||||
# {{ ansible_managed | comment }}
|
# {{ ansible_managed }}
|
||||||
# From ipr-cnrs.xymon role
|
# From ipr-cnrs.xymon role
|
||||||
# Source :
|
# Source :
|
||||||
# https://git.ipr.univ-rennes.fr/cellinfo/scripts/src/master/xymon/plugins/client/ext/smartoverall
|
# https://git.ipr.univ-rennes1.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.
|
||||||
|
|
||||||
|
@ -37,13 +37,6 @@ c_reset='\033[0m'
|
||||||
|
|
||||||
plugin_name=$(basename "${0}")
|
plugin_name=$(basename "${0}")
|
||||||
|
|
||||||
plugin_result="${XYMONTMP}/${MACHINEDOTS}.smartoverall.plugin_result"
|
|
||||||
plugin_state="${XYMONTMP}/${MACHINEDOTS}.smartoverall.plugin_state"
|
|
||||||
device_list="${XYMONTMP}/${MACHINEDOTS}.smartoverall.dscan"
|
|
||||||
## List of devices known from the smartmontools base and compatible with test logging
|
|
||||||
## This file might be used by a more advanced script such as skazi0's one
|
|
||||||
drivedb_list="${XYMONTMP}/${MACHINEDOTS}.smart.drivedb.list"
|
|
||||||
|
|
||||||
# ]]]
|
# ]]]
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
|
@ -55,7 +48,7 @@ is_disk_support_smart() {
|
||||||
_disk="${1}"
|
_disk="${1}"
|
||||||
_type="${2}"
|
_type="${2}"
|
||||||
|
|
||||||
_smarctl_support_result="${XYMONTMP}/${MACHINEDOTS}.smartoverall.support.$(basename "${_disk}")"
|
_smarctl_support_result="/tmp/dsupport.$(basename "${_disk}")"
|
||||||
|
|
||||||
smart_support_msg=""
|
smart_support_msg=""
|
||||||
|
|
||||||
|
@ -86,10 +79,7 @@ is_disk_support_smart() {
|
||||||
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : is_disk_support_smart func − SMART is not fully supported on : ${_disk} with ${_type} type. See smartctl informations :\n${smart_support_msg}"
|
[ "${debug}" -eq "0" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG : is_disk_support_smart func − SMART is not fully supported on : ${_disk} with ${_type} type. See smartctl informations :\n${smart_support_msg}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Clean temp files
|
rm -f -- "${_smarctl_support_result}"
|
||||||
### As the Xymon's tmpdir is used to store log files, no need to delete them at
|
|
||||||
### the end of the script. They will be emptied at the beginning of the next run.
|
|
||||||
|
|
||||||
}
|
}
|
||||||
## ]]]
|
## ]]]
|
||||||
## Test the type of disk with smartctl [[[
|
## Test the type of disk with smartctl [[[
|
||||||
|
@ -120,16 +110,15 @@ choose_correct_type() {
|
||||||
## ]]]
|
## ]]]
|
||||||
|
|
||||||
# Create or empty previous files
|
# Create or empty previous files
|
||||||
true > "${plugin_result}"
|
true > /tmp/dres
|
||||||
true > "${plugin_state}"
|
true > /tmp/dcheck
|
||||||
true > "${device_list}"
|
true > /tmp/dscan
|
||||||
true > "${drivedb_list}"
|
|
||||||
|
|
||||||
# Get the list of all available devices
|
# Get the list of all available devices
|
||||||
smartctl --scan >> "${device_list}"
|
smartctl --scan >> /tmp/dscan
|
||||||
|
|
||||||
# If the file is not empty
|
# If the file is not empty
|
||||||
if test -s "${device_list}"; then
|
if test -s /tmp/dscan; then
|
||||||
while IFS= read -r LINE; do
|
while IFS= read -r LINE; do
|
||||||
## Get device path
|
## Get device path
|
||||||
DISK=$(echo "${LINE}" | cut -d" " -f1)
|
DISK=$(echo "${LINE}" | cut -d" " -f1)
|
||||||
|
@ -176,11 +165,6 @@ https://www.smartmontools.org/wiki/FAQ#SmartmontoolsDatabase"
|
||||||
DSELFTEST_MSG="&clear Test logging are not supported:"
|
DSELFTEST_MSG="&clear Test logging are not supported:"
|
||||||
else
|
else
|
||||||
DSELFTEST_MSG=""
|
DSELFTEST_MSG=""
|
||||||
### If the device is also known from smartmontools database
|
|
||||||
if printf -- '%s' "${DDRIVEDB_MSG}" | grep -q -E -- "green"
|
|
||||||
then
|
|
||||||
echo "${DISK}" >> "${drivedb_list}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -205,7 +189,7 @@ https://www.smartmontools.org/wiki/FAQ#SmartmontoolsDatabase"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Avoid duplicate device
|
## Avoid duplicate device
|
||||||
if ! grep -q "${DID}" "${plugin_result}"; then
|
if ! grep -q "${DID}" /tmp/dres; then
|
||||||
## For summary
|
## For summary
|
||||||
echo "${COLOR} $DISK ${TYPE}"
|
echo "${COLOR} $DISK ${TYPE}"
|
||||||
|
|
||||||
|
@ -221,30 +205,29 @@ https://www.smartmontools.org/wiki/FAQ#SmartmontoolsDatabase"
|
||||||
echo "------------------------------------------------------------"
|
echo "------------------------------------------------------------"
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
} >> "${plugin_result}"
|
} >> /tmp/dres
|
||||||
fi
|
fi
|
||||||
done < "${device_list}" >> "${plugin_state}"
|
done < /tmp/dscan >> /tmp/dcheck
|
||||||
|
|
||||||
# If the file is empty
|
# If the file is empty
|
||||||
else
|
else
|
||||||
echo "1&red Error while scanning devices with smartctl" >> "${plugin_state}"
|
echo "1&red Error while scanning devices with smartctl" >> /tmp/dcheck
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the global color according to the highest alert
|
# Set the global color according to the highest alert
|
||||||
COLOR=$(< "${plugin_state}" awk '{print $1}' | sort | uniq | head -1 | cut -c3-)
|
COLOR=$(< /tmp/dcheck awk '{print $1}' | sort | uniq | head -1 | cut -c3-)
|
||||||
|
|
||||||
# Send informations to Xymon server
|
# Send informations to Xymon server
|
||||||
$XYMON "${XYMSRV}" "status ${MACHINE}.${plugin_name} ${COLOR} SMART health check
|
$XYMON "${XYMSRV}" "status ${MACHINE}.${plugin_name} ${COLOR} SMART health check
|
||||||
|
|
||||||
$(< "${plugin_state}" cut -c2-)
|
$(< /tmp/dcheck cut -c2-)
|
||||||
|
|
||||||
==================== Detailed status ====================
|
==================== Detailed status ====================
|
||||||
|
|
||||||
$(cat "${plugin_result}")
|
$(cat /tmp/dres)
|
||||||
"
|
"
|
||||||
|
|
||||||
# Clean temp files
|
# Clean temp files
|
||||||
## As the Xymon's tmpdir is used to store log files, no need to delete them at
|
rm -f -- /tmp/dres /tmp/dcheck /tmp/dscan
|
||||||
## the end of the script. They will be emptied at the beginning of the next run.
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
#!/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>
|
||||||
|
@ -122,6 +118,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_cli__zfs
|
echo "$XYMON $XYMONSRV $XYMONSERVERS --debug status $MACHINE.$TEST $DISPCOLOR `date` $FIRST_LINE $STRING" > /tmp/xymon_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)"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
---
|
---
|
||||||
# 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
|
||||||
|
|
Loading…
Reference in New Issue