Skip to content

Instantly share code, notes, and snippets.

@halcyonardency
Created June 19, 2014 21:15
Show Gist options
  • Save halcyonardency/2e2323c0db6128ba7389 to your computer and use it in GitHub Desktop.
Save halcyonardency/2e2323c0db6128ba7389 to your computer and use it in GitHub Desktop.
Sensu 0.12.6 + June, 10, 2014 clone of sensu-custom-plugins.
The sensu-client is loading handlers on load (which it probably shouldn't do). In doing so, the redis_output handler has a fault if there's no default settings found.
{"timestamp":"2014-06-19T13:41:09.234543-0700","level":"info","message":"loaded extension","type":"handler","name":"redis_output","description":"outputs events output to a redis list or channel"}
{"timestamp":"2014-06-19T13:41:09.308415-0700","level":"info","message":"Setting up TTL expiration loop"}
/etc/sensu/extensions/handlers/redis_output.rb:15:in `post_init': undefined method `[]' for nil:NilClass (NoMethodError)
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.12.6/lib/sensu/extensions.rb:103:in `block in initialize'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:959:in `call'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:959:in `block in run_deferred_callbacks'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:956:in `times'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:956:in `run_deferred_callbacks'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.12.6/lib/sensu/client.rb:12:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.12.6/bin/sensu-client:10:in `<top (required)>'
from /opt/sensu/bin/sensu-client:23:in `load'
from /opt/sensu/bin/sensu-client:23:in `<main>'
Adding a dummy settings file, it still fails (due to invalid target host).
/etc/sensu/conf.d/redis_output.json::
{
"redis_output": {
"host": "example.com"
}
}
--->
{"timestamp":"2014-06-19T14:10:48.301081-0700","level":"info","message":"No API access, deactivating TTL expiration loop"}
/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/em-redis-unified-0.4.2/lib/em-redis/redis_protocol.rb:347:in `block in initialize': unable to connect to redis server (EventMachine::Protocols::Redis::ConnectionError)
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/em-redis-unified-0.4.2/lib/em-redis/redis_protocol.rb:212:in `call'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/em-redis-unified-0.4.2/lib/em-redis/redis_protocol.rb:212:in `error'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/em-redis-unified-0.4.2/lib/em-redis/redis_protocol.rb:499:in `unbind'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:1440:in `event_callback'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.12.6/lib/sensu/client.rb:12:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.12.6/bin/sensu-client:10:in `<top (required)>'
from /opt/sensu/bin/sensu-client:23:in `load'
from /opt/sensu/bin/sensu-client:23:in `<main>'
@halcyonardency
Copy link
Author

This commit adds a sanity check around the redis_write settings hash:

halcyonardency/sensu-community-plugins@637638e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment