mirror of https://github.com/Icinga/icinga2.git
Livestatus: Add servive_checks(_rate) columns to status table.
Refs #4655 Refs #2762
This commit is contained in:
parent
664f9b36ef
commit
7d28e95dba
|
@ -47,7 +47,7 @@ using namespace livestatus;
|
|||
static int l_ExternalCommands = 0;
|
||||
static boost::mutex l_QueryMutex;
|
||||
|
||||
Query::Query(const std::vector<String>& lines, const String& log_path)
|
||||
Query::Query(const std::vector<String>& lines, const String& compat_log_path)
|
||||
: m_KeepAlive(false), m_OutputFormat("csv"), m_ColumnHeaders(true), m_Limit(-1),
|
||||
m_LogTimeFrom(0), m_LogTimeUntil(static_cast<long>(Utility::GetTime()))
|
||||
{
|
||||
|
@ -64,7 +64,7 @@ Query::Query(const std::vector<String>& lines, const String& log_path)
|
|||
}
|
||||
Log(LogDebug, "livestatus", msg);
|
||||
|
||||
m_CompatLogPath = log_path;
|
||||
m_CompatLogPath = compat_log_path;
|
||||
|
||||
/* default separators */
|
||||
m_Separators.push_back("\n");
|
||||
|
|
|
@ -47,7 +47,7 @@ class Query : public Object
|
|||
public:
|
||||
DECLARE_PTR_TYPEDEFS(Query);
|
||||
|
||||
Query(const std::vector<String>& lines, const String& log_path);
|
||||
Query(const std::vector<String>& lines, const String& compat_log_path);
|
||||
|
||||
bool Execute(const Stream::Ptr& stream);
|
||||
|
||||
|
|
|
@ -47,8 +47,8 @@ void StatusTable::AddColumns(Table *table, const String& prefix,
|
|||
table->AddColumn(prefix + "connections", Column(&StatusTable::ConnectionsAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "connections_rate", Column(&StatusTable::ConnectionsRateAccessor, objectAccessor));
|
||||
|
||||
table->AddColumn(prefix + "service_checks", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "service_checks_rate", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "service_checks", Column(&StatusTable::ServiceChecksAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "service_checks_rate", Column(&StatusTable::ServiceChecksRateAccessor, objectAccessor));
|
||||
|
||||
table->AddColumn(prefix + "host_checks", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "host_checks_rate", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
|
@ -122,6 +122,18 @@ Value StatusTable::ConnectionsRateAccessor(const Value& row)
|
|||
return (LivestatusListener::GetConnections() / (Utility::GetTime() - Application::GetStartTime()));
|
||||
}
|
||||
|
||||
Value StatusTable::ServiceChecksAccessor(const Value& row)
|
||||
{
|
||||
long timespan = static_cast<long>(Utility::GetTime() - Application::GetStartTime());
|
||||
return CIB::GetActiveChecksStatistics(timespan);
|
||||
}
|
||||
|
||||
Value StatusTable::ServiceChecksRateAccessor(const Value& row)
|
||||
{
|
||||
long timespan = static_cast<long>(Utility::GetTime() - Application::GetStartTime());
|
||||
return (CIB::GetActiveChecksStatistics(timespan) / (Utility::GetTime() - Application::GetStartTime()));
|
||||
}
|
||||
|
||||
Value StatusTable::ExternalCommandsAccessor(const Value& row)
|
||||
{
|
||||
return Query::GetExternalCommands();
|
||||
|
|
|
@ -47,6 +47,8 @@ protected:
|
|||
|
||||
static Value ConnectionsAccessor(const Value& row);
|
||||
static Value ConnectionsRateAccessor(const Value& row);
|
||||
static Value ServiceChecksAccessor(const Value& row);
|
||||
static Value ServiceChecksRateAccessor(const Value& row);
|
||||
static Value ExternalCommandsAccessor(const Value& row);
|
||||
static Value ExternalCommandsRateAccessor(const Value& row);
|
||||
static Value NagiosPidAccessor(const Value& row);
|
||||
|
|
Loading…
Reference in New Issue