Version information
This version is compatible with:
- Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=4.0.0 < 6.0.0
- , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'mvasilenko-sensu', '2.54.0'
Learn more about managing modules with a PuppetfileDocumentation
Sensu-Puppet
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 4 and 5
using the ruby that is packaged with the AIO (all-in-one installer). See
.travis.yml
for an exact matrix.
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
Versions prior to 1.0.0 are incompatible with previous versions of the Sensu-Puppet module.
Installation
puppet module install sensu/sensu
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.
Note: While this module works with other versions of puppetlabs/apt, we
test against and support what is listed in the .fixtures.yml
file.
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.56.10:4567/info
Navigate to 192.168.56.10:3000
to use the uchiwa dashboard
username: uchiwa
password: uchiwa
Navigate to 192.168.56.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 { 'sensu':
rabbitmq_password => 'correct-horse-battery-staple',
server => true,
api => true,
plugins => [
'puppet:///data/sensu/plugins/ntp.rb',
'puppet:///data/sensu/plugins/postfix.rb'
]
}
sensu::handler { 'default':
command => 'mail -s \'sensu alert\' ops@foo.com',
}
sensu::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'
}
sensu::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 { '::sensu':
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',
}
sensu::contact { 'support':
ensure => 'present',
config => {
'email' => {
'to' => 'support@example.com',
'from' => 'sensu.noreply@example.com',
},
'slack' => {
'channel' => '#support',
},
},
}
sensu::contact { 'ops':
ensure => 'present',
config => { 'email' => { 'to' => 'ops@example.com' } },
}
# A second check to use the built-in email handler and contact.
sensu::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 { 'sensu':
rabbitmq_password => 'correct-horse-battery-staple',
rabbitmq_host => 'sensu-server.foo.com',
subscriptions => 'sensu-test',
}
}
Facts
sensu_version
The sensu_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 sensu_version
0.23.3
Advanced example using Hiera
This example includes the sensu
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
sensu::install_repo: false
sensu::purge:
config: true
sensu::rabbitmq_host: 10.31.0.90
sensu::rabbitmq_password: password
sensu::rabbitmq_port: 5672
sensu-server.foo.com.yaml
sensu::server: true
nosensu.foo.com.yaml
sensu::client: false
site.pp
node default {
class { 'sensu': }
...
}
sensu-client.foo.com.yaml
---
sensu::subscriptions:
- all
sensu::server: false
sensu::extensions:
'system':
source: 'puppet:///modules/supervision/system_profile.rb'
sensu::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'
sensu::handler_defaults:
type: 'pipe'
sensu::checks:
'file_test':
command: '/usr/local/bin/check_file_test.sh'
'chef_client':
command: 'check-chef-client.rb'
sensu::filters:
'recurrences-30':
attributes:
occurrences: "eval: value == 1 || value % 30 == 0"
sensu::filter_defaults:
negate: true
when:
days:
all:
- begin: 5:00 PM
end: 8:00 AM
sensu::check_defaults:
handlers: 'mail'
sensu::mutators:
'tag':
command: '/etc/sensu/mutators/tag.rb'
'graphite':
command: '/etc/sensu/plugins/graphite.rb'
classes:
- sensu
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 { 'sensu':
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,
}
# ...
sensu::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 { 'sensu':
plugins => 'puppet:///data/sensu/plugins/ntp.rb',
# ...
}
}
Specifying the plugins as hash, you can pass all parameters supported by the sensu::plugin define:
node 'sensu-server.foo.com' {
class { 'sensu':
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 { 'sensu':
rabbitmq_password => 'correct-horse-battery-staple',
rabbitmq_host => 'sensu-server.foo.com',
subscriptions => 'sensu-test',
safe_mode => true,
}
sensu::check { 'diskspace':
command => '/etc/sensu/plugins/system/check-disk.rb',
}
}
Using custom variables in check definitions
sensu::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'.
sensu::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 sensu::write_json
defined resource type to write custom
json config files:
$contact_data = {
'support' => {
'pagerduty' => {
'service_key' => 'r3FPuDvNOTEDyQYCc7trBkymIFcy2NkE',
},
'slack' => {
'channel' => '#support',
'username' => 'sensu',
}
}
}
sensu::write_json { '/etc/sensu/conf.d/contacts.json':
content => $contact_data,
}
Handler configuration
sensu::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
sensu::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:
sensu::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:
sensu::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:
sensu::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 {
sensu::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 {
sensu::subscription { 'apache': }
}
You can also define custom variables as part of the subscription:
ntp/manifests/monitoring/ntp.pp
class ntp::monitoring::sensu {
sensu::subscription { 'ntp':
custom => {
ntp {
server => $ntp::servers[0],
},
},
}
}
And then use that variable on your Sensu server:
sensu::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 sensu_gem
package provider:
package { 'redphone':
ensure => 'installed',
provider => sensu_gem,
}
Sensitive String Redaction
Redaction of passwords is supported by this module. To enable it, pass a value to sensu::redact
and set some password values with sensu::client_custom
class { 'sensu':
redact => 'password',
client_custom => {
github => {
password => 'correct-horse-battery-staple',
},
},
}
Or with hiera:
sensu::redact:
- :password"
sensu::client_custom:
- sensu::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:
sensu::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 { '::sensu':
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
sensu::enterprise::dashboard::api
defined type. This defined type is a
wrapper around the sensu_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.
sensu::enterprise::dashboard::api { 'sensu.example.net':
datacenter => 'example-dc',
}
sensu::enterprise::dashboard::api { 'sensu.example.org':
datacenter => 'example-dc',
}
Unmanaged API endpoints may be purged using the resources resource. For example:
resources { 'sensu_enterprise_dashboard_api_config':
purge => true,
}
This will ensure /etc/sensu/dashboard.json
contains only
sensu::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
sensu
: Base Sensu classsensu::api
: = Class: sensu::api Manages the Sensu api == Parameters [hasrestart] Boolean. Value of hasrestart attribute for this service. Defaulsensu::client
: Manages the Sensu client servicesensu::enterprise
: Installs the Sensu packagessensu::enterprise::dashboard
: Installs the Sensu Enterprise Dashboardsensu::package
: Installs Sensu packagessensu::rabbitmq::config
: Sets the Sensu rabbitmq configsensu::redis::config
: Sets the Sensu redis configsensu::repo::apt
: Adds the Sensu repo to Aptsensu::repo::yum
: Adds the Sensu YUM repo supportsensu::server::service
: Manages the Sensu server servicesensu::transport
: Configures Sensu transport
Defined types
sensu::check
: Creates Sensu checkssensu::config
: Defines Sensu check configurationssensu::contact
: Manages contact routingsensu::enterprise::dashboard::api
: Manages the Sensu Enterprise API configurationsensu::extension
: Defines Sensu extensionssensu::filter
: Manages Sensu filterssensu::handler
: sensu::handlersensu::mutator
: Manages sensu mutatorssensu::plugin
: Installs Sensu pluginssensu::plugins_dir
: Verifies if install_dir exists without duplicate declarationssensu::subscription
: Manages Sensu subscriptionssensu::write_json
: Writes arbitrary hash data to a config file.
Resource types
sensu_api_config
: Manages Sensu API configsensu_check
: Manages Sensu checkssensu_check_config
: ""sensu_client_config
: Manages Sensu client configsensu_client_subscription
: Manages Sensu client subscriptionssensu_contact
: Manages Sensu contactssensu_enterprise_dashboard_api_config
: Manages Sensu Enterprise Dashboard API configsensu_enterprise_dashboard_config
: Manages Sensu Enterprise Dashboard configsensu_extension
: Manages Sensu extensionssensu_filter
: Manages Sensu filterssensu_handler
: Manages Sensu handlerssensu_mutator
: Manages Sensu mutatorssensu_rabbitmq_config
: Manages Sensu RabbitMQ configsensu_redis_config
: Manages Sensu Redis config
Functions
sensu_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
sensu
This is the main Sensu class
Parameters
The following parameters are available in the sensu
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 sensu::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
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.
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]
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 sensu_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
path
Data type: Variant[Stdlib::Absolutepath,Pattern[/^\$PATH$/]]
Used to set PATH in /etc/default/sensu
Default value: '$PATH'
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(sensu::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(sensu::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(sensu::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
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://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://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'
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://repositories.sensuapp.org/msi'
extensions
Data type: Hash
Default value: {}
mutators
Data type: Hash
Default value: {}
sensu::api
= Class: sensu::api
Manages the Sensu api
== Parameters
[hasrestart] Boolean. Value of hasrestart attribute for this service. Default: true
Parameters
The following parameters are available in the sensu::api
class.
hasrestart
Data type: Boolean
Default value: $::sensu::hasrestart
sensu::client
Manages the Sensu client service
Parameters
The following parameters are available in the sensu::client
class.
hasrestart
Data type: Boolean
Value of hasrestart attribute for this service.
Default value: $::sensu::hasrestart
log_level
Data type: Any
Sensu log level to be used Valid values: debug, info, warn, error, fatal
Default value: $::sensu::log_level
windows_logrotate
Data type: Any
Whether or not to use logrotate on Windows OS family.
Default value: $::sensu::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: $::sensu::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: $::sensu::windows_log_number
client_service_enable
Data type: Any
Default value: $::sensu::client_service_enable
client_service_ensure
Data type: Any
Default value: $::sensu::client_service_ensure
sensu::enterprise
Installs Sensu enterprise
Parameters
The following parameters are available in the sensu::enterprise
class.
deregister_handler
Data type: Optional[String]
The handler to use when deregistering a client on stop.
Default value: $::sensu::deregister_handler
deregister_on_stop
Data type: Optional[Boolean]
Whether the sensu client should deregister from the API on service stop
Default value: $::sensu::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: $::sensu::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: $::sensu::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: $::sensu::log_dir
log_level
Data type: Optional[String]
Sensu log level to be used Valid values: debug, info, warn, error, fatal
Default value: $::sensu::log_level
path
Data type: Optional[String]
Used to set PATH in /etc/default/sensu
Default value: $::sensu::path
rubyopt
Data type: Optional[String]
Ruby opts to be passed to the sensu services
Default value: $::sensu::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: $::sensu::use_embedded_ruby
heap_size
Data type: Variant[Undef,Integer,Pattern[/^(\d+)/]]
Value of the HEAP_SIZE environment variable.
Default value: $::sensu::heap_size
max_open_files
Data type: Variant[Undef,Integer,Pattern[/^(\d+)$/]]
Value of the MAX_OPEN_FILES environment variable.
Default value: $::sensu::max_open_files
heap_dump_path
Data type: Variant[Undef,String]
Value of the HEAP_DUMP_PATH environment variable.
Default value: $::sensu::heap_dump_path
java_opts
Data type: Variant[Undef,String]
Value of the JAVA_OPTS environment variable.
Default value: $::sensu::java_opts
hasrestart
Data type: Boolean
Default value: $::sensu::hasrestart
sensu::enterprise::dashboard
Installs the Sensu Enterprise Dashboard
Parameters
The following parameters are available in the sensu::enterprise::dashboard
class.
hasrestart
Data type: Boolean
Default value: $::sensu::hasrestart
sensu::package
Installs the Sensu packages
Parameters
The following parameters are available in the sensu::package
class.
conf_dir
Data type: Optional[String]
The default configuration directory.
Default value: $::sensu::conf_dir
confd_dir
Data type: Variant[String,Array,Undef]
Additional directories to load configuration snippets from.
Default value: $::sensu::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: $::sensu::heap_size
config_file
Data type: Variant[Stdlib::Absolutepath,Undef]
Value of the CONFIG_FILE environment variable.
Default value: $::sensu::config_file
deregister_handler
Data type: Optional[String]
The handler to use when deregistering a client on stop.
Default value: $::sensu::deregister_handler
deregister_on_stop
Data type: Optional[Boolean]
Whether the sensu client should deregister from the API on service stop
Default value: $::sensu::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: $::sensu::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: $::sensu::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: $::sensu::log_dir
log_level
Data type: Optional[String]
Sensu log level to be used Valid values: debug, info, warn, error, fatal
Default value: $::sensu::log_level
path
Data type: Optional[String]
Used to set PATH in /etc/default/sensu
Default value: $::sensu::path
rubyopt
Data type: Optional[String]
Ruby opts to be passed to the sensu services
Default value: $::sensu::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: $::sensu::use_embedded_ruby
sensu::rabbitmq::config
Sets the Sensu rabbitmq config
sensu::redis::config
Sets the Sensu redis config
sensu::repo::apt
Adds the Sensu repo to Apt
sensu::repo::yum
Adds the Sensu YUM repo support
sensu::server::service
Manages the Sensu server service
Parameters
The following parameters are available in the sensu::server::service
class.
hasrestart
Data type: Boolean
Value of hasrestart attribute for this service.
Default value: $::sensu::hasrestart
server_service_enable
Data type: Any
Default value: $::sensu::server_service_enable
server_service_ensure
Data type: Any
Default value: $::sensu::server_service_ensure
sensu::transport
Configure Sensu Transport
Defined types
sensu::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 sensu::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 sensu::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
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
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
sensu::config
This define manages Sensu check configurations.
Parameters
The following parameters are available in the sensu::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
sensu::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 sensu::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 sensu_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: {}
sensu::enterprise::dashboard::api
Manages the Sensu Enterprise API configuration
Parameters
The following parameters are available in the sensu::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 not mounted to /.
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
sensu::extension
This define manages Sensu extensions
Parameters
The following parameters are available in the sensu::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: {}
sensu::filter
Defines Sensu filters
== Parameters
Parameters
The following parameters are available in the sensu::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
sensu::handler
Defines Sensu handlers
Parameters
The following parameters are available in the sensu::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
sensu::mutator
This define manages Sense mutators
Parameters
The following parameters are available in the sensu::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'
sensu::plugin
Installs the Sensu community script and plugins which can be used as monitoring checks
Parameters
The following parameters are available in the sensu::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: sensu_gem, apt, aptitude, yum
Default value: $::sensu::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 sensu_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: $::sensu::gem_install_options
sensu::plugins_dir
This define verifies if install_dir exists without duplicate declarations
Parameters
The following parameters are available in the sensu::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
sensu::subscription
This define manages Sensu subscriptions
Parameters
The following parameters are available in the sensu::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: {}
sensu::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.
[notify_list] Array. A listing of resources to notify upon changes to the target JSON file. Default: []
Examples
sensu::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 sensu::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]]
Default value: []
Resource types
sensu_api_config
Manages Sensu API config
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_check
Manages Sensu checks
Properties
The following properties are available in the sensu_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
Parameters
The following parameters are available in the sensu_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
sensu_check_config
""
Properties
The following properties are available in the sensu_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 sensu_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
sensu_client_config
Manages Sensu client config
Properties
The following properties are available in the sensu_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
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 sensu_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/
sensu_client_subscription
Manages Sensu client subscriptions
Properties
The following properties are available in the sensu_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 sensu_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
sensu_contact
Manages Sensu contacts
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_enterprise_dashboard_api_config
Manages Sensu Enterprise Dashboard API config
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_enterprise_dashboard_config
Manages Sensu Enterprise Dashboard config
Properties
The following properties are available in the sensu_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.
Parameters
The following parameters are available in the sensu_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/
sensu_extension
Manages Sensu extensions
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_filter
Manages Sensu filters
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_handler
Manages Sensu handlers
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_mutator
Manages Sensu mutators
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_rabbitmq_config
Manages Sensu RabbitMQ config
Properties
The following properties are available in the sensu_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 sensu_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/
sensu_redis_config
Manages Sensu Redis config
Properties
The following properties are available in the sensu_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 sensu_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
sensu_sorted_json
Type: Ruby 3.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:
-------------------
-- UNSORTED HASH --
-------------------
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 --
-----------------
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"]}
------------------------
-- PRETTY SORTED JSON --
------------------------
Params: data <hash>, pretty <true|false>.
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"
]
}
sensu_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 parameter, which controls if the output is pretty formatted.
Examples:
-------------------
-- UNSORTED HASH --
-------------------
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 --
-----------------
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"]}
------------------------
-- PRETTY SORTED JSON --
------------------------
Params: data <hash>, pretty <true|false>.
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"
]
}
Returns: Any
Change Log
v2.54.0
Implemented enhancements:
- Feature Request: Ability to manage userOptions in dashboard.json #842
- Sensu Redis - Support boolean redis_tls parameter (cont #967) #969 (treydock)
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
- Unable to define handler specific config properly #647
- 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:
- add ability to specify provider for sensu-plugin package #296 (jlambert121)
- enable travis container environment #295 (jlambert121)
- update gemfile #294 (jlambert121)
- fix for future parser #292 (jlambert121)
- add puppet requirements, dependency bounds, OS support #289 (jlambert121)
- update vagrantfile #288 (jlambert121)
- enhance acceptance tests, update spec tests #287 (jlambert121)
- Revert "Flapjack support for puppet" #286 (jlambert121)
- Fixes for dependencies and subscribers properties in sensu::check. #285 (jonathanio)
- Flapjack support for puppet #284 (poolski)
- lint fixes #283 (jlambert121)
- Made handle and handlers mutually exclusive #280 (jamtur01)
- Adds puppetforge version number #278 (spuder)
- Update sensu_gem provider #277 (adamcrews)
- Vagrant #276 (spuder)
- Add sensu_gem package provider #274 (adamcrews)
- Override path of yum repo if rhel or centos 7. #272 (m7ov)
- Update tests for unsupported OSes #270 (jlambert121)
- fix rabbitmq ssl config #268 (patrick-minted)
- fix filter json #267 (patrick-minted)
- add support for insecure HTTPS in sensu::plugin #264 (dhgwilliam)
v1.3.1 (2014-10-18)
Closed issues:
- Missing dependency #260
- Update README.md to include sensu version compatibility. #258
- Custom keepalive settings result in changes on every run #257
- Could not load downloaded file /var/lib/puppet/lib/puppet/provider/sensu_client_config/json.rb: no such file to load -- rubygems #256
- Add compatibility for Sensu 0.13 #209
- use_embedded_ruby doesn't work on centos #208
- checks: removing type => metric doesn't remove it from the config json #166
- sensu::check is trying to escape double quotes passed in a part of the check command #158
- SSL & rabbitmq config..? #143
Merged pull requests:
v1.3.0 (2014-10-12)
Closed issues:
- Add "What is Sensu" to the README.md #251
Merged pull requests:
- Use the command parameter if it's defined alongside the source parameter #255 (bodgit)
- Add custom variables to subscriptions #225 (bodgit)
v1.2.1 (2014-09-28)
Closed issues:
Merged pull requests:
v1.2.0 (2014-09-23)
Closed issues:
- Use of str2bool for a value that's already a bool #245
- setting install_repo to false breaks module #233
- how to configure logstash handler? #226
- Sensu_client_config and subscriptions are always retriggered at every puppet run, leading to no-checks being run under certain circumstances #216
- Needed apt-get update after adding new apt-key #201
- Plugin directory source doesn't work #197
- Sensu client config notify on no change #187
Merged pull requests:
- Add rabbitmq_ssl parameter to enable SSL transport to RabbitMQ #249 (misterdorm)
- A (better) fix for Issue #197 #248 (zanloy)
- Fix check of $sensu::install_repo #246 (octete)
- Fixissue197 #244 (zanloy)
- Revert "Fixissue197" #242 (jamtur01)
- Fixissue197 #241 (zanloy)
- Fixing dependencies parameter on sensu_check type #240 (Phracks)
- Support for transport pipe configuration #238 (sdklein)
- Add optional pipe property to sensu_handler #237 (yeungda)
- Basic working Beaker spec for Sensu #236 (petems)
- Add warning for dashboard #235 (petems)
- Fix for issue #233: accomodating for install_repo, with specs #234 (bjwschaap)
- Fix client keepalive cycling #232 (johnf)
- Fix filter attributes #229 (johnf)
- Fix handler filter #228 (johnf)
- Add condition if sensu::install_repo is false #227 (wallies)
- Set a GEM_PATH variable in /etc/default/sensu #203 (octete)
v1.1.0 (2014-08-16)
Closed issues:
- Invalid parameter bind on Sensu_api_config #223
- Sensu service needs to start before API service #219
- Passwordless dashboard not idempotent #205
- Dependency cycle when using sensu::handler in the same catalogue as sensu server #186
- Forge package contains 'hidden' OSX files #185
- Allow configuration of "bind" parameter for API and Dashboard #182
- Add support for service management via runit #181
- sensu-api should refresh when a new check is added #180
- $releasever in yum only works on redhat #179
- sensu::check notifies the server even when not running the service #171
- After updating/creating a check, puppet will not refresh sensu-client reliably. #169
- Filter definition requires a client subscription #167
- No way to configure bind for services? #163
- Idempotence problems with sensu_dashboard_config #162
- Feature: Add support for check dependencies #161
- Subscriptions don't have a require on the sensu package #159
- crashing check.pp and api/config.pp #154
- You've released v1.0.0 of your module but not tagged the SHA1 #150
- Intermittent catalog error #148
- Service['sensu-client'] doesn't get refreshed when checks are purged #145
- Standalone checks are default true? #144
- handler hash ordering causing unneeded changes #133
Merged pull requests:
- Fix conf base path #224 (johnf)
- Added the transport option as a supported handler type for Sensu 0.13 #222 (solarkennedy)
- Deprecate dashboard #221 (johnf)
- Apt key and Repo dependency #220 (johnf)
- fixes one final bug from #200 / #217 #218 (misterdorm)
- several fixes for things that were botched on #200 #217 (misterdorm)
- Remove default username for sensu #214 (rhoml)
- Remove unused $notify in check.pp #212 (max-koehler)
- Make the rabbitmq_vhost defaults match the docs #211 (bodgit)
- sensu-plugin: Allow one to install the gem #210 (Spredzy)
- plugin: Allow to retrieve plugin from URL #207 (Spredzy)
- adding occurrences and refresh parameters to sensu_check type and sensu:... #200 (misterdorm)
- Parameters for apt GPG key ID and GPG key source #199 (yasn77)
- Add Bind Options for Client, Dashboard, and API #198 (livingeek)
- Merge #195 #196 (jlambert121)
- rename .gemfile to Gemfile #194 (jlambert121)
- restart client,server,api based on what the machine has provisioned #193 (jlambert121)
- remove duplicate require #192 (jlambert121)
- add dependencies to sensu::check #191 (jlambert121)
- notify client and/or server if enabled #190 (jlambert121)
- add puppet 3.5, 3.6 testing #189 (jlambert121)
- Documentation bug fix #188 (ves)
- Change default vhost to not include a slash and other readme fixes #184 (matjohn2)
- Use
lookupvar
to find variables insensu::
namespace #183 (hryk) - Fix warnings from ruby like this: #178 (bobtfish)
- updated native types and providers to use base_path/config when puppet i... #176 (logicminds)
- Use $url param to build apt-key url #175 (patdowney)
- Changed repo check from operatingsystem to osfamily #173 (george-b)
- Fix sensu dashboard config type conversion to always be a string #170 (solarkennedy)
- Machines which don't have internet access can't pull the repo key #165 (bobtfish)
- Add hasrestart & hasstatus to service management. #164 (rhoml)
- fix updating handler socket => host value #160 (danshultz)
- Converted timeout to numeric #156 (zdenekjanda)
- Fixed incorrect documentation in check configuration #152 (jbehrends)
- make booleans booleans and fix filters #151 (crewton)
- fix default dashboard port in type #149 (jlambert121)
- remove default parameter from readme #146 (jlambert121)
Dependencies
- lwf/remote_file (>= 1.0.0 <2.0.0)
- puppetlabs/stdlib (>=4.24.0 <5.0.0)
Copyright (c) 2013 James Turnbull, Jeremy Carroll, Justin Lambert, Tim Sharpe Copyright (C) 2017 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.