From 24848df3ba4935b5acbe7df0f6fa98f4ea81b73a Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Wed, 10 May 2023 17:47:20 +0200 Subject: [PATCH 1/3] #1001 new item report for group elastic log --- pandora_console/extras/mr/63.sql | 2 + .../reporting_builder.item_editor.php | 61 ++++++++++++++++++- .../godmode/reporting/reporting_builder.php | 38 ++++++++++++ .../include/functions_reporting.php | 7 +++ .../include/functions_reporting_html.php | 4 ++ pandora_console/include/functions_reports.php | 5 ++ pandora_console/pandoradb.sql | 1 + 7 files changed, 117 insertions(+), 1 deletion(-) diff --git a/pandora_console/extras/mr/63.sql b/pandora_console/extras/mr/63.sql index 9aca7c604c..98c3a81b59 100644 --- a/pandora_console/extras/mr/63.sql +++ b/pandora_console/extras/mr/63.sql @@ -40,4 +40,6 @@ CREATE TABLE IF NOT EXISTS `tsesion_filter_log_viewer` ( ALTER TABLE `talert_template_module_actions` ADD COLUMN `recovered` TINYINT NOT NULL DEFAULT 0; +ALTER TABLE `treport_content` ADD COLUMN `period_range` INT NULL DEFAULT 0 AFTER `period`; + COMMIT; diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php index cc05d9d3f4..61887eeb19 100755 --- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php +++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php @@ -321,6 +321,19 @@ switch ($action) { $full_text = empty($es['full_text']) ? 0 : $es['full_text']; break; + case 'event_report_log_table': + $period = $item['period']; + $period_range = $item['period_range']; + $description = $item['description']; + + $es = json_decode($item['external_source'], true); + $id_agents = $es['id_agents']; + $source = $es['source']; + $search = $es['search']; + $log_number = empty($es['log_number']) ? $log_number : $es['log_number']; + $full_text = empty($es['full_text']) ? 0 : $es['full_text']; + break; + case 'simple_graph': $fullscale = isset($style['fullscale']) ? (bool) $style['fullscale'] : 0; $percentil = isset($style['percentil']) ? (bool) $style['percentil'] : 0; @@ -1025,6 +1038,7 @@ switch ($action) { case 'prediction_date': case 'simple_baseline_graph': case 'event_report_log': + case 'event_report_log_table': case 'increment': $label = (isset($style['label'])) ? $style['label'] : ''; break; @@ -1413,6 +1427,29 @@ $class = 'databox filters'; + + + + + + + + + option:selected").val() == undefined) { dialog_message('#message_no_group'); @@ -6387,6 +6430,7 @@ function chooseType() { $("#row_description").hide(); $("#row_label").hide(); $("#row_period").hide(); + $("#row_period_range").hide(); $("#row_agent").hide(); $("#row_module").hide(); $("#row_period").hide(); @@ -6561,7 +6605,22 @@ function chooseType() { loadLogAgents(); - break; + break; + + case 'event_report_log_table': + $("#log_help_tip").css("visibility", "visible"); + $("#row_description").show(); + $("#row_period").show(); + $("#row_period_range").show(); + $("#row_search").show(); + $("#row_log_number").show(); + $("#agents_row").show(); + $("#row_source").show(); + $("#row_historical_db_check").hide(); + + loadLogAgents(); + + break; case 'increment': $("#row_description").show(); diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php index cd049f1d83..73b63408d8 100755 --- a/pandora_console/godmode/reporting/reporting_builder.php +++ b/pandora_console/godmode/reporting/reporting_builder.php @@ -1613,6 +1613,25 @@ switch ($action) { $good_format = true; break; + case 'event_report_log_table': + $agents_to_report = get_parameter('id_agents3'); + $source = get_parameter('source', ''); + $search = get_parameter('search', ''); + $full_text = (integer) get_parameter('full_text', 0); + $log_number = get_parameter('log_number', ''); + + $es['source'] = $source; + $es['id_agents'] = $agents_to_report; + $es['search'] = $search; + $es['full_text'] = $full_text; + $es['log_number'] = $log_number; + + $values['external_source'] = json_encode($es); + $values['period'] = get_parameter('period'); + $values['period_range'] = get_parameter('period_range'); + $good_format = true; + break; + case 'prediction_date': $values['period'] = get_parameter('period1'); $values['top_n'] = get_parameter( @@ -2562,6 +2581,25 @@ switch ($action) { $good_format = true; break; + case 'event_report_log_table': + $agents_to_report = get_parameter('id_agents3'); + $source = get_parameter('source', ''); + $search = get_parameter('search', ''); + $full_text = (integer) get_parameter('full_text', 0); + $log_number = get_parameter('log_number', ''); + + $es['source'] = $source; + $es['id_agents'] = $agents_to_report; + $es['search'] = $search; + $es['full_text'] = $full_text; + $es['log_number'] = $log_number; + + $values['external_source'] = json_encode($es); + $values['period'] = get_parameter('period'); + $values['period_range'] = get_parameter('period_range'); + $good_format = true; + break; + case 'agent_module': case 'agent_module_status': $agents_to_report_text = get_parameter('id_agents2-multiple-text'); diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php index 5adae9abf7..87b343186c 100755 --- a/pandora_console/include/functions_reporting.php +++ b/pandora_console/include/functions_reporting.php @@ -412,6 +412,13 @@ function reporting_make_reporting_data( ); break; + case 'event_report_log_table': + $report['contents'][] = reporting_log_table( + $report, + $content + ); + break; + case 'increment': $report['contents'][] = reporting_increment( $report, diff --git a/pandora_console/include/functions_reporting_html.php b/pandora_console/include/functions_reporting_html.php index 60b70c751d..6b1528a868 100644 --- a/pandora_console/include/functions_reporting_html.php +++ b/pandora_console/include/functions_reporting_html.php @@ -259,6 +259,10 @@ function reporting_html_print_report($report, $mini=false, $report_info=1) reporting_html_log($table, $item); break; + case 'event_report_log_table': + reporting_html_log_table($table, $item); + break; + case 'permissions_report': reporting_html_permissions($table, $item); break; diff --git a/pandora_console/include/functions_reports.php b/pandora_console/include/functions_reports.php index 0b343d449d..a10122fc43 100755 --- a/pandora_console/include/functions_reports.php +++ b/pandora_console/include/functions_reports.php @@ -944,6 +944,11 @@ function reports_get_report_types($template=false, $not_editor=false) 'optgroup' => __('Log'), 'name' => __('Log report'), ]; + + $types['event_report_log_table'] = [ + 'optgroup' => __('Log'), + 'name' => __('Log report by period'), + ]; } if ($template === false) { diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index e868f73d6d..06e47f5340 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -1567,6 +1567,7 @@ CREATE TABLE IF NOT EXISTS `treport_content` ( `id_agent_module` BIGINT UNSIGNED NULL DEFAULT NULL, `type` VARCHAR(30) DEFAULT 'simple_graph', `period` INT NOT NULL DEFAULT 0, + `period_range` INT DEFAULT 0, `order` INT NOT NULL DEFAULT 0, `name` VARCHAR(300) NULL, `description` MEDIUMTEXT, From 6e3b7f4174e36e3e6b03efe30df53233f0ad4609 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Thu, 11 May 2023 12:14:06 +0200 Subject: [PATCH 2/3] #10011 control period in report log --- .../reporting_builder.item_editor.php | 61 ++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/pandora_console/godmode/reporting/reporting_builder.item_editor.php b/pandora_console/godmode/reporting/reporting_builder.item_editor.php index 61887eeb19..e67fb5f8d1 100755 --- a/pandora_console/godmode/reporting/reporting_builder.item_editor.php +++ b/pandora_console/godmode/reporting/reporting_builder.item_editor.php @@ -7577,9 +7577,68 @@ function dialog_message(message_id) { } }); } - +function control_period_range() { + let value_period_range = $('#row_period_range #hidden-period_range').val(); + let current_value = $('#row_period #hidden-period').val(); + let min_range = (current_value/12); + if(min_range > value_period_range) { + $('#row_period_range div:nth-child(2) select option').removeAttr("selected"); + $('#row_period_range div:nth-child(1)').hide(); + $('#row_period_range div:nth-child(2)').show(); + setTimeout(() => { + if(min_range >= 2592000) { + $('#row_period_range input').val(Math.round((min_range/2592000) * 100) / 100); + $('#row_period_range div:nth-child(2) select option[value="2592000"]').attr("selected", "selected"); + $('#row_period_range div:nth-child(2) select').val(2592000); + $('#row_period_range #hidden-period_range').val(min_range); + return; + } + if(min_range >= 604800) { + $('#row_period_range input').val(Math.round((min_range/604800) * 100) / 100); + $('#row_period_range div:nth-child(2) select option[value="604800"]').attr("selected", "selected"); + $('#row_period_range div:nth-child(2) select').val(604800); + $('#row_period_range #hidden-period_range').val(min_range); + return; + } + if(min_range >= 86400) { + $('#row_period_range input').val(Math.round((min_range/86400) * 100) / 100); + $('#row_period_range div:nth-child(2) select option[value="86400"]').attr("selected", "selected"); + $('#row_period_range div:nth-child(2) select').val(86400); + $('#row_period_range #hidden-period_range').val(min_range); + return; + } + if(min_range >= 3600) { + $('#row_period_range input').val(Math.round((min_range/3600) * 100) / 100); + $('#row_period_range div:nth-child(2) select option[value="3600"]').attr("selected", "selected"); + $('#row_period_range div:nth-child(2) select').val(3600); + $('#row_period_range #hidden-period_range').val(min_range); + return; + } + if(min_range >= 60) { + $('#row_period_range input').val(Math.round((min_range/60) * 100) / 100); + $('#row_period_range div:nth-child(2) select option[value="60"]').attr("selected", "selected"); + $('#row_period_range div:nth-child(2) select option[value="60"]').val(60); + $('#row_period_range #hidden-period_range').val(min_range); + return; + } + }, 800); + } +} $(document).ready(function () { $('[id^=period], #combo_graph_options, #combo_sla_sort_options').next().css('z-index', 0); + + $('#row_period input').change(function(e){ + control_period_range(); + }); + $('#row_period select').change(function(e){ + control_period_range(); + }); + $('#row_period_range input').change(function(e){ + control_period_range(); + }); + $('#row_period_range select').change(function(e){ + control_period_range(); + }); }); From 37f24d3b5f95baddf4bc5bd3f1d7e205dc13b056 Mon Sep 17 00:00:00 2001 From: Daniel Cebrian Date: Thu, 11 May 2023 14:54:34 +0200 Subject: [PATCH 3/3] #10011 fixed mr --- pandora_console/extras/mr/63.sql | 2 -- pandora_console/extras/mr/65.sql | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 pandora_console/extras/mr/65.sql diff --git a/pandora_console/extras/mr/63.sql b/pandora_console/extras/mr/63.sql index 98c3a81b59..9aca7c604c 100644 --- a/pandora_console/extras/mr/63.sql +++ b/pandora_console/extras/mr/63.sql @@ -40,6 +40,4 @@ CREATE TABLE IF NOT EXISTS `tsesion_filter_log_viewer` ( ALTER TABLE `talert_template_module_actions` ADD COLUMN `recovered` TINYINT NOT NULL DEFAULT 0; -ALTER TABLE `treport_content` ADD COLUMN `period_range` INT NULL DEFAULT 0 AFTER `period`; - COMMIT; diff --git a/pandora_console/extras/mr/65.sql b/pandora_console/extras/mr/65.sql new file mode 100644 index 0000000000..43b7926c36 --- /dev/null +++ b/pandora_console/extras/mr/65.sql @@ -0,0 +1,5 @@ +START TRANSACTION; + +ALTER TABLE `treport_content` ADD COLUMN `period_range` INT NULL DEFAULT 0 AFTER `period`; + +COMMIT;