2012-05-30 Sancho Lerena <slerena@artica.es>
* include/functions_reporting.php include/functions_groups.php: Group/tactical stats are now done with functins in function_group. This method is also used in the server for the batch stats system. * operation/agentes/estado_ultimopaquete.php: Fixed view on non-init policy modules, shown in the data tab. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6379 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
005f6f40ce
commit
e243e7c19f
|
@ -1,3 +1,14 @@
|
|||
2012-05-30 Sancho Lerena <slerena@artica.es>
|
||||
|
||||
* include/functions_reporting.php
|
||||
include/functions_groups.php: Group/tactical stats
|
||||
are now done with functins in function_group. This
|
||||
method is also used in the server for the batch
|
||||
stats system.
|
||||
|
||||
* operation/agentes/estado_ultimopaquete.php: Fixed
|
||||
view on non-init policy modules, shown in the data tab.
|
||||
|
||||
2012-05-30 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
|
||||
|
||||
* operation/events/export_csv.php: Fixed csv events exportation
|
||||
|
|
|
@ -838,4 +838,216 @@ function groups_create_group($group_name, $rest_values){
|
|||
}
|
||||
|
||||
|
||||
// Get unknown agents by using the status code in modules.
|
||||
|
||||
function groups_agent_unknown ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT( DISTINCT tagente_estado.id_agente) FROM tagente_estado, tagente, tagente_modulo WHERE tagente.disabled = 0 AND tagente_estado.utimestamp != 0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND estado = 3 AND tagente_estado.id_agente = tagente.id_agente AND tagente.id_grupo IN $group_clause");
|
||||
|
||||
}
|
||||
|
||||
// Get monitor NOT INIT, except disabled AND async modules
|
||||
|
||||
function groups_monitor_not_init ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente.id_agente = tagente_estado.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.id_tipo_modulo NOT IN (21,22,23,24) AND utimestamp = 0");
|
||||
|
||||
}
|
||||
|
||||
// Get monitor OK, except disabled and non-init
|
||||
|
||||
function groups_monitor_ok ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 0
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
|
||||
}
|
||||
|
||||
// Get monitor CRITICAL, except disabled and non-init
|
||||
|
||||
function groups_monitor_critical ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 1
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
|
||||
|
||||
}
|
||||
|
||||
// Get monitor WARNING, except disabled and non-init
|
||||
|
||||
function groups_monitor_warning ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 2
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
|
||||
|
||||
}
|
||||
|
||||
// Get monitor UNKNOWN, except disabled and non-init
|
||||
|
||||
function groups_monitor_unknown ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 3
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0");
|
||||
|
||||
}
|
||||
|
||||
// Get alerts defined for a given group, except disabled
|
||||
|
||||
function groups_monitor_alerts ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo");
|
||||
|
||||
}
|
||||
|
||||
// Get alert configured currently FIRED, except disabled
|
||||
|
||||
function groups_monitor_fired_alerts ($group_array) {
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo
|
||||
AND times_fired > 0");
|
||||
|
||||
}
|
||||
|
||||
// Total agents in a group, except disabled ones
|
||||
|
||||
function groups_total_agents ($group_array) {
|
||||
|
||||
if (empty ($group_array)) {
|
||||
return 0;
|
||||
|
||||
} else if (!is_array ($group_array)){
|
||||
$group_array[0] = $group_array;
|
||||
}
|
||||
|
||||
$group_clause = implode (",", $group_array);
|
||||
$group_clause = "(" . $group_clause . ")";
|
||||
|
||||
return db_get_sql ("SELECT COUNT(*) FROM tagente WHERE id_grupo IN $group_clause AND disabled = 0");
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -900,202 +900,58 @@ function reporting_get_group_stats ($id_group = 0) {
|
|||
array_push($covered_groups, $group);
|
||||
array_push($group_array, $group);
|
||||
}
|
||||
|
||||
|
||||
// If there are not groups to query, we jump to nextone
|
||||
if(empty($group_array)) {
|
||||
|
||||
if (empty($group_array)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Get unknown agents by using the status code in modules.
|
||||
|
||||
$data["agents_unknown"] = groups_agent_unknown ($group_array);
|
||||
|
||||
// Get monitor NOT INIT, except disabled AND async modules
|
||||
|
||||
$data["monitor_not_init"] = groups_monitor_not_init ($group_array);
|
||||
|
||||
// Get monitor OK, except disabled and non-init
|
||||
|
||||
$group_clause = implode(",",$group_array);
|
||||
$data["monitor_ok"] = groups_monitor_ok ($group_array);
|
||||
|
||||
$group_clause = "(".$group_clause.")";
|
||||
// Get monitor CRITICAL, except disabled and non-init
|
||||
|
||||
$data["monitor_critical"] = groups_monitor_critical ($group_array);
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$agents_in_group = db_get_all_rows_sql ("SELECT id_agente
|
||||
FROM tagente
|
||||
WHERE id_grupo IN $group_clause AND disabled = 0");
|
||||
break;
|
||||
case "postgresql":
|
||||
$agents_in_group = db_get_all_rows_sql ("SELECT id_agente
|
||||
FROM tagente
|
||||
WHERE id_grupo IN $group_clause AND disabled = 0");
|
||||
break;
|
||||
case "oracle":
|
||||
$agents_in_group = db_get_all_rows_sql ("SELECT id_agente
|
||||
FROM tagente
|
||||
WHERE id_grupo IN $group_clause AND disabled = 0");
|
||||
break;
|
||||
}
|
||||
|
||||
//Count unkown agents, forget agent without modules
|
||||
if (!$agents_in_group) {
|
||||
$agents_in_group = array();
|
||||
}
|
||||
$data["agents_unknown"] = 0;
|
||||
|
||||
foreach ($agents_in_group as $id) {
|
||||
$info = reporting_get_agent_module_info($id['id_agente']);
|
||||
|
||||
//If the agent has modules then is counted
|
||||
if ($info['monitor_unknown']) {
|
||||
$data["agents_unknown"]++;
|
||||
}
|
||||
}
|
||||
|
||||
//Calculate other metrics
|
||||
$data["total_agents"] += db_get_sql ("SELECT COUNT(*)
|
||||
FROM tagente WHERE id_grupo IN $group_clause AND disabled = 0");
|
||||
|
||||
$data["monitor_checks"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0");
|
||||
|
||||
$data["total_not_init"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente_modulo.id_tipo_modulo NOT IN (21,22,23,24)
|
||||
AND tagente_estado.utimestamp = 0");
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$data["monitor_ok"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND estado = 0
|
||||
AND ((UNIX_TIMESTAMP(NOW()) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2)
|
||||
OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100)))
|
||||
AND (utimestamp > 0 OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24)))");
|
||||
break;
|
||||
case "postgresql":
|
||||
$data["monitor_ok"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND estado = 0
|
||||
AND ((ceil(date_part('epoch', CURRENT_TIMESTAMP)) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2)
|
||||
OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100)))
|
||||
AND (utimestamp > 0 OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24)))");
|
||||
break;
|
||||
case "oracle":
|
||||
$data["monitor_ok"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND estado = 0
|
||||
AND ((ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (86400)) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2)
|
||||
OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100)))
|
||||
AND (utimestamp > 0 OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24)))");
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$data["monitor_critical"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND estado = 1
|
||||
AND ((UNIX_TIMESTAMP(NOW()) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2) OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100))) AND utimestamp > 0");
|
||||
break;
|
||||
case "postgresql":
|
||||
$data["monitor_critical"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND estado = 1 AND ((ceil(date_part('epoch', CURRENT_TIMESTAMP)) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2) OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100))) AND utimestamp > 0");
|
||||
break;
|
||||
case "oracle":
|
||||
$data["monitor_critical"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0
|
||||
AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND estado = 1 AND ((ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (86400)) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2) OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100))) AND utimestamp > 0");
|
||||
break;
|
||||
}
|
||||
// Get monitor WARNING, except disabled and non-init
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$data["monitor_warning"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND estado = 2 AND ((UNIX_TIMESTAMP(NOW()) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2)
|
||||
OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100))) AND utimestamp > 0");
|
||||
break;
|
||||
case "postgresql":
|
||||
$data["monitor_warning"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND estado = 2 AND ((ceil(date_part('epoch', CURRENT_TIMESTAMP)) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2)
|
||||
OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100))) AND utimestamp > 0");
|
||||
break;
|
||||
case "oracle":
|
||||
$data["monitor_warning"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND estado = 2 AND ((ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (86400)) - tagente_estado.utimestamp) < (tagente_estado.current_interval * 2)
|
||||
OR (tagente_modulo.id_tipo_modulo IN(21,22,23,24,100))) AND utimestamp > 0");
|
||||
break;
|
||||
}
|
||||
$data["monitor_warning"] = groups_monitor_warning ($group_array);
|
||||
|
||||
// Get monitor UNKNOWN, except disabled and non-init
|
||||
|
||||
$data["monitor_unknown"] = groups_monitor_unknown ($group_array);
|
||||
|
||||
// Get alerts configured, except disabled
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$data["monitor_unknown"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente.id_agente = tagente_estado.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND utimestamp > 0 AND tagente_modulo.id_tipo_modulo NOT IN(21,22,23,24,100)
|
||||
AND (UNIX_TIMESTAMP(NOW()) - tagente_estado.utimestamp) >= (tagente_estado.current_interval * 2)");
|
||||
break;
|
||||
case "postgresql":
|
||||
$data["monitor_unknown"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente.id_agente = tagente_estado.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND utimestamp > 0 AND tagente_modulo.id_tipo_modulo NOT IN(21,22,23,24,100)
|
||||
AND (ceil(date_part('epoch', CURRENT_TIMESTAMP)) - tagente_estado.utimestamp) >= (tagente_estado.current_interval * 2)");
|
||||
break;
|
||||
case "oracle":
|
||||
$data["monitor_unknown"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente.id_agente = tagente_estado.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND utimestamp > 0 AND tagente_modulo.id_tipo_modulo NOT IN(21,22,23,24,100)
|
||||
AND (ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (86400)) - tagente_estado.utimestamp) >= (tagente_estado.current_interval * 2)");
|
||||
break;
|
||||
}
|
||||
$data["monitor_alerts"] += groups_monitor_alerts ($group_array) ;
|
||||
|
||||
$data["monitor_not_init"] += db_get_sql ("SELECT COUNT(tagente_estado.id_agente_estado)
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente.disabled = 0 AND tagente.id_agente = tagente_estado.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.id_tipo_modulo NOT IN (21,22,23,24) AND utimestamp = 0");
|
||||
// Get alert configured currently FIRED, except disabled
|
||||
|
||||
$data["monitor_alerts"] += db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo");
|
||||
$data["monitor_alerts_fired"] += groups_monitor_fired_alerts ($group_array);
|
||||
|
||||
// Calculate totals using partial counts from above
|
||||
|
||||
// Get TOTAL agents in a group
|
||||
$data["total_agents"] += groups_total_agents ($group_array);
|
||||
|
||||
$data["monitor_alerts_fired"] += db_get_sql ("SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente_modulo.disabled = 0 AND tagente.disabled = 0
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo AND times_fired > 0");
|
||||
// Get TOTAL non-init modules, except disabled ones and async modules
|
||||
|
||||
$data["total_not_init"] += $data["monitor_not_init"];
|
||||
|
||||
// Get total count of monitors for this group, except disabled.
|
||||
|
||||
$data["monitor_checks"] += $data["monitor_not_init"] + $data["monitor_unknown"] + $data["monitor_warning"] + $data["monitor_critical"] + $data["monitor_ok"];
|
||||
|
||||
}
|
||||
/*
|
||||
Monitor health (percentage)
|
||||
|
|
|
@ -232,7 +232,7 @@ $where = sprintf("(tagente_modulo.id_policy_module = 0 AND disabled = 0 AND tage
|
|||
|
||||
$search_string_entities = io_safe_input($search_string);
|
||||
|
||||
$basic_where = sprintf(" tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND (nombre LIKE '%%%s%%' OR nombre LIKE '%%%s%%' OR descripcion LIKE '%%%s%%' OR descripcion LIKE '%%%s%%') AND", $search_string, $search_string_entities, $search_string, $search_string_entities);
|
||||
$basic_where = sprintf(" tagente_estado.utimestamp !=0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND (nombre LIKE '%%%s%%' OR nombre LIKE '%%%s%%' OR descripcion LIKE '%%%s%%' OR descripcion LIKE '%%%s%%') AND", $search_string, $search_string_entities, $search_string, $search_string_entities);
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "postgresql":
|
||||
|
|
Loading…
Reference in New Issue