Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
- Puppet >= 5.5.0 < 7.0.0
- CentOS,RedHat,Debian,Ubuntu,SLES
Start using this module
Documentation
Puppet Xymon module
Introduction
This module manages several aspects of the Xymon Monitoring Suite.
Current features include:
- Xymon agent installation and configuration for Debian, RedHat and SuSE Linux distributions
- Installation and configuration of custom Xymon monitors and prerequisites
Usage
See the reference page for details on the available classes.
Reference
Table of Contents
Classes
xymon::client
: Installs Xymon client, configures it and optionally sets up monitorsxymon::repository::apt
: Install the APT repository, key (optionally) and the pacakgexymon::repository::yum
: Install the APT repository, key (optionally) and the pacakgexymon::repository::zypper
: Install the APT repository, key (optionally) and the pacakge
Defined types
xymon::client::monitor
: Sets up a xymon monitor
Classes
xymon::client
Installs Xymon client, configures it and optionally sets up monitors
- See also xymon::client::test
Examples
class {
'xymon::client':
repository_url = 'https://my.repository.company.com/repo',
xymon_server = 'xymon.company.com',
gpg_url = 'https://my.repository.company.com/gpg',
gpg_id = '6688A3782BBFE5A4',
monitors = {
'mycheck': {
script_source: 'puppet:///my/script.sh'
arguments: [
'--yellow=80',
'--red=90',
'--check-values=/etc/xymon/files/rootcheck.cfg
],
sudo: {
'rootcheck': {
content: 'xymon ALL=(ALL) NOPASSWD: /usr/bin/rootcheck',
}
},
packages: {
'rootcheck': { ensure: 'latest' },
},
files: {
'rootcheck.cfg': 'puppet:///my/rootcheck.cfg',
}
}
}
Parameters
The following parameters are available in the xymon::client
class.
repository_url
Data type: String
URL of the repository that contains the xymon-client
xymon_server
Data type: String
The xymon server to use
config_file
Data type: String
Path to the xymon-client configuration file
Default value: '/etc/default/xymon-client'
package
Data type: String
Package name
Default value: 'xymon-client'
service_name
Data type: String
Service name
Default value: 'xymon-client'
xymon_config_dir
Data type: String
Directory where the xymon configs are stored
Default value: '/etc/xymon'
xymon_user
Data type: String
The system user that is used by xymon
Default value: 'xymon'
xymon_group
Data type: String
The system group that is used by xymon
Default value: 'xymon'
gpg_url
Data type: Optional[String]
URL of the GPG key
Default value: undef
gpg_id
Data type: Optional[String]
Key id of the gpg key (Required by apt)
Default value: undef
monitors
Data type: Optional[Hash]
A hash of tests to configure
Default value: undef
client_name
Data type: Optional[String]
Name of the client (defaults to the FQDN)
Default value: undef
clientlaunch_config
Data type: Optional[String]
Path ot the clientlaunch configuration directory (defaults to $xymon_config_dir/clientlaunch.d)
Default value: undef
files_path
Data type: Optional[String]
A path where to store additional files required by the monitors (defaults to ($xymon_config_dir/files)
Default value: undef
xymon::repository::apt
Install the APT repository, key (optionally) and the pacakge
Parameters
The following parameters are available in the xymon::repository::apt
class.
repository_url
Data type: String
URL of the repository that contains the xymon-client
package
Data type: String
Package name
gpg_url
Data type: Optional[String]
URL of the GPG key
Default value: undef
gpg_id
Data type: Optional[String]
Key id of the gpg key
Default value: undef
xymon::repository::yum
Install the APT repository, key (optionally) and the pacakge
Parameters
The following parameters are available in the xymon::repository::yum
class.
repository_url
Data type: String
URL of the repository that contains the xymon-client
package
Data type: String
Package name
gpg_url
Data type: Optional[String]
URL of the GPG key for Debian repositories
Default value: undef
xymon::repository::zypper
Install the APT repository, key (optionally) and the pacakge
Parameters
The following parameters are available in the xymon::repository::zypper
class.
repository_url
Data type: String
URL of the repository that contains the xymon-client
package
Data type: String
Package name
gpg_url
Data type: Optional[String]
URL of the GPG key
Default value: undef
Defined types
xymon::client::monitor
Sets up a xymon monitor
- See also https://forge.puppet.com/saz/sudo Sudo component package used
Parameters
The following parameters are available in the xymon::client::monitor
defined type.
script_source
Data type: String
A Puppet file source to the script for the monitor
clientlaunch_config
Data type: String
Path to the Xymon clientlaunch path. Will be provided by xymon::client automatically
files_path
Data type: String
Path to the a path for additional files. Will be provided by xymon::client automatically
xymon_user
Data type: String
Xymon user. Will be provided by xymon::client automatically
xymon_group
Data type: String
Xymon group. Will be provided by xymon::client automatically
xymon_service
Data type: String
Xymon service name. Will be provided by xymon::client automatically
interval
Data type: String
A valid Xymon client interval string when to run the script
Default value: '5m'
arguments
Data type: Array[String]
A list of command line arguments to start the script with
Default value: []
require_fqdn
Data type: Optional[String]
Require that the agent has the specified FQDN for the monitor to be installed
Default value: undef
files
Data type: Optional[Hash]
A hash of filenames as key and sources as values to add to the xymon files
Default value: undef
sudo
Data type: Optional[Hash]
A sudo::conf hash with sudo definitions the xymon user should be allowed to use
Default value: undef
packages
Data type: Optional[Hash]
A puppet package hash with packages that are required for the monitor to work
Default value: undef
Dependencies
- puppetlabs/stdlib (>=4.25.1 < 7.0.0)
- puppetlabs/apt (>=4.5.1 < 5.0.0)
- saz/sudo (>=6.0.0 < 7.0.0)
- puppet/zypprepo (>=2.2.2 < 3.0.0)
- puppetlabs/yumrepo_core (>=1.0.6 < 2.0.0)
MIT License Copyright (c) 2020 DO! DevOps Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.