2012-07-16 Dario Rodriguez <dario.rodriguez@artica.es>
* lib/PandoraFMS/Core.pm: Updated statistic queries from php code to unify this calculus. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6780 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
872de3bc13
commit
1d65057bbc
|
@ -1,3 +1,8 @@
|
|||
2012-07-16 Dario Rodriguez <dario.rodriguez@artica.es>
|
||||
|
||||
* lib/PandoraFMS/Core.pm: Updated statistic queries from php code
|
||||
to unify this calculus.
|
||||
|
||||
2012-06-27 Kikuchi Koichiro <koichiro@rworks.jp>
|
||||
|
||||
* pandora_server.redhat.spec: Small fixes: removed duplicated useradd
|
||||
|
|
|
@ -2512,8 +2512,49 @@ sub pandora_group_statistics ($$) {
|
|||
|
||||
# NOTICE - Calculations done here MUST BE the same than used in PHP code to have
|
||||
# the same criteria. PLEASE, double check any changes here and in functions_group.php
|
||||
|
||||
my $agents_critical_query = "SELECT tagente.id_agente
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente.disabled = 0
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND estado = 1
|
||||
AND tagente_estado.utimestamp != 0
|
||||
AND tagente.id_grupo = $group
|
||||
group by tagente.id_agente";
|
||||
|
||||
$agents_unknown = get_db_value ($dbh, "SELECT COUNT(min_estado) FROM (SELECT MIN(tagente_estado.estado) as min_estado 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 tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado != 0 AND tagente.id_grupo = $group GROUP BY tagente.id_agente HAVING min_estado = 3) AS S1");
|
||||
my $agents_warning_query = "SELECT tagente.id_agente
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente.disabled = 0
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND estado = 2
|
||||
AND tagente_estado.utimestamp != 0
|
||||
AND tagente.id_grupo = $group
|
||||
group by tagente.id_agente";
|
||||
|
||||
my $agents_unknown_query = "SELECT tagente.id_agente
|
||||
FROM tagente_estado, tagente, tagente_modulo
|
||||
WHERE tagente_estado.id_agente = tagente.id_agente
|
||||
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
|
||||
AND tagente.disabled = 0
|
||||
AND tagente_modulo.disabled = 0
|
||||
AND estado = 3
|
||||
AND tagente_estado.utimestamp != 0
|
||||
AND tagente.id_grupo = $group
|
||||
group by tagente.id_agente";
|
||||
|
||||
$agents_unknown = get_db_value ($dbh, "SELECT COUNT(*) FROM ( SELECT DISTINCT tagente.id_agente
|
||||
FROM tagente, tagente_modulo, tagente_estado
|
||||
WHERE tagente.id_agente = tagente_modulo.id_agente
|
||||
AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
|
||||
|
||||
AND tagente.id_grupo = $group
|
||||
AND tagente.id_agente NOT IN ($agents_critical_query)
|
||||
AND tagente.id_agente NOT IN ($agents_warning_query)
|
||||
AND tagente.id_agente IN ($agents_unknown_query) ) AS t");
|
||||
|
||||
$agents_unknown = 0 unless defined ($agents_unknown);
|
||||
|
||||
|
|
Loading…
Reference in New Issue