14
mod/network
14
mod/network
@@ -16,21 +16,19 @@ class Network < Worker
|
||||
hosts = @my_config['hosts']
|
||||
|
||||
net_fail = 0
|
||||
Open3.popen2("fping", *hosts) do |i,o,t|
|
||||
net_ok = o.each_line.count
|
||||
Open3.popen2("fping", "-u", *hosts) do |i,o,t|
|
||||
hosts_down = o.each_line.count
|
||||
hosts_up = hosts.count - hosts_down
|
||||
|
||||
if net_ok == hosts.count
|
||||
status = "ok"
|
||||
if hosts_down == 0
|
||||
fg_colour = @my_config['ok_colour']
|
||||
elsif net_ok == 0
|
||||
status = "CRIT: all hosts failed!"
|
||||
elsif hosts_down == hosts.count
|
||||
fg_colour = @my_config['crit_colour']
|
||||
else
|
||||
status = "WARN: #{net_ok}/#{hosts.count} hosts ok"
|
||||
fg_colour = @my_config['warn_colour']
|
||||
end
|
||||
|
||||
@rstr = "%{F#{fg_colour}}#{status}%{F-}"
|
||||
@rstr = "%%{F%s}%s/%s%%{F-}" % [ fg_colour, hosts_up, hosts.count ]
|
||||
end
|
||||
|
||||
return @rstr
|
||||
|
Reference in New Issue
Block a user