Added the 'automatic custom graphs' in the template reports in metaconsole.

(cherry picked from commit 8d54a6762a)
This commit is contained in:
mdtrooper 2016-02-02 14:55:03 +01:00 committed by m-lopez-f
parent 463f96f123
commit 447550ed50
9 changed files with 202 additions and 47 deletions

View File

@ -182,6 +182,7 @@ ALTER TABLE tagente_estado ADD COLUMN `last_dynamic_update` bigint(20) NOT NULL
-- Table `tgraph_source`
-- ---------------------------------------------------------------------
ALTER TABLE tgraph_source ADD COLUMN `label` varchar(150) DEFAULT '';
ALTER TABLE tgraph_source ADD COLUMN `id_server` int(11) NOT NULL default 0;
-- ---------------------------------------------------------------------
-- Table `tevent_filter`

View File

@ -130,3 +130,4 @@ ALTER TABLE tevent_filter ADD COLUMN id_agent int(25) DEFAULT 0;
-- Table `tgraph_source`
-- ---------------------------------------------------------------------
ALTER TABLE tgraph_source ADD COLUMN label VARCHAR2(150) DEFAULT '';
ALTER TABLE tgraph_source ADD COLUMN "id_server" BIGINT NOT NULL default 0;

View File

@ -121,3 +121,9 @@ UPDATE `tnetwork_component` set `tcp_port`=0 WHERE id_nc=219;
-- ---------------------------------------------------------------------
ALTER TABLE tevent_filter ADD COLUMN id_agent_module int(25) DEFAULT 0;
ALTER TABLE tevent_filter ADD COLUMN id_agent int(25) DEFAULT 0;
-- ---------------------------------------------------------------------
-- Table `tgraph_source`
-- ---------------------------------------------------------------------
ALTER TABLE tgraph_source ADD COLUMN label VARCHAR2(150) DEFAULT '';
ALTER TABLE tgraph_source ADD COLUMN id_graph NUMBER(19, 0) DEFAULT 0;

View File

@ -484,7 +484,7 @@ function grafico_modulo_sparse_data ($agent_module_id, $period, $show_events,
$show_alerts = false, $avg_only = 0, $date = 0, $unit = '',
$baseline = 0, $return_data = 0, $show_title = true, $projection = false,
$adapt_key = '', $compare = false, $series_suffix = '', $series_suffix_str = '',
$show_unknown = false, $percentil = null, $dashboard = false, $vconsole = false) {
$show_unknown = false, $percentil = null) {
global $config;
global $chart;
@ -733,19 +733,13 @@ function grafico_modulo_sparse_data ($agent_module_id, $period, $show_events,
$chart_extra_data['legend_alerts'] = $legend['alert'.$series_suffix_str];
}
if ($dashboard || $vconsole) {
$legend['sum'.$series_suffix] =
__('Last') . ': ' . rtrim(number_format($graph_stats['sum']['last'], 2), '.0') . ($unit ? ' ' . $unit : '') . ' ; '
. __('Avg') . ': ' . rtrim(number_format($graph_stats['sum']['avg'], 2), '.0') . ($unit ? ' ' . $unit : '');
}
else if (!$avg_only) {
if (!$avg_only) {
$legend['max'.$series_suffix] = __('Max').$series_suffix_str.': '.__('Last').': '.rtrim(number_format($graph_stats['max']['last'], 2), '.0').' '.$unit.' ; '.__('Avg').': '.rtrim(number_format($graph_stats['max']['avg'], 2), '.0').' '.$unit.' ; '.__('Max').': '.rtrim(number_format($graph_stats['max']['max'], 2), '.0').' '.$unit.' ; '.__('Min').': '.rtrim(number_format($graph_stats['max']['min'], 2), '.0').' '.$unit.'--> '.__('Selected');
$legend['sum'.$series_suffix] = __('Avg').$series_suffix_str.': '.__('Last').': '.rtrim(number_format($graph_stats['sum']['last'], 2), '.0').' '.$unit.' ; '.__('Avg').': '.rtrim(number_format($graph_stats['sum']['avg'], 2), '.0').' '.$unit.' ; '.__('Max').': '.rtrim(number_format($graph_stats['sum']['max'], 2), '.0').' '.$unit.' ; '.__('Min').': '.rtrim(number_format($graph_stats['sum']['min'], 2), '.0').' '.$unit.'--> '.__('Selected');
$legend['min'.$series_suffix] = __('Min').$series_suffix_str.': '.__('Last').': '.rtrim(number_format($graph_stats['min']['last'], 2), '.0').' '.$unit.' ; '.__('Avg').': '.rtrim(number_format($graph_stats['min']['avg'], 2), '.0').' '.$unit.' ; '.__('Max').': '.rtrim(number_format($graph_stats['min']['max'], 2), '.0').' '.$unit.' ; '.__('Min').': '.rtrim(number_format($graph_stats['min']['min'], 2), '.0').' '.$unit.'--> '.__('Selected');
}
else {
else
$legend['sum'.$series_suffix] = __('Avg').$series_suffix_str.': '.__('Last').': '.rtrim(number_format($graph_stats['sum']['last'], 2), '.0').' '.$unit.' ; '.__('Avg').': '.rtrim(number_format($graph_stats['sum']['avg'], 2), '.0').' '.$unit.' ; '.__('Max').': '.rtrim(number_format($graph_stats['sum']['max'], 2), '.0').' '.$unit.' ; '.__('Min').': '.rtrim(number_format($graph_stats['sum']['min'], 2), '.0').' '.$unit.'--> '.__('Selected');
}
//Baseline was replaced by compare graph feature
/*if ($baseline) {
$legend['baseline'.$series_suffix] = __('Baseline');
@ -771,8 +765,7 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
$unit = '', $baseline = 0, $return_data = 0, $show_title = true,
$only_image = false, $homeurl = '', $ttl = 1, $projection = false,
$adapt_key = '', $compare = false, $show_unknown = false,
$menu = true, $backgroundColor = 'white', $percentil = null,
$dashboard = false, $vconsole = false) {
$menu = true, $backgroundColor = 'white', $percentil = null) {
global $config;
global $graphic_type;
@ -803,7 +796,7 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
$show_alerts, $avg_only, $date-$period, $unit, $baseline,
$return_data, $show_title, $projection, $adapt_key,
$compare, $series_suffix, $series_suffix_str,
$show_unknown, $percentil, $dashboard, $vconsole);
$show_unknown, $percentil);
@ -839,7 +832,7 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
$show_alerts, $avg_only,
$date, $unit, $baseline, $return_data, $show_title,
$projection, $adapt_key, $compare, '', '', $show_unknown,
$percentil, $dashboard, $vconsole);
$percentil);
if ($return_data) {
@ -874,7 +867,7 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
area_graph($flash_chart, $chart, $width, $height/2, $color,
$legend, $long_index,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
$title, $unit, $homeurl, $water_mark, $config['fontpath'],
"", $unit, $homeurl, $water_mark, $config['fontpath'],
$config['font_size'], $unit, $ttl, $series_type,
$chart_extra_data, $warning_min, $critical_min,
$adapt_key, false, $series_suffix_str, $menu,
@ -883,7 +876,7 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
area_graph($flash_chart, $chart_prev, $width, $height/2,
$color_prev, $legend_prev, $long_index_prev,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
$title, $unit, $homeurl, $water_mark, $config['fontpath'],
"", $unit, $homeurl, $water_mark, $config['fontpath'],
$config['font_size'], $unit, $ttl, $series_type_prev,
$chart_extra_data, $warning_min, $critical_min,
$adapt_key, false, $series_suffix_str, $menu,
@ -895,11 +888,11 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
area_graph($flash_chart, $chart, $width, $height, $color,
$legend, $long_index,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
$title, $unit, $homeurl, $water_mark, $config['fontpath'],
"", $unit, $homeurl, $water_mark, $config['fontpath'],
$config['font_size'], $unit, $ttl, $series_type,
$chart_extra_data, $warning_min, $critical_min,
$adapt_key, false, $series_suffix_str, $menu,
$backgroundColor, $dashboard, $vconsole, $agent_module_id);
$backgroundColor);
}
}
elseif ($config['type_module_charts'] === 'line') {
@ -976,7 +969,7 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$only_image = false, $homeurl = '', $ttl = 1, $projection = false,
$prediction_period = false, $background_color = 'white',
$name_list = array(), $unit_list = array(), $show_last = true, $show_max = true,
$show_min = true, $show_avg = true, $labels = false, $dashboard = false, $vconsole = false) {
$show_min = true, $show_avg = true, $labels = false, $dashboard = false) {
global $config;
global $graphic_type;
@ -1086,8 +1079,24 @@ function graphic_combined_module ($module_list, $weight_list, $period,
// Calculate data for each module
for ($i = 0; $i < $module_number; $i++) {
// If its a projection graph, first module will be data and second will be the projection
$automatic_custom_graph_meta = false;
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_list[$i])) {
$server = metaconsole_get_connection_by_id ($module_list[$i]['server']);
metaconsole_connect($server);
$automatic_custom_graph_meta = true;
}
}
$search_in_history_db = db_search_in_history_db($datelimit);
// If its a projection graph,
// first module will be data and second will be the projection
if ($projection != false && $i != 0) {
if ($automatic_custom_graph_meta)
$agent_module_id = $module_list[0]['module'];
else
$agent_module_id = $module_list[0];
$id_module_type = modules_get_agentmodule_type ($agent_module_id);
@ -1095,8 +1104,12 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$uncompressed_module = is_module_uncompressed ($module_type);
}
else {
if ($automatic_custom_graph_meta)
$agent_module_id = $module_list[$i]['module'];
else
$agent_module_id = $module_list[$i];
$id_module_type = modules_get_agentmodule_type ($agent_module_id);
$module_type = modules_get_moduletype_name ($id_module_type);
$uncompressed_module = is_module_uncompressed ($module_type);
@ -1185,7 +1198,7 @@ function graphic_combined_module ($module_list, $weight_list, $period,
//Get and process module name
$module_name = io_safe_output(
modules_get_agentmodule_name ($agent_module_id));
$module_name = sprintf(__("%s"), $module_name);
$module_name = sprintf(__("projection for %s"), $module_name);
$module_name = ui_print_truncate_text($module_name, 'module_small', false, true, false, '...', false);
if ($labels[$agent_module_id] != '')
@ -1378,6 +1391,13 @@ function graphic_combined_module ($module_list, $weight_list, $period,
//unset($graph_values[$i]);
//$graph_values[$i] = $graph_values[$i];
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_list[0])) {
metaconsole_restore_db();
}
}
}
$temp = array();
@ -1385,7 +1405,24 @@ function graphic_combined_module ($module_list, $weight_list, $period,
switch ($stacked) {
case CUSTOM_GRAPH_BULLET_CHART:
$datelimit = $date - $period;
foreach ($module_list as $module) {
foreach ($module_list as $module_item) {
$automatic_custom_graph_meta = false;
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
$server = metaconsole_get_connection_by_id ($module_item['server']);
metaconsole_connect($server);
$automatic_custom_graph_meta = true;
}
}
if ($automatic_custom_graph_meta)
$module = $module_item['module'];
else
$module = $module_item;
$search_in_history_db = db_search_in_history_db($datelimit);
$temp[$module] = modules_get_agentmodule($module);
$query_last_value = sprintf('
SELECT datos
@ -1411,14 +1448,37 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$temp[$module]['value'] = $value;
$temp[$module]['max'] = reporting_get_agentmodule_data_max($module,$period,$date);
$temp[$module]['min'] = reporting_get_agentmodule_data_min($module,$period,$date);
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
metaconsole_restore_db();
}
}
}
break;
case CUSTOM_GRAPH_HBARS:
case CUSTOM_GRAPH_VBARS:
$datelimit = $date - $period;
$label = '';
foreach ($module_list as $module) {
foreach ($module_list as $module_item) {
$automatic_custom_graph_meta = false;
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
$server = metaconsole_get_connection_by_id ($module_item['server']);
metaconsole_connect($server);
$automatic_custom_graph_meta = true;
}
}
if ($automatic_custom_graph_meta)
$module = $module_item['module'];
else
$module = $module_item;
$module_data = modules_get_agentmodule($module);
$query_last_value = sprintf('
SELECT datos
@ -1437,12 +1497,36 @@ function graphic_combined_module ($module_list, $weight_list, $period,
else
$label = $agent_name . " - " .$module_data['nombre'];
$temp[$label]['g'] = round($temp_data,4);
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
metaconsole_restore_db();
}
}
}
break;
case CUSTOM_GRAPH_PIE:
$datelimit = $date - $period;
$total_modules = 0;
foreach ($module_list as $module) {
foreach ($module_list as $module_item) {
$automatic_custom_graph_meta = false;
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
$server = metaconsole_get_connection_by_id ($module_item['server']);
metaconsole_connect($server);
$automatic_custom_graph_meta = true;
}
}
if ($automatic_custom_graph_meta)
$module = $module_item['module'];
else
$module = $module_item;
$data_module = modules_get_agentmodule($module);
$query_last_value = sprintf('
SELECT datos
@ -1469,14 +1553,39 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$label = $data_module['nombre'];
$label = io_safe_output($label);
$temp[$label] = array('value'=>$value,
$temp[$label] = array(
'value'=>$value,
'unit'=>$data_module['unit']);
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
metaconsole_restore_db();
}
}
}
$temp['total_modules'] = $total_modules;
break;
case CUSTOM_GRAPH_GAUGE:
$datelimit = $date - $period;
$i = 0;
foreach ($module_list as $module) {
$automatic_custom_graph_meta = false;
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
$server = metaconsole_get_connection_by_id ($module_item['server']);
metaconsole_connect($server);
$automatic_custom_graph_meta = true;
}
}
if ($automatic_custom_graph_meta)
$module = $module_item['module'];
else
$module = $module_item;
$temp[$module] = modules_get_agentmodule($module);
$query_last_value = sprintf('
SELECT datos
@ -1514,6 +1623,14 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$temp[$module]['max'] = ($max == 0 ) ? 100 : $max;
}
$temp[$module]['gauge'] = uniqid('gauge_');
if ($config['metaconsole']) {
// Automatic custom graph from the report template in metaconsole
if (is_array($module_item)) {
metaconsole_restore_db();
}
}
}
break;
default:
@ -1600,6 +1717,7 @@ function graphic_combined_module ($module_list, $weight_list, $period,
'color' => COL_GRAPH13,
'alpha' => CHART_DEFAULT_ALPHA);
switch ($stacked) {
case CUSTOM_GRAPH_AREA:
return area_graph($flash_charts, $graph_values, $width,
@ -1607,7 +1725,7 @@ function graphic_combined_module ($module_list, $weight_list, $period,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
"", "", $homeurl, $water_mark, $config['fontpath'],
$fixed_font_size, $unit, $ttl, array(), array(), 0, 0, '',
false, '', true, $background_color,$dashboard, $vconsole);
false, '', true, $background_color,$dashboard);
break;
default:
case CUSTOM_GRAPH_STACKED_AREA:
@ -1615,21 +1733,21 @@ function graphic_combined_module ($module_list, $weight_list, $period,
$width, $height, $color, $module_name_list, $long_index,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
"", "", $water_mark, $config['fontpath'], $fixed_font_size,
"", $ttl, $homeurl, $background_color,$dashboard, $vconsole);
"", $ttl, $homeurl, $background_color,$dashboard);
break;
case CUSTOM_GRAPH_LINE:
return line_graph($flash_charts, $graph_values, $width,
$height, $color, $module_name_list, $long_index,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
"", "", $water_mark, $config['fontpath'], $fixed_font_size,
$unit, $ttl, $homeurl, $background_color,$dashboard, $vconsole);
$unit, $ttl, $homeurl, $background_color,$dashboard);
break;
case CUSTOM_GRAPH_STACKED_LINE:
return stacked_line_graph($flash_charts, $graph_values,
$width, $height, $color, $module_name_list, $long_index,
ui_get_full_url("images/image_problem.opaque.png", false, false, false),
"", "", $water_mark, $config['fontpath'], $fixed_font_size,
"", $ttl, $homeurl, $background_color,$dashboard, $vconsole);
"", $ttl, $homeurl, $background_color,$dashboard);
break;
case CUSTOM_GRAPH_BULLET_CHART:
return stacked_bullet_chart($flash_charts, $graph_values,
@ -2003,7 +2121,7 @@ function graph_sla_slicebar ($id, $period, $sla_min, $sla_max, $date, $daysWeek
// If the data is not provided, we got it
if ($data === false) {
$data = reporting_get_agentmodule_sla_array ($id, $period,
$sla_min, $sla_max, $date, $daysWeek, null, null);
$sla_min, $sla_max, $date, $daysWeek, $time_from, $time_to);
}
$col_planned_downtime = '#20973F';

View File

@ -160,14 +160,22 @@ function reporting_make_reporting_data($report = null, $id_report,
$content);
break;
case 'custom_graph':
case 'automatic_custom_graph':
$report['contents'][] =
reporting_custom_graph(
$report,
$content,
$type,
$force_width_chart,
$force_height_chart);
$force_height_chart, 'custom_graph');
break;
case 'automatic_graph':
$report['contents'][] =
reporting_custom_graph(
$report,
$content,
$type,
$force_width_chart,
$force_height_chart, 'automatic_graph');
break;
case 'text':
$report['contents'][] = reporting_text(
@ -4267,12 +4275,16 @@ function reporting_general($report, $content) {
}
function reporting_custom_graph($report, $content, $type = 'dinamic',
$force_width_chart = null, $force_height_chart = null) {
$force_width_chart = null, $force_height_chart = null, $type_report = "custom_graph") {
global $config;
require_once ($config["homedir"] . '/include/functions_graph.php');
if ($type_report == 'automatic_graph') {
// Do none
}
else {
if ($config['metaconsole']) {
$id_meta = metaconsole_get_id_server($content["server_name"]);
@ -4280,6 +4292,7 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
$server = metaconsole_get_connection_by_id ($id_meta);
metaconsole_connect($server);
}
}
$graph = db_get_row ("tgraph", "id_graph", $content['id_gs']);
@ -4305,7 +4318,15 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
$graphs = array();
foreach ($graphs as $graph_item) {
if ($type_report == 'automatic_graph') {
array_push ($modules, array(
'module' => $graph_item['id_agent_module'],
'server' => $graph_item['id_server']));
}
else {
array_push ($modules, $graph_item['id_agent_module']);
}
array_push ($weights, $graph_item["weight"]);
}
@ -4339,9 +4360,14 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
break;
}
if ($type_report == 'automatic_graph') {
// Do none
}
else {
if ($config['metaconsole']) {
metaconsole_restore_db();
}
}
return reporting_check_structure_content($return);
}

View File

@ -514,7 +514,6 @@ function reports_get_report_types ($template = false, $not_editor = false) {
$types['sql_graph_hbar'] = array('optgroup' => __('Graphs'),
'name' => __('SQL horizonal bar graph'));
}
if ($template) {
$types['automatic_graph'] = array('optgroup' => __('Graphs'),
'name' => __('Automatic combined Graph'));

View File

@ -1194,6 +1194,7 @@ CREATE OR REPLACE TRIGGER tgraph_inc BEFORE INSERT ON tgraph REFERENCING NEW AS
CREATE TABLE tgraph_source (
id_gs NUMBER(10, 0) PRIMARY KEY,
id_graph NUMBER(19, 0) DEFAULT 0,
id_server NUMBER(19, 0) DEFAULT 0,
id_agent_module NUMBER(19, 0) DEFAULT 0,
weight BINARY_DOUBLE DEFAULT 0,
label VARCHAR2(150) DEFAULT ''

View File

@ -984,9 +984,11 @@ CREATE TABLE "tgraph" (
-- -----------------------------------------------------
CREATE TABLE "tgraph_source" (
"id_gs" SERIAL NOT NULL PRIMARY KEY,
"id_server" BIGINT NOT NULL default 0,
"id_graph" BIGINT NOT NULL default 0,
"id_agent_module" BIGINT NOT NULL default 0,
"weight" DOUBLE PRECISION default 0
"weight" DOUBLE PRECISION default 0,
"label" VARCHAR2(150) DEFAULT ''
);
-- -----------------------------------------------------

View File

@ -1071,6 +1071,7 @@ CREATE TABLE IF NOT EXISTS `tgraph` (
CREATE TABLE IF NOT EXISTS `tgraph_source` (
`id_gs` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`id_graph` int(11) NOT NULL default 0,
`id_server` int(11) NOT NULL default 0,
`id_agent_module` int(11) NOT NULL default 0,
`weight` float(8,3) NOT NULL DEFAULT 0,
`label` varchar(150) DEFAULT '',