From: Michael Friedrich Date: Thu, 26 Nov 2015 19:03:46 +0000 (+0100) Subject: Fix missing num_hosts_pending in /v1/status/CIB X-Git-Tag: v2.5.0~685 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=737c574cdf0fd7d21177400cdd200eb0560c92d2;p=icinga2 Fix missing num_hosts_pending in /v1/status/CIB fixes #10736 --- diff --git a/doc/3-monitoring-basics.md b/doc/3-monitoring-basics.md index a39a8215f..ff884d0e4 100644 --- a/doc/3-monitoring-basics.md +++ b/doc/3-monitoring-basics.md @@ -420,6 +420,7 @@ The following macros provide global statistics: icinga.num_hosts_up | Current number of hosts in state 'Up'. icinga.num_hosts_down | Current number of hosts in state 'Down'. icinga.num_hosts_unreachable | Current number of unreachable hosts. + icinga.num_hosts_pending | Current number of pending hosts. icinga.num_hosts_flapping | Current number of flapping hosts. icinga.num_hosts_in_downtime | Current number of hosts in downtime. icinga.num_hosts_acknowledged | Current number of acknowledged host problems. diff --git a/lib/icinga/cib.cpp b/lib/icinga/cib.cpp index af9c8bf05..c8c285a94 100644 --- a/lib/icinga/cib.cpp +++ b/lib/icinga/cib.cpp @@ -311,6 +311,7 @@ void CIB::StatsFunc(const Dictionary::Ptr& status, const Array::Ptr& perfdata) { status->Set("num_hosts_up", hs.hosts_up); status->Set("num_hosts_down", hs.hosts_down); + status->Set("num_hosts_pending", hs.hosts_pending); status->Set("num_hosts_unreachable", hs.hosts_unreachable); status->Set("num_hosts_flapping", hs.hosts_flapping); status->Set("num_hosts_in_downtime", hs.hosts_in_downtime); diff --git a/lib/icinga/icingaapplication.cpp b/lib/icinga/icingaapplication.cpp index 36543e725..498073f03 100644 --- a/lib/icinga/icingaapplication.cpp +++ b/lib/icinga/icingaapplication.cpp @@ -278,6 +278,9 @@ bool IcingaApplication::ResolveMacro(const String& macro, const CheckResult::Ptr } else if (macro == "num_hosts_down") { *result = Convert::ToString(hs.hosts_down); return true; + } else if (macro == "num_hosts_pending") { + *result = Convert::ToString(hs.hosts_pending); + return true; } else if (macro == "num_hosts_unreachable") { *result = Convert::ToString(hs.hosts_unreachable); return true; diff --git a/lib/methods/icingachecktask.cpp b/lib/methods/icingachecktask.cpp index fef332c0c..ccb4c3254 100644 --- a/lib/methods/icingachecktask.cpp +++ b/lib/methods/icingachecktask.cpp @@ -91,6 +91,7 @@ void IcingaCheckTask::ScriptFunc(const Checkable::Ptr& service, const CheckResul perfdata->Add(new PerfdataValue("num_hosts_up", hs.hosts_up)); perfdata->Add(new PerfdataValue("num_hosts_down", hs.hosts_down)); + perfdata->Add(new PerfdataValue("num_hosts_pending", hs.hosts_pending)); perfdata->Add(new PerfdataValue("num_hosts_unreachable", hs.hosts_unreachable)); perfdata->Add(new PerfdataValue("num_hosts_flapping", hs.hosts_flapping)); perfdata->Add(new PerfdataValue("num_hosts_in_downtime", hs.hosts_in_downtime));