sensu-plugins / sensu-plugins-graphite

This plugin provides native Graphite instrumentation for monitoring, including: replication status, various Graphite data queries, mutators, and handlers
http://sensu-plugins.io
MIT License
22 stars 45 forks source link

Exit with zero datapoints message if no datapoints exist #43

Closed ynnt closed 7 years ago

ynnt commented 7 years ago

Pull Request Checklist

Is this in reference to an existing issue? Yes. Currently check crashes if no datapoints left after the nil values cleansing.

Example:

Check failed to run: undefined method `last' for nil:NilClass, ["/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-graphite-2.0.0/lib/sensu-plugins-graphite/graphite_proxy/proxy.rb:73:in `output_line'", "/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-graphite-2.0.0/lib/sensu-plugins-graphite/graphite_proxy/proxy.rb:61:in `block in format_output'", "/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-graphite-2.0.0/lib/sensu-plugins-graphite/graphite_proxy/proxy.rb:57:in `each'", "/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-graphite-2.0.0/lib/sensu-plugins-graphite/graphite_proxy/proxy.rb:57:in `format_output'", "/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-graphite-2.0.0/lib/sensu-plugins-graphite/graphite_proxy/proxy.rb:97:in `retrieve_data!'", "/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-graphite-2.0.0/bin/check-graphite-data.rb:61:in `run'", "/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugin-1.4.2/lib/sensu-plugin/cli.rb:58:in `block in <class:CLI>'"]

when raw['datapoints']:

[[nil, 1482283890], [nil, 1482283905], [nil, 1482283920], [nil, 1482283935]]

What has changed? I've added additional check if datapoint is not nil

Known Compatablity Issues

No compatablity issues