Version information
This version is compatible with:
- Puppet Enterprise >=2.7.0 <4.0.0
- Puppet >=2.7.19 <4.0.0
- , ,
Start using this module
Add this module to your Puppetfile:
mod 'sensu-sensu', '1.5.0'Learn more about managing modules with a PuppetfileDocumentation
Sensu-Puppet
Installs and manages the open source monitoring framework Sensu.
Tested with Travis CI
Documented with Puppet Strings
Sensu version supported
The module currently supports Sensu version 0.12 and later. If not explictly stated it should always support the latest Sensu release. Please log an issue if you identify any incompatibilties.
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
- puppetlabs/apt
- puppetlabs/stdlib
- maestrodev/wget
See metadata.json for details.
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 VM 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@localhost: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 client
node 'sensu-client.foo.com' {
class { 'sensu':
rabbitmq_password => 'correct-horse-battery-staple',
rabbitmq_host => 'sensu-server.foo.com',
subscriptions => 'sensu-test',
}
}
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': }
...
}
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',
}
}
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
}
}
}
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
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 provier:
package { 'redphone':
ensure => 'installed',
provider => sensu_gem,
}
Dashboards
The following puppet modules exist for managing dashboards
License
See LICENSE file.
Types in this module release
Change Log
upcoming (2015/01/16 16:33 +00:00)
- 1d5c4ce Tagged v1.5.0 (@jamtur01)
v1.5.0 (2015/01/16 13:27 +00:00)
- #297 Added support for loading and configuring extensions. (@jonathanio)
- 4790352 Added extra tests to catch JSON configuration error. (@jonathanio)
- 5b7047d Fix error with extension configuration creation. (@jonathanio)
- a96ebc8 Added support for loading and configuring extensions. (@jonathanio)
- 6f1e9ee add ability to specify name and provider for sensu-plugin package (@jlambert121)
v1.4.0 (2015/01/13 09:01 +00:00)
- #285 Fixes for dependencies and subscribers properties in sensu::check. (@jonathanio)
- 1cbafe7 Added CHANGELOG generated by https://github.com/lalitkapoor/github-changes (@jamtur01)
- #295 enable travis container environment (@jlambert121)
- 95da534 enable travis container environment (@jlambert121)
- #294 update gemfile (@jlambert121)
- f1095ae update gemfile (@jlambert121)
- 73dfb0e Fixed Spec tests. (@jonathanio)
- 9532e4b Set subscribers to under instead of empty array. (@jonathanio)
- 7485d9f Fix handling of dependencies property. (@jonathanio)
- #292 fix for future parser (@jlambert121)
- 76906ab fix for future parser (@jlambert121)
- #287 enhance acceptance tests, update spec tests (@jlambert121)
- #289 add puppet requirements, dependency bounds, OS support (@jlambert121)
- 2d1a13c add puppet requirements, dependency bounds, OS support (@jlambert121)
- #288 update vagrantfile (@jlambert121)
- 2f56554 update vagrantfile (@jlambert121)
- b865fcc enhance acceptance tests, update spec tests (@jlambert121)
- #280 Made handle and handlers mutually exclusive (@sensu)
- #272 Override path of yum repo if rhel or centos 7. (@semiletov)
- #286 Revert "Flapjack support for puppet" (@sensu)
- 362e656 Revert "Flapjack support for puppet" (@jlambert121)
- #284 Flapjack support for puppet (@pancentric)
- 4dd74e9 updating tests to point to correct port (@poolski)
- dd672d3 added flapjack spec (@poolski)
- f4e2a56 removed trailing whitespace (@poolski)
- 3ae8972 fixed path setting for exec (@poolski)
- 92c820d set download to happen if module is active (@poolski)
- d0248d4 set flapjack to notify service (@poolski)
- 0c61507 added flapjack settings to init (@poolski)
- 4122d2b added flapjack types and config generator (@poolski)
- #283 lint fixes (@jlambert121)
- 2b2dfe7 lint fixes (@jlambert121)
- a9b4089 Made handle and handlers mutually exclusive (@jamtur01)
- 28cf564 Merge branch 'master' of github.com:sensu/sensu-puppet (@jamtur01)
- #278 Adds puppetforge version number (@spuder)
- #277 Update sensu_gem provider (@adamcrews)
- d9c2dde Adds puppetforge version number (@spuder)
- cd6bfe4 Update sensu_gem provider (@adamcrews)
- #274 Add sensu_gem package provider (@adamcrews)
- #276 Vagrant (@spuder)
- 9f047c3 Deletes guest user (@spuder)
- 1ece0c0 Updates README with consistent passwords (@spuder)
- 632ddf3 Adds Vagrantfile (@spuder)
- c4cadba Merge branch 'master' of github.com:sensu/sensu-puppet (@jamtur01)
- e149257 Add sensu_gem package provider (@adamcrews)
- 743773e Add .bundle to .gitignore (@adamcrews)
- 6e4aed7 Override path of yum repo if rhel or centos 7. (@semiletov)
- #264 add support for insecure HTTPS in sensu::plugin (@dhgwilliam)
- #270 Update tests for unsupported OSes (@jlambert121)
- 905aea9 Update tests for unsported OS fail (@jlambert121)
- 14b1fd7 Changed alert to fail if OS is not supported
- #268 fix rabbitmq ssl config (@patrick-minted)
- 30bd3f2 fix rabbitmq ssl config
- #267 fix filter json (@patrick-minted)
- 0bc9763 fix filter json
- 2633b50 ruby 1.8.7 doesn't like trailing commas (@dhgwilliam)
- 6b60610 add support for insecure HTTPS in sensu::plugin (@dhgwilliam)
v1.3.1 (2014/10/18 17:07 +00:00)
- bc92577 [blacksmith] Bump version to 1.3.1 (@jamtur01)
- 256a4de Removed allowed failures (@jamtur01)
- d6f69a6 Hard-coded rest-client 1.6.8 to enable Ruby 1.8.7 support (@jamtur01)
- 97c7be3 Hard-coded rest-client 1.7.0 to enable Ruby 1.8.7 support (@jamtur01)
- a6a33ca Added back Ruby 1.8.7 (@jamtur01)
- 88d47c9 Added Sensu version note (@jamtur01)
- 7b98a2c Removing Ruby 1.8.7 (@jamtur01)
- 8949703 Merge branch 'master' of github.com:sensu/sensu-puppet (@jamtur01)
- a997f4c Added Puppet Blacksmith (@jamtur01)
- 163dbf3 Fixed should to expect RSpec deprecations (@jamtur01)
- #261 Corrects dependency problems in read me (@spuder)
- 797bfd9 Corrects dependency problems in read me (@spuder)
- f8a3f57 Added doc/** to .gitignore to fix https://tickets.puppetlabs.com/browse/PUP-3444 (@jamtur01)
- 7e4e02e Added ignore file (@jamtur01)
v1.3.0 (2014/10/12 00:39 +00:00)
- 120bb70 Updated to 1.3.0 (@jamtur01)
- 30ddb26 Add the keepalive attribute to the client (@johnf)
- 37b40b9 Updated .gitignore (@jamtur01)
- cc86359 Update README.md (@jamtur01)
- 38929a6 Added strings documentation (@jamtur01)
- 4c40e85 Added strings documentation (@jamtur01)
- #225 Add custom variables to subscriptions (@bodgit)
- #255 Use the command parameter if it's defined alongside the source parameter (@bodgit)
- 1175299 Use the command parameter when defined with source (@bodgit)
v1.2.1 (2014/09/28 05:57 +00:00)
- 1e961b9 Updated to v1.2.1 (@jamtur01)
- #254 plugin: Rewrite the logic of define_plugins_dir (@Mylezeem)
- 1a9056b plugin: Rewrite the logic of define_plugins_dir (@Spredzy)
- #253 Ignore .vagrant/ (@petems)
- 882e731 Ignore .vagrant/ (@petems)
- ad320c4 Removed deprecated Modulefile (@jamtur01)
v1.2.0 (2014/09/23 16:34 +00:00)
- f85f6ce Updated to v1.2.0 (@jamtur01)
- #249 Add rabbitmq_ssl parameter to enable SSL transport to RabbitMQ (@misterdorm)
- #248 A (better) fix for Issue #197 (@zanloy)
- 6e6c40a rspec typo (@misterdorm)
- f2afbfa rspec tests for rabbitmq_ssl parameter (@misterdorm)
- 30dab84 Add rabbitmq_ssl parameter to enable SSL transport to RabbitMQ (@misterdorm)
- 568fde8 fixed rspec tests to reflect the change (@zanloy)
- 1d7c8d6 fixed typo (@zanloy)
- 5193870 added manage_plugins_dir (@zanloy)
- 2f23569 attempt to curb duplicate declarations of sensu_plugin_dir (@zanloy)
- #246 Fix check of $sensu::install_repo (@octete)
- 26d8d4d Fix check of $sensu::install_repo (@octete)
- #244 Fixissue197 (@zanloy)
- a0e9363 changes to fix issue #197 (again) (@zanloy)
- 943de9f fixed rspec tests to validate against fix for issue #197 (@zanloy)
- 50df08f Added Puppet 3.7.0 (@jamtur01)
- #242 Revert "Fixissue197" (@sensu)
- 0cb0f31 Revert "Fixissue197" (@jamtur01)
- #241 Fixissue197 (@zanloy)
- f342504 removed str2bool because it should not be necessary and broke if defined by default value as bool:true (@zanloy)
- 436bffc updated plugin.pp to fix issue #197 (@zanloy)
- #203 Set a GEM_PATH variable in /etc/default/sensu (@octete)
- #237 Add optional pipe property to sensu_handler (@yeungda)
- ef147bd Add validation and spec for pipe transport (@yeungda)
- #240 Fixing dependencies parameter on sensu_check type (@Phracks)
- ba0ea07 Fixing dependencies parameter on sensu_check type (@Phracks)
- #238 Support for transport pipe configuration (@aquto)
- 5193dbd Support for transport pipe configuration (@sdklein)
- #227 Add condition if sensu::install_repo is false (@Capgemini)
- #232 Fix client keepalive cycling (@johnf)
- #234 Fix for issue #233: accomodating for install_repo, with specs (@bjwschaap)
- #235 Add warning for dashboard (@petems)
- #236 Basic working Beaker spec for Sensu (@petems)
- be54125 Basic working Beaker spec for Sensu (@petems)
- 2df541e Add the dashboard parameter back (@petems)
- b0285ae Spec catching Puppet error on Dashboard parameter (@petems)
- 9c9f481 Fix for issue #233: accomodating for install_repo, with specs
- d01c151 Fix client keepalive cycling (@johnf)
- #229 Fix filter attributes (@johnf)
- 981c934 Fix filter attributes (@johnf)
- cc7bef9 Fix handler filter (@johnf)
- 83d5c38 Add directories to be owned by sensu (@wallies)
- fc673d7 Syntax error at if statement (@wallies)
- a165840 Syntax error at if statement (@wallies)
- 96afbb1 Syntax error at if statement (@wallies)
- 99bbadb Add condition if install repo is false (@wallies)
- 5cfc68f Add a subscription example to the README (@bodgit)
- 8d71bf5 Add custom parameter to subscriptions (@bodgit)
v1.1.0 (2014/08/16 14:17 +00:00)
- ff37f7b Added metadata.json file (@jamtur01)
- 9afeb1d Updated to v1.1.0 (@jamtur01)
- #222 Added the transport option as a supported handler type for Sensu 0.13 (@solarkennedy)
- #224 Fix conf base path (@johnf)
- bcc5559 remove un-needed initalizers (@johnf)
- 408e967 Fix sensu_handler and others from recreating each run (@johnf)
- c42da95 Added the transport option as a supported handler type for Sensu 0.13 (@solarkennedy)
- #220 Apt key and Repo dependency (@johnf)
- 2a5ec94 Fix tests for apt source changes (@johnf)
- #221 Deprecate dashboard (@johnf)
- 3a4bc01 Require repo when installing package (@johnf)
- 23741ed Remove dashboard management (@johnf)
- eaab2ce Ignore Gemfile.lock (@johnf)
- 1ff30be Move key managament into apt::source to fix dep issues (@johnf)
- #218 fixes one final bug from #200 / #217 (@misterdorm)
- 031d4b3 fixes one final bug from #200 / #217 (@misterdorm)
- #207 plugin: Allow to retrieve plugin from URL (@Mylezeem)
- #212 Remove unused $notify in check.pp (@wywygmbh)
- #214 Remove default username for sensu (@rhoml)
- #217 several fixes for things that were botched on #200 (@misterdorm)
- 0830a6f several fixes for things that were botched on #200 (@misterdorm)
- e317b62 Remove default username for sensu (@rhoml)
- #200 adding occurrences and refresh parameters to sensu_check type and sensu:... (@misterdorm)
- #210 sensu-plugin: Allow one to install the gem (@Mylezeem)
- #211 Make the rabbitmq_vhost defaults match the docs (@bodgit)
- c1287ea Make the rabbitmq_vhost defaults match the docs (@bodgit)
- 0c792d2 sensu-plugin: Allow one to install the gem (@Spredzy)
- d9765e6 plugin: Allow to retrieve plugin from URL (@Spredzy)
- #199 Parameters for apt GPG key ID and GPG key source (@yasn77)
- 67ecc21 Remove unused $notify in check.pp (@max-koehler)
- 9a72ce9 Set a GEM_PATH in /etc/default/sensu (@octete)
- 5711908 adding occurrences and refresh parameters to sensu_check type and sensu::check class (@misterdorm)
- 81021cc Simplify sensu::repo::apt (@yasn77)
- 4fbc1dc Parameters for apt GPG key ID and GPG key source (@yasn77)
- #198 Add Bind Options for Client, Dashboard, and API (@ThomDuran)
- 66e2b5f Add bind option to dashboard
- 52de326 Add bind option for client
- 073edff Add api bind param
- #191 add dependencies to sensu::check (@jlambert121)
- #192 remove duplicate require (@jlambert121)
- #196 Merge #195 (@jlambert121)
- 696e17c Merge branch 'george-b-releasever_fix' (@jlambert121)
- 15399c1 resolve merge conflict (@jlambert121)
- 2b5e3ff Allow repo URL to work on non RedHat systems
- #194 rename .gemfile to Gemfile (@jlambert121)
- #193 restart client,server,api based on what the machine has provisioned (@jlambert121)
- ea46a79 rename .gemfile to Gemfile (@jlambert121)
- a296283 restart client,server,api based on what the machine has provisioned (@jlambert121)
- e5e9b05 remove duplicate require (@jlambert121)
- fa527b5 add dependencies to sensu::check (@jlambert121)
- #190 notify client and/or server if enabled (@jlambert121)
- #189 add puppet 3.5, 3.6 testing (@jlambert121)
- 9579445 add ruby 2.1 checks (@jlambert121)
- 62d7c94 notify client and/or server if enabled (@jlambert121)
- 49bc4ad add puppet 3.5, 3.6 testing (@jlambert121)
- #183 Use
lookupvarto find variables insensu::namespace (@hryk) - #184 Change default vhost to not include a slash and other readme fixes (@matjohn2)
- #165 Machines which don't have internet access can't pull the repo key (@notanisp)
- #188 Documentation bug fix (@ves)
- bb242bd Update README.md (@ves)
- #176 updated native types and providers to use base_path/config when puppet i... (@logicminds)
- b566b13 Test fix (@bobtfish)
- 8f5f78d Machines which don't have internet access can't pull the repo key (@bobtfish)
- 4d00cc8 default vhost of /sensu isnt accepted by rabbitmq (vhosts shouldnt have / in the name) default of 'sensu' works better (@matjohn2)
- 182fb06 Booleans fail if wrapped in quotes, puppet identifies as strings (@matjohn2)
- 857335a Use
lookupvarto find variables in sensu:: namespace - #178 Fix warnings from ruby like this: (@notanisp)
- eea12fb Fix warnings from ruby like this: (@bobtfish)
- 702c75b updated native types and providers to use base_path/config when puppet is run under nonroot user (@logicminds)
- #175 Use $url param to build apt-key url (@patdowney)
- #173 Changed repo check from operatingsystem to osfamily (@george-b)
- #170 Fix sensu dashboard config type conversion to always be a string (@solarkennedy)
- 308c218 Use $url param to build apt-key url (@patdowney)
- 025a085 Fixed tests for repos using osfamily
- d9567ac Changed repo check from operatingsystem to osfamily
- 49a1963 Fix sensu dashboard config type conversion to always be a string (@solarkennedy)
- #164 Add hasrestart & hasstatus to service management. (@rhoml)
- 85a9820 Removes trailing commas cause ruby 1.8.7 (@rhoml)
- 2cc3126 Fix variables syntax (@rhoml)
- ecefc8a Removes hasstatus (@rhoml)
- 2557e48 Add hasrestart & hasstatus to service management. (@rhoml)
- #160 fix updating handler socket => host value (@danshultz)
- 161c8eb fix updating handler socket => host value (@danshultz)
- #156 Converted timeout to numeric (@cloudevelops)
- 32f4d3b Converted timeout to numeric (@zdenekjanda)
- #152 Fixed incorrect documentation in check configuration (@behrendsj)
- 5d1477f Fixed incorrect documentation (@behrendsj)
- #151 make booleans booleans and fix filters (@crewton)
- e7e3c7a fix filter support in the sensu_handler provider (@crewton)
- 396e7fe make sure booleans are booleans and fix filter dependency (@crewton)
- #149 fix default dashboard port in type (@jlambert121)
- ccc630b fix default dashboard port in type (@jlambert121)
- #146 remove default parameter from readme (@jlambert121)
v1.0.0 (2014/01/31 12:31 +00:00)
- #147 update rabbitmq default port (@jlambert121)
- a9edd94 update rabbitmq default port (@jlambert121)
- a092ad5 remove default parameter from readme (@jlambert121)
- #140 Minor docs fixes and increment Modulefile (@jamtur01)
- #142 Support for timeout,aggregate,handle and publish parameters to sensu_check (@cloudevelops)
- 09a0500 Added direct support for timeout,aggregate,handle and publish parameters to sensu_check (@zdenekjanda)
- e6bebaa Minor docs fixes and increment Modulefile (@jamtur01)
- #139 add documentation for dashboard and api parameters (@jlambert121)
- 295b395 add documentation for dashboard and api parameters (@jlambert121)
- #138 types and provider parent load paths fixed (@jlambert121)
- 6767036 types and provider parent load paths fixed (@jlambert121)
- #137 increase parent path (@jlambert121)
- f2f5c60 increase parent path (@jlambert121)
- #136 Fix puppet lib loading issues (@cloudevelops)
- 231196f Fix pull request #127, possible lib loading issues (@zdenekjanda)
- 64b37e9 Merge https://github.com/sensu/sensu-puppet (@zdenekjanda)
- 01bdf53 Fixed typo in spec (@zdenekjanda)
- #127 add filters (@jlambert121)
- a1ea546 Fix puppet lib loading issues (@zdenekjanda)
- #135 Exclude brackets from the name as this makes sensu barf (@bobtfish)
- 79847c3 Exclude brackets from the name as this makes sensu barf (@bobtfish)
- #119 Added API parameters for user and password (@solarkennedy)
- #134 Allow sensu user to be created by other means (@wleese)
- 6ebf863 add spec tests for manage_user (@wleese)
- #132 documents sensu handler config how to (@jaimegago)
- e5b7d6e Allowing sensu user to be created by other means (@wleese)
- dc87d10 documents sensu handler config how to (@jaimegago)
- e5a619e Added API authentication parameters (@solarkennedy)
- #130 remove str2bool, add repo_source (@jlambert121)
- 0a6d58f relax some array checking, handled in the provider (@jlambert121)
- 73bb5a5 replace any2array with validate_array (@jlambert121)
- 14c8234 remove str2bool, add repo_source (@jlambert121)
- #129 fix trailing comma for 1.8.7 (@jlambert121)
- 1ace4e8 fix trailing comma for 1.8.7 (@jlambert121)
- #128 make travis happy with ruby 1.8.7 (@jlambert121)
- dfd947c make travis happy with ruby 1.8.7 (@jlambert121)
- f0bba4d add filters (@jlambert121)
- #126 module rewrite (@jlambert121)
- 95ef05e module rewrite (@jlambert121)
- #125 Add support to set loglevel (@wleese)
- 4385207 Add support to set loglevel (@wleese)
- #122 Exclude brackets from check names as this makes sensu barf (@bobtfish)
- 54d5223 Moved Gemfile source to HTTPS (@jamtur01)
- #121 Make integers come out in JSON as integers. (@bobtfish)
- d85c270 Exclude brackets from the name as this makes sensu barf (@bobtfish)
- 4f736d3 Make integers come out in client config JSON as integers. (@bobtfish)
- #117 add puppet 3.4, remove puppet 3.0 testing (@jlambert121)
- 35d6695 add gemfile to exclude profile (@jlambert121)
- c78aa33 update test for empty array (@jlambert121)
- b00ed2d add puppet 3.4, remove puppet 3.0 testing (@jlambert121)
- #110 fix rerun of socket port (@antonlindstrom)
- fcee953 Incremented to v0.7.7 (@jamtur01)
- #111 update puppet versions, add ruby 2.0, remove ruby-head (@jlambert121)
- fde2724 Changed module name (@jamtur01)
v0.7.6 (2013/12/01 05:14 +00:00)
- fead8fc Incremented to v0.7.6 (@jamtur01)
- #82 allow you to disable dashboard authentication (@chaoranxie)
- #109 Allow setting RUBYOPT (@doismellburning)
- #113 Added sensu::manage_services to optionally disable internal service management. (@vmadman)
- b794ecb Added 'undef' handling of $sensu::manage_services (@vmadman)
- d077dca Added sensu::manage_services to optionally disable internal service management. (@vmadman)
- 42cdc8f update travis/rake config again (@jlambert121)
- b2b442e update puppet versions, add ruby 2.0, remove ruby-head (@jlambert121)
- 05ba145 fix rerun of socket port (@antonlindstrom)
- #108 if udp handler socket defined -> to_i (@jlambert121)
- 951f172 Allow setting RUBYOPT (@doismellburning)
- 1f966ad fix has_key? (@jlambert121)
- #107 set version on dependencies in Modulefile (@antonlindstrom)
- b04920a if udp handler socket defined -> to_i (@jlambert121)
- 627590d set version on dependencies in Modulefile (@antonlindstrom)
- #106 Several fixes (@LarsFronius)
- #104 fix for issue 102 (@jlambert121)
- 2b09855 Revert "Construct correct yum repo URL with facts" (@jamtur01)
- 41925b7 Don't set empty arrays for subscribers/handlers (@LarsFronius)
- 61088be Construct correct yum repo URL with facts
- ca08502 fix for issue 102 (@jlambert121)
- c851fd8 Revert "Construct correct yum repo URL with facts" (@jamtur01)
- #103 Construct correct yum repo URL with facts (@gregmason)
- 52ad15e Construct correct yum repo URL with facts
- e23f245 no more run into /etc/sensu does not exist errors (@LarsFronius)
- 66c98fb no whitespace in check_names they said (@LarsFronius)
- #100 Fixed RedHat support. We are running Red Hat Enterprise Linux Server rel... (@sensu)
- b2bf4d4 Fixed RedHat support. We are running Red Hat Enterprise Linux Server release 6.1 (Santiago). Checking on facter with "facter operatingsystem" returned "RedHat". (@twissmueller)
- #99 convert custom params to appropriate types (@aquto)
- 7fd5e54 prevent provider from making changes every puppet run (@j-russell)
- 144ec63 prevent puppet from repeatedly making changes every run (@j-russell)
- f022734 convert custom params to appropriate types (@j-russell)
- #96 conf.d should be a directory not a file (@stephenrjohnson)
- 554c353 this should be a directory not a file (@stephenrjohnson)
- #94 updated purge_configs and file perms (@jlambert121)
- #95 proper scoping for template var (@jlambert121)
- d44b8f3 proper scoping for template var (@jlambert121)
- c152dc5 locked down files with sensitive info (@jlambert121)
- 36ab3ab ensure sensu user is present (@jlambert121)
- 496fe87 updated purge_configs and file perms (@jlambert121)
- #93 Purge /etc/sensu/conf.d/{checks,handlers} as well (@philandstuff)
- 36cd53f Purge /etc/sensu/conf.d/{checks,handlers} as well (@philandstuff)
- #91 Documentation fix: refresh values (@bashtoni)
- b3f75a7 Fix documentation showing adding refresh value to a check (@bashtoni)
v0.7.5 (2013/06/20 16:37 +00:00)
- 515a304 Updated to v0.7.5 (@jamtur01)
- #90 Add custom client attributes (@Mayflower)
- 41982e8 refactor custom option handling in sensu_check type/provider (@fpletz)
- 640b756 add spec tests for sensu_client_config custom options (@fpletz)
- a5804fe add custom options for sensu_client_config type/provider (@fpletz)
- #89 Don't skips tests for service_server and service_client (@pburkholder)
- 368f103 Don't skips tests for service_server and service_client
- #86 default check standalone value is true (@jlambert121)
- 61b53fe default check standalone value is true (@jlambert121)
- #85 Check arg (@bogue1979)
- 5087869 Merge branch 'm' of github.com:bogue1979/sensu-puppet into check_arg
- 1efc321 type check for cutom check variables
- 83c9cf3 added custom variables for sensu_check
- #84 Prevent re-running sensu::check every puppet run (@aquto)
- c7d1d5e Prevent re-running sensu::check every puppet run (@sdklein)
- 21be702 allow you to disable dashboard authentication (@chaoranxie)
- f28e9bc type check for cutom check variables
- 2c262ef added custom variables for sensu_check
- #77 Remove deprecation warning (@jlambert121)
- #78 Prevent executing sensu::check resource every puppet run (@hubspotdevops)
- 96860c1 Prevent re-running sensu::check every puppet run
- 69985fa Merge branch 'master' into deprication_warning (@jlambert121)
- 13b90cc test puppet version to remove deprication warning on puppet >= 3.0.1 (@jlambert121)
- #76 Expose the occurrences check parameter (@bashtoni)
- d21dc5e Expose the occurences check parameter (@bashtoni)
- #74 ensure safe_mode param is a boolean (@jlambert121)
- #73 Containment (@jlambert121)
- 5064b87 ensure safe_mode param is a boolean (@jlambert121)
- 7eb235f add stdlib dependency (@jlambert121)
- 5a9e5bc Merge branch 'master' into containment (@jlambert121)
- 602582e update with anchor pattern for containment (@jlambert121)
- #72 Notifu notification (@bogue1979)
- 55bfb78 Merge branch 'notifu_notification' of github.com:bogue1979/sensu-puppet into notifu_notification
- e57e47e added sla for notifu
- #71 Add safe_mode for checks (@bashtoni)
- 381e45a Enforce safe_mode value as boolean (@bashtoni)
- 823081c Add safe_mode example to README (@bashtoni)
- 19afaa3 Fix heading hierarchy in README (@bashtoni)
- 4ba05ae Add basic tests for safe_mode (@bashtoni)
- b9f33d3 Add support for safe_mode (@bashtoni)
- #69 Added template support for /etc/default/sensu (@aquto)
- fc38664 Added template support for /etc/default/sensu (@sdklein)
- #67 Change yumrepo attribute 'name' to 'descr' to suppress yum warning (@hubspotdevops)
- 78e828f Add 'name' attribute
- #68 Fixed minor error in README.md (@wywygmbh)
- 0dddb76 Fixed syntax error in example for subscription (@max-koehler)
- 72c8207 Change yumrepo 'name' to 'descr'
- #66 update pending checks to validate errors (@jlambert121)
- 9f97114 update pending checks to validate errors (@jlambert121)
- #65 Integers in checks (@jlambert121)
- a66377d force integers on check params (@jlambert121)
- 381438d remove trailing whitespace in spec (@jlambert121)
- 5c7e89c add handler config back (@jlambert121)
- #63 Sensu check modifications. (@phobos182)
- 9935888 Added additional checks for existance testing
- ed99cb7 updated to add check configuration
- #60 Realname (@jamtur01)
- a815060 Repeat of check stuff with handler stuff (@jamtur01)
- c7e598a Made a bunch of changes to sensu::checks (@jamtur01)
- #56 allow installing plugins via package, dir sync, or file (@jlambert121)
- #57 Add a notify between server and client when both are running (@garethr)
- 9c11718 Add a notify between server and client when both are running (@garethr)
- 5e14f90 remove trailing whitespace (@jlambert121)
- 468c21d allow installing plugins via package, dir sync, or file (@jlambert121)
- #55 Made some minor docs updates (@jamtur01)
- 579e8b4 Made some minor docs updates (@jamtur01)
- #54 Readme update (@jlambert121)
- 480e3e9 dependency update - those aren't actually used in the module (@jlambert121)
- 8cda77a readme update (@jlambert121)
- #52 Add dependency on the package to the plugin and handler directories (@garethr)
- 2a6ccc1 Add dependency on the package to the plugin and handler directories (@garethr)
- #51 add default handler in readme example (@antonlindstrom)
- 67cd5c8 add default handler in readme example (@antonlindstrom)
v0.5.0 (2013/03/16 12:21 +00:00)
- e2b0c8b Updated to v0.5.0 (@jamtur01)
- #49 update example configuration in README (@antonlindstrom)
- 0feecd2 update example configuration in README (@antonlindstrom)
- #46 output boolean type for standalone and aggregate (@jlambert121)
- #48 fix capitalization of resource references (@antonlindstrom)
- 6535fb1 fix capitalization of resource references (@antonlindstrom)
- 54d1d3b Merge branch 'master' into boolean_issue (@jlambert121)
- #47 ensure type is set first puppet run (@jlambert121)
- c495e83 ensure type is set first puppet run (@jlambert121)
- 80b7f03 keep check with booleans from provisioning every run (@jlambert121)
- 4794b9e debug cleanup (@jlambert121)
- b098996 output boolean type for standalone and aggregate (@jlambert121)
- #45 fix for setting handler parameters first run (@jlambert121)
- 5f38034 fix for setting handler parameters first run (@jlambert121)
- #44 property naming fix (@jlambert121)
- d2a69a2 property naming fix (@jlambert121)
- 9441ea3 Fixed README (@jamtur01)
- #43 Add optional arguments to sensu_check provider. Set sane defaults. (@phobos182)
- 447ec78 Undef was a bad idea. ;)
- fe86ef7 Keep original formatting
- cc29f93 Make the tests undef to truly test for nil? in provider
- 388eb0a Updated unit tests
- ca908d7 Added nil? check for SensuCheck provider. Default values for aggregate / standlone to undef.
- #42 fix subscription recompilation every run (@jlambert121)
- #41 add flag to allow sensu to purge unmanaged config files (@jlambert121)
- 7150fe0 trailing whitespace cleanup (@jlambert121)
- b87a2a9 fix subscription recompilation every run (@jlambert121)
- 0e8b14e add flag to allow sensu to purge unmanaged config files (@jlambert121)
- #40 Update checks (@jlambert121)
- 107aa7d sensu_check_config -> sensu_check, add sensu_check_config for config, all params in sensu::check (@jlambert121)
- #39 add exchanges, mutators, handler cleanup (@jlambert121)
- 27a05fd add exchanges, mutators, handler cleanup (@jlambert121)
- #38 Add standalone / aggregate to the sensu_check define. (@phobos182)
- 915b281 Add standalone / aggregate to the check param class
- #37 Add a boolean flag in checks for Aggregates. (@phobos182)
- 8e518be Add aggregate check boolean
- #36 prevent sensu_client_subscription from rebuilding every run (@jlambert121)
- caaf760 prevent sensu_client_subscription from rebuilding every run (@jlambert121)
- #35 Sensu handler severities is an array type. (@phobos182)
- cbd8c35 Handler severities is an array type
- #29 Added standalone property (@jamtur01)
- #33 Fixed a bunch of typos, incorrect variable names and linting errors (@jamtur01)
- 0010a03 Fixed a bunch of typos, incorrect variable names and linting errors (@jamtur01)
- #32 Handler install (@jlambert121)
- 297350d install handler scripts and config files (@jlambert121)
- 5fa1eba renamed sensu_handler_config to sensu_handler (@jlambert121)
- #30 Handler type updates (@jlambert121)
- 59af457 typo fix (@jlambert121)
- 0885df1 add severities to handlers (@jlambert121)
- e4041f5 Added standalone property (@jamtur01)
- #27 install plugins (@jlambert121)
- bc9c3a5 updated readme (@jlambert121)
- #26 fix spec name (@jlambert121)
- e4ff243 install plugins (@jlambert121)
- 88814fa fix spec name (@jlambert121)
- #24 Misc. linting fixes (@jamtur01)
- 6473bce Misc. linting fixes (@jamtur01)
- #22 cleaned up rabbitmq spec tests (@jlambert121)
- #21 Sensu check update (@jlambert121)
- #20 Sensu subscription (@jlambert121)
- #19 move each service config to conf.d - no munging config.json (@jlambert121)
- c80029e cleaned up rabbitmq spec tests (@jlambert121)
- e8eeb8b move each service config to conf.d - no munging config.json (@jlambert121)
- 24b0281 add exists? method (@jlambert121)
- 9c48b1d singular check in a file (@jlambert121)
- dfcec1e Merge branch 'master' into sensu_check_update (@jlambert121)
- 5c76785 Merge branch 'master' into sensu_subscription (@jlambert121)
- #18 Enhance package options (@jlambert121)
- #17 Class redesign (@jlambert121)
- 158975b travis found another puppet 2.7 spec failure - resolving (@jlambert121)
- 5a767eb bad merge resolution caused broken build (@jlambert121)
- 09ab3f3 Merge branch 'class_redesign' into repo_optional (@jlambert121)
- 62bb535 spec fix for ruby 1.9.3 (@jlambert121)
- 402c846 merged quoted booleans (@jlambert121)
- ed817c0 add support for quoted booleans (@jlambert121)
- 2ecb67f working with packages enhancements (@jlambert121)
- 187fee5 added flap thresholds, notification, occurrences, refresh, type to sensu checks (@jlambert121)
- b12a315 minor readme update (@jlambert121)
- b074a3e handler bug fix when using client only (@jlambert121)
- d925b31 refactor class structure (@jlambert121)
- 9640920 add client_subscription type (@jlambert121)
- #15 rename defines that should be classes (@jlambert121)
- #16 repo parameter for yum wasn't used (@jlambert121)
- 753fb18 repo parameter for yum wasn't used (@jlambert121)
- 4c3e271 rename defines that should be classes (@jlambert121)
- 36ea816 Added repo documentation and defaults (@jamtur01)
- 0e4a7b9 Added basic header docs and disabled layout check due to module name (@jamtur01)
- 24abe15 Test commit to trigger Travis (@jamtur01)
- 3f5dbcc Added Travis Build status (@jamtur01)
- 96c4ad3 Added Travis CI support (@jamtur01)
- #13 initial spec tests (@jlambert121)
- #14 Lint cleanup (@jlambert121)
- f941193 minor lint cleanup (@jlambert121)
- 7c561ad scoping for ipaddress update (@jlambert121)
- 21d4032 initial spec tests (@jlambert121)
- c1f8f50 * Updated README (@alcy)
v0.0.1 (2013/02/12 06:03 +00:00)
- 4f4f91f exported resources no longer needed, checks need to be definied only at server (@alcy)
- 3018ce1 fix according to https://projects.puppetlabs.com/issues/17747 (@alcy)
- #8 Update manifests/rabbitmq.pp (@tsabirgaliev)
- #12 Added Modulefile (@jamtur01)
- #7 repo -> package ordering (@tsabirgaliev)
- 8ac29da Added Modulefile (@jamtur01)
- #11 Update README.md (@KrisBuytaert)
- 8eba339 Update README.md (@KrisBuytaert)
- 75acb22 Update manifests/rabbitmq.pp (@tsabirgaliev)
- 35ac578 Update manifests/repo/yum.pp (@tsabirgaliev)
- ac4b817 Update manifests/repo/apt.pp (@tsabirgaliev)
- #4 SImple fix for older versions of ruby (@chrisleavoy)
- 8a823d2 Fix for older versions of ruby that 'require rubygems' explicitly (@chrisleavoy)
- #3 [init] sensu init scripts support restart (@portertech)
- 307df28 [init] sensu init scripts support restart (@portertech)
- #2 Getting my feet wet with sensu-puppet (@shaftoe)
- 42f8908 Cleanup to make linter happy (@shaftoe)
- de39b60 Fix apt repo removing default deb-src line (@shaftoe)
- 2ad0e8f Add yum.pp missing logic to handle yum repo (@shaftoe)
- e205f8c Add yum.pp placeholder to test with StackHammer (@shaftoe)
- dcbcc9c Fix to work with puppetlabs stdlib and apt modules (@shaftoe)
- 3d40dad Refactor to better handle APT/YUM repositories (@shaftoe)
- a490986 Make APT repo not mandatory (@shaftoe)
- a27c18a Cleanup init manifest, debian APT repo not mandatory anymore (@shaftoe)
- ad1d9a1 Fix wrong APT Sensu name (@shaftoe)
- a21e72e Add gitignore (@shaftoe)
- dda9188 Add APT packages (@shaftoe)
- 13f8230 Make puppet-lint happy on rabbitmq manifest too (@shaftoe)
- f4a180f Manage SSL cert & key if necessary (@rodjek)
- e2cd43a Simplify SSL logic for sensu_rabbitmq_config (@rodjek)
- 0522d26 Require Package[sensu] in all config editing types (@rodjek)
- 2351f89 Always lazy load /etc/sensu/config.json (@rodjek)
- d268b50 Tomdoc the json provider for the sensu_api_config type (@rodjek)
- 874418c Configure a copy of every check configured on a client onto the server (@rodjek)
- 0ff19d1 Lazy load check config file (@rodjek)
- 6eda3f0 Add realname param to sensu_check_config (@rodjek)
- 9715955 Have the various sensu_*_config classes autonotify their respective services (@rodjek)
- 6d45c4c Initial sensu::client type (@rodjek)
- 0d18b9a typo (@rodjek)
- dab5f2a Recreate the default handler in conf.d (@rodjek)
- a2fad25 Initial sensu::handler type (@rodjek)
- 15c6a24 A very basic sensu::check type (@rodjek)
- 4c5c93c Initial crack at a sensu::server type (@rodjek)
- 4e143e4 Caveat emptor (@rodjek)
- 76b3daf Move readme to correct location (@rodjek)
- 975171e Caveat Emptor (@rodjek)
- be2ce33 Simple type to manage the dashboard configuration (@rodjek)
- 55d4957 Simple type to manage the redis configuration (@rodjek)
- ae7d6da Simple type to manage the api configuration (@rodjek)
- 44b186f Little type to remove checks, handlers and client config from main config.json (@rodjek)
- 55dec65 Type to manage rabbitmq config (@rodjek)
- addd7c6 base package install class (@rodjek)
Dependencies
- maestrodev/wget (>= 1.4.5 <2.0.0)
- puppetlabs/apt (>= 0.0.1 <2.0.0)
- puppetlabs/stdlib (>=3.2.0 <5.0.0)
Copyright (c) 2013 James Turnbull, Jeremy Carroll, Justin Lambert, Tim Sharpe 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.
