mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-31 01:35:36 +02:00
Improved the data management
This commit is contained in:
parent
f7de0555b2
commit
25ce2a3ab9
@ -63,32 +63,61 @@ class Tree {
|
|||||||
$module['id_module_type'] = (int) $module['id_tipo_modulo'];
|
$module['id_module_type'] = (int) $module['id_tipo_modulo'];
|
||||||
$module['server_type'] = (int) $module['id_modulo'];
|
$module['server_type'] = (int) $module['id_modulo'];
|
||||||
// $module['icon'] = modules_get_type_icon($module['id_tipo_modulo']);
|
// $module['icon'] = modules_get_type_icon($module['id_tipo_modulo']);
|
||||||
// $module['value'] = modules_get_last_value($module['id']);
|
|
||||||
|
if (!isset($module['status']))
|
||||||
|
$module['status'] = modules_get_status($module['id']);
|
||||||
|
if (!isset($module['value']))
|
||||||
|
$module['value'] = modules_get_last_value($module['id']);
|
||||||
|
|
||||||
// Status
|
// Status
|
||||||
switch (modules_get_status($module['id'])) {
|
switch ($module['status']) {
|
||||||
case AGENT_MODULE_STATUS_CRITICAL_BAD:
|
|
||||||
case AGENT_MODULE_STATUS_CRITICAL_ALERT:
|
case AGENT_MODULE_STATUS_CRITICAL_ALERT:
|
||||||
$module['status'] = "critical";
|
$module['alert'] = 1;
|
||||||
|
case AGENT_MODULE_STATUS_CRITICAL_BAD:
|
||||||
|
$statusType = STATUS_MODULE_CRITICAL_BALL;
|
||||||
|
$statusTitle = __('CRITICAL');
|
||||||
|
$module['statusText'] = "critical";
|
||||||
break;
|
break;
|
||||||
case AGENT_MODULE_STATUS_WARNING:
|
|
||||||
case AGENT_MODULE_STATUS_WARNING_ALERT:
|
case AGENT_MODULE_STATUS_WARNING_ALERT:
|
||||||
$module['status'] = "warning";
|
$module['alert'] = 1;
|
||||||
|
case AGENT_MODULE_STATUS_WARNING:
|
||||||
|
$statusType = STATUS_MODULE_WARNING_BALL;
|
||||||
|
$statusTitle = __('WARNING');
|
||||||
|
$module['statusText'] = "warning";
|
||||||
break;
|
break;
|
||||||
case AGENT_MODULE_STATUS_UNKNOWN:
|
case AGENT_MODULE_STATUS_UNKNOWN:
|
||||||
$module['status'] = "unknown";
|
$statusType = STATUS_MODULE_UNKNOWN_BALL;
|
||||||
|
$statusTitle = __('UNKNOWN');
|
||||||
|
$module['statusText'] = "unknown";
|
||||||
break;
|
break;
|
||||||
case AGENT_MODULE_STATUS_NO_DATA:
|
case AGENT_MODULE_STATUS_NO_DATA:
|
||||||
case AGENT_MODULE_STATUS_NOT_INIT:
|
case AGENT_MODULE_STATUS_NOT_INIT:
|
||||||
$module['status'] = "not_init";
|
$statusType = STATUS_MODULE_NO_DATA_BALL;
|
||||||
|
$statusTitle = __('NO DATA');
|
||||||
|
$module['statusText'] = "not_init";
|
||||||
break;
|
break;
|
||||||
case AGENT_MODULE_STATUS_NORMAL:
|
|
||||||
case AGENT_MODULE_STATUS_NORMAL_ALERT:
|
case AGENT_MODULE_STATUS_NORMAL_ALERT:
|
||||||
|
$module['alert'] = 1;
|
||||||
|
case AGENT_MODULE_STATUS_NORMAL:
|
||||||
default:
|
default:
|
||||||
$module['status'] = "ok";
|
$statusType = STATUS_MODULE_OK_BALL;
|
||||||
|
$statusTitle = __('NORMAL');
|
||||||
|
$module['statusText'] = "ok";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($statusType !== STATUS_MODULE_UNKNOWN_BALL
|
||||||
|
&& $statusType !== STATUS_MODULE_NO_DATA_BALL) {
|
||||||
|
if (is_numeric($module["value"])) {
|
||||||
|
$statusTitle .= " : " . format_for_graph($module["value"]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$statusTitle .= " : " . substr(io_safe_output($module["value"]),0,42);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$module['statusImageHTML'] = ui_print_status_image($statusType, $statusTitle, true);
|
||||||
|
|
||||||
// HTML of the server type image
|
// HTML of the server type image
|
||||||
$module['serverTypeHTML'] = servers_show_type($module['server_type']);
|
$module['serverTypeHTML'] = servers_show_type($module['server_type']);
|
||||||
|
|
||||||
@ -111,12 +140,29 @@ class Tree {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected function processModules ($modules_aux, &$modules) {
|
protected function processModules ($modules_aux, &$modules) {
|
||||||
|
$counters = false;
|
||||||
|
|
||||||
if (!empty($modules_aux)) {
|
if (!empty($modules_aux)) {
|
||||||
|
$counters = array(
|
||||||
|
'critical' => 0,
|
||||||
|
'warning' => 0,
|
||||||
|
'ok' => 0,
|
||||||
|
'not_init' => 0,
|
||||||
|
'unknown' => 0,
|
||||||
|
'alerts' => 0
|
||||||
|
);
|
||||||
|
|
||||||
foreach ($modules_aux as $module) {
|
foreach ($modules_aux as $module) {
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
$modules[] = $module;
|
$modules[] = $module;
|
||||||
|
|
||||||
|
if (isset($counters[$module['statusText']]))
|
||||||
|
$counters[$module['statusText']]++;
|
||||||
|
if ($module['alert'])
|
||||||
|
$counters['alerts']++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return $counters;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getModules ($parent = 0, $filter = array()) {
|
protected function getModules ($parent = 0, $filter = array()) {
|
||||||
@ -261,8 +307,8 @@ class Tree {
|
|||||||
$filter['id_grupo'] = $parent;
|
$filter['id_grupo'] = $parent;
|
||||||
if (isset($this->filter['status']) && $this->filter['status'] != -1)
|
if (isset($this->filter['status']) && $this->filter['status'] != -1)
|
||||||
$filter['status'] = $this->filter['status'];
|
$filter['status'] = $this->filter['status'];
|
||||||
if (!empty($this->filter['search']))
|
if (!empty($this->filter['searchAgent']))
|
||||||
$filter['nombre'] = "%" . $this->filter['search'] . "%";
|
$filter['nombre'] = "%" . $this->filter['searchAgent'] . "%";
|
||||||
|
|
||||||
$agents = agents_get_agents($filter, array('id_agente', 'nombre'));
|
$agents = agents_get_agents($filter, array('id_agente', 'nombre'));
|
||||||
if (empty($agents)) {
|
if (empty($agents)) {
|
||||||
@ -468,11 +514,14 @@ class Tree {
|
|||||||
tam.id_tipo_modulo, tam.id_modulo,
|
tam.id_tipo_modulo, tam.id_modulo,
|
||||||
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
||||||
ta.normal_count, ta.warning_count, ta.critical_count,
|
ta.normal_count, ta.warning_count, ta.critical_count,
|
||||||
ta.unknown_count, ta.notinit_count, ta.total_count
|
ta.unknown_count, ta.notinit_count, ta.total_count,
|
||||||
|
tae.estado, tae.datos
|
||||||
FROM tagente_modulo AS tam
|
FROM tagente_modulo AS tam
|
||||||
INNER JOIN tagente AS ta
|
INNER JOIN tagente AS ta
|
||||||
ON ta.id_agente = tam.id_agente
|
ON ta.id_agente = tam.id_agente
|
||||||
AND ta.disabled = 0
|
AND ta.disabled = 0
|
||||||
|
INNER JOIN tagente_estado AS tae
|
||||||
|
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||||
WHERE tam.disabled = 0
|
WHERE tam.disabled = 0
|
||||||
$agent_search
|
$agent_search
|
||||||
$module_search
|
$module_search
|
||||||
@ -502,6 +551,8 @@ class Tree {
|
|||||||
$module['nombre'] = $value['module_name'];
|
$module['nombre'] = $value['module_name'];
|
||||||
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
||||||
$module['server_type'] = (int) $value['id_modulo'];
|
$module['server_type'] = (int) $value['id_modulo'];
|
||||||
|
$module['status'] = (int) $value['estado'];
|
||||||
|
$module['value'] = $value['data'];
|
||||||
|
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
|
|
||||||
@ -576,11 +627,14 @@ class Tree {
|
|||||||
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
||||||
ta.normal_count, ta.warning_count, ta.critical_count,
|
ta.normal_count, ta.warning_count, ta.critical_count,
|
||||||
ta.unknown_count, ta.notinit_count, ta.total_count,
|
ta.unknown_count, ta.notinit_count, ta.total_count,
|
||||||
tmg.id_mg, tmg.name AS module_group_name
|
tmg.id_mg, tmg.name AS module_group_name,
|
||||||
|
tae.estado, tae.datos
|
||||||
FROM tagente_modulo AS tam
|
FROM tagente_modulo AS tam
|
||||||
INNER JOIN tagente AS ta
|
INNER JOIN tagente AS ta
|
||||||
ON ta.id_agente = tam.id_agente
|
ON ta.id_agente = tam.id_agente
|
||||||
AND ta.disabled = 0
|
AND ta.disabled = 0
|
||||||
|
INNER JOIN tagente_estado AS tae
|
||||||
|
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||||
LEFT JOIN tmodule_group AS tmg
|
LEFT JOIN tmodule_group AS tmg
|
||||||
ON tmg.id_mg = tam.id_module_group
|
ON tmg.id_mg = tam.id_module_group
|
||||||
WHERE tam.disabled = 0
|
WHERE tam.disabled = 0
|
||||||
@ -611,6 +665,8 @@ class Tree {
|
|||||||
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
||||||
$module['id_module_group'] = (int) $value['id_mg'];
|
$module['id_module_group'] = (int) $value['id_mg'];
|
||||||
$module['server_type'] = (int) $value['id_modulo'];
|
$module['server_type'] = (int) $value['id_modulo'];
|
||||||
|
$module['status'] = (int) $value['estado'];
|
||||||
|
$module['value'] = $value['data'];
|
||||||
|
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
|
|
||||||
@ -731,11 +787,14 @@ class Tree {
|
|||||||
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
||||||
ta.normal_count, ta.warning_count, ta.critical_count,
|
ta.normal_count, ta.warning_count, ta.critical_count,
|
||||||
ta.unknown_count, ta.notinit_count, ta.total_count,
|
ta.unknown_count, ta.notinit_count, ta.total_count,
|
||||||
tos.id_os, tos.name AS os_name, tos.icon_name AS os_icon
|
tos.id_os, tos.name AS os_name, tos.icon_name AS os_icon,
|
||||||
|
tae.estado, tae.datos
|
||||||
FROM tagente_modulo AS tam
|
FROM tagente_modulo AS tam
|
||||||
INNER JOIN tagente AS ta
|
INNER JOIN tagente AS ta
|
||||||
ON ta.id_agente = tam.id_agente
|
ON ta.id_agente = tam.id_agente
|
||||||
AND ta.disabled = 0
|
AND ta.disabled = 0
|
||||||
|
INNER JOIN tagente_estado AS tae
|
||||||
|
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||||
LEFT JOIN tconfig_os AS tos
|
LEFT JOIN tconfig_os AS tos
|
||||||
ON tos.id_os = ta.id_os
|
ON tos.id_os = ta.id_os
|
||||||
WHERE tam.disabled = 0
|
WHERE tam.disabled = 0
|
||||||
@ -766,6 +825,8 @@ class Tree {
|
|||||||
$module['nombre'] = $value['module_name'];
|
$module['nombre'] = $value['module_name'];
|
||||||
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
||||||
$module['server_type'] = (int) $value['id_modulo'];
|
$module['server_type'] = (int) $value['id_modulo'];
|
||||||
|
$module['status'] = (int) $value['estado'];
|
||||||
|
$module['value'] = $value['datos'];
|
||||||
|
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
|
|
||||||
@ -889,11 +950,14 @@ class Tree {
|
|||||||
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
ta.id_agente, ta.nombre AS agent_name, ta.fired_count,
|
||||||
ta.normal_count, ta.warning_count, ta.critical_count,
|
ta.normal_count, ta.warning_count, ta.critical_count,
|
||||||
ta.unknown_count, ta.notinit_count, ta.total_count,
|
ta.unknown_count, ta.notinit_count, ta.total_count,
|
||||||
tt.id_tag, tt.name AS tag_name
|
tt.id_tag, tt.name AS tag_name,
|
||||||
|
tae.estado, tae.estado
|
||||||
FROM tagente_modulo AS tam
|
FROM tagente_modulo AS tam
|
||||||
INNER JOIN tagente AS ta
|
INNER JOIN tagente AS ta
|
||||||
ON ta.id_agente = tam.id_agente
|
ON ta.id_agente = tam.id_agente
|
||||||
AND ta.disabled = 0
|
AND ta.disabled = 0
|
||||||
|
INNER JOIN tagente_estado AS tae
|
||||||
|
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||||
INNER JOIN ttag_module AS ttm
|
INNER JOIN ttag_module AS ttm
|
||||||
ON ttm.id_agente_modulo = tam.id_agente_modulo
|
ON ttm.id_agente_modulo = tam.id_agente_modulo
|
||||||
INNER JOIN ttag AS tt
|
INNER JOIN ttag AS tt
|
||||||
@ -925,6 +989,8 @@ class Tree {
|
|||||||
$module['nombre'] = $value['module_name'];
|
$module['nombre'] = $value['module_name'];
|
||||||
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
$module['id_tipo_modulo'] = (int) $value['id_tipo_modulo'];
|
||||||
$module['server_type'] = (int) $value['id_modulo'];
|
$module['server_type'] = (int) $value['id_modulo'];
|
||||||
|
$module['status'] = (int) $value['estado'];
|
||||||
|
$module['value'] = $value['datos'];
|
||||||
|
|
||||||
$this->processModule($module);
|
$this->processModule($module);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user