2012-11-28 Ramon Novoa <rnovoa@artica.es>

* lib/PandoraFMS/NetworkServer.pm,
	  lib/PandoraFMS/Core.pm,
	  lib/PandoraFMS/Tools.pm: Temporal fix to OID translation.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7200 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
ramonn 2012-11-28 19:41:24 +00:00
parent 420f1dfbb6
commit 37ea4a197a
4 changed files with 26 additions and 18 deletions

View File

@ -1,3 +1,9 @@
2012-11-28 Ramon Novoa <rnovoa@artica.es>
* lib/PandoraFMS/NetworkServer.pm,
lib/PandoraFMS/Core.pm,
lib/PandoraFMS/Tools.pm: Temporal fix to OID translation.
2012-11-28 Ramon Novoa <rnovoa@artica.es> 2012-11-28 Ramon Novoa <rnovoa@artica.es>
* lib/PandoraFMS/Core.pm: Added fired alert count. * lib/PandoraFMS/Core.pm: Added fired alert count.

View File

@ -3540,8 +3540,7 @@ sub pandora_self_monitoring ($$) {
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente_modulo.disabled = 0 AND tagente_modulo.disabled = 0
AND running_by = $my_data_server AND running_by = $my_data_server
AND utimestamp > 0 AND tagente_modulo.id_tipo_modulo NOT IN (21,22,23,24,100) AND estado = 3");
AND (UNIX_TIMESTAMP(NOW()) - tagente_estado.utimestamp) >= (tagente_estado.current_interval * 2)");
$agents_unknown = 0 if (!defined($agents_unknown)); $agents_unknown = 0 if (!defined($agents_unknown));
} }

View File

@ -330,8 +330,16 @@ sub pandora_query_snmp ($$$) {
my $snmp_oid = $module->{"snmp_oid"}; my $snmp_oid = $module->{"snmp_oid"};
return (undef, 0) unless ($snmp_oid ne ''); return (undef, 0) unless ($snmp_oid ne '');
if ($snmp_oid =~ m/[a-zA-Z]/) { if ($snmp_oid =~ m/[a-zA-Z]/) {
$snmp_oid = translate_obj ($dbh, $snmp_oid, $module->{"id_agente_modulo"}); $snmp_oid = translate_obj ($dbh, $snmp_oid, );
return (undef, 1) unless ($snmp_oid ne '');
# Could not translate OID, disable the module
if (! defined ($snmp_oid) || $snmp_oid eq '') {
db_do ($dbh, 'UPDATE tagente_modulo SET disabled = 1 WHERE id_agente_modulo = ?', $module->{"id_agente_modulo"});
return (undef, 1);
}
# Update module configuration
db_do ($dbh, 'UPDATE tagente_modulo SET snmp_oid = ? WHERE id_agente_modulo = ?', $snmp_oid, $module->{"id_agente_modulo"});
} }
my $snmp_timeout = $module->{"max_timeout"} != 0 ? $module->{"max_timeout"} : $pa_config->{"snmp_timeout"}; my $snmp_timeout = $module->{"max_timeout"} != 0 ? $module->{"max_timeout"} : $pa_config->{"snmp_timeout"};

View File

@ -1036,22 +1036,17 @@ sub month_have_days($$) {
############################################################################### ###############################################################################
# Convert a text obj tag to an OID and update the module configuration. # Convert a text obj tag to an OID and update the module configuration.
############################################################################### ###############################################################################
sub translate_obj ($$$) { sub translate_obj ($$) {
my ($dbh, $obj, $module_id) = @_; my ($dbh, $obj) = @_;
# SNMP is not thread safe # SNMP is not thread safe
if (defined ($SNMPSem)) {
$SNMPSem->down (); $SNMPSem->down ();
my $oid = SNMP::translateObj ($obj);
$SNMPSem->up ();
# Could not translate OID, disable the module
if (! defined ($oid)) {
db_do ($dbh, 'UPDATE tagente_modulo SET disabled = 1 WHERE id_agente_modulo = ?', $module_id);
return '';
} }
my $oid = SNMP::translateObj ($obj);
# Update module configuration if (defined ($SNMPSem)) {
db_do ($dbh, 'UPDATE tagente_modulo SET snmp_oid = ? WHERE id_agente_modulo = ?', $oid, $module_id); $SNMPSem->up ();
}
return $oid; return $oid;
} }