Merge branch 'ent-8200-Conteos-incorrectos-vista-tactica-en-FENIX-en-v758' into 'develop'
fixed several counts See merge request artica/pandorafms!4527
This commit is contained in:
commit
7b4c6848f7
|
@ -679,7 +679,7 @@ function agents_get_agents(
|
|||
// Add the group filter to
|
||||
$where = db_format_array_where_clause_sql($filter, 'AND', '('.$where_secondary.') AND ');
|
||||
if ($where == '' && $where_secondary != '') {
|
||||
$where = $where_secondary;
|
||||
$where = '('.$where_secondary.')';
|
||||
}
|
||||
|
||||
$where_nogroup = db_format_array_where_clause_sql(
|
||||
|
|
|
@ -177,13 +177,8 @@ function servers_get_performance()
|
|||
WHERE tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
|
||||
AND tagente.id_agente = tagente_estado.id_agente
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND tagente_modulo.id_modulo <> 0
|
||||
AND delete_pending = 0
|
||||
AND (utimestamp > 0
|
||||
OR (id_tipo_modulo = 100
|
||||
OR (id_tipo_modulo > 21
|
||||
AND id_tipo_modulo < 23)
|
||||
)
|
||||
)
|
||||
AND tagente.disabled = 0
|
||||
GROUP BY tagente_modulo.id_modulo'
|
||||
);
|
||||
|
|
|
@ -347,7 +347,7 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
|||
$list['_total_agents_'] = $total_agentes[0]['total_agents'];
|
||||
$list['_monitor_alerts_fire_count_'] = $group_stat[0]['alerts_fired'];
|
||||
|
||||
$list['_monitors_alerts_'] = tactical_monitor_alerts(explode(',', $user_groups_ids), $user_strict, explode(',', $user_groups_ids));
|
||||
$list['_monitors_alerts_'] = tactical_monitor_alerts($user_strict);
|
||||
// Get total count of monitors for this group, except disabled.
|
||||
$list['_monitor_checks_'] = ($list['_monitors_not_init_'] + $list['_monitors_unknown_'] + $list['_monitors_warning_'] + $list['_monitors_critical_'] + $list['_monitors_ok_']);
|
||||
|
||||
|
@ -466,12 +466,14 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
|||
}
|
||||
|
||||
$list['_monitors_alerts_fired_'] = tactical_monitor_fired_alerts(explode(',', $user_groups_ids), $user_strict, explode(',', $user_groups_ids));
|
||||
$list['_monitors_alerts_'] = tactical_monitor_alerts(explode(',', $user_groups_ids), $user_strict, explode(',', $user_groups_ids));
|
||||
$list['_monitors_alerts_'] = tactical_monitor_alerts($user_strict);
|
||||
|
||||
$total_agentes = agents_get_agents(false, ['count(DISTINCT id_agente) as total_agents'], 'AR', false, false, 1);
|
||||
$list['_total_agents_'] = $total_agentes[0]['total_agents'];
|
||||
|
||||
$list['_monitor_checks_'] = ($list['_monitors_not_init_'] + $list['_monitors_unknown_'] + $list['_monitors_warning_'] + $list['_monitors_critical_'] + $list['_monitors_ok_']);
|
||||
|
||||
$list['_monitor_total_'] = ($list['_monitors_not_init_'] + $list['_monitors_unknown_'] + $list['_monitors_warning_'] + $list['_monitors_critical_'] + $list['_monitors_ok_']);
|
||||
$list['_monitor_checks_'] = ($list['_monitors_unknown_'] + $list['_monitors_warning_'] + $list['_monitors_critical_'] + $list['_monitors_ok_']);
|
||||
|
||||
// Calculate not_normal monitors
|
||||
$list['_monitor_not_normal_'] = ($list['_monitor_checks_'] - $list['_monitors_ok_']);
|
||||
|
@ -497,42 +499,33 @@ function tactical_status_modules_agents($id_user=false, $user_strict=false, $acc
|
|||
}
|
||||
|
||||
|
||||
function tactical_monitor_alerts($group_array, $strict_user=false, $id_group_strict=false)
|
||||
function tactical_monitor_alerts($strict_user=false)
|
||||
{
|
||||
// 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 = [$group_array];
|
||||
}
|
||||
$groups = users_get_groups($config['id_user'], 'AR', false);
|
||||
$id_groups = array_keys($groups);
|
||||
|
||||
$group_clause = implode(',', $group_array);
|
||||
$group_clause = '('.$group_clause.')';
|
||||
|
||||
if ($strict_user) {
|
||||
$group_clause_strict = implode(',', $id_group_strict);
|
||||
$group_clause_strict = '('.$group_clause_strict.')';
|
||||
$sql = "SELECT COUNT(talert_template_modules.id)
|
||||
FROM talert_template_modules, tagente_modulo, tagente_estado, tagente
|
||||
WHERE tagente.id_grupo IN $group_clause_strict AND tagente_modulo.id_agente = tagente.id_agente
|
||||
AND tagente.disabled = 0 AND tagente_modulo.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo";
|
||||
$count = db_get_sql($sql);
|
||||
return $count;
|
||||
if (empty($id_groups)) {
|
||||
$where_clause .= ' AND (1 = 0) ';
|
||||
} else {
|
||||
// TODO REVIEW ORACLE AND POSTGRES
|
||||
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.disabled = 0 AND tagente_modulo.disabled = 0
|
||||
AND talert_template_modules.disabled = 0
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND talert_template_modules.id_agent_module = tagente_modulo.id_agente_modulo"
|
||||
$where_clause .= sprintf(
|
||||
' AND id_agent_module IN (
|
||||
SELECT tam.id_agente_modulo
|
||||
FROM tagente_modulo tam
|
||||
WHERE tam.id_agente IN (SELECT ta.id_agente
|
||||
FROM tagente ta LEFT JOIN tagent_secondary_group tasg ON
|
||||
ta.id_agente = tasg.id_agent
|
||||
WHERE (ta.id_grupo IN (%s) OR tasg.id_group IN (%s)))) ',
|
||||
implode(',', $id_groups),
|
||||
implode(',', $id_groups)
|
||||
);
|
||||
}
|
||||
|
||||
$filter_alert = [];
|
||||
$filter_alert['disabled'] = 'all_enabled';
|
||||
|
||||
$alert_count = get_group_alerts($id_groups, $filter_alert, false, $where_clause, false, false, false, true, $strict_user);
|
||||
|
||||
return $alert_count;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue