Fixed facke data in tactical view meta. Ticket#3072

This commit is contained in:
Arturo Gonzalez 2015-12-30 16:04:38 +01:00
parent fea29a84a0
commit 612fa259f4
1 changed files with 104 additions and 151 deletions

View File

@ -113,7 +113,6 @@ function tactical_get_data ($id_user = false, $user_strict = false, $acltags, $r
GROUP BY id_grupo";
$data_stats_not_init = db_get_all_rows_sql($sql_stats_not_init);
if ($mode == 'tactical' || $mode == 'tree') {
$sql_stats_ok = "SELECT id_grupo, COUNT(id_agente) AS agents_ok
FROM $cache_table
WHERE disabled = 0
@ -141,98 +140,52 @@ function tactical_get_data ($id_user = false, $user_strict = false, $acltags, $r
AND critical_count > 0
GROUP BY id_grupo";
$data_stats_critical = db_get_all_rows_sql($sql_stats_critical);
}
$stats_by_group = array();
if (!empty($data_stats)) {
foreach ($data_stats as $value) {
$group_id = (int) $value['id_grupo'];
$stats = array();
$stats['agents_total'] = (int) $value['agents_total'];
$stats['monitors_total'] = (int) $value['monitors_total'];
$stats['monitors_ok'] = (int) $value['monitors_ok'];
$stats['monitors_warning'] = (int) $value['monitors_warning'];
$stats['monitors_critical'] = (int) $value['monitors_critical'];
$stats['monitors_unknown'] = (int) $value['monitors_unknown'];
$stats['monitors_not_init'] = (int) $value['monitors_not_init'];
$stats['alerts_fired'] = (int) $value['alerts_fired'];
$stats_by_group[$group_id] = $stats;
$list['_total_agents_'] += (int) $value['agents_total'];
$list['_monitors_ok_'] += (int) $value['monitors_ok'];
$list['_monitors_critical_'] += (int) $value['monitors_critical'];
$list['_monitors_warning_'] += (int) $value['monitors_warning'];
$list['_monitors_unknown_'] += (int) $value['monitors_unknown'];
$list['_monitors_not_init_'] += (int) $value['monitors_not_init'];
$list["_monitor_alerts_fire_count_"] += (int) $value['alerts_fired'];
}
if (!empty($stats_by_group)) {
if (!empty($data_stats_unknown)) {
foreach ($data_stats_unknown as $value) {
$group_id = (int) $value['id_grupo'];
if (isset($stats_by_group[$group_id])) {
$stats_by_group[$group_id]['agents_unknown'] = (int) $value['agents_unknown'];
}
$list['_agents_unknown_'] += (int) $value['agents_unknown'];
}
}
if (!empty($data_stats_not_init)) {
foreach ($data_stats_not_init as $value) {
$group_id = (int) $value['id_grupo'];
if (isset($stats_by_group[$group_id])) {
$stats_by_group[$group_id]['agents_not_init'] = (int) $value['agents_not_init'];
}
$list["_agents_not_init_"] += (int) $value['agents_not_init'];
}
}
if (!empty($data_stats_ok)) {
foreach ($data_stats_ok as $value) {
$group_id = (int) $value['id_grupo'];
if (isset($stats_by_group[$group_id])) {
$stats_by_group[$group_id]['agents_ok'] = (int) $value['agents_ok'];
}
$list["_agents_ok_"] += (int) $value['agents_ok'];
}
}
if (!empty($data_stats_warning)) {
foreach ($data_stats_warning as $value) {
$group_id = (int) $value['id_grupo'];
if (isset($stats_by_group[$group_id])) {
$stats_by_group[$group_id]['agents_warning'] = (int) $value['agents_warning'];
}
$list["_agents_warning_"] += (int) $value['agents_warning'];
}
}
if (!empty($data_stats_critical)) {
foreach ($data_stats_critical as $value) {
$group_id = (int) $value['id_grupo'];
if (isset($stats_by_group[$group_id])) {
$stats_by_group[$group_id]['agents_critical'] = (int) $value['agents_critical'];
}
}
$list["_agents_critical_"] += (int) $value['agents_critical'];
}
}
}
}
if (!$user_strict && is_metaconsole()) { // Agent cache
$group_stat = array();
foreach ($list_groups as $value) {
$id = (int) $value['id_grupo'];
if (isset($stats_by_group[$id]))
$group_stat = $stats_by_group[$id];
$list['_agents_unknown_'] += isset($group_stat['agents_unknown']) ? $group_stat['agents_unknown'] : 0;
$list['_monitors_alerts_fired_'] += isset($group_stat['alerts_fired']) ? $group_stat['alerts_fired'] : 0;
$list['_total_agents_'] += isset($group_stat['agents_total']) ? $group_stat['agents_total'] : 0;
// This fields are not in database
$list['_monitors_ok_'] += isset($group_stat['monitors_ok']) ? $group_stat['monitors_ok'] : 0;
$list['_monitors_critical_'] += isset($group_stat['monitors_critical']) ? $group_stat['monitors_critical'] : 0;
$list['_monitors_warning_'] += isset($group_stat['monitors_warning']) ? $group_stat['monitors_warning'] : 0;
$list['_monitors_unknown_'] += isset($group_stat['monitors_unknown']) ? $group_stat['monitors_unknown'] : 0;
$list['_monitors_not_init_'] += isset($group_stat['monitors_not_init']) ? $group_stat['monitors_not_init'] : 0;
$list['_agents_not_init_'] += isset($group_stat['agents_not_init']) ? $group_stat['agents_not_init'] : 0;
$list['_agents_ok_'] += isset($group_stat['agents_ok']) ? $group_stat['agents_ok'] : 0;
$list['_agents_warning_'] += isset($group_stat['agents_warning']) ? $group_stat['agents_warning'] : 0;
$list['_agents_critical_'] += isset($group_stat['agents_critical']) ? $group_stat['agents_critical'] : 0;
$list['_monitors_alerts_'] += isset($group_stat['alerts']) ? $group_stat['alerts'] : 0;;
$list["_monitor_alerts_fire_count_"] = $group_stat["alerts_fired"];
$list["_total_checks_"] += $group_stat["modules"];
$list["_total_alerts_"] += $group_stat["alerts"];
}
// 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_"];