* lib/PandoraFMS/DB.pm: Added a function db_process_insert
to insert a generic query receiving a hash reference with
the parameters (columns in index and value in values)
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3280 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm, lib/PandoraFMS/DataServer.pm: Update module
configuration from XML data files.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3262 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/NetworkServer.pm,
lib/PandoraFMS/Core.pm: Fixed some prototypes that led to warnings
in recent versions of PERL. This fixes bug #3061906.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3237 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/SNMPServer.pm
lib/PandoraFMS/Core.pm: SNMP Trap console doesnt send trap value
to alert function. Now does :-)
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3230 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Alerts now uses _timestamp_ macro with the
timestamp of the data (if provided), not the present time. Thanks
to Daniel Vasconcelos for his patch (SF Tracker id #3044326).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3154 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/ReconServer.pm: Fixed some problems with traceroute.
Added feature to use a specific snmpcommunity in all modules created
by a recon task.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3151 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm, lib/PandoraFMS/DataServer.pm: Added support
for unknown status alerts. Style fixes.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3133 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/PredictionServer.pm: Fixed problem that pandora
server daemon is aborted by division by zero, if numeric data to
predict are mostly 0.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3071 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Make sure delete_pending is set to 0
when selecting keepalive modules.
* lib/PandoraFMS/DataServer.pm: Do not read more than max_queue_files
files. Suppressed some warnings.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3069 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Do not compress data for async modules.
* lib/PandoraFMS/DataServer.pm: Check that the file exists before
trying to parse the XML to avoid XML::Simple error messages.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3060 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/PluginServer.pm: Quote the command passed to
pandora_exec.
* bin/pandora_exec: Do not verify the command to allow pipes and complex
commands.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2981 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Redefine downtime name and description if
not defined.
* lib/PandoraFMS/Tools.pm: Octopus is now known as Octopods.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2900 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DB.pm: Added a function to get the id of a user
profile (needed by pandora_manage.pl).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2803 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DB.pm: Added a function to get the id of an action
(needed by pandora_manage.pl).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DB.pm: Added functions to get the id of an OS, a
module and a group (needed by pandora_manage.pl).
* lib/PandoraFMS/Core.pm: Removed tagente_estado.status from the
keep_alive_nd query.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2794 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DataServer.pm: XML data files coming from a disabled
agent are now discarded.
* util/pandora_manage.pl: Added CLI mode to disable/enable agents from
a given group. This will help admins to implement recurrent downtime periods.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2751 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_server_upgrade: Fixed a check on pandora_db.pl script in cron.
* lib/PandoraFMS/Config.pm: Version update to 3.1rc1 and build 100515
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2750 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Made cascade protection recursive to
check any of the agent's parents in the tree.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2687 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Use the data timestamp instead of the
current time in the compression algorithm. Fixed regexps in
SNMP alerts.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2668 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Changed the behaviour of SNMP alerts.
Alert conditions are ANDed, not ORed.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2642 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Fixed call to group stats and now
process all groups (included disabled) and group 1, because
with 3.1 group id 1 is not "all" anymore.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2625 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Removed a Log4x trace. Log4x feature
has been tested at this level, and works fine.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2605 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/ReconServer.pm: Trying to fix the problem
detected with recon and new modules from a network template.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2540 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Fallback to previous version, this fix
makes Pandora server to generate events constantly.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2538 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Fixed the problem that agent status(estado)
is never updated to $new_status if initial state of new agent is
"estado != last_status" with "$new_status == last_status".
eg) When new agents are added by recontask, estado=1 and last_status=0
are set.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2535 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DataServer.pm: Fix for annoying notices from
Perl due reference to undefined variable (GIS).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2504 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Automonitoring includes now status of
database maintance and warns if more than 24hrs without running
database maintance script.
* util/pandora_db.pl: Added support to new purge parameters for
event, audits, snmp traps, string data and gis data. Added new
section to clean orphaned information (using an application -
implemented database referencial integrity model).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2500 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Set tagente_estado.current_interval to
tagente.intervalo if tagente_modulo.module_interval is 0.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2498 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Server.pm: Added spaces between server name and server
type on the event generation string.
* lib/PandoraFMS/GeoIP.pm: MaxMind GeoIP PurePerl GPL library to access
reverse geoip data.
* lib/PandoraFMS/GIS.pm: Modified to use GeoIP.pm
* lib/PandoraFMS/DataServer.pm: Moved log line in case parent_agent_name
is not defined
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2463 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* conf/pandora_server.conf: New option, update_parent to let the
agent update it's parent by sending the parent name on the XML.
* lib/PandoraFMS/Config.pm: Support for new option update_parent.
* lib/PandoraFMS/Core.pm, lib/PandoraFMS/Dataserver.pm: Modified to
update the parent of an agent at creation time and on update if
the update_parent parameter is set to 1
* man/man3/PandoraFMS::Core.pm.3: Updated manpage with the new
documentation of the interface
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2422 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm, lib/PandoraFMS/Dataserver.pm: Modified to
update the parent of an agent if in learning mode.
* man/man3/PandoraFMS::Core.pm.3: Updated manpage with the new
parameter and improved documentation for pandora_update_agent
* lib/PandoraFMS/Config.pm: Updated build
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2416 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/*.pm, DEBIAN/make_deb_package.sh, pandora_server_*:
Updated year / build. Some spaces to tabs.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2410 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Updated documentation, fixed wrong parameters
in the call to distance_moved.
* man/man3/PandoraFMS::Core.pm.3: Updated manpage.
* lib/PandoraFMS/DataServer.pm: Added the process of position_description,
parent_agent_name now is readed (TODO: process it). Fixed bug #2926077
by handling the error returned by timelocal and ignoring the received
timestamp to use the server one.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2402 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Updated docuemtation of the interface.
* man/man3/PandoraFMS::Core.pm.3: Updated manpage with the new
documentation of the interface
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2389 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Added comments to new statistical functions.
Added support for log4x in statistical functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2387 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Restored documentation lost in one of the
last commits.
* man/man3/PandoraFMS::Core.pm.3: Updated manpage with the restored
documentation
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2381 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Modified to use the new tables
(tgis_data_history and tgis_data_status).
* man/man3/PandoraFMS::Core.pm.3: Updated manpage with the new
documentation
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2379 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* conf/pandora_server.conf: New option, self_monitoring.
* lib/PandoraFMS/Config.pm: Support for new option self_monitoring.
* lib/PandoraFMS/Core.pm: Access update is not refreshed by network
modules anymore (gaining a lot of performance here). Added new functions
for internal statistics and automonitoring.
* lib/PandoraFMS/Tools.pm: New funtions for self_monitoring.
* bin/pandora_server: Modified error handler to avoid show info about bad
load of some optional libraries.
Modified general loop of maintance tasks in three
blocks: high, medium and low latency. Placed here in fixed steps (5, 30 and
one minute) all tasks pending before by server_threshold. Added
self_monitoring and internal statistic mode (for group and servers).
* util/pandora_db.pl: Update tconfig with last time of database maintance
time
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2377 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* conf/pandora_server.conf, lib/PandoraFMS/Config.pm: New configuration
parameters: recon_reverse_geolocation_mode, recon_reverse_geolocation_file,
recon_location_scatter_radius. As now the Recon Server can try to geolocate
an agent when it's found by revers geoip location.
* lib/PandoraFMS/Core.pm: Added first version of POD documentation to
create the manpage and to have most of the subrutines documented. Also
it's possible to add the description of the location to the GIS information
on the pandora_update_agent and pandora_create_agent subroutines. And
finaly moved away the GIS related functions (distance_moved) to their own
new module PandoraFMS::GIS
* lib/PandoraFMS/GIS.pm: New module to keep all the GIS related functions
of Pandora FMS. Now it exports distance_moved, get_reverse_geoip_sql,
get_reverse_geoip_file and get_random_close_point.
* lib/PandoraFMS/ReconServer.pm: Updated to get GIS information by doing
reverse IP geolocation using GIS module.
* man/man3/PandoraFMS::Core.pm.3, man/man3/PandoraFMS::GIS.pm.3: New
manpages for Core and GIS modules.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2368 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DataServer.pm: Validation of positiona parameters, check
if the parameters are defined and if they have valid values.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2350 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* bin/pandora_server: Better error management, avoiding to show Enterprise
loading errors, and showing in console critical errors, helping to identify
silly errors like DB credentials, etc.
Added usage of pandora_get_sharedconfig() to get configuration from DB.
* Config.pm: Updated build. Added pandora_get_sharedconfig(). Force three
config tokens to be readed from DB, using default values if cannot be readen
from database (agentaccess, realtimestat and stats_interval).
* Core.pm: Added new parameter to pandora_event() to pass status of the
event (validated, not validated). Implemented auto-validation of low
priority events: normal/ok events will be always shown as autovalidated, and
warning and normal events will be validated with critical events, and when
a module is restored (normal/ok), all it's warning/critical pending events
will be validated.
Fixed also bug with FF Threshold who doesnt' trigger events until FF + 1
instead FF value.
* Server.pm,
NetworkServer.pm,
Dataserver.pm,
ReconServer.pm: Raise event with status 0 (non validated) by default.
* NetworkServer.pm: Implemented support for SNMP v3.
* util/pandora_db.pm: Very important upgrade to this script. Now will
delete all huge tables (tagente_datos, tagente_datos_string and
tagent_acccess) using several independent blocks (by default 100) avoiding
mysql locks which happen in the past.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2341 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* conf/pandora_server.conf, lib/PandoraFMS/Config.pm: Added
location_error parameter
* lib/PandoraFMS/Core.pm: Fixed bugs in the creation and update of
the agent that where messing with the locations. Fixed distance on the
earth formula. Use of the location_error parameter to decide if an
agent has moved or not.
* util/pandora_xml_stress.pl, util/pandora_xml_stress.README: added
parameter timezone_offset_range to let the timezone be random in the
range given, and added the code to use it.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2332 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* conf/pandora_server.conf, lib/PandoraFMS/Config.pm,
lib/PandoraFMS/Core.pm, lib/PandoraFMS/DataServer.pm: Added activate_gis
configuration parameter, and modified Core.pm and Dataserver.pm to skip
positional data processing when activate_gis is not activated
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2305 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_server.spec: Fixed spec to be more compatible with other
RPM distros.
* lib/PandoraFMS/NetworkServer.pm: Fixed ugly/noisy message "Use of
uninitialized value $output in string eq at /usr/local/share/perl
/5.10.0/PandoraFMS/NetworkServer.pm line 268".
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2299 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Modified to unify create and update functions
using optinal parameters as Ramon sugested.
* lib/PandoraFMS/DataServer.pm: Modified to ignore invalid positional data,
use the unified functions from Core.pm, and store the agent_timestamp
modified by the agent_timezone.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2292 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Modified distance_moved function to calculate
the distance using Havesine formula to take in account the earths curvature
Modified update_agent_position to update also number_of_packages on
tgis_data
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2276 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm, lib/PandoraFMS/DataServer.pm: Fixed a bug with
some parameters called on wrong order, standarized the order of the
position parameters so always is longitude, latitude, altitude.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2274 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Modified to have different functions for the
creation and update of the agent when it has position information, also
added some auxiliary functions to store and update this position information.
* lib/PandoraFMS/DataServer.pm: Modified to use the new functions to create
and update the agent data adding also the position information.
* lib/PandoraFMS/PluginServer.pm, lib/PandoraFMS/PredictionServer.pm,
lib/PandoraFMS/NetworkServer.pm, lib/PandoraFMS/WMIServer.pm: Modified to use
again the old functions to create and update the angent as in this servers
we don't have the position information.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2272 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/DataServer.pm: Updated to process GIS information from
the .data (altitude, latitude, longitude and timezone_offset).
* lib/PandoraFMS/Core.pm: Added pandora_update_position function, to
store GIS information on the databse.
* lib/PandoraFMS/PluginServer.pm, lib/PandoraFMS/PredictionServer.pm,
lib/PandoraFMS/NetworkServer.pm, lib/PandoraFMS/WMIServer.pm: Updated
to send timezone_offset to pandora_update_agent function.
* util/pandora_xml_stress.pl, util/pandora_xml_stress.README: Updated
to generate agents with GIS information (altitude, latitude, longitude
and timezone_offset).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2262 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Fixed problem generating events with
character ' that makes SQL queries in console to fail.
* util/plugin/webcheck_plugin.sh: Christmas extra :-). Plugin
to check WEB content change (by MD5 stamp).
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2255 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm,
lib/PandoraFMS/ReconServer.pm,
lib/PandoraFMS/DataServer.pm: Use agent provided interval for agent
auto creation. The default interval was being used instead.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2237 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Fixed some typos in planned downtime subroutine.
* bin/pandora_server: Some operations like planned downtime check and
server down detection are put in a low-priority check, more efficient and
less time-consuming.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2235 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_server.spec: Added xprobe2 dep (we made the xprobe2 rpm package
so now it's possible to satisfy dependency). Alter all paths to binary from
/usr/local/bin to /usr/bin. Other minor issues in RPM fixed.
* pandora_server_installer: Added description to get deps from zypper and yum.
Installing services in debian/ubunty systems with update-rc.d.
Make check to link from /usr/local/bin to /usr/bin if install
deploy binary at /usr/local. /usr/bin is the new default.
* pandora_server_upgrade: /usr/bin as new default. Link issue fixed.
* DEBIAN/make_deb_package.sh: Fixed Makefile replace regexp to replace all
target binary to put then in the jail under /usr/bin path.
* DEBIAN/postinst: Fixed path for tentacle_server at /usr/bin
* DEBIAN/prerm: Using native debian commands to remove services.
* Tools.pm: If there is a problem loading something in the enterprise, show it
to log.
* util/pandora_server,
util/tentacle_serverd: new path to /usr/bin/
* pandora_server.conf: new path for pandora_exec to /usr/bin/
* util/plugin/udp_nmap_plugin.sh: Check parameters before calling to namp.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2220 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* lib/PandoraFMS/Core.pm: Changed spaces for tabs.
* lib/PandoraFMS/Config.pm: Updated build to last change. Changed spaces for tabs.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2193 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f