mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-30 01:05:39 +02:00
2011-06-28 Sergio Martin <sergio.martin@artica.es>
* lib/PandoraFMS/DB.pm lib/PandoraFMS/Core.pm lib/PandoraFMS/DataServer.pm: Improved the token ip implantation adding the ip to the secondary agent ips git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4496 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
ecaad877db
commit
afb5bc2db3
@ -1,3 +1,10 @@
|
|||||||
|
2011-06-28 Sergio Martin <sergio.martin@artica.es>
|
||||||
|
|
||||||
|
* lib/PandoraFMS/DB.pm
|
||||||
|
lib/PandoraFMS/Core.pm
|
||||||
|
lib/PandoraFMS/DataServer.pm: Improved the token ip
|
||||||
|
implantation adding the ip to the secondary agent ips
|
||||||
|
|
||||||
2011-06-28 Sergio Martin <sergio.martin@artica.es>
|
2011-06-28 Sergio Martin <sergio.martin@artica.es>
|
||||||
|
|
||||||
* lib/PandoraFMS/DB.pm
|
* lib/PandoraFMS/DB.pm
|
||||||
|
@ -127,6 +127,7 @@ our @ISA = ("Exporter");
|
|||||||
our %EXPORT_TAGS = ( 'all' => [ qw( ) ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw( ) ] );
|
||||||
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
|
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
|
||||||
our @EXPORT = qw(
|
our @EXPORT = qw(
|
||||||
|
pandora_add_agent_address
|
||||||
pandora_audit
|
pandora_audit
|
||||||
pandora_create_agent
|
pandora_create_agent
|
||||||
pandora_create_incident
|
pandora_create_incident
|
||||||
@ -1383,6 +1384,33 @@ sub pandora_create_agent ($$$$$$$$$$;$$$$$) {
|
|||||||
return $agent_id;
|
return $agent_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# Add an address if not exists and add this address to taddress_agent if not exists
|
||||||
|
##########################################################################
|
||||||
|
sub pandora_add_agent_address ($$$$) {
|
||||||
|
my ($pa_config, $agent_id, $addr, $dbh) = @_;
|
||||||
|
|
||||||
|
my $agent_name = get_agent_name($dbh, $agent_id);
|
||||||
|
|
||||||
|
# Add the new address if it does not exist
|
||||||
|
my $addr_id = get_addr_id ($dbh, $addr);
|
||||||
|
|
||||||
|
if($addr_id <= 0) {
|
||||||
|
logger($pa_config, 'Adding address ' . $addr . ' to the address list', 10);
|
||||||
|
$addr_id = add_address ($dbh, $addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($addr_id <= 0) {
|
||||||
|
logger($pa_config, "Could not add address '$addr' for host '$agent_name'", 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $agent_address = is_agent_address($dbh, $agent_id, $addr_id);
|
||||||
|
if($agent_address == 0) {
|
||||||
|
logger($pa_config, 'Updating address for agent ' . $agent_name . ' (' . $addr . ') in his address list', 10);
|
||||||
|
add_new_address_agent ($dbh, $addr_id, $agent_id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
## Delete an agent given its id.
|
## Delete an agent given its id.
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
@ -65,6 +65,7 @@ our @EXPORT = qw(
|
|||||||
get_server_id
|
get_server_id
|
||||||
get_template_id
|
get_template_id
|
||||||
get_template_module_id
|
get_template_module_id
|
||||||
|
is_agent_address
|
||||||
is_group_disabled
|
is_group_disabled
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -555,6 +556,19 @@ sub db_do ($$;@) {
|
|||||||
$dbh->do($query, undef, @values);
|
$dbh->do($query, undef, @values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
##########################################################################
|
||||||
|
# Return the ID of the taddress agent with the given IP.
|
||||||
|
##########################################################################
|
||||||
|
sub is_agent_address ($$$) {
|
||||||
|
my ($dbh, $id_agent, $id_addr) = @_;
|
||||||
|
|
||||||
|
my $id_ag = get_db_value ($dbh, 'SELECT id_ag FROM taddress_agent
|
||||||
|
WHERE id_a = ?
|
||||||
|
AND id_agent = ?', $id_addr, $id_agent);
|
||||||
|
|
||||||
|
return (defined ($id_ag)) ? $id_ag : 0;
|
||||||
|
}
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
## Escape the given reserved word.
|
## Escape the given reserved word.
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
@ -350,7 +350,10 @@ sub process_xml_data ($$$$$) {
|
|||||||
} else {
|
} else {
|
||||||
# Update agent address if necessary
|
# Update agent address if necessary
|
||||||
if ($address ne '' && $address ne $agent->{'direccion'}) {
|
if ($address ne '' && $address ne $agent->{'direccion'}) {
|
||||||
|
# Update the main address
|
||||||
pandora_update_agent_address ($pa_config, $agent_id, $agent_name, $address, $dbh);
|
pandora_update_agent_address ($pa_config, $agent_id, $agent_name, $address, $dbh);
|
||||||
|
# Update the addres list if necessary
|
||||||
|
pandora_add_agent_address($pa_config, $agent_id, $address, $dbh);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,7 +387,7 @@ sub process_xml_data ($$$$$) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pandora_module_keep_alive ($pa_config, $agent_id, $agent_name, $server_id, $dbh);
|
pandora_module_keep_alive ($pa_config, $agent_id, $agent_name, $server_id, $dbh);
|
||||||
|
|
||||||
# Process modules
|
# Process modules
|
||||||
foreach my $module_data (@{$data->{'module'}}) {
|
foreach my $module_data (@{$data->{'module'}}) {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user