Added status of group nodes

This commit is contained in:
mdtrooper 2014-12-18 18:49:57 +01:00
parent 5c5a6a8ab1
commit e94b685231
3 changed files with 39 additions and 55 deletions

View File

@ -67,28 +67,8 @@ if (is_ajax ()) {
$status['not_init'] = $data['agent_not_init']; $status['not_init'] = $data['agent_not_init'];
$status['ok'] = $data['agent_ok']; $status['ok'] = $data['agent_ok'];
$status['total'] = $data['total_agents']; $status['total'] = $data['total_agents'];
$status['status'] = $data['status'];
if ($data["monitor_alerts_fired"] > 0) { $status['alert_fired'] = $data['alert_fired'];
$status['status'] = 'alert_fired';
}
elseif ($data["monitor_critical"] > 0) {
$status['status'] = 'critical';
}
elseif ($data["monitor_warning"] > 0) {
$status['status'] = 'warning';
}
elseif (($data["monitor_unknown"] > 0) || ($data["agents_unknown"] > 0)) {
$status['status'] = 'unknown';
}
elseif ($data["monitor_ok"] > 0) {
$status['status'] = 'ok';
}
elseif ($data["agent_not_init"] > 0) {
$status['status'] = 'not_init';
}
else {
$status['status'] = 'none';
}
echo json_encode($status); echo json_encode($status);
break; break;

View File

@ -68,6 +68,7 @@ class Tree {
private function getRecursiveGroup($parent, $limit = null) { private function getRecursiveGroup($parent, $limit = null) {
$filter = array(); $filter = array();
$filter['parent'] = $parent; $filter['parent'] = $parent;
if (!empty($this->filter['search'])) { if (!empty($this->filter['search'])) {
@ -77,16 +78,19 @@ class Tree {
// First filter by name and father // First filter by name and father
$groups = db_get_all_rows_filter('tgrupo', $groups = db_get_all_rows_filter('tgrupo',
$filter, $filter,
array('id_grupo', 'nombre', 'icon')); array('id_grupo', 'nombre'));
if (empty($groups)) if (empty($groups))
$groups = array(); $groups = array();
// Filter by status // Filter by status
$filter_status = AGENT_STATUS_ALL; $filter_status = AGENT_STATUS_ALL;
if (!empty($this->filter['status'])) { if (!empty($this->filter['status'])) {
$filter_status = $this->filter['status']; $filter_status = $this->filter['status'];
} }
foreach ($groups as $iterator => $group) { foreach ($groups as $iterator => $group) {
$groups[$iterator]['counters'] = array(); $groups[$iterator]['counters'] = array();
$groups[$iterator]['counters']['ok'] = $groups[$iterator]['counters']['ok'] =
@ -181,38 +185,12 @@ class Tree {
// I hate myself // I hate myself
unset($data[$iterator]['children']); unset($data[$iterator]['children']);
} }
} break;
break; case 'live':
$temp['searchChildren'] = 0;
} $temp['children'] = $item['children'];
break;
switch ($this->countAgentStatusMethod) { }
case 'on_demand':
foreach ($groups as $iterator => $group) {
if (!empty($group['counters'])) {
$groups[$iterator]['searchCounters'] = 1;
// I hate myself
unset($groups[$iterator]['counters']);
}
else {
$groups[$iterator]['searchCounters'] = 0;
// I hate myself
unset($groups[$iterator]['counters']);
}
}
break;
}
// Make the data
$this->tree = array();
foreach ($data as $item) {
$temp = array();
$temp['id'] = $item['id_grupo'];
$temp['type'] = 'group';
$temp['name'] = $item['nombre'];
$temp['icon'] = $item['icon'];
$temp['searchChildren'] = $item['searchChildren'];
$temp['searchCounters'] = $item['searchCounters'];
$this->tree[] = $temp; $this->tree[] = $temp;
} }

View File

@ -2017,6 +2017,32 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
$data["server_sanity"] = format_numeric (100 - $data["module_sanity"], 1); $data["server_sanity"] = format_numeric (100 - $data["module_sanity"], 1);
$data['alert_fired'] = 0;
if ($data["monitor_alerts_fired"] > 0) {
$data['alert_fired'] = 1;
}
if ($data["monitor_critical"] > 0) {
$data['status'] = 'critical';
}
elseif ($data["monitor_warning"] > 0) {
$data['status'] = 'warning';
}
elseif (($data["monitor_unknown"] > 0) || ($data["agents_unknown"] > 0)) {
$data['status'] = 'unknown';
}
elseif ($data["monitor_ok"] > 0) {
$data['status'] = 'ok';
}
elseif ($data["agent_not_init"] > 0) {
$data['status'] = 'not_init';
}
else {
$data['status'] = 'none';
}
return ($data); return ($data);
} }