mirror of https://github.com/Icinga/icinga2.git
parent
fb5d0f3907
commit
31d54b2760
|
@ -96,6 +96,10 @@ void StatusTable::AddColumns(Table *table, const String& prefix,
|
|||
table->AddColumn(prefix + "livestatus_active_connections", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "livestatus_queued_connections", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "livestatus_threads", Column(&Table::ZeroAccessor, objectAccessor));
|
||||
|
||||
table->AddColumn(prefix + "custom_variable_names", Column(&StatusTable::CustomVariableNamesAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "custom_variable_values", Column(&StatusTable::CustomVariableValuesAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "custom_variables", Column(&StatusTable::CustomVariablesAccessor, objectAccessor));
|
||||
}
|
||||
|
||||
String StatusTable::GetName(void) const
|
||||
|
@ -202,3 +206,60 @@ Value StatusTable::LivestatusActiveConnectionsAccessor(const Value&)
|
|||
{
|
||||
return LivestatusListener::GetClientsConnected();
|
||||
}
|
||||
|
||||
Value StatusTable::CustomVariableNamesAccessor(const Value& row)
|
||||
{
|
||||
Dictionary::Ptr vars = IcingaApplication::GetInstance()->GetVars();
|
||||
|
||||
if (!vars)
|
||||
return Empty;
|
||||
|
||||
Array::Ptr cv = make_shared<Array>();
|
||||
|
||||
String key;
|
||||
Value value;
|
||||
BOOST_FOREACH(tie(key, value), vars) {
|
||||
cv->Add(key);
|
||||
}
|
||||
|
||||
return cv;
|
||||
}
|
||||
|
||||
Value StatusTable::CustomVariableValuesAccessor(const Value& row)
|
||||
{
|
||||
Dictionary::Ptr vars = IcingaApplication::GetInstance()->GetVars();
|
||||
|
||||
if (!vars)
|
||||
return Empty;
|
||||
|
||||
Array::Ptr cv = make_shared<Array>();
|
||||
|
||||
String key;
|
||||
Value value;
|
||||
BOOST_FOREACH(tie(key, value), vars) {
|
||||
cv->Add(value);
|
||||
}
|
||||
|
||||
return cv;
|
||||
}
|
||||
|
||||
Value StatusTable::CustomVariablesAccessor(const Value&)
|
||||
{
|
||||
Dictionary::Ptr vars = IcingaApplication::GetInstance()->GetVars();
|
||||
|
||||
if (!vars)
|
||||
return Empty;
|
||||
|
||||
Array::Ptr cv = make_shared<Array>();
|
||||
|
||||
String key;
|
||||
Value value;
|
||||
BOOST_FOREACH(tie(key, value), vars) {
|
||||
Array::Ptr key_val = make_shared<Array>();
|
||||
key_val->Add(key);
|
||||
key_val->Add(value);
|
||||
cv->Add(key_val);
|
||||
}
|
||||
|
||||
return cv;
|
||||
}
|
||||
|
|
|
@ -63,6 +63,9 @@ protected:
|
|||
static Value ProgramVersionAccessor(const Value& row);
|
||||
static Value LivestatusVersionAccessor(const Value& row);
|
||||
static Value LivestatusActiveConnectionsAccessor(const Value& row);
|
||||
static Value CustomVariableNamesAccessor(const Value& row);
|
||||
static Value CustomVariableValuesAccessor(const Value& row);
|
||||
static Value CustomVariablesAccessor(const Value& row);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ Changes require newest Icinga Classic UI releases.
|
|||
> **Note**
|
||||
>
|
||||
> Command definitions get custom variables from 'vars' dictionary.
|
||||
> Programstatus object gets custom variables from 'IcingaVars' constant.
|
||||
|
||||
### <a id="schema-db-ido"></a> DB IDO
|
||||
|
||||
|
@ -51,6 +52,7 @@ New columns:
|
|||
> **Note**
|
||||
>
|
||||
> Additional command custom variables populated from 'vars' dictionary.
|
||||
> Additional global custom variables populated from 'IcingaVars' constant (object_id is NULL).
|
||||
|
||||
|
||||
### <a id="schema-livestatus"></a> Livestatus
|
||||
|
@ -197,7 +199,11 @@ New columns:
|
|||
commands | custom_variable_names
|
||||
commands | custom_variable_values
|
||||
commands | custom_variables
|
||||
status | custom_variable_names
|
||||
status | custom_variable_values
|
||||
status | custom_variables
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Command custom variables reflect the local 'vars' dictionary.
|
||||
> Status custom variables reflect the global 'IcingaVars' constant.
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
GET status
|
||||
Columns: custom_variables
|
||||
ResponseHeader: fixed16
|
||||
|
Loading…
Reference in New Issue