2010-02-10 Sancho Lerena <slerena@artica.es>
* pandoradb.sql: Changes in several tables and new tgroup_stat table. Added several index and dropped some fields in tagente_datos and tagente_datos_string tagent_access. * godmode/setup/setup.php, * include/functions_config.php: Management of new timezone settings and realtime stats parameters. * include/config_process.php: New timezone management. Updated build. * pandoradb_data.sql: Build update. Added new tokens realtimestats and stats_interval. * install.php: Several changes: Now display GPL licence, better SQL error management, and steps are shown now as text instead a progress bar. Also show version and build of the installer. * extensions/dbmanager.php: Removed some warnings * extras/pandoradb_migrate_v3.0_to_v3.1.sql: Updated with latest changs. * godmode/agentes/module_manager_editor_network.php godmode/agentes/configurar_agente.php godmode/agentes/module_manager_editor.php: Implemented partial support for SNMP v3. Miguel will finish the work :-) * index.php: Session close function deprecated, replaced by a more standard method with unset. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2338 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
a41e8389ce
commit
4103e04156
|
@ -1,3 +1,34 @@
|
|||
2010-02-10 Sancho Lerena <slerena@artica.es>
|
||||
|
||||
* pandoradb.sql: Changes in several tables and new tgroup_stat table.
|
||||
Added several index and dropped some fields in tagente_datos and
|
||||
tagente_datos_string tagent_access.
|
||||
|
||||
* godmode/setup/setup.php,
|
||||
* include/functions_config.php: Management of new timezone settings and
|
||||
realtime stats parameters.
|
||||
|
||||
* include/config_process.php: New timezone management. Updated build.
|
||||
|
||||
* pandoradb_data.sql: Build update. Added new tokens realtimestats and
|
||||
stats_interval.
|
||||
|
||||
* install.php: Several changes: Now display GPL licence, better SQL error
|
||||
management, and steps are shown now as text instead a progress bar. Also
|
||||
show version and build of the installer.
|
||||
|
||||
* extensions/dbmanager.php: Removed some warnings
|
||||
|
||||
* extras/pandoradb_migrate_v3.0_to_v3.1.sql: Updated with latest changs.
|
||||
|
||||
* godmode/agentes/module_manager_editor_network.php
|
||||
godmode/agentes/configurar_agente.php
|
||||
godmode/agentes/module_manager_editor.php: Implemented partial support for
|
||||
SNMP v3. Miguel will finish the work :-)
|
||||
|
||||
* index.php: Session close function deprecated, replaced by a more standard
|
||||
method with unset.
|
||||
|
||||
2010-02-10 Miguel de Dios <miguel.dedios@artica.es>
|
||||
|
||||
* include/functions_gis.php: add in the function "getAgentMap" a new
|
||||
|
|
|
@ -30,11 +30,6 @@ function dbmanager_query ($sql, &$error) {
|
|||
}
|
||||
|
||||
if ($result === true) {
|
||||
if ($rettype == "insert_id") {
|
||||
return mysql_insert_id ();
|
||||
} elseif ($rettype == "info") {
|
||||
return mysql_info ();
|
||||
}
|
||||
return mysql_affected_rows ();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,12 +9,46 @@ ALTER TABLE `tgraph_source` CHANGE `weight` `weight` float(5,3) UNSIGNED NOT NUL
|
|||
|
||||
ALTER TABLE `tserver_export` ADD `timezone_offset` TINYINT(2) NULL DEFAULT '0' COMMENT 'Nuber of hours of diference with the server timezone';
|
||||
|
||||
ALTER TABLE `tserver` ADD `lag_time` int(11) NOT NULL default 0;
|
||||
ALTER TABLE `tserver` ADD `lag_modules` int(11) NOT NULL default 0;
|
||||
ALTER TABLE `tserver` ADD `total_modules_running` int(11) NOT NULL default 0;
|
||||
ALTER TABLE `tserver` ADD `my_modules` int(11) NOT NULL default 0;
|
||||
|
||||
ALTER TABLE `tagente_modulo` ADD `custom_string_1` text default '';
|
||||
ALTER TABLE `tagente_modulo` ADD `custom_string_2` text default '';
|
||||
ALTER TABLE `tagente_modulo` ADD `custom_string_3` text default '';
|
||||
ALTER TABLE `tagente_modulo` ADD `custom_integer_1` int(10) default 0;
|
||||
ALTER TABLE `tagente_modulo` ADD `custom_integer_2` int(10) default 0;
|
||||
|
||||
ALTER TABLE tagente_datos_string DROP id_tagente_datos_string;
|
||||
CREATE INDEX idx_utimestamp USING BTREE ON tagente_datos_string(utimestamp);
|
||||
|
||||
ALTER TABLE tagente_datos DROP id_agente_datos;
|
||||
CREATE INDEX idx_utimestamp USING BTREE ON tagente_datos(utimestamp);
|
||||
|
||||
CREATE INDEX idx_agente USING BTREE ON tagente_estado(id_agente);
|
||||
CREATE INDEX idx_template_action USING BTREE ON talert_templates(id_alert_action);
|
||||
CREATE INDEX idx_template_module USING BTREE ON talert_template_modules(id_agent_module);
|
||||
CREATE INDEX idx_agentmodule USING BTREE ON tevento(id_agentmodule);
|
||||
|
||||
DROP INDEX `status_index_2` on tagente_estado;
|
||||
CREATE INDEX idx_status USING BTREE ON tagente_estado (estado);
|
||||
|
||||
ALTER TABLE tagent_access DROP id_ac;
|
||||
CREATE INDEX idx_utimestamp USING BTREE ON tagent_access(utimestamp);
|
||||
|
||||
ALTER TABLE tusuario ADD `timezone` varchar(50) default '';
|
||||
|
||||
-- GIS extension Tables and DATA
|
||||
|
||||
-- GIS is disabled by default
|
||||
INSERT INTO tconfig (`token`, `value`) VALUES ('activate_gis', '0');
|
||||
|
||||
-- Realtime statistics on/off and interval
|
||||
INSERT INTO tconfig (`token`, `value`) VALUES ('realtimestats', '1');
|
||||
INSERT INTO tconfig (`token`, `value`) VALUES ('stats_interval', '300');
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `tgis_data`
|
||||
-- -----------------------------------------------------
|
||||
|
@ -149,3 +183,25 @@ CREATE TABLE IF NOT EXISTS `tgis_map_layer_has_tagente` (
|
|||
ENGINE = InnoDB
|
||||
COMMENT = 'Table to define wich agents are shown in a layer';
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `tgroup_stat`
|
||||
-- -----------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tgroup_stat` (
|
||||
`id_group` int(10) unsigned NOT NULL default '0',
|
||||
`modules` int(10) unsigned NOT NULL default '0',
|
||||
`normal` int(10) unsigned NOT NULL default '0',
|
||||
`critical` int(10) unsigned NOT NULL default '0',
|
||||
`warning` int(10) unsigned NOT NULL default '0',
|
||||
`unknown` int(10) unsigned NOT NULL default '0',
|
||||
`non-init` int(10) unsigned NOT NULL default '0',
|
||||
`alerts` int(10) unsigned NOT NULL default '0',
|
||||
`alerts_fired` int(10) unsigned NOT NULL default '0',
|
||||
`agents` int(10) unsigned NOT NULL default '0',
|
||||
`agents_uknown` int(10) unsigned NOT NULL default '0',
|
||||
`utimestamp` int(20) unsigned NOT NULL default 0,
|
||||
PRIMARY KEY (`id_group`)
|
||||
) ENGINE=InnoDB
|
||||
COMMENT = 'Table to store global system stats per group';
|
||||
DEFAULT CHARSET=utf8
|
||||
|
||||
|
|
|
@ -444,18 +444,40 @@ if ($update_module || $create_module) {
|
|||
$tcp_send = (string) get_parameter ('tcp_send');
|
||||
$tcp_rcv = (string) get_parameter ('tcp_rcv');
|
||||
$tcp_port = (int) get_parameter ('tcp_port');
|
||||
|
||||
$custom_string_1 = "";
|
||||
$custom_string_2 = "";
|
||||
$custom_string_3 = "";
|
||||
$custom_integer_1 = "";
|
||||
$custom_integer_2 = "";
|
||||
|
||||
$snmp_community = (string) get_parameter ('snmp_community');
|
||||
$snmp_oid = (string) get_parameter ('snmp_oid');
|
||||
|
||||
if (empty ($snmp_oid)) {
|
||||
/* The user did not set any OID manually but did a SNMP walk */
|
||||
$snmp_oid = (string) get_parameter ('select_snmp_oid');
|
||||
}
|
||||
|
||||
if ($id_module_type >= 15 && $id_module_type <= 18){
|
||||
// New support for snmp v3
|
||||
$tcp_send = (string) get_parameter ('snmp_version');
|
||||
$plugin_user = (string) get_parameter ('snmp3_auth_user');
|
||||
$plugin_pass = (string) get_parameter ('snmp3_auth_pass');
|
||||
$plugin_parameter = (string) get_parameter ('snmp3_auth_method');
|
||||
|
||||
$custom_string_1 = (string) get_parameter ('snmp3_privacy_method');
|
||||
$custom_string_2 = (string) get_parameter ('snmp3_privacy_pass');
|
||||
$custom_string_3 = (string) get_parameter ('snmp3_security_level');
|
||||
}
|
||||
|
||||
$ip_target = (string) get_parameter ('ip_target');
|
||||
$plugin_user = (string) get_parameter ('plugin_user');
|
||||
if (get_parameter('id_module_component_type') == 7)
|
||||
$plugin_pass = (int) get_parameter ('plugin_pass');
|
||||
else
|
||||
$plugin_pass = (string) get_parameter ('plugin_pass');
|
||||
|
||||
$plugin_parameter = (string) get_parameter ('plugin_parameter');
|
||||
$custom_id = (string) get_parameter ('custom_id');
|
||||
$history_data = (int) get_parameter('history_data');
|
||||
|
@ -499,6 +521,11 @@ if ($update_module) {
|
|||
'max_warning' => $max_warning,
|
||||
'min_critical' => $min_critical,
|
||||
'max_critical' => $max_critical,
|
||||
'custom_string_1' => $custom_string_1,
|
||||
'custom_string_2' => $custom_string_2,
|
||||
'custom_string_3' => $custom_string_3,
|
||||
'custom_integer_1' => $custom_integer_1,
|
||||
'custom_integer_2' => $custom_integer_2,
|
||||
'min_ff_event' => $ff_event));
|
||||
|
||||
if ($result === false) {
|
||||
|
@ -556,6 +583,11 @@ if ($create_module) {
|
|||
'max_warning' => $max_warning,
|
||||
'min_critical' => $min_critical,
|
||||
'max_critical' => $max_critical,
|
||||
'custom_string_1' => $custom_string_1,
|
||||
'custom_string_2' => $custom_string_2,
|
||||
'custom_string_3' => $custom_string_3,
|
||||
'custom_integer_1' => $custom_integer_1,
|
||||
'custom_integer_2' => $custom_integer_2,
|
||||
'min_ff_event' => $ff_event
|
||||
));
|
||||
|
||||
|
|
|
@ -115,6 +115,22 @@ if ($id_agent_module) {
|
|||
$tcp_rcv = $module['tcp_rcv'];
|
||||
$snmp_community = $module['snmp_community'];
|
||||
$snmp_oid = $module['snmp_oid'];
|
||||
|
||||
// New support for snmp v3
|
||||
$snmp_version = $module['tcp_send'];
|
||||
$snmp3_auth_user = $module["plugin_user"];
|
||||
$snmp3_auth_pass = $module["plugin_pass"];
|
||||
|
||||
// Auth method could be MD5 or SHA
|
||||
$snmp3_auth_method = $module["plugin_parameter"];
|
||||
|
||||
// Privacy method could be DES or AES
|
||||
$snmp3_privacy_method = $module["custom_string_1"];
|
||||
$snmp3_privacy_pass = $module["custom_string_2"];
|
||||
|
||||
// Security level Could be noAuthNoPriv | authNoPriv | authPriv
|
||||
$snmp3_security_level = $module["custom_string_3"];
|
||||
|
||||
$ip_target = $module['ip_target'];
|
||||
if (empty ($ip_target)) {
|
||||
$ip_target = get_agent_address ($id_agente);
|
||||
|
@ -173,6 +189,15 @@ if ($id_agent_module) {
|
|||
$min_critical = 0;
|
||||
$max_critical = 0;
|
||||
$ff_event = 0;
|
||||
|
||||
// New support for snmp v3
|
||||
$snmp_version = 1;
|
||||
$snmp3_auth_user = "";
|
||||
$snmp3_auth_pass = "";
|
||||
$snmp3_auth_method = "";
|
||||
$snmp3_privacy_method = "";
|
||||
$snmp3_privacy_pass = "";
|
||||
$snmp3_security_level = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -253,6 +278,7 @@ if ($id_agent_module) {
|
|||
print_submit_button (__('Update'), 'updbutton', false, 'class="sub upd"');
|
||||
print_input_hidden ('update_module', 1);
|
||||
print_input_hidden ('id_agent_module', $id_agent_module);
|
||||
print_input_hidden ('id_module_type', $id_module_type);
|
||||
} else {
|
||||
print_submit_button (__('Create'), 'crtbutton', false, 'class="sub wand"');
|
||||
print_input_hidden ('id_module', $moduletype);
|
||||
|
|
|
@ -49,12 +49,14 @@ push_table_simple ($data, 'target_ip');
|
|||
$snmp_versions['1'] = 'v. 1';
|
||||
$snmp_versions['2'] = 'v. 2';
|
||||
$snmp_versions['2c'] = 'v. 2c';
|
||||
$snmp_versions['3'] = 'v. 3';
|
||||
|
||||
$data = array ();
|
||||
$data[0] = __('SNMP community');
|
||||
$data[1] = print_input_text ('snmp_community', $snmp_community, '', 15, 60, true, $disabledBecauseInPolicy);
|
||||
|
||||
$data[2] = _('SNMP version');
|
||||
$snmp_version = 1;
|
||||
|
||||
if ($id_module_type >= 15 && $id_module_type <= 18) {
|
||||
$data[3] = print_select ($snmp_versions, 'snmp_version', $snmp_version,
|
||||
'', '', '', true, false, false, '', $disabledBecauseInPolicy);
|
||||
|
|
|
@ -123,6 +123,16 @@ $table->data[16][0] = __('Enable GIS features in Pandora Console');
|
|||
$table->data[16][1] = __('Yes').' '.print_radio_button ('activate_gis', 1, '', $config["activate_gis"], true).' ';
|
||||
$table->data[16][1] .= __('No').' '.print_radio_button ('activate_gis', 0, '', $config["activate_gis"], true);
|
||||
|
||||
$table->data[17][0] = __('Use realtime statistics');
|
||||
$table->data[17][1] = __('Yes').' '.print_radio_button ('realtimestats', 1, '', $config["realtimestats"], true).' ';
|
||||
$table->data[17][1] .= __('No').' '.print_radio_button ('realtimestats', 0, '', $config["realtimestats"], true);
|
||||
|
||||
$table->data[18][0] = __('Batch statistics period (secs)');
|
||||
$table->data[18][1] = print_input_text ('stats_interval', $config["stats_interval"], '', 5, 5, true);
|
||||
|
||||
$table->data[19][0] = __('Timezone setup');
|
||||
$table->data[19][1] = print_input_text ('timezone', $config["timezone"], '', 15, 15, true);
|
||||
|
||||
enterprise_hook ('setup');
|
||||
|
||||
echo '<form id="form_setup" method="post">';
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC100202';
|
||||
$build_version = 'PC100209';
|
||||
$pandora_version = 'v3.1-dev';
|
||||
|
||||
/* Help to debug problems. Override global PHP configuration */
|
||||
|
@ -49,13 +49,6 @@ else {
|
|||
ini_set("error_log", $config["homedir"]."/pandora_console.log");
|
||||
}
|
||||
|
||||
// Set a default timezone default if not configured
|
||||
// to avoid warnings and bad timestamp calculation in PHP > 5.1
|
||||
|
||||
if (ini_get('date.timezone') == ""){
|
||||
date_default_timezone_set("Europe/Berlin");
|
||||
}
|
||||
|
||||
$config['start_time'] = microtime (true);
|
||||
|
||||
// Non-persistent connection: This will help to avoid mysql errors like "has gone away" or locking problems
|
||||
|
@ -82,12 +75,21 @@ global $REMOTE_ADDR;
|
|||
$config["remote_addr"] = $_SERVER['REMOTE_ADDR'];
|
||||
$config['user_language'] = $config["language"];
|
||||
|
||||
// Set a the system timezone default
|
||||
date_default_timezone_set($config["timezone"]);
|
||||
|
||||
// Set user language if provided, overriding System language
|
||||
if (isset ($config['id_user'])){
|
||||
$userinfo = get_user_info ($config['id_user']);
|
||||
if ($userinfo["language"] != ""){
|
||||
$config['user_language'] = $userinfo["language"];
|
||||
}
|
||||
|
||||
// Each user could have it's own timezone)
|
||||
if ($userinfo["timezone"] != ""){
|
||||
date_default_timezone_set($userinfo["timezone"]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$l10n = NULL;
|
||||
|
@ -107,6 +109,15 @@ require_once ('functions_extensions.php');
|
|||
|
||||
$config['extensions'] = get_extensions ();
|
||||
|
||||
// Detect if enterprise extension is installed
|
||||
// NOTICE: This variable (config[enterprise_installed] is used in several
|
||||
// sections. Faking or forcing to 1 will make pandora fails.
|
||||
|
||||
if (file_exists ($config["homedir"].'/'.ENTERPRISE_DIR.'/index.php'))
|
||||
$config['enterprise_installed'] = 1;
|
||||
else
|
||||
$config['enterprise_installed'] = 0;
|
||||
|
||||
// Connect to the history DB
|
||||
if (isset($config['history_db_enabled'])) {
|
||||
if ($config['history_db_enabled']) {
|
||||
|
|
|
@ -169,8 +169,14 @@ function update_config () {
|
|||
update_config_value ('history_db_step', (string) get_parameter ('history_db_step', $config['history_db_step']));
|
||||
update_config_value ('history_db_delay', (string) get_parameter ('history_db_delay', $config['history_db_delay']));
|
||||
|
||||
update_config_value ('timezone', (string) get_parameter ('timezone', $config['timezone']));
|
||||
update_config_value ('activate_gis', (bool) get_parameter ('activate_gis', $config['activate_gis']));
|
||||
|
||||
update_config_value ('stats_interval', get_parameter ('stats_interval', $config['stats_interval']));
|
||||
|
||||
update_config_value ('realtimestats', get_parameter ('realtimestats', $config['realtimestats']));
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -261,6 +267,18 @@ function process_config () {
|
|||
update_config_value ('agentaccess', true);
|
||||
}
|
||||
|
||||
if (!isset ($config["timezone"])){
|
||||
update_config_value ('timezone', "Europe/Berlin");
|
||||
}
|
||||
|
||||
if (!isset ($config["stats_interval"])){
|
||||
update_config_value ('stats_interval', 300);
|
||||
}
|
||||
|
||||
if (!isset ($config["realtimestats"])){
|
||||
update_config_value ('realtimestats', 1);
|
||||
}
|
||||
|
||||
/*
|
||||
*Parse the ACL IP list for access API that it's save in chunks as
|
||||
*list_ACL_IPs_for_API_<num>, because the value has a limit of 100
|
||||
|
|
|
@ -197,7 +197,9 @@ if (isset ($_GET["bye"])) {
|
|||
include ("general/logoff.php");
|
||||
$iduser = $_SESSION["id_usuario"];
|
||||
logoff_db ($iduser, $REMOTE_ADDR);
|
||||
session_unregister ("id_usuario");
|
||||
// Unregister Session (compatible with 5.2 and 6.x, old code was deprecated
|
||||
unset($_SESSION['id_usuario']);
|
||||
unset($iduser);
|
||||
while (@ob_end_flush ());
|
||||
exit ("</html>");
|
||||
}
|
||||
|
|
|
@ -34,6 +34,10 @@
|
|||
|
||||
<?php
|
||||
|
||||
$version = "3.1-dev";
|
||||
$build = "100209";
|
||||
$banner = "v$version Build $build";
|
||||
|
||||
error_reporting(0);
|
||||
|
||||
function check_extension ( $ext, $label ){
|
||||
|
@ -152,9 +156,9 @@ function parse_mysql_dump($url){
|
|||
if(trim($sql_line) != "" && strpos($sql_line, "--") === false){
|
||||
$query .= $sql_line;
|
||||
if(preg_match("/;[\040]*\$/", $sql_line)){
|
||||
// echo "DEBUG $query <br>"; //Uncomment for debug
|
||||
if (!$result = mysql_query($query)) {
|
||||
// echo mysql_errno() . ": " . mysql_error(); //Uncomment for debug
|
||||
echo mysql_error(); //Uncomment for debug
|
||||
echo "<i><br>$query<br></i>";
|
||||
return 0;
|
||||
}
|
||||
$query = "";
|
||||
|
@ -175,13 +179,28 @@ function random_name ($size){
|
|||
return $temp;
|
||||
}
|
||||
|
||||
function print_logo_status ($step, $step_total){
|
||||
global $banner;
|
||||
|
||||
echo "
|
||||
<div id='logo_img'>
|
||||
<img src='images/pandora_logo.png' border='0'><br>
|
||||
<span style='font-size: 8px;'>$banner</span>
|
||||
<br><br>
|
||||
<b>Install step $step of $step_total</b>
|
||||
</div>";
|
||||
}
|
||||
|
||||
|
||||
function install_step1() {
|
||||
global $banner;
|
||||
|
||||
echo "
|
||||
<div id='install_container'>
|
||||
<h1>Pandora FMS installation wizard. Step #1 of 4</h1>
|
||||
<h1>Pandora FMS installation wizard. Step #1 of 5</h1>
|
||||
<div id='wizard' style='height: 490px;'>
|
||||
<div id='install_box'>
|
||||
<h2>Welcome to Pandora FMS 3.0 installation Wizard</h2>
|
||||
<h2>Welcome to Pandora FMS installation Wizard</h2>
|
||||
<p>This wizard helps you to quick install Pandora FMS console in your system.</p>
|
||||
<p>In four steps checks all dependencies and make your configuration
|
||||
for a quick installation.</p>
|
||||
|
@ -208,16 +227,15 @@ function install_step1() {
|
|||
please download the migration tool from our website at
|
||||
<a href='http://www.pandorafms.com'>PandoraFMS.com web site</a>.</div>";
|
||||
|
||||
echo "
|
||||
</div>
|
||||
<div id='logo_img'>
|
||||
<img src='images/pandora_logo.png' border='0'><br>
|
||||
<img src='images/step0.png' border='0'>
|
||||
</div>
|
||||
<div id='install_img'>";
|
||||
echo "</div>";
|
||||
|
||||
print_logo_status (1, 5);
|
||||
|
||||
echo "<div id='install_img'>";
|
||||
if ($writable == 0) {
|
||||
echo "
|
||||
<a href='install.php?step=2'><img align='right' src='images/arrow_next.png' border='0'></a>";
|
||||
<br><br>
|
||||
<a href='install.php?step=11'><img align='right' src='images/arrow_next.png' border='0'></a>";
|
||||
}
|
||||
else
|
||||
echo "<div class='warn'><b>ERROR:</b>You need to setup permissions to be able to write in ./include directory</div>";
|
||||
|
@ -231,11 +249,49 @@ function install_step1() {
|
|||
</div>";
|
||||
}
|
||||
|
||||
|
||||
function install_step2() {
|
||||
function install_step1_licence() {
|
||||
echo "
|
||||
<div id='install_container'>
|
||||
<h1>Pandora FMS console installation wizard. Step #2 of 4</h1>
|
||||
<h1>Pandora FMS installation wizard. Step #2 of 5</h1>
|
||||
<div id='wizard' style='height: 520px;'>
|
||||
<div id='install_box'>
|
||||
<h2>GPL2 Licence terms agreement</h2>
|
||||
<p>Pandora FMS is an OpenSource software project licensed under the GPL2 licence. Pandora FMS includes, as well, another software also licensed under LGPL and BSD licenses. Before continue, <i>you must accept the licence terms.</i>.
|
||||
<p>For more information, please refer to our website at http://pandorafms.org and contact us if you have any kind of question about the usage of Pandora FMS</p>
|
||||
<p>If you dont accept the licence terms, please, close your browser and delete Pandora FMS files.</p>
|
||||
";
|
||||
|
||||
if (!file_exists("COPYING")){
|
||||
echo "<div class='warn'><b>Licence file 'COPYING' is not present in your distribution. This means you have some 'partial' Pandora FMS distribution. We cannot continue without accepting the licence file.";
|
||||
echo "</div>";
|
||||
} else {
|
||||
|
||||
echo "<form method=post action='install.php?step=2'>";
|
||||
echo "<textarea name='gpl2' cols=50 rows=20>";
|
||||
echo file_get_contents ("COPYING");
|
||||
echo "</textarea>";
|
||||
echo "<p>";
|
||||
echo "<input type=submit value='I understand and accept the licence terms'>";
|
||||
|
||||
}
|
||||
echo "</div>";
|
||||
|
||||
print_logo_status (2, 5);
|
||||
|
||||
echo "</div>
|
||||
<div style='clear: both;height: 1px;'><!-- --></div>
|
||||
<div id='foot_install'>
|
||||
<i>Pandora FMS is an OpenSource Software project registered at
|
||||
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
|
||||
</div>
|
||||
</div>";
|
||||
}
|
||||
|
||||
function install_step2() {
|
||||
|
||||
echo "
|
||||
<div id='install_container'>
|
||||
<h1>Pandora FMS console installation wizard. Step #3 of 5</h1>
|
||||
<div id='wizard' style='min-height: 390px;'>
|
||||
<div id='install_box'>";
|
||||
echo "<h2>Checking software dependencies</h2>";
|
||||
|
@ -253,23 +309,21 @@ function install_step2() {
|
|||
$res += check_include("XML/RPC.php","PEAR::XML_RPC PHP Library");
|
||||
$res += check_exists ("/usr/bin/twopi","Graphviz Binary");
|
||||
|
||||
echo "</table>
|
||||
</div>
|
||||
<div id='logo_img'>
|
||||
<img src='images/pandora_logo.png' border='0'' alt=''><br>
|
||||
<img src='images/step1.png' border='0' alt=''>
|
||||
</div>
|
||||
<div id='install_img'>";
|
||||
echo "</table>";
|
||||
echo "</div>";
|
||||
print_logo_status (3,5);
|
||||
|
||||
echo "<div id='install_img'>";
|
||||
if ($res > 0) {
|
||||
echo "
|
||||
<div class='warn'>You have some incomplete
|
||||
dependencies. Please correct them or this installer
|
||||
will not be able to finish your installation.
|
||||
</div>
|
||||
Ignore it. <a href='install.php?step=3' style='font-weight: bolder;'>Force install Step #3</a>";
|
||||
Ignore it. <a href='install.php?step=3' style='font-weight: bolder;'>Force install Step #4</a>";
|
||||
}
|
||||
else {
|
||||
echo "<a href='install.php?step=3'>
|
||||
echo "<a href='install.php?step=3'><br>
|
||||
<img align='right' src='images/arrow_next.png' border='0' alt=''></a>";
|
||||
}
|
||||
echo "
|
||||
|
@ -287,7 +341,7 @@ function install_step2() {
|
|||
function install_step3() {
|
||||
echo "
|
||||
<div id='install_container'>
|
||||
<h1>Pandora FMS console installation wizard. Step #3 of 4 </h1>
|
||||
<h1>Pandora FMS console installation wizard. Step #4 of 5 </h1>
|
||||
<div id='wizard' style='height: 640px;'>
|
||||
<div id='install_box'>
|
||||
<h2>Environment and database setup</h2>
|
||||
|
@ -338,16 +392,15 @@ function install_step3() {
|
|||
<input class='login' type='text' name='url' style='width: 250px;'
|
||||
value='".dirname ($_SERVER["SCRIPT_NAME"])."'>
|
||||
|
||||
<div align='right'>
|
||||
<div align='right'><br>
|
||||
<input type='image' src='images/arrow_next.png' value='Step #4' id='step4'>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id='logo_img'>
|
||||
<img src='images/pandora_logo.png' border='0' alt=''><br>
|
||||
<img src='images/step2.png' border='0' alt=''>
|
||||
</div>
|
||||
</div>
|
||||
</div>";
|
||||
|
||||
print_logo_status (4,5);
|
||||
|
||||
echo "</div>
|
||||
<div id='foot_install'>
|
||||
<i>Pandora FMS is an OpenSource Software project registered at
|
||||
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
|
||||
|
@ -392,8 +445,8 @@ function install_step4() {
|
|||
|
||||
echo "
|
||||
<div id='install_container'>
|
||||
<h1>Pandora FMS Console installation wizard. Step #4 of 4</h1>
|
||||
<div id='wizard' style='height: 400px;'>
|
||||
<h1>Pandora FMS Console installation wizard. Step #5 of 5</h1>
|
||||
<div id='wizard' style='height: 480px;'>
|
||||
<div id='install_box'>
|
||||
<h2>Creating database and default configuration file</h2>
|
||||
<table>";
|
||||
|
@ -458,13 +511,11 @@ function install_step4() {
|
|||
if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) {
|
||||
$everything_ok = 1;
|
||||
}
|
||||
echo "</table></div>
|
||||
<div id='logo_img'>
|
||||
<img src='images/pandora_logo.png' border='0' alt=''><br>
|
||||
<img src='images/step3.png' border='0' alt=''>
|
||||
</div>
|
||||
echo "</table></div>";
|
||||
|
||||
<div id='install_img'>";
|
||||
print_logo_status (4,5);
|
||||
|
||||
echo "<div id='install_img'>";
|
||||
if ($everything_ok == 1) {
|
||||
echo "<br><br><a href='install.php?step=5'>
|
||||
<img align='right' src='images/arrow_next.png' border='0' alt=''></a>";
|
||||
|
@ -473,8 +524,7 @@ function install_step4() {
|
|||
echo "<div class='warn'><b>There were some problems.
|
||||
Installation was not completed.</b>
|
||||
<p>Please correct failures before trying again.
|
||||
All database schemes created in this step have been dropped.
|
||||
Try to reload this page if you have a present Pandora FMS configuration.</p>
|
||||
All database schemes created in this step have been dropped. </p>
|
||||
</div>";
|
||||
|
||||
if (mysql_error() != "")
|
||||
|
@ -509,12 +559,9 @@ function install_step5() {
|
|||
for updates.
|
||||
<p><br><b><a href='index.php'>Click here to access to your Pandora FMS console</a>.</b>
|
||||
</p>
|
||||
</div>
|
||||
<div id='logo_img'>
|
||||
<img src='images/pandora_logo.png' border='0'><br>
|
||||
<img src='images/step4.png' border='0'><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>";
|
||||
print_logo_status (5,5);
|
||||
echo "</div>
|
||||
<div id='foot_install'>
|
||||
<i>Pandora FMS is an OpenSource Software project registered at
|
||||
<a target='_new' href='http://pandora.sourceforge.net'>SourceForge</a></i>
|
||||
|
@ -532,6 +579,8 @@ if (! isset($_GET["step"])){
|
|||
} else {
|
||||
$step = $_GET["step"];
|
||||
switch ($step) {
|
||||
case 11: install_step1_licence();
|
||||
break;
|
||||
case 2: install_step2();
|
||||
break;
|
||||
case 3: install_step3();
|
||||
|
|
|
@ -70,12 +70,11 @@ CREATE TABLE IF NOT EXISTS `tagente` (
|
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tagente_datos` (
|
||||
`id_agente_datos` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`id_agente_modulo` int(10) unsigned NOT NULL default '0',
|
||||
`datos` double(18,2) default NULL,
|
||||
`utimestamp` bigint(20) default '0',
|
||||
PRIMARY KEY (`id_agente_datos`),
|
||||
KEY `data_index1` (`id_agente_modulo`)
|
||||
KEY `data_index1` (`id_agente_modulo`),
|
||||
KEY `idx_utimestamp` (`utimestamp`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tagente_datos_inc` (
|
||||
|
@ -89,12 +88,11 @@ CREATE TABLE IF NOT EXISTS `tagente_datos_inc` (
|
|||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tagente_datos_string` (
|
||||
`id_tagente_datos_string` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`id_agente_modulo` int(10) unsigned NOT NULL default '0',
|
||||
`datos` text NOT NULL,
|
||||
`utimestamp` int(20) unsigned NOT NULL default 0,
|
||||
PRIMARY KEY (`id_tagente_datos_string`),
|
||||
KEY `data_string_index_1` (`id_agente_modulo`)
|
||||
KEY `data_string_index_1` (`id_agente_modulo`),
|
||||
KEY `idx_utimestamp` (`utimestamp`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- delete "cambio" not used anymore
|
||||
|
@ -114,7 +112,8 @@ CREATE TABLE `tagente_estado` (
|
|||
`last_status` tinyint(4) default 0,
|
||||
PRIMARY KEY (`id_agente_estado`),
|
||||
KEY `status_index_1` (`id_agente_modulo`),
|
||||
KEY `status_index_2` (`id_agente_modulo`,`estado`),
|
||||
KEY `idx_agente` (`id_agente`),
|
||||
KEY `idx_status` (`estado`),
|
||||
KEY `current_interval` (`current_interval`),
|
||||
KEY `running_by` (`running_by`),
|
||||
KEY `last_execution_try` (`last_execution_try`)
|
||||
|
@ -166,6 +165,11 @@ CREATE TABLE IF NOT EXISTS `tagente_modulo` (
|
|||
`max_critical` double(18,2) default 0,
|
||||
`min_ff_event` int(4) unsigned default '0',
|
||||
`delete_pending` int(1) unsigned default 0,
|
||||
`custom_string_1` text default '',
|
||||
`custom_string_2` text default '',
|
||||
`custom_string_3` text default '',
|
||||
`custom_integer_1` int(10) default 0,
|
||||
`custom_integer_2` int(10) default 0,
|
||||
PRIMARY KEY (`id_agente_modulo`),
|
||||
KEY `main_idx` (`id_agente_modulo`,`id_agente`),
|
||||
KEY `tam_agente` (`id_agente`),
|
||||
|
@ -176,11 +180,10 @@ CREATE TABLE IF NOT EXISTS `tagente_modulo` (
|
|||
-- snmp_oid is also used for WMI query
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tagent_access` (
|
||||
`id_ac` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`id_agent` int(10) unsigned NOT NULL default '0',
|
||||
`utimestamp` bigint(20) NOT NULL default '0',
|
||||
PRIMARY KEY (`id_ac`),
|
||||
KEY `agent_index` (`id_agent`)
|
||||
KEY `agent_index` (`id_agent`),
|
||||
KEY `idx_utimestamp` (`utimestamp`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `talert_snmp` (
|
||||
|
@ -257,6 +260,7 @@ CREATE TABLE IF NOT EXISTS `talert_templates` (
|
|||
`priority` tinyint(4) default '0',
|
||||
`id_group` mediumint(8) unsigned NULL default 0,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_template_action` (`id_alert_action`),
|
||||
FOREIGN KEY (`id_alert_action`) REFERENCES talert_actions(`id`)
|
||||
ON DELETE SET NULL ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
@ -273,6 +277,7 @@ CREATE TABLE IF NOT EXISTS `talert_template_modules` (
|
|||
`priority` tinyint(4) default '0',
|
||||
`force_execution` tinyint(1) default '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_template_module` (`id_agent_module`),
|
||||
FOREIGN KEY (`id_agent_module`) REFERENCES tagente_modulo(`id_agente_modulo`)
|
||||
ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
FOREIGN KEY (`id_alert_template`) REFERENCES talert_templates(`id`)
|
||||
|
@ -398,7 +403,8 @@ CREATE TABLE IF NOT EXISTS `tevento` (
|
|||
`user_comment` varchar(255) NOT NULL default '',
|
||||
PRIMARY KEY (`id_evento`),
|
||||
KEY `indice_1` (`id_agente`,`id_evento`),
|
||||
KEY `indice_2` (`utimestamp`,`id_evento`)
|
||||
KEY `indice_2` (`utimestamp`,`id_evento`),
|
||||
KEY `idx_agentmodule` (`id_agentmodule`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Criticity: 0 - Maintance (grey)
|
||||
|
@ -598,6 +604,10 @@ CREATE TABLE IF NOT EXISTS `tserver` (
|
|||
`server_type` tinyint(3) unsigned NOT NULL default '0',
|
||||
`queued_modules` int(5) unsigned NOT NULL default '0',
|
||||
`threads` int(5) unsigned NOT NULL default '0',
|
||||
`lag_time` int(11) NOT NULL default 0,
|
||||
`lag_modules` int(11) NOT NULL default 0,
|
||||
`total_modules_running` int(11) NOT NULL default 0,
|
||||
`my_modules` int(11) NOT NULL default 0,
|
||||
PRIMARY KEY (`id_server`),
|
||||
KEY `name` (`name`),
|
||||
KEY `keepalive` (`keepalive`),
|
||||
|
@ -670,6 +680,7 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
|
|||
`phone` varchar(100) default NULL,
|
||||
`is_admin` tinyint(1) unsigned NOT NULL default '0',
|
||||
`language` varchar(10) default NULL,
|
||||
`timezone` varchar(50) default '',
|
||||
UNIQUE KEY `id_user` (`id_user`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
@ -994,3 +1005,26 @@ CREATE TABLE IF NOT EXISTS `tgis_map_layer_has_tagente` (
|
|||
ENGINE = InnoDB
|
||||
COMMENT = 'Table to define wich agents are shown in a layer';
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `tgroup_stat`
|
||||
-- -----------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `tgroup_stat` (
|
||||
`id_group` int(10) unsigned NOT NULL default '0',
|
||||
`modules` int(10) unsigned NOT NULL default '0',
|
||||
`normal` int(10) unsigned NOT NULL default '0',
|
||||
`critical` int(10) unsigned NOT NULL default '0',
|
||||
`warning` int(10) unsigned NOT NULL default '0',
|
||||
`unknown` int(10) unsigned NOT NULL default '0',
|
||||
`non-init` int(10) unsigned NOT NULL default '0',
|
||||
`alerts` int(10) unsigned NOT NULL default '0',
|
||||
`alerts_fired` int(10) unsigned NOT NULL default '0',
|
||||
`agents` int(10) unsigned NOT NULL default '0',
|
||||
`agents_uknown` int(10) unsigned NOT NULL default '0',
|
||||
`utimestamp` int(20) unsigned NOT NULL default 0,
|
||||
PRIMARY KEY (`id_group`)
|
||||
) ENGINE=InnoDB
|
||||
COMMENT = 'Table to store global system stats per group'
|
||||
DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
|
|
|
@ -46,8 +46,8 @@ INSERT INTO `tconfig` VALUES
|
|||
(5,'days_compact','15'),
|
||||
(6,'graph_res','5'),
|
||||
(7,'step_compact','1'),
|
||||
(8,'db_scheme_version','3.0'),
|
||||
(9,'db_scheme_build','PD91218'),
|
||||
(8,'db_scheme_version','3.1-dev'),
|
||||
(9,'db_scheme_build','PD100209'),
|
||||
(13,'show_unknown','0'),
|
||||
(14,'show_lastalerts','1'),
|
||||
(15,'style','pandora'),
|
||||
|
@ -62,7 +62,10 @@ INSERT INTO `tconfig` VALUES
|
|||
(24, 'loginhash_pwd', ''),
|
||||
(25, 'trap2agent', 0),
|
||||
(26, 'prominent_time', 0),
|
||||
(27, 'timesource', 'system');
|
||||
(27, 'timesource', 'system'),
|
||||
(28, 'realtimestats', '1'),
|
||||
(29, 'stats_interval', '300');
|
||||
|
||||
INSERT INTO tconfig (`token`, `value`) VALUES ('activate_gis', '0');
|
||||
|
||||
UNLOCK TABLES;
|
||||
|
|
Loading…
Reference in New Issue