From: Michael Friedrich Date: Mon, 10 Mar 2014 17:01:26 +0000 (+0100) Subject: Health Check: Sanitize perfdata. X-Git-Tag: v0.0.8~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=09d6b6fefa392e5cf7fa117c247dfce771777d4b;p=icinga2 Health Check: Sanitize perfdata. Refs #5664 --- diff --git a/components/checker/checkercomponent.cpp b/components/checker/checkercomponent.cpp index f0ec43f55..2d3bbff77 100644 --- a/components/checker/checkercomponent.cpp +++ b/components/checker/checkercomponent.cpp @@ -25,6 +25,7 @@ #include "base/utility.h" #include "base/logger_fwd.h" #include "base/exception.h" +#include "base/convert.h" #include "base/statsfunction.h" #include @@ -49,8 +50,8 @@ Value CheckerComponent::StatsFunc(Dictionary::Ptr& status, Dictionary::Ptr& perf nodes->Set(checker->GetName(), stats); String perfdata_prefix = "checkercomponent_" + checker->GetName() + "_"; - perfdata->Set(perfdata_prefix + "idle", idle); - perfdata->Set(perfdata_prefix + "pending", pending); + perfdata->Set(perfdata_prefix + "idle", Convert::ToDouble(idle)); + perfdata->Set(perfdata_prefix + "pending", Convert::ToDouble(pending)); } status->Set("checkercomponent", nodes); diff --git a/components/cluster/clusterlistener.cpp b/components/cluster/clusterlistener.cpp index cc146774e..2914966c4 100644 --- a/components/cluster/clusterlistener.cpp +++ b/components/cluster/clusterlistener.cpp @@ -1625,8 +1625,8 @@ std::pair ClusterListener::GetClusterStatus(vo status->Set("not_conn_endpoints", not_connected_endpoints); perfdata->Set("num_endpoints", count_endpoints); - perfdata->Set("num_conn_endpoints", connected_endpoints->GetLength()); - perfdata->Set("num_not_conn_endpoints", not_connected_endpoints->GetLength()); + perfdata->Set("num_conn_endpoints", Convert::ToDouble(connected_endpoints->GetLength())); + perfdata->Set("num_not_conn_endpoints", Convert::ToDouble(not_connected_endpoints->GetLength())); return std::make_pair(status, perfdata); } diff --git a/components/db_ido_mysql/idomysqlconnection.cpp b/components/db_ido_mysql/idomysqlconnection.cpp index 9485ae2d2..bd8938f64 100644 --- a/components/db_ido_mysql/idomysqlconnection.cpp +++ b/components/db_ido_mysql/idomysqlconnection.cpp @@ -52,7 +52,7 @@ Value IdoMysqlConnection::StatsFunc(Dictionary::Ptr& status, Dictionary::Ptr& pe nodes->Set(idomysqlconnection->GetName(), stats); - perfdata->Set("idomysqlconnection_" + idomysqlconnection->GetName() + "_query_queue_items", items); + perfdata->Set("idomysqlconnection_" + idomysqlconnection->GetName() + "_query_queue_items", Convert::ToDouble(items)); } status->Set("idomysqlconnection", nodes); diff --git a/components/db_ido_pgsql/idopgsqlconnection.cpp b/components/db_ido_pgsql/idopgsqlconnection.cpp index d8ae808b2..43917dff0 100644 --- a/components/db_ido_pgsql/idopgsqlconnection.cpp +++ b/components/db_ido_pgsql/idopgsqlconnection.cpp @@ -54,7 +54,7 @@ Value IdoPgsqlConnection::StatsFunc(Dictionary::Ptr& status, Dictionary::Ptr& pe nodes->Set(idopgsqlconnection->GetName(), stats); - perfdata->Set("idopgsqlconnection_" + idopgsqlconnection->GetName() + "_query_queue_items", items); + perfdata->Set("idopgsqlconnection_" + idopgsqlconnection->GetName() + "_query_queue_items", Convert::ToDouble(items)); } status->Set("idopgsqlconnection", nodes); diff --git a/components/livestatus/listener.cpp b/components/livestatus/listener.cpp index f9b704f44..dd04eacf7 100644 --- a/components/livestatus/listener.cpp +++ b/components/livestatus/listener.cpp @@ -53,7 +53,7 @@ Value LivestatusListener::StatsFunc(Dictionary::Ptr& status, Dictionary::Ptr& pe nodes->Set(livestatuslistener->GetName(), stats); - perfdata->Set("livestatuslistener_" + livestatuslistener->GetName() + "_connections", l_Connections); + perfdata->Set("livestatuslistener_" + livestatuslistener->GetName() + "_connections", Convert::ToDouble(l_Connections)); } status->Set("livestatuslistener", nodes); diff --git a/lib/methods/nullchecktask.cpp b/lib/methods/nullchecktask.cpp index cf17dd940..3f621e78f 100644 --- a/lib/methods/nullchecktask.cpp +++ b/lib/methods/nullchecktask.cpp @@ -36,7 +36,7 @@ CheckResult::Ptr NullCheckTask::ScriptFunc(const Service::Ptr&) output += Utility::GetHostName(); Dictionary::Ptr perfdata = make_shared(); - perfdata->Set("time", Utility::GetTime()); + perfdata->Set("time", Convert::ToDouble(Utility::GetTime())); CheckResult::Ptr cr = make_shared(); cr->SetOutput(output); diff --git a/lib/methods/randomchecktask.cpp b/lib/methods/randomchecktask.cpp index 555139f19..8aa90dee3 100644 --- a/lib/methods/randomchecktask.cpp +++ b/lib/methods/randomchecktask.cpp @@ -37,7 +37,7 @@ CheckResult::Ptr RandomCheckTask::ScriptFunc(const Service::Ptr&) output += Utility::GetHostName(); Dictionary::Ptr perfdata = make_shared(); - perfdata->Set("time", Utility::GetTime()); + perfdata->Set("time", Convert::ToDouble(Utility::GetTime())); CheckResult::Ptr cr = make_shared(); cr->SetOutput(output);