sensu-plugins / sensu-plugins-ssl

This plugin provides native SSL instrumentation for monitoring, including: hostname and chain verification, cert expiry, and Qualys SSL Labs reporting

Home Page:http://sensu-plugins.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some Qualsys results can be returned without a grade, causing an exception.

TheMysteriousX opened this issue · comments

commented

This can happen when a domain resolves to multiple addresses, but only some of them are responsive.

My initial thought (and my fix on my own system) was just to compact ssl_grades before sorting it.

Some users might not want errors like that to be handled silently though, so I'm not sure what solution you'd want to implement.

The current behaviour though is just to throw an exception:

Check failed to run: comparison of NilClass with 7 failed, [
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:120:in `sort_by'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:120:in `sort_by!'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:120:in `lowest_grade'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:124:in `run'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugin-1.3.0/lib/sensu-plugin/cli.rb:57:in `block in <class:CLI>'"
] 

Throwing an exception isn't great. Perhaps we should add an option to discard ungraded results.

@TheMysteriousX could you put together a pr for this?