Dashing Dashboard: hosts in "Problems" panel


#1

Hello Everyone,

I use this version of Icinga, Dashing Dashboard:

dashing (1.3.7, 1.3.2)
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
icinga2 - The Icinga 2 network monitoring daemon (version: r2.9.2-1)

Now I see service states only (warning, critical, unknown) in Problems panel.
I would like to extend “Porblems” panel with HOST states, down or unreachable in front of the service states.

I checked the topic, but I couldn’t find any information related to this issue.
What is the right method, which file should I change to get this problem panel?

Thank you,
Gabor


(Michael Friedrich) #2

This defines the widget and the data-id …

… whereas the job runner sends the collected data …

I’m not sure though how such a line with additional array elements could look like. Highly likely you’ll need to extend the widget itself, or you’ll copy its source and create your own widget with HTML, SCSS and Coffeescript.

More hints on the development can be found here.


#3

Thank you for your answer.
I found an earlier post, where someone had same issue. I used the following settings, but I get no return on the dashboard in “Hosts Problems” panel.

dashboards/icinga2.erb

<!-- Takes two rows for all host problems by severity -->
<li data-row="1" data-col="2" data-sizex="1" data-sizey="2">
<div data-id="icinga-severity-host" data-view="List" data-unordered="true" data-title="Hosts Problems"></div>
</li>

jobs/icinga2.rb

# problem hosts
host_severity_stats = []
icinga.host_problems_severity.each do |name, state|
host_severity_stats.push ({ "label" => icinga.formatService(name) })
end
puts "Severity: " + host_severity_stats.to_s

send_event('icinga-severity-host', {
items: host_severity_stats,
color: 'blue' })

What can be wrong?

Thank you!


(Michael Friedrich) #4

Does this line log anything when you run dashing in foreground?


#6

Thank you for your mail. Here is the command output:

First trying to read environment variables
Environment variables not found, falling back to configuration file config/icinga2.json
Detecting local config file ‘/usr/share/dashing-icinga2/config/icinga2.local.json’.
Using config file ‘/usr/share/dashing-icinga2/config/icinga2.json’.
Reading config{“icinga2”=>{“api”=>{“host”=>“localhost”, “port”=>5665, “user”=>“dashing”, “password”=>“icinga2ondashingr0xx”}}, “icingaweb2”=>{“url”=>“http://localhost/icingaweb2”}}
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:8005, CTRL+C to stop
/var/lib/gems/2.1.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:530:in start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError) from /var/lib/gems/2.1.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:530:instart_server’
from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/backends/tcp_server.rb:16:in connect' from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/backends/base.rb:63:inblock in start’
from /var/lib/gems/2.1.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in call' from /var/lib/gems/2.1.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:inrun_machine’
from /var/lib/gems/2.1.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in run' from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/backends/base.rb:73:instart’
from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/server.rb:162:in start' from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/controllers/controller.rb:87:instart’
from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/runner.rb:200:in run_command' from /var/lib/gems/2.1.0/gems/thin-1.6.4/lib/thin/runner.rb:156:inrun!’
from /var/lib/gems/2.1.0/gems/thin-1.6.4/bin/thin:6:in <top (required)>' from /usr/local/bin/thin:23:inload’
from /usr/local/bin/thin:23:in `’


(Michael Friedrich) #7

Use a different port then, seems 8005 already is taken by a running process.


#8

ok, I got the output, and generated host problem during logging, but cannot find any information in log.
I got the notification email about host problem.
Here is the log: dashing_output.txt (20.9 KB)


(Michael Friedrich) #9

You’re printing with puts following by the string Severity. This is logged.

Severity: []

It is an empty array, so the loop filling this array doesn’t insert any values. I would add more print statements to get an idea why there’s no data here.


#10

Thank you, I got 1 hour logging with many host problems, but the log contains only service problems.
dashing_output.txt (282.1 KB)


#11

Hi Michael, could you check my log?
Thank you,
Gabor


(Michael Friedrich) #12

Adding debug output should help you with your development progress, you’ll need to implement that by yourself (and learn some Ruby). Check the existing code and dev docs and try it.