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, 2017.3.x
- Puppet >=5.0.0 < 7.0.0
- , , , , , ,
This module has been deprecated by its author since May 18th 2021.
The author has suggested sensu-sensu as its replacement.
Start using this module
Documentation
puppet-module-sensuclassic
Installs and manages the open source monitoring framework Sensu.
Please note, that this is a Partner Supported module, which means that technical customer support for this module is solely provided by Sensu. Puppet does not provide support for any Partner Supported modules. Technical support for this module is provided by Sensu at https://sensuapp.org/support.
Tested with Travis CI
This module supports the latest releases of Puppet versions 5 and 6
using the ruby that is packaged with the AIO (all-in-one installer). See
.travis.yml
for an exact matrix. The module aims to support the latest
major release of Puppet and the prior major release.
Documented with Puppet Strings
Compatibility - supported sensu versions
If not explicitly stated it should always support the latest Sensu release. Please log an issue if you identify any incompatibilities.
Sensu Version | Recommended Puppet Module Version |
---|---|
>= 0.26.0 | latest |
0.22.x - 0.25.x | 2.1.0 |
0.20.x - 0.21.x | 2.0.0 |
0.17.x - 0.19.x | 1.5.5 |
Upgrade note
Version 3.8.0 of this module renames Yumrepo[sensu]
to Yumrepo[sensuclassic]
and Apt::Source[sensu]
to Apt::Source[sensuclassic]
.
For Yum based systems if you are not purging unmanaged Yumrepo resources and not intending to run the Sensu Go module then it's recommended to do the following in a profile class:
yumrepo { 'sensu': ensure => 'absent' }
For Apt based systems not using the Sensu Go puppet module it's recommended to add the following to a profile class:
apt::source { 'sensu': ensure => 'absent' }
Versions prior to 1.0.0 are incompatible with previous versions of the sensuclassic module.
Installation
puppet module install sensu/sensuclassic
Prerequisites
- Redis server and connectivity to a Redis database
- RabbitMQ server, vhost, and credentials
- Ruby JSON library or gem
Dependencies
See metadata.json
for details.
- puppetlabs/stdlib
- lwf/puppet-remote_file
Soft dependencies if you use the corresponding technologies:
Soft dependencies on Windows clients:
Note: While this module works with other versions of puppetlabs/apt, we
test against and support what is listed in the .fixtures.yml
file.
Note: puppetlabs/yumrepo_core
is only needed for Puppet >= 6.0.0
for systems that use yum
.
Pluginsync should be enabled. Also, you will need the Ruby JSON library or gem on all your nodes.
Rubygem:
sudo gem install json
Debian & Ubuntu:
sudo apt-get install ruby-json
Quick start
Before this Puppet module can be used, the following items must be configured on the server.
- Install Redis
- Install RabbitMQ
- Add users to RabbitMQ
- Install dashboard (optional)
To quickly try out Sensu, spin up a test virtual machine with Vagrant that already has these prerequisites installed.
vagrant up
vagrant status
vagrant ssh sensu-server
You can then access the API.
curl http://admin:secret@192.168.156.10:4567/info
Navigate to 192.168.156.10:3000
to use the uchiwa dashboard
username: uchiwa
password: uchiwa
Navigate to 192.168.156.10:15672
to manage RabbitMQ
username: sensu
password: correct-horse-battery-staple
See the tests directory and Vagrantfile for examples on setting up the prerequisites.
Basic example
Sensu server
node 'sensu-server.foo.com' {
class { 'sensuclassic':
rabbitmq_password => 'correct-horse-battery-staple',
server => true,
api => true,
plugins => [
'puppet:///data/sensu/plugins/ntp.rb',
'puppet:///data/sensu/plugins/postfix.rb'
]
}
sensuclassic::handler { 'default':
command => 'mail -s \'sensu alert\' ops@foo.com',
}
sensuclassic::check { 'check_ntp':
command => 'PATH=$PATH:/usr/lib/nagios/plugins check_ntp_time -H pool.ntp.org -w 30 -c 60',
handlers => 'default',
subscribers => 'sensu-test'
}
sensuclassic::check { '...':
...
}
}
Sensu Enterprise Server
With Sensu Enterprise additional functionality is available, for example Contact Routing
An example configuring notification routing to specific groups:
node 'sensu-server.foo.com' {
file { 'api.keystore':
ensure => 'file',
path => '/etc/sensu/api.keystore',
source => 'puppet:///modules/sensu/test.api.keystore',
owner => 'sensu',
group => 'sensu',
mode => '0600',
}
# NOTE: When testing sensu enterprise, provide the SE_USER and SE_PASS to use
# with the online repository using the FACTER_SE_USER and FACTER_SE_PASS
# environment variables.
class { '::sensuclassic':
install_repo => true,
enterprise => true,
enterprise_user => $facts['se_user'],
enterprise_pass => $facts['se_pass'],
manage_services => true,
manage_user => true,
purge_config => true,
rabbitmq_password => 'correct-horse-battery-staple',
rabbitmq_vhost => '/sensu',
client_address => $::ipaddress_eth1,
api_ssl_port => '4568',
api_ssl_keystore_file => '/etc/sensu/api.keystore',
api_ssl_keystore_password => 'sensutest',
}
sensuclassic::contact { 'support':
ensure => 'present',
config => {
'email' => {
'to' => 'support@example.com',
'from' => 'sensu.noreply@example.com',
},
'slack' => {
'channel' => '#support',
},
},
}
sensuclassic::contact { 'ops':
ensure => 'present',
config => { 'email' => { 'to' => 'ops@example.com' } },
}
# A second check to use the built-in email handler and contact.
sensuclassic::check { 'check_ntp':
command => 'PATH=$PATH:/usr/lib64/nagios/plugins check_ntp_time -H pool.ntp.org -w 30 -c 60',
handlers => 'email',
contacts => ['ops', 'support'],
subscribers => 'sensu-test',
}
}
Sensu client
node 'sensu-client.foo.com' {
class { 'sensuclassic':
rabbitmq_password => 'correct-horse-battery-staple',
rabbitmq_host => 'sensu-server.foo.com',
subscriptions => 'sensu-test',
}
}
Sensu client with Sensu Go module
The following is an example of using the Sensu Go Puppet module on the same host using this sensuclassic module.
include sensu::agent
class { 'sensuclassic':
manage_user => false,
ssl_dir => '/etc/sensu/ssl-classic',
}
Facts
sensuclassic_version
The sensuclassic_version
fact returns the Sensu Client version returned by C:\opt\sensu\embedded\bin\sensu-client.bat
for Windows systems and the value returned by /opt/sensu/embedded/bin/sensu-client
for non-Windows.
facter -p sensuclassic_version
0.23.3
Advanced example using Hiera
This example includes the sensuclassic
class as part of a base class or role
and configures Sensu on each individual node via
Hiera.
hiera.yaml
---
:hierarchy:
- %{fqdn}
- %{datacenter}
- common
:backends:
- yaml
:yaml:
:datadir: '/etc/puppet/%{environment}/modules/hieradata'
common.yaml
sensuclassic::install_repo: false
sensuclassic::purge:
config: true
sensuclassic::rabbitmq_host: 10.31.0.90
sensuclassic::rabbitmq_password: password
sensuclassic::rabbitmq_port: 5672
sensu-server.foo.com.yaml
sensuclassic::server: true
nosensu.foo.com.yaml
sensuclassic::client: false
site.pp
node default {
class { 'sensuclassic': }
...
}
sensu-client.foo.com.yaml
---
sensuclassic::subscriptions:
- all
sensuclassic::server: false
sensuclassic::extensions:
'system':
source: 'puppet:///modules/supervision/system_profile.rb'
sensuclassic::handlers:
'graphite':
type: 'tcp'
socket:
host: '127.0.0.1'
port: '2003'
mutator: "only_check_output"
'file':
command: '/etc/sensu/handlers/file.rb'
'mail':
command: 'mail -s 'sensu event' email@address.com'
sensuclassic::handler_defaults:
type: 'pipe'
sensuclassic::checks:
'file_test':
command: '/usr/local/bin/check_file_test.sh'
'chef_client':
command: 'check-chef-client.rb'
sensuclassic::filters:
'recurrences-30':
attributes:
occurrences: "eval: value == 1 || value % 30 == 0"
sensuclassic::filter_defaults:
negate: true
when:
days:
all:
- begin: 5:00 PM
end: 8:00 AM
sensuclassic::check_defaults:
handlers: 'mail'
sensuclassic::mutators:
'tag':
command: '/etc/sensu/mutators/tag.rb'
'graphite':
command: '/etc/sensu/plugins/graphite.rb'
classes:
- sensuclassic
Safe Mode checks
By default Sensu clients will execute whatever check messages are on the queue. This is potentially a large security hole.
If you enable the safe_mode
parameter, it will require that checks are
defined on the client. If standalone checks are used then defining on
the client is sufficient, otherwise checks will also need to be defined
on the server as well.
A usage example is shown below.
Sensu server
Each component of Sensu can be controlled separately. The server components are managed with the server, and API parameters.
node 'sensu-server.foo.com' {
class { 'sensuclassic':
rabbitmq_password => 'correct-horse-battery-staple',
server => true,
api => true,
plugins => [
'puppet:///data/sensu/plugins/ntp.rb',
'puppet:///data/sensu/plugins/postfix.rb'
],
safe_mode => true,
}
# ...
sensuclassic::check { "diskspace":
command => '/etc/sensu/plugins/system/check-disk.rb',
}
}
If you need only one plugin you can also use a simple string:
node 'sensu-server.foo.com' {
class { 'sensuclassic':
plugins => 'puppet:///data/sensu/plugins/ntp.rb',
# ...
}
}
Specifying the plugins as hash, you can pass all parameters supported by the sensuclassic::plugin define:
node 'sensu-server.foo.com' {
class { 'sensuclassic':
plugins => {
'puppet:///data/sensu/plugins/ntp.rb' => {
'install_path' => '/alternative/path',
'puppet:///data/sensu/plugins/postfix.rb'
'type' => 'package',
'pkg_version' => '2.4.2',
},
...
}
}
Sensu client
node 'sensu-client.foo.com' {
class { 'sensuclassic':
rabbitmq_password => 'correct-horse-battery-staple',
rabbitmq_host => 'sensu-server.foo.com',
subscriptions => 'sensu-test',
safe_mode => true,
}
sensuclassic::check { 'diskspace':
command => '/etc/sensu/plugins/system/check-disk.rb',
}
}
Using custom variables in check definitions
sensuclassic::check{ 'check_file_test':
command => '/usr/local/bin/check_file_test.sh',
handlers => 'notifu',
custom => {
'foo' => 'bar',
'numval' => 6,
'boolval' => true,
'in_array' => ['foo','baz']
},
subscribers => 'sensu-test'
}
This will create the following check definition for Sensu:
{
"checks": {
"check_file_test": {
"handlers": [
"notifu"
],
"in_array": [
"foo",
"baz"
],
"command": "/usr/local/bin/check_file_test.sh",
"subscribers": [
"sensu-test"
],
"foo": "bar",
"interval": 60,
"numval": 6,
"boolval": true
}
}
}
Using hooks in check definitions
Hooks are commands run by the Sensu client in response to the result of check command execution. They have been introduced in Sensu 1.1.
Valid hooks names are integers from 1 to 255 and the strings 'ok', 'warning', 'critical', 'unknown' and 'non-zero'.
sensuclassic::check{ 'check_file_test':
command => '/usr/local/bin/check_file_test.sh',
handlers => 'notifu',
hooks => {
'non-zero' => {
'command' => 'ps aux',
}
},
subscribers => 'sensu-test'
}
Writing custom configuration files
You can also use the sensuclassic::write_json
defined resource type to write custom
json config files:
$contact_data = {
'support' => {
'pagerduty' => {
'service_key' => 'r3FPuDvNOTEDyQYCc7trBkymIFcy2NkE',
},
'slack' => {
'channel' => '#support',
'username' => 'sensu',
}
}
}
sensuclassic::write_json { '/etc/sensu/conf.d/contacts.json':
content => $contact_data,
}
Handler configuration
sensuclassic::handler {
'handler_foobar':
command => '/etc/sensu/handlers/foobar.py',
type => 'pipe',
config => {
'foobar_setting' => 'value',
}
}
This will create the following handler definition for Sensu (server):
{
"handler_foobar": {
"foobar_setting": "value"
},
"handlers": {
"handler_foobar": {
"command": "/etc/sensu/plugins/foobar.py",
"severities": [
"ok",
"warning",
"critical",
"unknown"
],
"type": "pipe"
}
}
}
Extension configuration
sensuclassic::extension {
'an_extension':
source => 'puppet://somewhere/an_extension.rb',
config => {
'foobar_setting' => 'value',
}
}
This will save the extension under /etc/sensu/extensions and create the following configuration definition for Sensu:
{
"an_extension": {
"foobar_setting": "value"
},
}
Disable Service Management
If you'd prefer to use an external service management tool such as DaemonTools or SupervisorD, you can disable the module's internal service management functions like so:
sensuclassic::manage_services: false
Purging Configuration
By default, any sensu plugins, extensions, handlers, mutators, and
configuration not defined using this puppet module will be left on
the filesystem. This can be changed using the purge
parameter.
If all sensu plugins, extensions, handlers, mutators, and configuration
should be managed by puppet, set the purge
parameter to true
to
delete files which are not defined using this puppet module:
sensuclassic::purge: true
To get more fine-grained control over what is purged, set the purge
parameter to a hash. The possible keys are: config
, plugins
,
extensions
, handlers
, mutators
. Any key whose value is true
cause files of that type which are not defined using this puppet module
to be deleted. Keys which are not specified will not be purged:
sensuclassic::purge:
config: true
plugins: true
Including Sensu monitoring in other modules
There are a few different patterns that can be used to include Sensu monitoring into other modules. One pattern creates a new class that is included as part of the host or node definition and includes a standalone check, for example:
apache/manifests/monitoring/sensu.pp
class apache::monitoring::sensu {
sensuclassic::check { 'apache-running':
handlers => 'default',
command => '/etc/sensu/plugins/check-procs.rb -p /usr/sbin/httpd -w 100 -c 200 -C 1',
custom => {
refresh => 1800,
occurrences => 2,
},
}
}
You could also include subscription information and let the Sensu server schedule checks for this service as a subscriber:
apache/manifests/monitoring/sensu.pp
class apache::monitoring::sensu {
sensuclassic::subscription { 'apache': }
}
You can also define custom variables as part of the subscription:
ntp/manifests/monitoring/ntp.pp
class ntp::monitoring::sensu {
sensuclassic::subscription { 'ntp':
custom => {
ntp {
server => $ntp::servers[0],
},
},
}
}
And then use that variable on your Sensu server:
sensuclassic::check { 'check_ntp':
command => 'PATH=$PATH:/usr/lib/nagios/plugins check_ntp_time -H :::ntp.server::: -w 30 -c 60',
# ...
}
If you would like to automatically include the Sensu monitoring class as part of your existing module with the ability to support different monitoring platforms, you could do something like:
apache/manifests/service.pp
$monitoring = hiera('monitoring', '')
case $monitoring {
'sensu': { include apache::monitoring::sensu }
'nagios': { include apache::monitoring::nagios }
}
Installing Gems into the embedded ruby
If you are using the embedded ruby that ships with Sensu, you can install gems
by using the sensuclassic_gem
package provider:
package { 'redphone':
ensure => 'installed',
provider => sensuclassic_gem,
}
Sensitive String Redaction
Redaction of passwords is supported by this module. To enable it, pass a value to sensuclassic::redact
and set some password values with sensuclassic::client_custom
class { 'sensuclassic':
redact => 'password',
client_custom => {
github => {
password => 'correct-horse-battery-staple',
},
},
}
Or with hiera:
sensuclassic::redact:
- :password"
sensuclassic::client_custom:
- sensuclassic::client_custom:
nexus:
password: "correct-horse-battery-staple'
This ends up like this in the uchiwa console:
You can make use of the password now when defining a check by using command substitution:
sensuclassic::check { 'check_password_test':
command => '/usr/local/bin/check_password_test --password :::github.password::: ',
}
Dashboards
Sensu Enterprise Dashboard
The Sensu Enterprise Dashboard is fully managed by this module. Credentials for the repository are required to automatically install packages and configure the enterprise dashboard. For example:
class { '::sensuclassic':
enterprise_dashboard => true,
enterprise_user => '1234567890',
enterprise_pass => 'PASSWORD',
}
The enterprise_user
and enterprise_pass
class parameters map to the
SE_USER
and SE_PASS
as described at Install the Sensu Enterprise repository
Enterprise Dashboard API
The API to the enterprise dashboard is managed using the
sensuclassic::enterprise::dashboard::api
defined type. This defined type is a
wrapper around the sensuclassic_enterprise_dashboard_api_config
custom type and
provider included in this module.
These Puppet resource types manage the Dashboard API entries in
/etc/sensu/dashboard.json
.
Multiple API endpoints may be defined in the same datacenter. This example will create two endpoints at sensu.example.net and sensu.example.org.
sensuclassic::enterprise::dashboard::api { 'sensu.example.net':
datacenter => 'example-dc',
}
sensuclassic::enterprise::dashboard::api { 'sensu.example.org':
datacenter => 'example-dc',
}
Unmanaged API endpoints may be purged using the resources resource. For example:
resources { 'sensuclassic_enterprise_dashboard_api_config':
purge => true,
}
This will ensure /etc/sensu/dashboard.json
contains only
sensuclassic::enterprise::dashboard::api
resources managed by Puppet.
Community
The following puppet modules exist for managing dashboards
License
See LICENSE file.
Reference
Table of Contents
Classes
sensuclassic
: Base Sensu classsensuclassic::api
: Manages the Sensu APIsensuclassic::client
: Manages the Sensu client servicesensuclassic::enterprise
: Installs the Sensu packagessensuclassic::enterprise::dashboard
: Installs the Sensu Enterprise Dashboardsensuclassic::package
: Installs Sensu packagessensuclassic::rabbitmq::config
: Sets the Sensu rabbitmq configsensuclassic::redis::config
: Sets the Sensu redis configsensuclassic::repo::apt
: Adds the Sensu repo to Aptsensuclassic::repo::yum
: Adds the Sensu YUM repo supportsensuclassic::server::service
: Manages the Sensu server servicesensuclassic::transport
: Configures Sensu transport
Defined types
sensuclassic::check
: Creates Sensu checkssensuclassic::config
: Defines Sensu check configurationssensuclassic::contact
: Manages contact routingsensuclassic::enterprise::dashboard::api
: Manages the Sensu Enterprise API configurationsensuclassic::extension
: Defines Sensu extensionssensuclassic::filter
: Manages Sensu filterssensuclassic::handler
: sensuclassic::handlersensuclassic::mutator
: Manages sensu mutatorssensuclassic::plugin
: Installs Sensu pluginssensuclassic::plugins_dir
: Verifies if install_dir exists without duplicate declarationssensuclassic::subscription
: Manages Sensu subscriptionssensuclassic::write_json
: Writes arbitrary hash data to a config file.
Resource types
sensuclassic_api_config
: Manages Sensu API configsensuclassic_check
: Manages Sensu checkssensuclassic_check_config
: ""sensuclassic_client_config
: Manages Sensu client configsensuclassic_client_subscription
: Manages Sensu client subscriptionssensuclassic_contact
: Manages Sensu contactssensuclassic_enterprise_dashboard_api_config
: Manages Sensu Enterprise Dashboard API configsensuclassic_enterprise_dashboard_config
: Manages Sensu Enterprise Dashboard configsensuclassic_extension
: Manages Sensu extensionssensuclassic_filter
: Manages Sensu filterssensuclassic_handler
: Manages Sensu handlerssensuclassic_mutator
: Manages Sensu mutatorssensuclassic_rabbitmq_config
: Manages Sensu RabbitMQ configsensuclassic_redis_config
: Manages Sensu Redis config
Functions
sensuclassic_sorted_json
: This function takes unsorted hash and outputs JSON object making sure the keys are sorted. Optionally you can pass a boolean as the second pa
Classes
sensuclassic
This is the main Sensu class
Parameters
The following parameters are available in the sensuclassic
class.
version
Data type: Pattern[/^absent$/, /^installed$/, /^latest$/, /^present$/, /^[\d\.\-el]+$/]
Version of sensu to install. Defaults to installed
to support
Windows MSI packaging and to avoid surprising upgrades.
Default value: 'installed'
sensu_etc_dir
Data type: Stdlib::Absolutepath
Absolute path to the sensu etc directory. Default: '/etc/sensu' on Linux, 'C:/opt/sensu' on windows
Default value: $::osfamily
sensu_plugin_name
Data type: String
Name of the sensu-plugin package. Refers to the sensu-plugin rubygem, not the community sensu-plugins community scripts.
Default value: 'sensu-plugin'
sensu_plugin_provider
Data type: Optional[String]
String. Provider used to install the sensu-plugin package. Refers to the
sensu-plugin rubygem, not the sensu-plugins community scripts. On windows,
defaults to gem
, all other platforms defaults to undef
Default value: $::osfamily
sensu_plugin_version
Data type: Pattern[/^absent$/, /^installed$/, /^latest$/, /^present$/, /^\d[\d\.\-\w]+$/]
Version of the sensu-plugin gem to install. Refers to the sensu-plugin rubygem, not the sensu-plugins community scripts
Default value: 'installed'
install_repo
Data type: Boolean
Whether or not to install the sensu repo
Default value: true
enterprise
Data type: Boolean
Whether or not to install and configure Sensu Enterprise
Default value: false
enterprise_dashboard
Data type: Boolean
Whether or not to install sensu-enterprise-dashboard
Default value: false
manage_repo
Data type: Boolean
Whether or not to manage apt/yum repositories
Default value: true
repo
Data type: Enum['main','unstable']
Which sensu repo to install
Default value: 'main'
repo_source
Data type: Optional[String]
Location of the yum/apt repo. Overrides the default location
Default value: undef
repo_key_id
Data type: String
The apt GPG key id
Default value: 'EE15CFF6AB6E4E290FDAB681A20F259AEB9C94BB'
repo_key_source
Data type: String
URL of the apt GPG key
Default value: 'https://sensu.global.ssl.fastly.net/apt/pubkey.gpg'
repo_release
Data type: Optional[String]
Release for the apt source. Only set this if you want to run packages from another release, which is not supported by Sensu. Only works with systems that use apt.
Default value: undef
spawn_limit
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Tune concurrency of the sensu-server pipe handler and the
sensu-client check execution. This setting should not need to be tuned
except in specific situations, e.g. when there are a large number of JIT
clients. See #727 for
more information. The default is undefined, which does not manage
/etc/sensu/conf.d/spawn.json
Default value: undef
client
Data type: Boolean
Include the sensu client
Default value: true
server
Data type: Boolean
Include the sensu server
Default value: false
api
Data type: Boolean
Include the sensu api service
Default value: false
manage_services
Data type: Boolean
Manage the sensu services with puppet
Default value: true
client_service_enable
Data type: Boolean
Set enable value for sensu client service (applies when manage_services is set to true)
Default value: true
client_service_ensure
Data type: String
Set ensure value for sensu client service (applies when manage_services is set to true)
Default value: running
server_service_enable
Data type: Boolean
Set enable value for sensu server service (applies when manage_services is set to true)
Default value: true
server_service_ensure
Data type: String
Set ensure value for sensu server service (applies when manage_services is set to true)
Default value: running
manage_user
Data type: Boolean
Manage the sensu user with puppet
Default value: true
manage_plugins_dir
Data type: Boolean
Manage the sensu plugins directory. Must be false if you use sensuclassic::plugin with type 'directory'.
Default value: true
manage_handlers_dir
Data type: Boolean
Manage the sensu handlers directory
Default value: true
manage_mutators_dir
Data type: Boolean
Manage the sensu mutators directory
Default value: true
sensu_user
Data type: Optional[String]
Name of the user Sensu is running as. Default is calculated according to the underlying OS
Default value: undef
sensu_group
Data type: Optional[String]
Name of the group Sensu is running as. Default is calculated according to the underlying OS
Default value: undef
config_dir_mode
Data type: Optional[Stdlib::Filemode]
Directory mode for Sensu conf directory. Default is calculated according to the underlying OS
Default value: $::osfamily
config_file_mode
Data type: Optional[Stdlib::Filemode]
File mode for config files under Sensu conf directory . Default is calculated according to the underlying OS
Default value: $::osfamily
rabbitmq_port
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Rabbitmq port to be used by sensu
Default value: undef
rabbitmq_host
Data type: Optional[String]
Host running rabbitmq for sensu
Default value: undef
rabbitmq_user
Data type: Optional[String]
Username to connect to rabbitmq with for sensu
Default value: undef
rabbitmq_password
Data type: Optional[String]
Password to connect to rabbitmq with for sensu
Default value: undef
rabbitmq_vhost
Data type: Optional[String]
Rabbitmq vhost to be used by sensu
Default value: undef
ssl_dir
Data type: Optional[Stdlib::Absolutepath]
The path to RabbitMQ SSL directory. Defaults to $etc_dir/ssl.
Default value: undef
rabbitmq_ssl
Data type: Optional[Boolean]
Use SSL transport to connect to RabbitMQ. If rabbitmq_ssl_private_key and/or rabbitmq_ssl_cert_chain are set, then this is enabled automatically. Set rabbitmq_ssl => true without specifying a private key or cert chain to use SSL transport, but not cert auth.
Default value: undef
rabbitmq_ssl_private_key
Data type: Optional[String]
Private key to be used by sensu to connect to rabbitmq. If the value starts with 'puppet://' the file will be copied and used. Also the key itself can be given as the parameter value, or a variable, or using hiera. Absolute paths will just be used as a file reference, as you'd normally configure sensu.
Default value: undef
rabbitmq_ssl_cert_chain
Data type: Optional[String]
Private SSL cert chain to be used by sensu to connect to rabbitmq If the value starts with 'puppet://' the file will be copied and used. Also the key itself can be given as the parameter value, or a variable, or using hiera. Absolute paths will just be used as a file reference, as you'd normally configure sensu.
Default value: undef
rabbitmq_prefetch
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
The integer value for the RabbitMQ prefetch attribute
Default value: undef
rabbitmq_cluster
Data type: Variant[Undef,Hash,Array]
Array of hashes. Rabbitmq Cluster configuration and connection information for one or more Cluster
Default value: undef
rabbitmq_heartbeat
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
The integer value for the RabbitMQ heartbeat attribute
Default value: undef
redis_host
Data type: Optional[String]
Hostname of redis to be used by sensu
Default value: '127.0.0.1'
redis_port
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Redis port to be used by sensu
Default value: 6379
redis_password
Data type: Optional[String]
Password to be used to connect to Redis
Default value: undef
redis_reconnect_on_error
Data type: Boolean
Reconnect to Redis in the event of a Redis error, e.g. READONLY (not to be confused with a connection failure).
Default value: true
redis_db
Data type: Integer
The Redis instance DB to use/select
Default value: 0
redis_sentinels
Data type: Optional[Array]
Redis Sentinel configuration and connection information for one or more Sentinels
Default value: undef
redis_master
Data type: Optional[String]
Redis master name in the sentinel configuration In the end whatever sensu defaults to, which is "mymaster" currently.
Default value: undef
redis_auto_reconnect
Data type: Boolean
Reconnect to Redis in the event of a connection failure
Default value: true
redis_tls
Data type: Boolean
Enable TLS encryption when connecting to Redis
Default value: false
transport_type
Data type: Enum['rabbitmq','redis']
Transport type to be used by Sensu
Default value: 'rabbitmq'
transport_reconnect_on_error
Data type: Boolean
If the transport connection is closed, attempt to reconnect automatically when possible.
Default value: true
api_bind
Data type: String
IP to bind api service
Default value: '0.0.0.0'
api_host
Data type: String
Hostname of the sensu api service
Default value: '127.0.0.1'
api_port
Data type: Integer
Port of the sensu api service
Default value: 4567
api_user
Data type: Optional[String]
Password of the sensu api service
Default value: undef
api_password
Data type: Optional[String]
Password of the sensu api service
Default value: undef
api_ssl_port
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Port of the HTTPS (SSL) sensu api service. Enterprise only feature.
Default value: undef
api_ssl_keystore_file
Data type: Optional[String]
The file path for the SSL certificate keystore. Enterprise only feature.
Default value: undef
api_ssl_keystore_password
Data type: Optional[String]
The SSL certificate keystore password. Enterprise only feature.
Default value: undef
subscriptions
Data type: Variant[String,Array]
Default subscriptions used by the client
Default value: []
client_socket_enabled
Data type: Boolean
Boolean that determines if client socket will be enabled
Default value: true
client_address
Data type: String
Address of the client to report with checks
Default value: $::ipaddress
client_name
Data type: String
Name of the client to report with checks
Default value: $::fqdn
client_custom
Data type: Hash
Custom client variables. Any key that is used by a property of sensu_client_config will be ignored and should not be included in this parameter.
Default value: {}
client_deregister
Data type: Variant[Undef,Boolean]
Enable the deregistration event if true.
Default value: undef
client_deregistration
Data type: Variant[Undef,Hash]
(https://sensuapp.org/docs/latest/reference/clients#deregistration-attributes) used to generate check result data for the de-registration event. Client deregistration attributes are merged with some default check definition attributes by the Sensu server during client deregistration, so any valid check definition attributes – including custom check definition attributes – may be used as deregistration attributes, with the following exceptions (which are used to ensure the check result is valid): check name, output, status, and issued timestamp. The following attributes are provided as recommendations for controlling client deregistration behavior.
Default value: undef
client_registration
Data type: Variant[Undef,Hash]
(https://sensuapp.org/docs/latest/reference/clients#registration-attributes) used to generate check result data for the registration event. Client registration attributes are merged with some default check definition attributes by the Sensu server during client registration.
Default value: undef
client_keepalive
Data type: Hash
Client keepalive configuration
Default value: {}
client_http_socket
Data type: Hash
Client http_socket configuration. Must be an Hash of parameters as described in: https://sensuapp.org/docs/latest/reference/clients.html#http-socket-attributes
Default value: {}
client_servicenow
Data type: Hash
Client servicenow configuration. Supported only on Sensu Enterprise. It expects an Hash with a single key named 'configuration_item' containing an Hash of parameters, as described in: https://sensuapp.org/docs/latest/reference/clients.html#servicenow-attributes
Default value: {}
client_ec2
Data type: Hash
Client ec2 configuration. Supported only on Sensu Enterprise. It expects an Hash with valid paramters as described in: https://sensuapp.org/docs/latest/reference/clients.html#ec2-attributes
Default value: {}
client_chef
Data type: Hash
Client chef configuration. Supported only on Sensu Enterprise. It expects an Hash with valid paramters as described in: https://sensuapp.org/docs/latest/reference/clients.html#chef-attributes
Default value: {}
client_puppet
Data type: Hash
Client puppet configuration. Supported only on Sensu Enterprise. It expects an Hash with valid paramters as described in: https://sensuapp.org/docs/latest/reference/clients.html#puppet-attributes
Default value: {}
safe_mode
Data type: Boolean
Force safe mode for checks
Default value: false
plugins
Data type: Variant[String,Array,Hash]
Plugins to install on the node Strings and Arrays of strings will set 'install_path' => '/etc/sensu/plugins' as default. Example string: 'puppet:///data/sensu/plugins/plugin1.rb' Example array: [ 'puppet:///data/sensu/plugins/plugin1.rb', 'puppet:///data/sensu/plugins/plugin2.rb' ] Example hash: { 'puppet:///data/sensu/plugins/plugin1.rb' => { 'pkg_version' => '2.4.2' }, 'puppet:///data/sensu/plugins/plugin1.rb' => { 'pkg_provider' => 'sensu-gem' }
Default value: []
plugins_defaults
Data type: Hash
Defaults for Plugins to install on the node. Will be added when plugins is set to a hash. Example value: { 'install_path' => '/other/path' }
Default value: {}
plugins_dir
Data type: Optional[String]
Puppet url to plugins directory
Default value: undef
purge
Data type: Variant[Boolean,Hash[Enum['plugins','config','handlers','extensions','mutators'],Boolean]]
If unused plugins, configs, handlers, extensions and mutators should be removed from the system. If set to true, all unused plugins, configs, handlers, extensions and mutators will be removed from the system. If set to a Hash, only unused files of the specified type(s) will be removed from the system. Valid values: true, false, Hash containing any of the keys 'plugins', 'config', 'handlers', 'extensions', 'mutators' Example value: { config => true, plugins => true }
Default value: false
use_embedded_ruby
Data type: Boolean
If the embedded ruby should be used, e.g. to install the sensu-plugin gem. This value is overridden by a defined sensu_plugin_provider. Note, the embedded ruby should always be used to provide full compatibility. Using other ruby runtimes, e.g. the system ruby, is not recommended.
Default value: true
rubyopt
Data type: Optional[String]
Ruby opts to be passed to the sensu services
Default value: undef
gem_path
Data type: Optional[String]
Paths to add to GEM_PATH if we need to look for different dirs.
Default value: undef
log_level
Data type: Enum['debug','info','warn','error','fatal']
Sensu log level to be used
Default value: 'info'
log_dir
Data type: Stdlib::Absolutepath
Sensu log directory to be used
Default value: '/var/log/sensu'
init_stop_max_wait
Data type: Variant[Integer,Pattern[/^(\d+)$/]]
Number of seconds to wait for the init stop script to run
Default value: 10
gem_install_options
Data type: Optional[Any]
Optional configuration to use for the installation of the sensu plugin gem with sensuclassic_gem provider. See: https://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options Example value: [{ '-p' => 'http://user:pass@myproxy.company.org:8080' }]
Default value: undef
hasrestart
Data type: Boolean
Value of hasrestart attribute for sensu services. If you use your own startup scripts for upstart and want puppet to properly stop and start sensu services when those scripts change, set it to false. See also http://upstart.ubuntu.com/faq.html#reload
Default value: true
enterprise_dashboard_auth
Data type: Optional[Any]
Optional auth configuration for Enterprise Dashboard
Default value: undef
enterprise_dashboard_oidc
Data type: Optional[Any]
Optional OIDC configuration for Enterprise Dashboard
Default value: undef
enterprise_dashboard_custom
Data type: Optional[Hash]
List of custom attributes to include in the check. You can use it to pass any attribute that is not listed here explicitly. Example: { 'usersOptions' => { 'requireSilencingReason' => true } }
Default value: undef
path
Data type: Variant[Stdlib::Absolutepath,Pattern[/^\$PATH$/]]
Used to set PATH in /etc/default/sensu
Default value: '$PATH'
env_vars
Data type: Optional[Hash[String[1], Variant[String, Boolean, Integer]]]
Additional environment variables for /etc/default/sensu
Default value: {}
redact
Data type: Optional[Array]
Use to redact passwords from checks on the client side
Default value: undef
deregister_on_stop
Data type: Boolean
Whether the sensu client should deregister from the API on service stop
Default value: false
deregister_handler
Data type: Optional[String]
The handler to use when deregistering a client on stop.
Default value: undef
handlers
Data type: Hash
Hash of handlers for use with create_resources(sensuclassic::handler). Example value: { 'email' => { 'type' => 'pipe', 'command' => 'mail' } }
Default value: {}
handler_defaults
Data type: Hash
Handler defaults when not provided explicitly in $handlers. Example value: { 'filters' => ['production'] }
Default value: {}
checks
Data type: Hash
Hash of checks for use with create_resources(sensuclassic::check). Example value: { 'check-cpu' => { 'command' => 'check-cpu.rb' } }
Default value: {}
check_defaults
Data type: Hash
Check defaults when not provided explicitly in $checks. Example value: { 'occurrences' => 3 }
Default value: {}
filters
Data type: Hash
Hash of filters for use with create_resources(sensuclassic::filter). Example value: { 'occurrence' => { 'attributes' => { 'occurrences' => '1' } } }
Default value: {}
filter_defaults
Data type: Hash
Filter defaults when not provided explicitly in $filters. Example value: { 'negate' => true }
Default value: {}
package_checksum
Data type: Optional[String]
Used to set package_checksum for windows installs
Default value: undef
package_proxy_host
Data type: Optional[String]
Package proxy host. Currently only used applies to Windows not using chocolatey.
Default value: undef
package_proxy_port
Data type: Optional[Stdlib::Port]
Package proxy port. Currently only used applies to Windows not using chocolatey.
Default value: undef
windows_logrotate
Data type: Boolean
Whether or not to use logrotate on Windows OS family.
Default value: false
windows_log_size
Data type: Variant[Integer,Pattern[/^(\d+)$/]]
The integer value for the size of log files on Windows OS family. sizeThreshold in sensu-client.xml.
Default value: 10240
windows_log_number
Data type: Variant[Integer,Pattern[/^(\d+)$/]]
The integer value for the number of log files to keep on Windows OS family. keepFiles in sensu-client.xml.
Default value: 10
windows_pkg_url
Data type: Optional[String]
If specified, override the behavior of computing the
package source URL from windows_repo_prefix and os major release fact.
This parameter is intended to allow the end user to override the source URL
used to install the Windows package. For example:
"https://eol-repositories.sensuapp.org/msi/2012r2/sensu-0.29.0-11-x64.msi"
Default value: undef
windows_package_provider
Data type: Optional[String]
When something other than undef
, use the
specified package provider to install Windows packages. The default
behavior of undef
defers to the default package provider in Puppet which
is expected to be the msi provider.
Valid values are undef
or 'chocolatey'
.
Default value: undef
windows_choco_repo
Data type: Optional[String]
The URL of the Chocolatey repository, used with the chocolatey windows package provider.
Default value: undef
windows_package_name
Data type: String
The package name used to identify the package
filename. Defaults to 'sensu'
which matches the MSI filename published at
https://eol-repositories.sensuapp.org/msi
. Note, this is distinct from the
windows_package_title, which is used to identify the package name as
displayed in Add/Remove programs in Windows.
Default value: 'Sensu'
windows_package_title
Data type: String
The package name used to identify the package as listed in Add/Remove programs. Note this is distinct from the package filename identifier specified with windows_package_name.
Default value: 'sensu'
windows_service_user
Data type: Optional[Struct[{NotUndef[user] => String, NotUndef[password] => String}]]
The credentials to use for running the Windows service Takes the form of { 'user' => 'username', 'password' => 'secret' } replacing 'username' and 'secret' with appropriate values.
Default value: undef
confd_dir
Data type: Optional[Variant[Stdlib::Absolutepath,Array[Stdlib::Absolutepath]]]
Additional directories to load configuration snippets from.
Default value: undef
heap_size
Data type: Variant[Integer,Pattern[/^(\d+)/],Undef]
Value of the HEAP_SIZE environment variable. Note: This has effect only on Sensu Enterprise.
Default value: undef
max_open_files
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Value of the MAX_OPEN_FILES environment variable.
Default value: undef
config_file
Data type: Variant[Stdlib::Absolutepath,Undef]
Value of the CONFIG_FILE environment variable.
Default value: undef
heap_dump_path
Data type: Variant[Undef,String]
Value of the HEAP_DUMP_PATH environment variable.
Default value: undef
java_opts
Data type: Variant[Undef,String]
Value of the JAVA_OPTS environment variable.
Default value: undef
enterprise_version
Data type: Pattern[/^absent$/,/^installed$/,/^latest$/,/^present$/,/^[\d\.\-]+$/]
Default value: 'latest'
enterprise_user
Data type: Optional[String]
Default value: undef
enterprise_pass
Data type: Optional[String]
Default value: undef
enterprise_dashboard_version
Data type: String
Default value: 'latest'
enterprise_repo_key_id
Data type: String
Default value: '910442FF8781AFD0995D14B311AB27E8C3FE3269'
client_bind
Data type: String
Default value: '127.0.0.1'
client_port
Data type: Integer
Default value: 3030
purge_config
Data type: Boolean
Default value: false
purge_plugins_dir
Data type: Boolean
Default value: false
dashboard
Data type: Boolean
Default value: false
enterprise_dashboard_base_path
Data type: Optional[String]
Default value: undef
enterprise_dashboard_host
Data type: Optional[String]
Default value: undef
enterprise_dashboard_port
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Default value: undef
enterprise_dashboard_refresh
Data type: Optional[Any]
Default value: undef
enterprise_dashboard_user
Data type: Optional[String]
Default value: undef
enterprise_dashboard_pass
Data type: Optional[String]
Default value: undef
enterprise_dashboard_ssl
Data type: Optional[Any]
Default value: undef
enterprise_dashboard_audit
Data type: Optional[Any]
Default value: undef
enterprise_dashboard_github
Data type: Optional[Any]
Default value: undef
enterprise_dashboard_gitlab
Data type: Optional[Any]
Default value: undef
enterprise_dashboard_ldap
Data type: Optional[Any]
Default value: undef
windows_repo_prefix
Data type: Optional[String]
Default value: 'https://eol-repositories.sensuapp.org/msi'
extensions
Data type: Hash
Default value: {}
mutators
Data type: Hash
Default value: {}
sensuclassic::api
Manages the Sensu API
Parameters
The following parameters are available in the sensuclassic::api
class.
hasrestart
Data type: Boolean
Value of hasrestart attribute for this service.
Default value: $sensuclassic::hasrestart
sensuclassic::client
Manages the Sensu client service
Parameters
The following parameters are available in the sensuclassic::client
class.
hasrestart
Data type: Boolean
Value of hasrestart attribute for this service.
Default value: $sensuclassic::hasrestart
log_level
Data type: Any
Sensu log level to be used Valid values: debug, info, warn, error, fatal
Default value: $sensuclassic::log_level
windows_logrotate
Data type: Any
Whether or not to use logrotate on Windows OS family.
Default value: $sensuclassic::windows_logrotate
windows_log_size
Data type: Any
The integer value for the size of log files on Windows OS family. sizeThreshold in sensu-client.xml.
Default value: $sensuclassic::windows_log_size
windows_log_number
Data type: Any
The integer value for the number of log files to keep on Windows OS family. keepFiles in sensu-client.xml.
Default value: $sensuclassic::windows_log_number
client_service_enable
Data type: Any
Default value: $sensuclassic::client_service_enable
client_service_ensure
Data type: Any
Default value: $sensuclassic::client_service_ensure
sensuclassic::enterprise
Installs Sensu enterprise
Parameters
The following parameters are available in the sensuclassic::enterprise
class.
deregister_handler
Data type: Optional[String]
The handler to use when deregistering a client on stop.
Default value: $sensuclassic::deregister_handler
deregister_on_stop
Data type: Optional[Boolean]
Whether the sensu client should deregister from the API on service stop
Default value: $sensuclassic::deregister_on_stop
gem_path
Data type: Optional[String]
Paths to add to GEM_PATH if we need to look for different dirs.
Default value: $sensuclassic::gem_path
init_stop_max_wait
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Number of seconds to wait for the init stop script to run
Default value: $sensuclassic::init_stop_max_wait
log_dir
Data type: Optional[String]
Sensu log directory to be used Valid values: Any valid log directory path, accessible by the sensu user
Default value: $sensuclassic::log_dir
log_level
Data type: Optional[String]
Sensu log level to be used Valid values: debug, info, warn, error, fatal
Default value: $sensuclassic::log_level
path
Data type: Optional[String]
Used to set PATH in /etc/default/sensu
Default value: $sensuclassic::path
rubyopt
Data type: Optional[String]
Ruby opts to be passed to the sensu services
Default value: $sensuclassic::rubyopt
use_embedded_ruby
Data type: Optional[Boolean]
If the embedded ruby should be used, e.g. to install the sensu-plugin gem. This value is overridden by a defined sensu_plugin_provider. Note, the embedded ruby should always be used to provide full compatibility. Using other ruby runtimes, e.g. the system ruby, is not recommended.
Default value: $sensuclassic::use_embedded_ruby
heap_size
Data type: Variant[Undef,Integer,Pattern[/^(\d+)/]]
Value of the HEAP_SIZE environment variable.
Default value: $sensuclassic::heap_size
max_open_files
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Value of the MAX_OPEN_FILES environment variable.
Default value: $sensuclassic::max_open_files
heap_dump_path
Data type: Variant[Undef,String]
Value of the HEAP_DUMP_PATH environment variable.
Default value: $sensuclassic::heap_dump_path
java_opts
Data type: Variant[Undef,String]
Value of the JAVA_OPTS environment variable.
Default value: $sensuclassic::java_opts
hasrestart
Data type: Boolean
Default value: $sensuclassic::hasrestart
sensuclassic::enterprise::dashboard
Installs the Sensu Enterprise Dashboard
Parameters
The following parameters are available in the sensuclassic::enterprise::dashboard
class.
hasrestart
Data type: Boolean
Default value: $sensuclassic::hasrestart
sensuclassic::package
Installs the Sensu packages
Parameters
The following parameters are available in the sensuclassic::package
class.
conf_dir
Data type: Optional[String]
The default configuration directory.
Default value: $sensuclassic::conf_dir
confd_dir
Data type: Variant[String,Array,Undef]
Additional directories to load configuration snippets from.
Default value: $sensuclassic::confd_dir
heap_size
Data type: Variant[Undef,Integer,Pattern[/^(\d+)/]]
Value of the HEAP_SIZE environment variable. Note: This has no effect on sensu-core.
Default value: $sensuclassic::heap_size
config_file
Data type: Variant[Stdlib::Absolutepath,Undef]
Value of the CONFIG_FILE environment variable.
Default value: $sensuclassic::config_file
deregister_handler
Data type: Optional[String]
The handler to use when deregistering a client on stop.
Default value: $sensuclassic::deregister_handler
deregister_on_stop
Data type: Optional[Boolean]
Whether the sensu client should deregister from the API on service stop
Default value: $sensuclassic::deregister_on_stop
gem_path
Data type: Optional[String]
Paths to add to GEM_PATH if we need to look for different dirs.
Default value: $sensuclassic::gem_path
init_stop_max_wait
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Number of seconds to wait for the init stop script to run
Default value: $sensuclassic::init_stop_max_wait
log_dir
Data type: Optional[String]
Sensu log directory to be used Valid values: Any valid log directory path, accessible by the sensu user
Default value: $sensuclassic::log_dir
log_level
Data type: Optional[String]
Sensu log level to be used Valid values: debug, info, warn, error, fatal
Default value: $sensuclassic::log_level
path
Data type: Optional[String]
Used to set PATH in /etc/default/sensu
Default value: $sensuclassic::path
env_vars
Data type: Optional[Hash[String[1], Variant[String, Boolean, Integer]]]
Additional environment variables for /etc/default/sensu
Default value: $sensuclassic::env_vars
rubyopt
Data type: Optional[String]
Ruby opts to be passed to the sensu services
Default value: $sensuclassic::rubyopt
use_embedded_ruby
Data type: Optional[Boolean]
If the embedded ruby should be used, e.g. to install the sensu-plugin gem. This value is overridden by a defined sensu_plugin_provider. Note, the embedded ruby should always be used to provide full compatibility. Using other ruby runtimes, e.g. the system ruby, is not recommended.
Default value: $sensuclassic::use_embedded_ruby
sensuclassic::rabbitmq::config
Sets the Sensu rabbitmq config
sensuclassic::redis::config
Sets the Sensu redis config
sensuclassic::repo::apt
Adds the Sensu repo to Apt
sensuclassic::repo::yum
Adds the Sensu YUM repo support
sensuclassic::server::service
Manages the Sensu server service
Parameters
The following parameters are available in the sensuclassic::server::service
class.
hasrestart
Data type: Boolean
Value of hasrestart attribute for this service.
Default value: $sensuclassic::hasrestart
server_service_enable
Data type: Any
Default value: $sensuclassic::server_service_enable
server_service_ensure
Data type: Any
Default value: $sensuclassic::server_service_ensure
sensuclassic::transport
Configure Sensu Transport
Defined types
sensuclassic::check
This define manages Sensu checks
Hooks Since Sensu 1.1.0. Manages hooks for a check. See the documentation for the format of the Hash value.
Parameters
The following parameters are available in the sensuclassic::check
defined type.
command
Data type: Optional[String]
The check command to run
Default value: undef
ensure
Data type: Enum['present','absent']
Whether the check should be present or not. Valid values: present, absent
Default value: 'present'
type
Data type: Optional[String]
Type of check. Set this to 'absent' to remove it completely.
Default value: undef
handlers
Data type: Variant[Undef,String,Array]
Array of Strings. Handlers to use for this check. Set this to 'absent' to remove it completely.
Default value: undef
contacts
Data type: Variant[Undef,String,Array]
Array of Strings. Contacts to use for the contact-routing Sensu Enterprise feature. This value corresponds with a sensuclassic::contact resource having the same name.
Default value: undef
standalone
Data type: Variant[Boolean,Enum['absent']]
When true, scheduled by the client. When false, listen for published check request. Set this to 'absent' to remove it completely.
Default value: true
cron
Data type: String
When the check should be executed, using the Cron
syntax. Supersedes the
interval
parameter. Example: "0 0 * * *"
.
Default value: 'absent'
interval
Data type: Variant[Integer,Enum['absent']]
How frequently (in seconds) the check will be executed. Set this to 'absent' to remove it completely.
Default value: 60
occurrences
Data type: Variant[Undef,Pattern[/^(\d+)$/],Integer,Enum['absent']]
The number of event occurrences before the handler should take action. Set this to 'absent' to remove it completely.
Default value: undef
refresh
Data type: Variant[Undef,Enum['absent'],Integer]
The number of seconds sensu-plugin-aware handlers should wait before taking second action. Set this to 'absent' to remove it completely.
Default value: undef
source
Data type: Variant[Undef,String,Integer]
The check source, used to create a JIT Sensu client for an external resource (e.g. a network switch). Set this to 'absent' to remove it completely.
Default value: undef
subscribers
Data type: Variant[Undef,String,Array]
Array of Strings. Which subscriptions must execute this check. Set this to 'absent' to remove it completely.
Default value: undef
low_flap_threshold
Data type: Variant[Undef,Enum['absent'],Integer]
Flap detection - see Nagios Flap Detection. Set this to 'absent' to remove it completely.
Default value: undef
high_flap_threshold
Data type: Variant[Undef,Enum['absent'],Integer]
Flap detection - see Nagios Flap Detection. Set this to 'absent' to remove it completely.
Default value: undef
timeout
Data type: Variant[Undef,Enum['absent'],Numeric]
Check timeout in seconds, after it fails. Set this to 'absent' to remove it completely.
Default value: undef
aggregate
Data type: Optional[String]
Aggregates, preventing event floods. Set 'aggregate:' and 'handle:false', this prevents the server from sending to a handler, and makes the aggregated results available under /aggregates in the REST API. Set this to 'absent' to remove it completely.
Default value: undef
aggregates
Data type: Variant[Undef,String,Array]
Array of Strings. An array of aggregates to add to the check. This supercedes the above aggregate parameter. Set this to 'absent' to remove it completely.
Default value: undef
handle
Data type: Variant[Undef,Enum['absent'],Boolean]
When false, check will not be sent to handlers. Set this to 'absent' to remove it completely.
Default value: undef
publish
Data type: Variant[Undef,Enum['absent'],Boolean]
Unpublished checks. Prevents the check from being triggered on clients. This allows for the definition of commands that are not actually 'checks' per say, but actually arbitrary commands for remediation. Set this to 'absent' to remove it completely. Default: undef
Default value: undef
dependencies
Data type: Variant[Undef,String,Array]
List of checks this check depends on. Note: The validity of the other checks is not enforced by puppet Set this to 'absent' to remove it completely.
Default value: undef
content
Data type: Hash
Mapping of arbitrary attributes from the top-level of the target configuration JSON map. This parameter is intended to configure plugins and extensions which look up values outside of the check configuration scope. Example: { "mailer" => { "mail_from" => "sensu@example.com", "mail_to" => "monitor@example.com" } }
Default value: {}
custom
Data type: Optional[Hash]
List of custom attributes to include in the check. You can use it to pass any attribute that is not listed here explicitly. Example: { 'remediation' => { 'low_remediation' => { 'occurrences' => [1,2], 'severities' => [1], 'command' => "/bin/command", 'publish' => false, } } }
Default value: undef
ttl
Data type: Variant[Undef,Enum['absent'],Integer]
The time to live (TTL) in seconds until check results are considered stale. Set this to 'absent' to remove it completely.
Default value: undef
ttl_status
Data type: Variant[Undef,Enum['absent'],Integer,Pattern[/^(\d+)+$/]]
The exit code that a check with the ttl attribute should return. Set this to 'absent' to remove it completely.
Default value: undef
auto_resolve
Data type: Variant[Undef,Enum['absent'],Boolean]
When a check in a WARNING or CRITICAL state returns to an OK state, the event generated by the WARNING or CRITICAL state will be automatically resolved. Set this to 'absent' to remove it completely.
Default value: undef
force_resolve
Data type: Optional[Variant[Enum['absent'],Boolean]]
Setting force_resolve to true on a check result ensures that the event is resolved and removed from the registry, regardless of the current event action.
Default value: undef
subdue
Data type: Variant[Undef,Enum['absent'],Hash]
Check subdue configuration. Set this to 'absent' to remove it completely.
Default value: undef
proxy_requests
Data type: Variant[Undef,Enum['absent'],Hash]
Manages Proxy Check Requests Since Sensu 0.28.0. Publishes a check request to every Sensu client which matches the defined client attributes. See the documentation for the format of the Hash value.
Default value: undef
hooks
Data type: Variant[Undef,Enum['absent'],Hash]
Manages
Default value: undef
output_format
Data type: Optional[String[1]]
Docs A metric output format
Default value: undef
handle_when
Data type: Optional[Struct[{'occurrences' => Integer, 'reset' => Integer}]]
Docs The handle_when enterprise filter is used to reduce notification “noise”
Default value: undef
extension
Data type: Optional[String]
The name of a Sensu check extension to run instead of a command.
Default value: undef
truncate_output
Data type: Optional[Boolean]
If check output will be truncated for storage.
Default value: undef
truncate_output_length
Data type: Optional[Integer]
The output truncation length, the maximum number of characters.
Default value: undef
sensuclassic::config
This define manages Sensu check configurations.
Parameters
The following parameters are available in the sensuclassic::config
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not Valid values: present, absent
Default value: 'present'
config
Data type: Optional[Hash]
Check configuration for the client to use
Default value: undef
event
Data type: Optional[Hash]
Configuration to send with the event to handlers
Default value: undef
sensuclassic::contact
Manage Contact Routing configuration with Sensu Enterprise.
Note: If the sensu::purge_config
class parameter is true
, unmanaged
sensu::contact resources located in /etc/sensu/conf.d/contacts will be purged.
Parameters
The following parameters are available in the sensuclassic::contact
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not.
Default value: 'present'
base_path
Data type: Optional[String]
Where to place the contact JSON configuration file. Defaults
to undef
which defers to the behavior of the underlying sensuclassic_contact type.
Default value: undef
config
Data type: Hash
The configuration data for the contact. This is an arbitrary hash to
accommodate the various communication channels. For example, { "email": { "to": "support@example.com" } }
.
Default value: {}
sensuclassic::enterprise::dashboard::api
Manages the Sensu Enterprise API configuration
not mounted to /.
Parameters
The following parameters are available in the sensuclassic::enterprise::dashboard::api
defined type.
host
The hostname or IP address of the Sensu API. This is used as the namevar for the underlying resource, so must be unique within the catalog.
ensure
Data type: Enum['present','absent']
Whether the dashboard API should be configured or not
Default value: present
base_path
Data type: Optional[String]
The base path to the client config file.
Default value: undef
datacenter
Data type: Optional[String]
The datacenter name.
Default value: undef
port
Data type: Optional[Integer]
The port of the Sensu API.
Default value: undef
ssl
Data type: Optional[Boolean]
Whether or not to use the HTTPS protocol.
Default value: undef
insecure
Data type: Optional[Boolean]
Whether or not to accept an insecure SSL certificate.
Default value: undef
path
Data type: Optional[String]
The path of the Sensu API. Leave empty unless your Sensu API is
Default value: undef
timeout
Data type: Optional[Integer]
The timeout for the Sensu API, in seconds.
Default value: undef
user
Data type: Optional[String]
The username of the Sensu API. Leave empty for no authentication.
Default value: undef
pass
Data type: Optional[String]
The password of the Sensu API. Leave empty for no authentication.
Default value: undef
sensuclassic::extension
This define manages Sensu extensions
Parameters
The following parameters are available in the sensuclassic::extension
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not
Default value: 'present'
source
Data type: Optional[Pattern[/^puppet:\/\//]]
Source of the puppet extension
Default value: undef
install_path
Data type: String
Path where to install the extension
Default value: '/etc/sensu/extensions'
config
Data type: Hash
Extension specific config
Default value: {}
sensuclassic::filter
Defines Sensu filters
Parameters
The following parameters are available in the sensuclassic::filter
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not
Default value: 'present'
negate
Data type: Optional[Boolean]
Negate the filter
Default value: undef
attributes
Data type: Optional[Hash]
Hash of attributes for the filter
Default value: undef
when
Data type: Optional[Hash]
Hash of when entries for the filter
Default value: undef
sensuclassic::handler
Defines Sensu handlers
Parameters
The following parameters are available in the sensuclassic::handler
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not
Default value: 'present'
type
Data type: Enum['pipe','tcp','udp','amqp','set','transport']
Type of handler
Default value: 'pipe'
command
Data type: Optional[String]
Command to run as the handler when type=pipe
Default value: undef
handlers
Data type: Optional[Array]
Handlers to use when type=set
Default value: undef
severities
Data type: Array
Severities handler is valid for
Default value: ['ok', 'warning', 'critical', 'unknown']
exchange
Data type: Optional[Hash]
Exchange information used when type=amqp Keys: host, port
Default value: undef
pipe
Data type: Optional[Hash]
Pipe information used when type=transport Keys: name, type, options
Default value: undef
socket
Data type: Optional[Hash]
Socket information when type=tcp or type=udp Keys: host, port
Default value: undef
filters
Data type: Array
Filter commands to apply
Default value: []
source
Data type: Optional[Pattern[/^puppet:\/\//]]
Source of the puppet handler
Default value: undef
install_path
Data type: String
Path to install the handler
Default value: $::osfamily
config
Data type: Optional[Hash]
Handler specific config
Default value: undef
timeout
Data type: Optional[Integer]
Handler timeout configuration
Default value: undef
handle_flapping
Data type: Boolean
If events in the flapping state should be handled.
Default value: false
handle_silenced
Data type: Boolean
If events in the silenced state should be handled.
Default value: false
mutator
Data type: Any
The handle mutator. Valid values: Any kind of data which can be added to the handler mutator.
Default value: undef
subdue
Data type: Any
The handle subdue. Valid values: Any kind of data which can be added to the handler subdue.
Default value: undef
sensuclassic::mutator
This define manages Sense mutators
Parameters
The following parameters are available in the sensuclassic::mutator
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not
Default value: 'present'
command
Data type: String
Command to run.
timeout
Data type: Optional[Numeric]
The mutator execution duration timeout in seconds (hard stop).
Default value: undef
source
Data type: Optional[String]
Source of the puppet mutator
Default value: undef
install_path
Data type: Stdlib::Absolutepath
Path to install the mutator
Default value: '/etc/sensu/mutators'
sensuclassic::plugin
Installs the Sensu community script and plugins which can be used as monitoring checks
Parameters
The following parameters are available in the sensuclassic::plugin
defined type.
type
Data type: Enum['file','url','package','directory']
Plugin source Valid values: file, directory, package, url
Default value: 'file'
install_path
Data type: Stdlib::Absolutepath
The path to install the plugin
Default value: $::osfamily
purge
Data type: Boolean
When using a directory source, purge setting
Default value: true
recurse
Data type: Boolean
When using a directory source, recurse setting
Default value: true
force
Data type: Boolean
When using a directory source, force setting
Default value: true
pkg_version
Data type: Pattern[/^absent$/,/^installed$/,/^latest$/,/^present$/,/^[\d\.\-]+$/]
When using package source, version to install
Default value: 'latest'
pkg_provider
Data type: Optional[String]
When using package to install plugins, provider to use. Valid values: sensuclassic_gem, apt, aptitude, yum
Default value: $sensuclassic::sensu_plugin_provider
pkg_checksum
Data type: Optional[String]
The packake's MD5 checksum. Valid values: Any valid MD5 string of the wanted package
Default value: undef
nocheckcertificate
Data type: Boolean
When using url source, disable certificate checking for HTTPS
Default value: false
gem_install_options
Data type: Any
Optional configuration to use for the installation of the sensu plugin gem with sensuclassic_gem provider. See: https://docs.puppetlabs.com/references/latest/type.html#package-attribute-install_options Example value: [{ '-p' => 'http://user:pass@myproxy.company.org:8080' }]
Default value: $sensuclassic::gem_install_options
pkg_proxy_host
Data type: Optional[String]
The proxy host used to download the plugin when type
is url
Default value: $sensuclassic::package_proxy_host
pkg_proxy_port
Data type: Optional[Stdlib::Port]
The proxy port used to download the plugin when type
is url
Default value: $sensuclassic::package_proxy_port
sensuclassic::plugins_dir
This define verifies if install_dir exists without duplicate declarations
Parameters
The following parameters are available in the sensuclassic::plugins_dir
defined type.
force
Data type: Boolean
Value of the parameter force of file resource for the managed directory.
purge
Data type: Boolean
Value of the parameter purge of file resource for the managed directory.
recurse
Data type: Boolean
Value of the parameter recurse of file resource for the managed directory.
path
Data type: String
Path of the directory to create. If not defined the $title is used.
Default value: $name
sensuclassic::subscription
This define manages Sensu subscriptions
Parameters
The following parameters are available in the sensuclassic::subscription
defined type.
ensure
Data type: Enum['present','absent']
Whether the check should be present or not
Default value: 'present'
custom
Data type: Hash
Custom client variables
Default value: {}
sensuclassic::write_json
Writes arbitrary hash data to a config file. Note: you must manually notify any Sensu services to restart them when using this defined resource type.
Examples
sensuclassic::write_json { '/etc/sensu/conf.d/check.json':
content => {"config" => {"key" => "value"}},
notify => [
Service['sensu-client'],
Service['sensu-server'],
],
}
Parameters
The following parameters are available in the sensuclassic::write_json
defined type.
ensure
Data type: Enum['present', 'absent']
Whether the file should be present or not.
Default value: 'present'
owner
Data type: String
The file owner.
Default value: 'sensu'
group
Data type: String
The file group.
Default value: 'sensu'
mode
Data type: Stdlib::Filemode
The file mode.
Default value: '0775'
pretty
Data type: Boolean
Write the json with "pretty" indenting & formating.
Default value: true
content
Data type: Hash
The hash content that will be converted to json and written into the target config file.
Default value: {}
notify_list
Data type: Array[Variant[Data,Type]]
Array of resources to notify upon changes to the target JSON file.
Default value: []
Resource types
sensuclassic_api_config
Manages Sensu API config
Properties
The following properties are available in the sensuclassic_api_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
port
The port that the Sensu API is listening on
Default value: 4567
host
The hostname that the Sensu API is listening on
Default value: 127.0.0.1
bind
The bind IP that sensu will bind to
Default value: 0.0.0.0
user
The username used for clients to authenticate against the Sensu API
password
The password use for client authentication against the Sensu API
ssl_port
Port of the HTTPS (SSL) sensu api service. Enterprise only feature.
ssl_keystore_file
The file path for the SSL certificate keystore. Enterprise only feature.
ssl_keystore_password
The SSL certificate keystore password. Enterprise only feature.
Parameters
The following parameters are available in the sensuclassic_api_config
type.
name
namevar
This value has no effect, set it to what ever you want.
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/
sensuclassic_check
Manages Sensu checks
Properties
The following properties are available in the sensuclassic_check
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
command
Valid values: /.*/, absent
Command to be run by the check
dependencies
Valid values: /.*/, absent
Dependencies of this check
handlers
Valid values: /.*/, absent
List of handlers that responds to this check
contacts
Valid values: /^[\w.-]+$/, absent
Contact names to override handler configuration via Contact Routing
high_flap_threshold
Valid values: /.*/, absent
A host is determined to be flapping when the percent change exceedes this threshold.
cron
Valid values: /.*/, absent
When the check should be executed, using the Cron syntax.
interval
Valid values: /.*/, absent
How frequently the check runs in seconds
occurrences
Valid values: /.*/, absent
The number of event occurrences before the handler should take action.
refresh
Valid values: /.*/, absent
The number of seconds sensu-plugin-aware handlers should wait before taking second action.
low_flap_threshold
Valid values: /.*/, absent
A host is determined to be flapping when the percent change is below this threshold.
source
Valid values: /.*/, absent
The check source, used to create a JIT Sensu client for an external resource (e.g. a network switch).
subscribers
Valid values: /.*/, absent
Who is subscribed to this check
custom
Custom check variables
type
Valid values: /.*/, absent
What type of check is this
standalone
Valid values: /.*/, absent
Whether this is a standalone check
timeout
Valid values: /.*/, absent
Check timeout in seconds, after it fails
aggregate
Valid values: /.*/, absent
Whether check is aggregate
aggregates
Valid values: /.*/, absent
An array of aggregates to add to the check
handle
Valid values: /.*/, absent
Whether check event send to a handler
publish
Valid values: /.*/, absent
Whether check is unpublished
subdue
Valid values: /.*/, absent
Check subdue
proxy_requests
Valid values: /.*/, absent
Proxy Requests
ttl
Valid values: /.*/, absent
Check ttl in seconds
ttl_status
Valid values: /.*/, absent
Exit code for ttl
output_format
Valid values: /.*/, absent
A metric output format
handle_when
The handle_when enterprise filter is used to reduce notification 'noise'
Parameters
The following parameters are available in the sensuclassic_check
type.
name
namevar
The name of the check.
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/checks
sensuclassic_check_config
""
Properties
The following properties are available in the sensuclassic_check_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
Parameters
The following parameters are available in the sensuclassic_check_config
type.
name
namevar
base_path
config
event
name
The check name to configure
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/checks
config
Check configuration for the client to use
event
Configuration to send with the event to handlers
sensuclassic_client_config
Manages Sensu client config
Properties
The following properties are available in the sensuclassic_client_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
client_name
""
address
""
subscriptions
Valid values: /.*/, absent
""
redact
Valid values: /.*/, absent
An array of strings that should be redacted in the sensu client config
socket
A set of attributes that configure the Sensu client socket.
safe_mode
Require checks to be defined on server and client
Default value: false
custom
Custom client attributes. Any key that is also set by a property of this type will be ignored and should not be included in this property.
deregister
Enable client de-registration
deregistration
Valid values: /.*/, absent
Client deregistration attributes
registration
Valid values: /.*/, absent
Client registration attributes
keepalive
Keepalive config
http_socket
A set of attributes that configure the Sensu client http socket.
servicenow
Configure Service Now integration on Sensu client.
ec2
Configure ec2 integration on Sensu client.
chef
Configure Chef integration on Sensu client.
puppet
Configure Puppet integration on Sensu client.
Parameters
The following parameters are available in the sensuclassic_client_config
type.
name
namevar
The name of the host
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/
sensuclassic_client_subscription
Manages Sensu client subscriptions
Properties
The following properties are available in the sensuclassic_client_subscription
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
subscriptions
Subscriptions included, defaults to resource name
custom
Custom client variables
Parameters
The following parameters are available in the sensuclassic_client_subscription
type.
name
namevar
The subscription name
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/
file_name
The name of the client config file
sensuclassic_contact
Manages Sensu contacts
Properties
The following properties are available in the sensuclassic_contact
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
config
Configuration hash for the contact.
Parameters
The following parameters are available in the sensuclassic_contact
type.
name
Valid values: /^[\w.-]+$/
namevar
The name of the contact, e.g. "support"
base_path
The base path to the contact config file
Default value: /etc/sensu/conf.d/contacts/
sensuclassic_enterprise_dashboard_api_config
Manages Sensu Enterprise Dashboard API config
Properties
The following properties are available in the sensuclassic_enterprise_dashboard_api_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
datacenter
The name of the Sensu API (used elsewhere as the datacenter name).
port
Valid values: /[0-9]+/
The port of the Sensu API.
Default value: 4567
ssl
Determines whether or not to use the HTTPS protocol.
Default value: false
insecure
Determines whether or not to accept an insecure SSL certificate.
Default value: false
path
The path of the Sensu API. Leave empty unless your Sensu API is not mounted to /.
timeout
Valid values: /[0-9]+/
The timeout for the Sensu API, in seconds.
Default value: 5
user
Valid values: /.+/
The username of the Sensu API. Leave empty for no authentication.
pass
Valid values: /.+/
The password of the Sensu API. Leave empty for no authentication.
Parameters
The following parameters are available in the sensuclassic_enterprise_dashboard_api_config
type.
host
namevar
The hostname or IP address of the Sensu API.
base_path
The base path to the client config file
Default value: /etc/sensu/
sensuclassic_enterprise_dashboard_config
Manages Sensu Enterprise Dashboard config
Properties
The following properties are available in the sensuclassic_enterprise_dashboard_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
host
The hostname or IP address on which Sensu Enterprise Dashboard will listen on.
Default value: 0.0.0.0
port
The port on which Sensu Enterprise Dashboard will listen on.
Default value: 3000
refresh
Determines the interval to poll the Sensu APIs, in seconds.
Default value: 5
user
A username to enable simple authentication and restrict access to the dashboard. Leave blank along with pass to disable simple authentication.
pass
A password to enable simple authentication and restrict access to the dashboard. Leave blank along with user to disable simple authentication.
auth
The auth definition scope, used to configure JSON Web Token (JWT) authentication signatures.
ssl
A hash of SSL attributes to enable native SSL
audit
A hash of audit attributes to enable audit logging
github
A hash of GitHub authentication attributes to enable GitHub authentication via OAuth. Overrides simple authentication.
gitlab
A hash of GitLab authentication attributes to enable GitLab authentication via OAuth. Overrides simple authentication.
ldap
A hash of Lightweight Directory Access Protocol (LDAP) authentication attributes to enable LDAP authentication. Overrides simple authentication.
oidc
The oidc definition scope, used to configure Role Based Access Controls with the RBAC for OpenID Connect (OIDC) driver. Overrides simple authentication.
custom
Custom config variables
Parameters
The following parameters are available in the sensuclassic_enterprise_dashboard_config
type.
name
namevar
This value has no effect, set it to what ever you want.
base_path
The base path to the client config file
Default value: /etc/sensu/
sensuclassic_extension
Manages Sensu extensions
Properties
The following properties are available in the sensuclassic_extension
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
config
The configuration for this extension
Parameters
The following parameters are available in the sensuclassic_extension
type.
name
namevar
This value has no effect, set it to what ever you want.
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/extensions/
sensuclassic_filter
Manages Sensu filters
Properties
The following properties are available in the sensuclassic_filter
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
attributes
Filter attributes
when
Used to determine when a filter is applied.
negate
""
Default value: false
Parameters
The following parameters are available in the sensuclassic_filter
type.
name
namevar
The name of the filter.
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/filters/
sensuclassic_handler
Manages Sensu handlers
Properties
The following properties are available in the sensuclassic_handler
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
type
Type of handler
command
Command the handler should run
exchange
Exchange information used by the amqp type
pipe
Pipe information used by the transport type
socket
Socket information used by the udp type
mutator
Handler specific data massager
filters
Handler filters
severities
Severities applicable to this handler
handlers
Handlers this handler mutexes into
config
Handler specific config
timeout
Handler timeout
handle_flapping
If events in the flapping state should be handled
handle_silenced
If events in the silenced state should be handled
Parameters
The following parameters are available in the sensuclassic_handler
type.
name
namevar
The name of the handler
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/handlers/
sensuclassic_mutator
Manages Sensu mutators
Properties
The following properties are available in the sensuclassic_mutator
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
command
Command the mutator should run
timeout
The mutator execution duration timeout in seconds (hard stop).
Parameters
The following parameters are available in the sensuclassic_mutator
type.
name
namevar
The name of the mutator
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/mutators/
sensuclassic_rabbitmq_config
Manages Sensu RabbitMQ config
Properties
The following properties are available in the sensuclassic_rabbitmq_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
ssl_transport
Enable SSL transport to connect to RabbitMQ
Default value: false
ssl_private_key
The path on disk to the SSL private key needed to connect to RabbitMQ
Default value: ''
ssl_cert_chain
The path on disk to the SSL cert chain needed to connect to RabbitMQ
Default value: ''
port
The port that RabbitMQ is listening on
host
The hostname that RabbitMQ is listening on
user
The username to use when connecting to RabbitMQ
password
The password to use when connecting to RabbitMQ
vhost
The vhost to use when connecting to RabbitMQ
heartbeat
The RabbitMQ heartbeat value
prefetch
The RabbitMQ AMQP consumer prefetch value
cluster
Rabbitmq Cluster
Parameters
The following parameters are available in the sensuclassic_rabbitmq_config
type.
name
namevar
This value has no effect, set it to what ever you want.
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/
sensuclassic_redis_config
Manages Sensu Redis config
Properties
The following properties are available in the sensuclassic_redis_config
type.
ensure
Valid values: present, absent
The basic property that the resource should be in.
Default value: present
port
The port that Redis is listening on
host
The hostname that Redis is listening on
password
The password used to connect to Redis
reconnect_on_error
Attempt to reconnect to RabbitMQ on error
Default value: true
db
The Redis instance DB to use/select
Default value: 0
auto_reconnect
Reconnect to Redis in the event of a connection failure
Default value: true
tls
Valid values: true
, false
Use TLS encryption to connect to Redis
Default value: false
sentinels
Redis Sentinel configuration for HA clustering
Default value: []
master
Redis master name in the sentinel configuration
Default value: absent
Parameters
The following parameters are available in the sensuclassic_redis_config
type.
name
namevar
This value has no effect, set it to what ever you want.
base_path
The base path to the client config file
Default value: /etc/sensu/conf.d/
Functions
sensuclassic_sorted_json
Type: Ruby 4.x API
This function takes unsorted hash and outputs JSON object making sure the keys are sorted. Optionally you can pass a boolean as the second parameter, which controls if the output is pretty formatted.
Examples
Calling function without pretty
unsorted_hash = {
'client_addr' => '127.0.0.1',
'bind_addr' => '192.168.34.56',
'start_join' => [
'192.168.34.60',
'192.168.34.61',
'192.168.34.62',
],
'ports' => {
'rpc' => 8567,
'https' => 8500,
'http' => -1,
},
}
sorted_json(unsorted_hash)
{"bind_addr":"192.168.34.56","client_addr":"127.0.0.1",
"ports":{"http":-1,"https":8500,"rpc":8567},
"start_join":["192.168.34.60","192.168.34.61","192.168.34.62"]}
Calling function with pretty output
sorted_json(unsorted_hash, true)
{
"bind_addr": "192.168.34.56",
"client_addr": "127.0.0.1",
"ports": {
"http": -1,
"https": 8500,
"rpc": 8567
},
"start_join": [
"192.168.34.60",
"192.168.34.61",
"192.168.34.62"
]
}
sensuclassic_sorted_json(Hash $hash, Optional[Boolean] $pretty)
This function takes unsorted hash and outputs JSON object making sure the keys are sorted. Optionally you can pass a boolean as the second parameter, which controls if the output is pretty formatted.
Returns: String
Returns a JSON string
Examples
Calling function without pretty
unsorted_hash = {
'client_addr' => '127.0.0.1',
'bind_addr' => '192.168.34.56',
'start_join' => [
'192.168.34.60',
'192.168.34.61',
'192.168.34.62',
],
'ports' => {
'rpc' => 8567,
'https' => 8500,
'http' => -1,
},
}
sorted_json(unsorted_hash)
{"bind_addr":"192.168.34.56","client_addr":"127.0.0.1",
"ports":{"http":-1,"https":8500,"rpc":8567},
"start_join":["192.168.34.60","192.168.34.61","192.168.34.62"]}
Calling function with pretty output
sorted_json(unsorted_hash, true)
{
"bind_addr": "192.168.34.56",
"client_addr": "127.0.0.1",
"ports": {
"http": -1,
"https": 8500,
"rpc": 8567
},
"start_join": [
"192.168.34.60",
"192.168.34.61",
"192.168.34.62"
]
}
hash
Data type: Hash
Hash to be sorted
pretty
Data type: Optional[Boolean]
Boolean that determines if output should be pretty format
Changelog
v3.8.0 (2020-10-20)
Implemented enhancements:
v3.7.0 (2020-10-14)
Implemented enhancements:
v3.6.4 (2020-09-21)
v3.6.3 (2020-08-25)
Fixed bugs:
Closed issues:
- Windows client value set to false throws puppet run error #36
Merged pull requests:
- Address CVE-2020-10663 by using a newer version of json #38 (ghoneycutt)
v3.6.2 (2020-08-12)
Fixed bugs:
Closed issues:
- Windows sensu service DSC error for starting #33
v3.6.1 (2020-07-19)
Closed issues:
- Service started before config applied #32
Merged pull requests:
v3.6.0 (2020-06-08)
Implemented enhancements:
v3.5.1 (2020-06-03)
Closed issues:
- deprecated
validate\_bool\(\)
function #29
Merged pull requests:
- (GH-29) Removes validate_bool() usage #30 (chadh)
- CI updates for Travis ruby versions and use latest Rake #27 (treydock)
v3.5.0 (2020-04-08)
Implemented enhancements:
v3.4.1 (2019-11-02)
Fixed bugs:
Closed issues:
- undefined method `pretty_generate' for Puppet::Pops::Loader::RubyFunctionInstantiator::JSON:Module #24
v3.4.0 (2019-10-10)
Closed issues:
- sensuclassic_sorted_json #21
Merged pull requests:
v3.3.0 (2019-08-20)
Implemented enhancements:
Closed issues:
- Feature request: Add ability to have configuration changes reload sensu-enterprise instead issuing a restart #17
v3.2.0 (2019-08-19)
Implemented enhancements:
Closed issues:
- Ubuntu 14.04 LTS is EOL #13
Merged pull requests:
- Add parameter sensuclassic::check::check_name #16 (jovrum)
- Improve unit tests for latest versions of dependencies #15 (treydock)
- (GH-13) Remove Ubuntu 14.04 LTS as it is end of life (EOL) #14 (ghoneycutt)
- Fix repo path for EL vagrant #12 (treydock)
v3.1.0 (2019-05-06)
Closed issues:
- Document that client custom property will filter out keys for other properties #8
Merged pull requests:
- Fix Puppet Strings doc URL #11 (treydock)
- Update docs for client_custom parameter and sensuclassic_client_config custom property #10 (treydock)
- Ensure presence of sensu doesn't break this module #9 (treydock)
- Add Windows acceptance tests #7 (treydock)
v3.0.0 (2019-03-21)
Merged pull requests:
- Rename #6 (ghoneycutt)
v2.63.0
Closed issues:
- Puppet 6.2 fails to apply sensu config, failing with: "Error 500 on SERVER: Server Error: no parameter named 'custom' (file: /etc/puppetlabs/code/environments/ta _dit_production/modules/sensu/manifests/enterprise/dashboard.pp, line: 56) on Sensu_enterprise_dashboard_config" #1080
- Allow adding arbitrary config variables in /etc/default/sensu #1074
Merged pull requests:
- Add env_vars parameter #1089 (ghoneycutt)
- Add env_vars parameter #1088 (treydock)
v2.62.3 (2019-02-13)
Implemented enhancements:
- Add support for Windows 10 #822
Fixed bugs:
- TripleO and Sensu without ssl, ssl still enabled in rabbitmq.json #1050
- Vagrant fails for win2012r2-client-chocolatey #893
- Remove hardcoded /etc/sensu #1071 (treydock)
Closed issues:
- Illegal method definition of method 'validate_keys' on line 8' in legacy function. #1055
Merged pull requests:
- (GH-893) Remove Vagrant box for windows with chocolatey provider #1073 (ghoneycutt)
- Puppet v6 now uses Ruby v2.5.3 #1060 (ghoneycutt)
- Convert sensu_sorted_json legacy function to new Ruby function #1056 (treydock)
- Do not enable rabbitmq ssl for empty cert or key #1053 (treydock)
v2.62.2 (2019-01-19)
Fixed bugs:
Closed issues:
- Rework sensu_silenced name handling #1015
v2.62.1 (2019-01-14)
Implemented enhancements:
- Support MacOS High Sierra (10.13) #993
Merged pull requests:
- Fix osx #1048 (ghoneycutt)
v2.62.0 (2019-01-13)
Implemented enhancements:
Fixed bugs:
- Fix Windows dsc_service when client=>false #1047 (treydock)
- Fix Amazon 2 to use EL7 repos #1044 (treydock)
Closed issues:
- dsc_service throws error when client is false #1046
v2.61.0 (2019-01-11)
Closed issues:
- Running Sensu on Windows as a specific account #819
Merged pull requests:
v2.60.0 (2019-01-11)
Closed issues:
- Source option with sensu_gem provider doesn't work #1007
- RVM conflicts with sensu-install #876
- Unable to define handler specific config properly #647
Merged pull requests:
- Do not expose changed password and pass properties #1043 (treydock)
- Update all Vagrant boxes to use Puppet5 #992 (treydock)
v2.59.0 (2018-12-18)
Implemented enhancements:
- Feature Request: Ability to manage userOptions in dashboard.json #842
Merged pull requests:
- Support custom configurations in enterprise dashboard #1018 (treydock)
- Remove sensu::backend username and password parameters #1002 (treydock)
v2.58.0 (2018-10-29)
Merged pull requests:
v2.57.0 (2018-10-29)
Merged pull requests:
v2.56.0 (2018-10-26)
Implemented enhancements:
- Add support for Ubuntu 18.04 LTS #990
Closed issues:
- Re-evaluate parallel execution of acceptance tests #981
Merged pull requests:
- Add support for Amazon Linux 2.0 #999 (treydock)
- (GH-996) Use Amazon Linux 2018.03 instead of 2017.03 as it is EOL #998 (ghoneycutt)
- Add support for Ubuntu 18.04 #991 (treydock)
v2.55.1 (2018-10-02)
v2.55.0 (2018-10-02)
Merged pull requests:
v2.54.0 (2018-09-06)
Implemented enhancements:
Fixed bugs:
- Windows sensu purge issue #879
Closed issues:
- Operator '[]' is not applicable to an Undef Value error in Rspec Tests #941
- gems not installed on sensu upgrade. #909
- Drop support for Debian 7 on 2018-05-31 #904
- Feature Request: Support Redis ssl configuration #900
- sensu plugin could do with a source param #899
- Implement custom sensu-transport #895
- enable specifying enable/ensure when managing services #888
- Remove sensu_check_config #764
- Consider replacing sensu_contact (and other types) with sensu_sorted_json() #729
Merged pull requests:
- Use newer ruby (2.4.4) for testing Puppet #951 (ghoneycutt)
- (GH-901) Document branches for use with Sensu versions 1 and 2 #913 (ghoneycutt)
- (GH-911) Generate REFERENCE.md for Puppet Forge #912 (ghoneycutt)
- (GH-904) Drop support for Debian 7 which is end of life (EOL) #910 (ghoneycutt)
v2.53.0 (2018-05-21)
Implemented enhancements:
- Feature Request: Support for disabling the TCP/UDP Socket entirely #902
- (GH-902) Add client_socket_enabled boolean parameter #905 (treydock)
Fixed bugs:
- Windows Handlers not handled by module #870
Closed issues:
Merged pull requests:
- Fix spec test warnings #903 (ghoneycutt)
- (GH-896) Support beaker testing on windows server 2012r2 (continued) #898 (treydock)
- (GH-884) Update acceptance testing #887 (treydock)
- Allow gem_install_options on sensu_gem plugins #878 (statyk)
- [870] Support Windows in sensu::handler #874 (treydock)
v2.52.0 (2018-04-16)
Implemented enhancements:
- Implement self.instances for all native providers #770
Fixed bugs:
- Use correct version of stdlib with macos-client in vagrant #892 (ghoneycutt)
Closed issues:
- Vagrant tests fail for macos-client #891
Merged pull requests:
v2.51.0 (2018-04-05)
Merged pull requests:
- Enable specifying enable/ensure when managing services #889 (ghoneycutt)
v2.50.1 (2018-04-05)
Fixed bugs:
- sensu_enterprise_dashboard_api_config purge #883
Merged pull requests:
v2.50.0 (2018-01-19)
Closed issues:
- Pull Request: sensu::check auto_resolve #857
- Enterprise - Purging files no longer managed fails to notify correct service #854
- When removing a check, sensu service not refresh #782
Merged pull requests:
- Adding auto_resolve param to sensu::check. Replaces #858 #872 (alvagante)
- Restart sensu-enterprise service when configs are purged #854 #871 (alvagante)
v2.49.0 (2018-01-16)
Implemented enhancements:
- Allow for management of file and directory permissions #825
Merged pull requests:
- Add parameters to configure dir and file modes #869 (ghoneycutt)
v2.48.0 (2018-01-15)
Implemented enhancements:
Merged pull requests:
v2.47.0 (2018-01-15)
Implemented enhancements:
- (GH-708) Add support for Debian 9 (Stretch) #795 (ghoneycutt)
v2.46.0 (2018-01-15)
Closed issues:
- Support arioch/redis #853
- upgrading to newer version of sensu with newer embeded ruby doesn't reinstall plugins #542
Merged pull requests:
v2.45.0 (2018-01-09)
Closed issues:
- Support MacOS client #862
Merged pull requests:
- Macos #863 (ghoneycutt)
v2.44.0 (2018-01-04)
Merged pull requests:
- Use latest puppetlabs/stdlib (2.24.0) and Stdlib::Filemode type #865 (ghoneycutt)
v2.43.0 (2018-01-04)
Implemented enhancements:
- MAX_OPEN_FILES should be configurable for Sensu Enterprise #849
Fixed bugs:
- Roundrobin subscriptions on Windows aren't configured #820
Closed issues:
- check "type" field lost in json file while upgrading module #860
- Sensu puppet doesn't work correctly if started from crontab: "Package[sensu-plugin] has failures" #859
- test slack integration. #856
- Centos 7 - not properly managing sensu-client service #855
- CONFIG_FILE environment variable should be configurable #851
Merged pull requests:
- Support only the latest releases of Puppet versions 4 and 5 #864 (ghoneycutt)
- Added config_file params to CONFIG_FILE envvar #851 #861 (alvagante)
- Fix #820 #846 (alvagante)
v2.42.0 (2017-12-04)
Closed issues:
- switch from puppetlabs/rabbitmq to puppet/rabbitmq #844
Merged pull requests:
v2.41.0 (2017-11-27)
Merged pull requests:
- Second attempt for #844 #848 (alvagante)
- Revert "Merge pull request #845 from alvagante/844" #847 (ghoneycutt)
- Renamed references to puppetlabs to voxpupuli rabbitmq #844 #845 (alvagante)
v2.40.1 (2017-11-17)
Merged pull requests:
- (security) Update rest-client older version have a vulnerability #843 (ghoneycutt)
v2.40.0 (2017-11-08)
Closed issues:
- Transport class does not use platform specific user and group #838
Merged pull requests:
- (GH-840) Change default mode value for creation of json files #841 (ghoneycutt)
v2.39.0 (2017-11-07)
Closed issues:
- Implement hooks #836
Merged pull requests:
v2.38.1 (2017-11-02)
Fixed bugs:
- redact parameter causes errors #834
Merged pull requests:
v2.38.0 (2017-10-26)
Implemented enhancements:
- sensu module failing on amazon linux as it is pointing to a incorrect yum repo http url which doesn't exist #821
Fixed bugs:
- sensu module failing on amazon linux as it is pointing to a incorrect yum repo http url which doesn't exist #821
Closed issues:
- Sensu Enterprise Service Not Reloading After Checks #827
- Cyclical dependencies when using Sensu Enterprise and the Enterprise API #815
Merged pull requests:
v2.37.0 (2017-10-23)
Fixed bugs:
- transport.json not created when transport_type = rabbitmq #809
Closed issues:
- Add client register and registration client configs #749
Merged pull requests:
v2.36.0 (2017-10-20)
Closed issues:
- Absolute path set for rabbitmq ssl certs #798
- Client config should support servicenow #775
- Client config should support puppet #774
- Client config should support chef #773
- Cannot manage 2008 R2 localised (french) #769
- Add a test in vagrant for PR #745 #747
Merged pull requests:
- Change test versions #830 (ghoneycutt)
- user on check for windows to use module defaults and notifying sensu-enterprise #829 (ghoneycutt)
- [815] Resolve circular dependency when using sensu::enterprise::dashboard::api #816 (glarizza)
- Add vagrant tests for add/remove checks with sensu::check #814 (Phil-Friderici)
- Added sensu_user and sensu_group params to sensu class #769 #813 (alvagante)
v2.35.0 (2017-09-06)
Closed issues:
- Client config should support ec2 #772
Merged pull requests:
- Use variable for ssl_dir in sensu::rabbitmq::config #798 #808 (alvagante)
- Added support to client config for servicenow, ec2, chef, puppet #772 #773 #774 #775 #807 (alvagante)
v2.34.0 (2017-08-31)
Closed issues:
- Client config should support http_socket #776
- Refactor inline documentation to puppet strings (yard) format #757
- Stop using private classes and the anchor pattern #709
- redacting passwords from catalogue output #515
Merged pull requests:
v2.33.1 (2017-08-28)
Closed issues:
- Checks not working as expected #801
Merged pull requests:
- Force array for some sense::check params #801 #804 (alvagante)
- Update the README to clarify support resources #802 (obfuscurity)
- #709 Remove anchors (and create_resources) #763 (alvagante)
v2.33.0 (2017-08-23)
Closed issues:
- Default linux path not working on Windows with $has_cluster #790
Merged pull requests:
- Quick fix for #790 #800 (alvagante)
- Support puppet 5.1 #799 (ghoneycutt)
v2.32.0 (2017-08-18)
Implemented enhancements:
- Modify sensu::check to use defined type sensu::write_json instead of native type sensu_check #783
Closed issues:
Merged pull requests:
- (GH-566) Add pull request template #797 (ghoneycutt)
- (GH-566) Add Code of Conduct #796 (ghoneycutt)
- (GH-760) Document rabbitmq's move to Voxpupuli #794 (ghoneycutt)
- (#783) Add sensu::check content parameter, use sensu::write_json #785 (jeffmccune)
v2.31.0 (2017-08-14)
Closed issues:
- Remove apt module from metadata #791
- minimum apt version wall #788
- sensu::plugin does not work on windows without specifying install_path #786
Merged pull requests:
- Remove soft dependencies on apt and powershell #793 (ghoneycutt)
- Puppet strings 4 all #757 #792 (alvagante)
- (GH-786) sensu::plugin does not work on windows without specifying install_path #789 (Phil-Friderici)
v2.30.1 (2017-07-31)
Fixed bugs:
- Sensu Enterprise API SSL attributes are incorrectly configured #784
Closed issues:
- [puppetlabs/apt] Version bumping for apt module #781
- Auto generated documentation should show up as a GitHub page #777
Merged pull requests:
- (#784) Fix Sensu Enterprise API SSL configuration scope #787 (jeffmccune)
- Update link to auto generated docs #778 (ghoneycutt)
v2.30.0 (2017-07-26)
Closed issues:
- Sensu Enterprise HEAP_SIZE is not configurable #767
- Stop using scope.lookupvar() in templates #701
- Pass gem_install_options to sensu::plugin class #599
- etc_dir should be configurable #578
- How do you use 'package' plugin provider with sensu::plugin define? #384
Merged pull requests:
v2.29.0 (2017-07-26)
Closed issues:
- to_type helper's handling of numbers is too loose #582
Merged pull requests:
v2.28.0 (2017-07-25)
Implemented enhancements:
- Create a reference implementation for provider spec tests #759
Closed issues:
- Allow remediation on check.pp #560
Merged pull requests:
- Add validation of spec/fixtures/unit/**/*.json #768 (ghoneycutt)
- WIP 582 Don't do type convertion on keys of sensu_client_config custom param #766 (alvagante)
- (#759) Add reference spec tests for sensu_check JSON provider #765 (jeffmccune)
- Add handle_silenced parameter to handler defined type #753 (madAndroid)
- (GH-578) etc_dir should be configurable #741 (Phil-Friderici)
v2.27.0 (2017-07-19)
Implemented enhancements:
- Add
rake doc
task to generate documentation from inline comments #748 - Add support for deregister client config and deregistration handler #550
Closed issues:
- plugins should install before checks #463
Merged pull requests:
- (#748) Add puppet-strings gem and dependencies #756 (jeffmccune)
- (#463) Ensure sensu::plugins are managed before checks #755 (jeffmccune)
- (#550) Add sensu client de-registration #750 (jeffmccune)
v2.26.0 (2017-07-19)
Closed issues:
Merged pull requests:
- Data types #761 (ghoneycutt)
- (PR-751) working with csoleimani #752 (Phil-Friderici)
v2.25.0 (2017-07-14)
Merged pull requests:
- (PR-528) working with kali-hernandez #745 (Phil-Friderici)
v2.24.0 (2017-07-13)
Closed issues:
- support for setting spawn limit via puppet #727
- Using rabbitmq_cluster works only the first time puppet runs #598
Merged pull requests:
- (#727) Add sensu::spawn_limit class parameter #744 (jeffmccune)
- (#598) Improve rabbitmq clustering robustness #742 (jeffmccune)
v2.23.0 (2017-07-13)
Closed issues:
- sensu::check resources should support cron scheduling #737
- use puppet code instead of ruby code in template #731
Merged pull requests:
- (#737) Add cron attribute to sensu::check type #743 (jeffmccune)
v2.22.0 (2017-07-13)
Closed issues:
- Vagrant ports for sensu-enterprise-server are off #735
Merged pull requests:
- (GH-599) Pass gem_install_options to sensu::plugin class #740 (Phil-Friderici)
- (GH-560) Add docs for $sensu::check::custom #739 (Phil-Friderici)
- (#735) Fix sensu-server-enterprise Vagrant VM #738 (jeffmccune)
- (GH-701) Stop using scope.lookupvar() in templates #724 (Phil-Friderici)
v2.21.0 (2017-07-12)
Closed issues:
- improvement: proxy_requests for sensu::check #637
Merged pull requests:
- (#637) Add check proxy_requests functionality #736 (jeffmccune)
v2.20.1 (2017-07-11)
Closed issues:
- don't use templates for static files #732
- new subscribe check does not restart sensu-api service #600
Merged pull requests:
- (#600) Reload Sensu API when check configurations change #734 (jeffmccune)
- (#562) Sensu_filter resources notify Sensu Server and Sensu Enterprise #733 (jeffmccune)
v2.20.0 (2017-07-11)
Implemented enhancements:
- Unable to define Contact Routing for Sensu Enterprise #597
Merged pull requests:
- (#597) Add sensu::contact type (Enterprise Only) #728 (jeffmccune)
v2.19.2 (2017-07-11)
Closed issues:
- Switch to using Hiera data in the module instead of accessing variables in another scope #678
- sensu-api service should subscribe to sensu::rabbitmq::config class #433
Merged pull requests:
- (#433) Reload Service[sensu_api] on RabbitMQ config changes #730 (jeffmccune)
v2.19.1 (2017-07-10)
Closed issues:
- $check_notify does not load sensu::enterprise::service #495
Merged pull requests:
- (GH-388) Simplify class notifications #725 (ghoneycutt)
- (#495) Notify Service[sensu-enterprise] from Sensu::Check resources #720 (jeffmccune)
v2.19.0 (2017-07-09)
Closed issues:
- rabbitmq_reconnect_on_error parameter is useless #717
- Windows - attempts to create a local 'sensu' user #617
Merged pull requests:
- (#717) Remove rabbitmq_reconnect_on_error #722 (jeffmccune)
v2.18.0 (2017-07-08)
Closed issues:
- REQ - Windows - Support chocolatey as a package manager #589
Merged pull requests:
- (#589) Add Chocolatey support for Windows #723 (jeffmccune)
v2.17.0 (2017-07-08)
Implemented enhancements:
- Unable to set RabbitMQ Heartbeat option #428
Closed issues:
- Module does not support the when attribute on filters #658
Merged pull requests:
- (#658) Manage the when attribute of sensu filters #721 (jeffmccune)
v2.16.0 (2017-07-07)
Implemented enhancements:
- implement an
instances
method for the sensu_enterprise_dashboard_api_configjson
provider #649
Merged pull requests:
- (#649) Enumerate sensu_enterprise_dashboard_config instances #716 (jeffmccune)
v2.15.0 (2017-07-07)
Closed issues:
- unable to load facts into a newly installed puppet agent server from puppet master #719
Merged pull requests:
- Working on PR557 #718 (Phil-Friderici)
v2.14.0 (2017-07-06)
Closed issues:
- Add support for Puppet 5 #713
- sensu_enterprise_dashboard_api type should use
host
as namevar, notname
#638 - Unable to add ssl and insecure Sensu attributes to API section of dashboard.json #584
Merged pull requests:
- (#638) Enable multiple Sensu Enterprise Dashboard API endpoints #715 (jeffmccune)
v2.13.0 (2017-07-06)
Merged pull requests:
- (GH-713) Support Puppet 5 #714 (ghoneycutt)
v2.12.0 (2017-07-06)
Closed issues:
Merged pull requests:
- (GH-710) support debian 7 and 8 #712 (ghoneycutt)
v2.11.0 (2017-07-06)
Closed issues:
- module should support SSL configuration for API endpoints #648
Merged pull requests:
- Working on PR501 #703 (Phil-Friderici)
v2.10.0 (2017-07-05)
Closed issues:
- Ubuntu16.04 uses the wrong ipaddress #695
- redis_reconnect_on_error should default to true #685
- Windows - sensu-client.log does not rotate #618
Merged pull requests:
- (GH-685) redis_reconnect_on_error now defaults to true #707 (ghoneycutt)
- (GH-695) Use internal interface in Vagrant testing #706 (ghoneycutt)
v2.9.0 (2017-07-04)
Closed issues:
Merged pull requests:
- (GH-648) Add ability to specify SSL options to API config for Enterpr… #705 (ghoneycutt)
- Use rspec-puppet 2.5.x until 2.6.x is fixed #702 (Phil-Friderici)
v2.8.0 (2017-06-30)
Closed issues:
- Vagrant should have clients for other platforms #681
- Error installing Sensu on Windows Server 2012R2 #646
Merged pull requests:
- Fix Package[sensu] on windows #699 (jeffmccune)
- (GH-697) Use https with public package repositories #698 (ghoneycutt)
v2.7.0 (2017-06-28)
Closed issues:
- the sensu-plugin gem is incorrectly installed with the system ruby instead of the embedded ruby #688
Merged pull requests:
- (GH-644) Use the new apt and yum repositories #696 (ghoneycutt)
- (GH-688) Default sensu-plugin gem to use sensu_gem provider #694 (jeffmccune)
v2.6.0 (2017-06-28)
Closed issues:
- Drop support for Windows 2008 and 2012 (non R2) #691
- Drop support for EOL platform ubuntu 12.04 #690
Merged pull requests:
- EOL platforms #693 (ghoneycutt)
- Add support for Ubuntu 16.04 LTS #692 (ghoneycutt)
- (GH-681) Add EL6 platform as a client to Vagrant #689 (ghoneycutt)
v2.5.0 (2017-06-27)
Closed issues:
- Ensure file validation tests are being done #680
- Use a newer puppetlabs_spec_helper that includes syntax validation #679
- Implement support for arbitrary top-level configuration hashes #661
- Getting 'cluster' error from module and then after updating getting 'heartbeat' error #634
- Update repository URLs and release new module version #606
Merged pull requests:
- (GH-680) Add file validation checks for Vagrantfile and shell scripts (*.sh) #687 (ghoneycutt)
- (GH-679) Upgrade puppetlabs_spec_helper and puppet-lint #686 (ghoneycutt)
v2.4.0 (2017-06-27)
Closed issues:
- Vagrant environment does not work #676
Merged pull requests:
- Migrate vagrant to CentOS 7 and Puppet v4 #677 (ghoneycutt)
v2.3.1 (2017-06-27)
Closed issues:
- sensu::write_json requires that owner and group be specified #683
- Heads up about new contributors #673
Merged pull requests:
- (GH-683) Fix having to specify owner/group for sensu::write_json #684 (ghoneycutt)
v2.3.0 (2017-06-21)
Closed issues:
- Fix package suffix spec test #670
- all sort of integrations #666
- test #665
- Could not find init script or upstart conf file for 'sensu-enterprise' #662
- Error: no parameter named 'heartbeat' at [...]/modules/sensu/manifests/rabbitmq/config.pp:126 #659
Merged pull requests:
- Release v2.3.0 #675 (ghoneycutt)
- Fix #670 - Package release string for EL platform #674 (ghoneycutt)
- Update readme example for write_json #672 (robbyt)
- Add ability to write arbitrary JSON to a file #671 (ghoneycutt)
- Standardize files to ignore #669 (ghoneycutt)
- TravisCI to explicitly test supported versions of Puppet #668 (ghoneycutt)
- fix apt errors by adding os facts to debian and ubuntu examples #663 (cwjohnston)
- Avoid running sensu enterprise service in opensource installation #660 (devcfgc)
- redhat version fix #615 (andyroyle)
v2.2.1 (2017-05-30)
Implemented enhancements:
- Drop support for old versions of Puppet and Ruby in next major version? #577
Fixed bugs:
- sensu::check unable to remove a check property #535
Closed issues:
- All of the json files (client, api, etc.) in /etc/sensu/conf.d remain empty #657
- RHEL 7 - Sensu Enterprise service is not being managed correctly #655
- Sensu packages cannot be authenticated #654
- Version parameter fails to work with new package naming #641
- sensu-0.28.5-2.msi checksum mismatch #630
- Provider sensu_gem is not functional on this host #629
- Add Enterprise contact routing management #624
- Does not install latest version #622
- sense::handler creates deprecated "Filters" entry in resulting yaml #620
- Windows: Provider sensu_gem is not functional on this host #607
- Source parameter not purged when removed from check #601
- Windows: Fails to create sensu user #586
- DISCUSSION: Move module to vox-pupuli #585
- Doesn't create a transport.json file #556
Merged pull requests:
- Fix service inconsistencies in enterprise classes #656 (dzeleski)
- Remove Puppet 3.8 from unit tests, update minimum Puppet version in metadata #650 (cwjohnston)
- Update version string validation to allow for redhat platform suffix #645 (cwjohnston)
- Bump puppetlabs/apt dependency #643 (aquister)
- Fix some lint issues and test spec warnings #640 (cryptk)
- support for redis as a transport #639 (RiRa12621)
- Updating sensu_gem provider to check for RUBY_PLATFORM #632 (cdenneen)
- Added windows_repo_prefix to allow for internal mirrors #631 (cdenneen)
- Disable user creation on osfamily = windows by default #628 (cdenneen)
- Add handle_flapping option to sensu::handler #627 (johanek)
- Added package_checksum #625 (cdenneen)
- Add fix to resolve rabbitmq cluster heartbeat config failure. #623 (dzeleski)
- Add support to rotate windows logs #621 (dzeleski)
- use gem.cmd instead of gem.bat #616 (andyroyle)
- Support
ensure
property on sensu::enterprise::dashboard::api #613 (cwjohnston) - Select debian/ubuntu release for apt repo #611 (johanek)
- update repository urls yum #610 (goodwolf)
- Drop support for Ruby 1.9 #605 (ghoneycutt)
- set the log-level in the windows client xml config #604 (andyroyle)
- Sort properties in sensu_check provider #603 (ttarczynski)
- Remove sensu check property with absent #602 (ttarczynski)
- sensu-puppet-add heartbeat feature #596 (derkgort)
- Fix for enabling strict_variables #593 (madAndroid)
- sensu_check provider: fix missed value #592 (pjfbashton)
- Add contributing.md #591 (jaxxstorm)
- Update travis #590 (jaxxstorm)
- Initital fix for sensu on windows #588 (dzeleski)
- Use default redact #580 (paramite)
- transorm input with munge in type rather than in sensu_check/json.rb provider #573 (ttarczynski)
- add timeout support for handlers #547 (lobeck)
v2.2.0 (2016-11-27)
Fixed bugs:
Closed issues:
- Update README.md with compatibility #568
- does sensu-puppet work well in updating to 0.26 #561
- $::sensu::purge['config'] causes file path error on Windows agents #558
- Update subdue for 0.26 #553
- Add support for aggregates array #549
- subdue should be optional for sensu check definition #548
- Update Puppet Forge releases #545
- rabbitmq HA solution #541
- error while installing ruby_dep, Bundler cannot continue #540
- rake: uninitialized constant Syck with ruby 2.3.1 #539
- Add some new maintainers #522
- Using sensu_gem provider before sensu::client is installed? #520
- yum repository #519
- sentinel supports in sensu redis.json #514
- enable support for change in aggregates #512
- Travis builds failing even on no code change #511
- Sensu puppet module causes invalid parameter prefetch on some runs of puppet #507
- Sensu plugin install fails when using URLs #506
- Sensu puppet module causes invalid parameter prefetch on some runs of puppet #504
- Cannot create /etc/sensu/conf.d/redis.json without "password" #503
- Add support for Redis Sentinels Config #499
- Check subdue modified every run #497
- Trailing comma issue in config #492
- Sensu Windows: sensu_rabbitmq_config type needs base_path param passed #489
- Creating a handler for Librato fails #484
- Puppet not populating configuration files #476
- Wrong default value of rabbitmq_vhost #473
- Release new version "Tag the repo" #472
- support for new deregistration options #470
- 'gem list --remote' does not respect proxy settings #460
- Question about overriding check command #459
gem --list
hangs - need a way to set a timeout #452- Sensu-client service enable is not idempotent on CentOS 7 #448
- Differentiate between sensu-plugin gem and the sensu-plugins #432
- Changing Handler type fails with 'keys' error #360
- Support for multiple broker connection options with RabbitMQ #269
- Add functionality to configure mutators #230
Merged pull requests:
- Module bump #587 (jaxxstorm)
- Add support for multi-host Rabbitmq config #581 (dhgwilliam)
- fix tests on Ruby 1.8 #579 (ttarczynski)
- pin semantic_puppet gem at \< 0.1.4 on Ruby 1.8 or earlier #576 (cwjohnston)
- Small puppet-lint fix #575 (ttarczynski)
- use constant SENSU_CHECK_PROPERTIES instead of hardcoded check_args in sensu_check provider #572 (ttarczynski)
- Add sensu compatibility info in README.md #571 (ttarczynski)
- [enterprise dashboard] move package resource inside conditional #570 (cwjohnston)
- Add an issue template #567 (jaxxstorm)
- remove subdue property with 'absent' #565 (ttarczynski)
- Tests for subdue 2.0 #564 (ttarczynski)
- Remove subdue from handler #563 (ttarczynski)
- Add support for new aggregates type in 0.26 #554 (jaxxstorm)
- Add ruby 2.2 tests #552 (jaxxstorm)
- Fixes for Windows clients with Enterprise #544 (jacobmw)
- small fixes in docs #543 (ttarczynski)
- Fixing tests #538 (jaxxstorm)
- validate subdue is a hash #536 (fessyfoo)
- Allow undef handlers and subscribers #531 (thejandroman)
- Pin the package provider for RedHat osfamily #530 (thejandroman)
- Pin listen to a working pre-ruby2.2 version #529 (thejandroman)
- Better explain diff between diff sensu-plugin #526 (jaxxstorm)
- Switch default vhost to /sensu #525 (jaxxstorm)
- Add support for stringified aggregates #524 (jaxxstorm)
- Add support for client deregistration #523 (jaxxstorm)
- Fix tests #517 (jaxxstorm)
- small puppet-lint fixes #513 (ttarczynski)
- Small fix in docs #510 (ttarczynski)
- Support redis sentinels and add master property #509 (modax)
- fix issue #497 #498 (bovy89)
- Use 127.0.0.1 instead of localhost for hosts, it could resolve to ::1 #494 (portertech)
- Updated config.pp to add base_path #490 (r0b0tAnthony)
- Install rake \< 11.0.0 for ruby \< 1.9.3 #487 (atrepca)
- add source to remote_file for urls in plugin.pp #486 (chrissav)
v2.1.0 (2016-02-29)
Closed issues:
- Error no parameter named socket in sensu_client_config #474
- Repuppet fails #469
- Could not start service - plugin file permissions #465
- redis.json removed on purge { config => true } #461
- Please put a Github Tag/Release on v2.0.0 commit #455
- should sensu:;plugin support purge for gems ? #450
- Error: Could not convert change 'socket' to string: undefined method `keys' for nil:NilClass #447
- Authentication issue when attempting to install sensu package #444
- Could not autoload puppet/type/sensu_filter: uninitialized constant PuppetX::Sensu::ToType #441
- Add option not to manage handlers dir #430
- manage_plugins_dir doesn't seem to do anything #429
- Please, push new version to forge with updated apt dependencies #413
- What version of puppet are you running? #404
- Client.json integers are saved as double quoted strings on first run #399
Merged pull requests:
- version bump: 2.1.0 #483 (jlambert121)
- add support for configuring sensu-enterprise-dashboard audit logging #482 (cwjohnston)
- add support for configuring sensu-enterprise-dashboard gitlab auth #481 (cwjohnston)
- add support for configuring sensu-enterprise-dashboard ssl listener #480 (cwjohnston)
- Feature prefetch attribute #479 (chrissav)
- Add filters and filter_defaults to init with create_resources, missing puppetdoc #478 (dmsimard)
- Add tests when using checks parameter in init #477 (dmsimard)
- Added parameter sensu::install_repo as the first condition to manage … #475 (mrodm)
- Add support for using the same source for different sensu handlers #471 (salimane)
- add defaults for create_resources() #468 (EslamElHusseiny)
- add create_resources() for mutators the same way for handlers, checks #467 (EslamElHusseiny)
- Redaction support #466 (jaxxstorm)
- support purging with enterprise version #462 (jcochard)
- fix issue #399 #458 (bovy89)
- Fixing regression bug. #457 (zbintliff)
- sensu fails to start as client_port is a string. #456 (sathlan)
- Enterprise dashboard config password #449 (agarstang)
- Updating links in README.md to point to the right branch #446 (jlk)
- Ensure "apt-get update" runs after adding apt source #445 (jlk)
- update client config to use socket hash #443 (gsalisbury)
- Add ruby-dev to be installed whilst provisioning process. #442 (zylad)
- Added subdue attribute to sensu_check type #440 (liamjbennett)
- Adding option to manage the mutators dir #439 (gsalisbury)
- Adding windows support. #438 (liamjbennett)
- update supported puppet versions #437 (jlambert121)
- add ttl to check provider #436 (gsalisbury)
- Add functionality to configure mutators #230 #435 (gsalisbury)
- Update package repository URLs #434 (portertech)
- Adding option to manage the handlers dir #431 (jaxxstorm)
- strict_variables bugfix for redhat ::osfamily #427 (smithtrevor)
- version bump: 2.0.0 #426 (jlambert121)
v2.0.0 (2015-09-24)
Closed issues:
- Setting handlers to undef for a checks does not trigger change in respective json config file. #414
- Pull request #407 breaks the show for me. #412
- Master requires apt module >= 2.0, not 1.8 #411
- How to keep the sensu-plugin gem installed ? #410
- Undefined variable "file_ensure" in sensu::handler #406
- json providers can not "unset" properties #394
- sensu-api not restarted when check definitions change #392
- issue with "Do not use 'handle' and 'handlers' together. Your 'handle' value has been overridden with 'handlers'" #391
- How to make sensu::plugins do an array merge in hiera #387
- plugins directory permissions inconsistent #385
- Invalid package provider 'sensu_gem' #383
- Create resources not doing deep merging in hiera #382
- sensu::checks failing when subscribers are specified #381
- need updates to support subdue and possibly other new config sections #380
- Error trying to apply a filter #375
- Filters throwing failed: 'undefined method `sort' for nil:NilClass' error #374
- getting Notice: Do not use 'handle' and 'handlers' together. Your 'handle' value has been overridden with 'handlers' #371
- Invalid parameter reconnect_on_error #369
- allow merging of hiera configs instead of only taking lowest in hierarchy #366
- Sensu_redis_config changes on every run #357
- Creating checks with hiera #354
- First run on a new client node fails checks which depend on plugins #353
- Client_custom overrides client_port #342
- sensu_gem provider proxy support #339
- sensu::client::config keepalives 'change' every run #336
- operatingsystemmajrelease is lsbmajdistrelease in puppet 3 #330
- Unable to purge handlers, extensions, or mutators #328
- Unable to install sensu without rubygems #322
- windows support #317
- sensu-plugin is "removed" every puppet run #298
Merged pull requests:
- allow setting of path #425 (fessyfoo)
- Add require on apt::update for puppetlabs-apt 2.x #424 (br0ch0n)
- Correcting issue #318 #423 (standaloneSA)
- allow handle and handlers together #422 (jlambert121)
- set sysconfig parameters when defined #421 (jlambert121)
- Make the sensu enterprise dashboard not show up unbidden #419 (hashbrowncipher)
- Move file_ensure out of conditional #418 (hashbrowncipher)
- update apt module dep #416 (jlambert121)
- fix redis_db type def #415 (crpeck)
- Fix Sensu Enterprise services when not using enterprise #409 (Pryz)
- Enable provider for sensu plugins #408 (rhoml)
- Added support to redis db and auto_reconnect parameters #407 (bovy89)
- Set fqdn for sensu client name #402 (mdevreugd)
- Add
purge
parameter to control all purging, deprecate `purge_config… #401 (nhinds) - [WIP] Sensu Enterprise & Enterprise Dashboard support #400 (dhgwilliam)
- add *.swp (vim buffer files) to .gitignore #398 (jhoblitt)
- remove world readable permissions from redis.json #397 (jhoblitt)
- convert sensu_client_subscription Puppet::notice -> Puppet::debug #395 (jhoblitt)
- remove world readable permissions from \<handler>.json #393 (jhoblitt)
- added subdue to sensu_handler type to handle properly subdue option #390 (bovy89)
- fixed 385, add owner group sensu:sensu to plugins dir and plugins files #386 (hurrycaine)
- change default for filters param of sensu::handler (fix #374) #379 (somic)
- Relax the apt module version restriction #378 (johnf)
- fix source param in sensu_check #377 (kam1kaze)
- fix subscribers parameter in sensu_check #376 (kam1kaze)
- fix filters docstring in sensu::handler #370 (somic)
- Added support for JIT clients #368 (rk295)
- update travis, gems, lint #364 (jlambert121)
- update yum repo location #363 (jlambert121)
- ensure plugins installed before client service started #362 (jlambert121)
- Updating APT source to use new apt module version #361 (bleuchtang)
- allow modification of hasrestart attribute for services #359 (somic)
- Filter attributes are a property, not a param #358 (bashtoni)
- Hiera Lookups #352 (bleuchtang)
- fixed spelling error in parameters descriptions #350 (paulpet)
- Fix problem introduced in #346 and simplification of create #349 (cataphract)
- Boolean properties and misc #346 (cataphract)
- Boolean checking/converting on sensu_redis_config #345 (superseb)
- Add install_options for (sensu-)gem provider(s) #344 (bjwschaap)
- Add port to check_args so it doesn't gets cleared by custom property #343 (superseb)
v1.5.5 (2015-04-10)
Closed issues:
- reconnect_on_error: reconnect_on_error changed 'true' to 'true' #338
- Unable to configure client port #335
- New configuration: gem uninstall sensu-plugin is failing in 1.5.0 #318
- Invalid parameter provider on Package[sensu-plugin] #308
- no support for redis_password #305
- The sensu purge_config option now removes rpm deployed plugins #304
- Cannot install gems to develop sensu-puppet #301
- Can't remove JSON keys by (un)setting class parameters #300
- sensu custom json reordered on each run #271
- Support defining extensions #157
Merged pull requests:
- Make client port configurable, issue #335 #341 (superseb)
- Apply same boolean checking/converting on sensu_rabbitmq_config as in sensu_client_config, fixes #338 #340 (superseb)
- adding ability to store rabbitmq cert/keys in hiera/vars instead of just... #337 (dkiser)
- Fix issue with array checking when no array present. #334 (jonathanio)
- Add support for :reconnect_on_error. #333 (jonathanio)
- Fix #318: Introducing custom uninstall in sensu_gem #332 (queeno)
- Allow configuration of the init MAX_TIMEOUT #331 (whpearson)
- Restrict access to the client config file to protect client tokens #329 (jinnko)
- catch blacksmith load issues #327 (jlambert121)
- Fix type typo #326 (bbanzai)
- to_type convert :undef into string #323 (keymone)
- add option to purge plugins directory #321 (yyejun)
- Fix redis noauth #316 (bashtoni)
- remove metadata-json-lint limitation #315 (jlambert121)
- Make sure filters dir exists before creating any #314 (bashtoni)
- Keepalived config not merged since you are specifying the json in the puppet hash variable #313 (victorgp)
- Fix dependency chain when deploy plugins directory #312 (bashtoni)
- typo fixed #311 (confiq)
- ensure erlang is installed for acceptance tests #310 (jlambert121)
- Revert "Add parameter to allow purging plugins, handlers, extensions and... #307 (jlambert121)
- Added Redis password support #306 (jamtur01)
- Sort array properties before comparison #303 (dpeters)
- Add parameter to allow purging plugins, handlers, extensions and mutators #302 (nhinds)
- Plugin version #299 (jlambert121)
v1.5.0 (2015-01-16)
Merged pull requests:
- Added support for loading and configuring extensions. #297 (jonathanio)
v1.4.0 (2015-01-13)
Closed issues:
- lint validation #282
- box file is 404 in Vagrant cloud #281
- Defining checks via hiera #279
- Missing release 1.3.1 from git? #275
- New version of amqp deployed today 1.5.0, breaks client mq connection #266
- Check defined on server (subscription check) results in changes on every run #265
- Invalid parameter ssl_transport on Sensu_rabbitmq_config #263
- Document what prerequisites are required #262
Merged pull requests:
Dependencies
- lwf/remote_file (>= 1.0.0 <2.0.0)
- puppetlabs/stdlib (>=4.25.0 <7.0.0)
Copyright (c) 2013 James Turnbull, Jeremy Carroll, Justin Lambert, Tim Sharpe Copyright (C) 2017-2020 Garrett Honeycutt <code@garretthoneycutt.com> 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.