var count_ok = 0 var count_warning = 0 var count_critical = 0 var count_unknown = 0 var outputs = [] var hosts = macro("$cluster_hosts$") var service = macro("$cluster_services$") var label = macro("$cluster_label$") var icingaweb = macro("$icingaweb_baseurl$") if (!icingaweb) { icingaweb = "/icingaweb2" } for (var host in hosts) { var s = get_service(host, service) var link = "" + host + "" var line = "[" + link + "] " if (s) { if (s.state == 0) { count_ok += 1 line += "[OK] " } else if (s.state == 1) { count_warning += 1 line += "[WARNING] " } else if (s.state == 2) { count_critical += 1 line += "[CRITICAL] " } else { count_unknown += 1 line += "[UNKNOWN] " } if (s.last_check_result) { line += s.last_check_result.output.split("\n")[0] } else { line += "" } } else { line += "" count_unknown += 1 } outputs.add(line) } return "Cluster " + label + ": " + count_ok + " ok, " + count_warning + " warning, " + count_critical + " critical, " + count_unknown + " unknown" + "\n
" + outputs.join("\n") + "
"