From fdc6d2f4c8ad459256d5d98a0a76aee0e8de8c5d Mon Sep 17 00:00:00 2001 From: "alejandro.campos@artica.es" Date: Tue, 8 Jun 2021 16:09:37 +0200 Subject: [PATCH 1/2] implemented capacity to handle string data for event data --- pandora_console/extras/mr/48.sql | 6 ++++++ .../extras/pandoradb_migrate_6.0_to_7.0.mysql.sql | 3 +++ pandora_console/operation/events/events.php | 10 ++++++---- pandora_console/pandoradb.sql | 4 ++-- pandora_server/lib/PandoraFMS/Core.pm | 2 +- 5 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 pandora_console/extras/mr/48.sql diff --git a/pandora_console/extras/mr/48.sql b/pandora_console/extras/mr/48.sql new file mode 100644 index 0000000000..63a85e8d3c --- /dev/null +++ b/pandora_console/extras/mr/48.sql @@ -0,0 +1,6 @@ +START TRANSACTION; + +ALTER TABLE `tevento` MODIFY `data` TINYTEXT default NULL; +ALTER TABLE `tmetaconsole_event` MODIFY `data` TINYTEXT default NULL; + +COMMIT; diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index 1335550ef7..aeca7e98cd 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1026,6 +1026,7 @@ ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_timestamp_idx` (`timestamp`); ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_module_status_idx` (`module_status`); ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_criticity_idx` (`criticity`); ALTER TABLE `tmetaconsole_event` ADD INDEX `tme_agent_name_idx` (`agent_name`); +ALTER TABLE `tmetaconsole_event` MODIFY `data` TINYTEXT default NULL; -- --------------------------------------------------------------------- -- Table `tmetaconsole_event_history` @@ -2345,6 +2346,8 @@ ALTER TABLE `tevento` ADD COLUMN `data` double(50,5) default NULL; ALTER TABLE `tevento` ADD COLUMN `module_status` int(4) NOT NULL default '0'; +ALTER TABLE `tevento` MODIFY `data` TINYTEXT default NULL; + -- --------------------------------------------------------------------- -- Table `tevent_extended` -- --------------------------------------------------------------------- diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php index 9dab979e38..6ea8eed104 100644 --- a/pandora_console/operation/events/events.php +++ b/pandora_console/operation/events/events.php @@ -391,10 +391,12 @@ if (is_ajax()) { true ); - $tmp->data = format_numeric( - $tmp->data, - $config['graph_precision'] - ); + if (is_numeric($tmp->data) === true) { + $tmp->data = format_numeric( + $tmp->data, + $config['graph_precision'] + ); + } $tmp->instructions = events_get_instructions($item); diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index ec7d1a2072..4026b5e78b 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -681,7 +681,7 @@ CREATE TABLE IF NOT EXISTS `tevento` ( `owner_user` VARCHAR(100) NOT NULL DEFAULT '', `ack_utimestamp` BIGINT(20) NOT NULL DEFAULT '0', `custom_data` TEXT NOT NULL, - `data` double(50,5) default NULL, + `data` tinytext default NULL, `module_status` int(4) NOT NULL default '0', PRIMARY KEY (`id_evento`), KEY `idx_agente` (`id_agente`), @@ -3275,7 +3275,7 @@ CREATE TABLE IF NOT EXISTS `tmetaconsole_event` ( `ack_utimestamp` BIGINT(20) NOT NULL DEFAULT '0', `server_id` int(10) NOT NULL, `custom_data` TEXT NOT NULL DEFAULT '', - `data` double(50,5) default NULL, + `data` tinytext default NULL, `module_status` int(4) NOT NULL default '0', PRIMARY KEY (`id_evento`), KEY `idx_agente` (`id_agente`), diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index bbce7913e9..7144660ac5 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -3655,7 +3655,7 @@ sub pandora_event ($$$$$$$$$$;$$$$$$$$$$$) { # Create the event logger($pa_config, "Generating event '$evento' for agent ID $id_agente module ID $id_agentmodule.", 10); my $event_id = db_insert ($dbh, 'id_evento','INSERT INTO ' . $event_table . ' (id_agente, id_grupo, evento, timestamp, estado, utimestamp, event_type, id_agentmodule, id_alert_am, criticity, user_comment, tags, source, id_extra, id_usuario, critical_instructions, warning_instructions, unknown_instructions, ack_utimestamp, custom_data, data, module_status) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', $id_agente, $id_grupo, safe_input ($evento), $timestamp, $event_status, $utimestamp, $event_type, $id_agentmodule, $id_alert_am, $severity, $comment, $module_tags, $source, $id_extra, $user_name, $critical_instructions, $warning_instructions, $unknown_instructions, $ack_utimestamp, $custom_data, $module_data, $module_status); + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', $id_agente, $id_grupo, safe_input ($evento), $timestamp, $event_status, $utimestamp, $event_type, $id_agentmodule, $id_alert_am, $severity, $comment, $module_tags, $source, $id_extra, $user_name, $critical_instructions, $warning_instructions, $unknown_instructions, $ack_utimestamp, $custom_data, safe_input($module_data), $module_status); # Do not write to the event file return $event_id if ($pa_config->{'event_file'} eq ''); From 240efc4dcf8fc37fc6a4b3856b104ee935ddafdd Mon Sep 17 00:00:00 2001 From: "alejandro.campos@artica.es" Date: Tue, 8 Jun 2021 16:48:01 +0200 Subject: [PATCH 2/2] truncate string --- pandora_console/operation/events/events.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php index 6ea8eed104..69c39537d9 100644 --- a/pandora_console/operation/events/events.php +++ b/pandora_console/operation/events/events.php @@ -396,6 +396,8 @@ if (is_ajax()) { $tmp->data, $config['graph_precision'] ); + } else { + $tmp->data = ui_print_truncate_text($tmp->data, 10); } $tmp->instructions = events_get_instructions($item);