#12376 multiple changes in general tactical view
This commit is contained in:
parent
96d8fe33f3
commit
8f8e5ecf45
|
@ -1387,7 +1387,7 @@ $table_advanced->data['made_enabled'][0] = html_print_checkbox_switch(
|
|||
'made_enabled',
|
||||
1,
|
||||
(bool) $made_enabled,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
'',
|
||||
false,
|
||||
|
|
|
@ -2129,6 +2129,15 @@ $table_other->data[$row][] = html_print_label_input_block(
|
|||
__('Data multiplier to use in graphs/data'),
|
||||
html_print_select($options_data_multiplier, 'use_data_multiplier', $config['use_data_multiplier'], '', '', 1, true, false, false)
|
||||
);
|
||||
$table_other->data[$row][] = html_print_label_input_block(
|
||||
__('Disable general statistics in main tactical view'),
|
||||
html_print_checkbox_switch(
|
||||
'disable_general_statistics',
|
||||
1,
|
||||
$config['disable_general_statistics'],
|
||||
true
|
||||
)
|
||||
);
|
||||
$row++;
|
||||
|
||||
/*
|
||||
|
|
|
@ -1568,6 +1568,10 @@ function config_update_config()
|
|||
$error_update[] = __('Use data multiplier');
|
||||
}
|
||||
|
||||
if (config_update_value('disable_general_statistics', get_parameter('disable_general_statistics', 0), true) === false) {
|
||||
$error_update[] = __('Disable general statistics');
|
||||
}
|
||||
|
||||
if (config_update_value('decimal_separator', (string) get_parameter('decimal_separator', '.'), true) === false) {
|
||||
$error_update[] = __('Decimal separator');
|
||||
} else {
|
||||
|
@ -3703,6 +3707,10 @@ function config_process_config()
|
|||
config_update_value('use_data_multiplier', '1');
|
||||
}
|
||||
|
||||
if (!isset($config['disable_general_statistics'])) {
|
||||
config_update_value('disable_general_statistics', 0);
|
||||
}
|
||||
|
||||
if (!isset($config['command_snapshot'])) {
|
||||
config_update_value('command_snapshot', 1);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
* ============================================================================
|
||||
*/
|
||||
|
||||
use Models\VisualConsole\Items\Percentile;
|
||||
|
||||
require_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||
require_once $config['homedir'].'/include/functions_reporting.php';
|
||||
require_once $config['homedir'].'/include/functions_agents.php';
|
||||
|
@ -2686,7 +2688,9 @@ function graph_agent_status(
|
|||
$return=false,
|
||||
$show_not_init=false,
|
||||
$data_agents=false,
|
||||
$donut_narrow_graph=false
|
||||
$donut_narrow_graph=false,
|
||||
$onClick='',
|
||||
$data_in_percentage=false,
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -2766,6 +2770,25 @@ function graph_agent_status(
|
|||
'labels' => array_keys($data),
|
||||
];
|
||||
|
||||
if (empty($onClick) === false) {
|
||||
$options['onClick'] = $onClick;
|
||||
}
|
||||
|
||||
if ($data_in_percentage === true) {
|
||||
$percentages = [];
|
||||
$total = array_sum($data);
|
||||
foreach ($data as $key => $value) {
|
||||
$percentage = (($value / $total) * 100);
|
||||
if ($percentage < 1 && $percentage > 0) {
|
||||
$percentage = 1;
|
||||
}
|
||||
|
||||
$percentages[$key] = format_numeric($percentage, 0);
|
||||
}
|
||||
|
||||
$data = $percentages;
|
||||
}
|
||||
|
||||
if ($donut_narrow_graph == true) {
|
||||
$out = ring_graph(
|
||||
$data,
|
||||
|
@ -4625,9 +4648,15 @@ function graph_nodata_image($options)
|
|||
return base64_encode($dataImg);
|
||||
}
|
||||
|
||||
$widthImage = '200px';
|
||||
$style = '';
|
||||
if (isset($options['nodata_image']['width']) === true) {
|
||||
$widthImage = $options['nodata_image']['width'];
|
||||
$style .= 'width: '.$options['nodata_image']['width'].'; ';
|
||||
} else {
|
||||
$style .= 'width: 200px; ';
|
||||
}
|
||||
|
||||
if (isset($options['nodata_image']['height']) === true) {
|
||||
$style .= 'height: '.$options['nodata_image']['height'].'; ';
|
||||
}
|
||||
|
||||
return html_print_image(
|
||||
|
@ -4635,7 +4664,7 @@ function graph_nodata_image($options)
|
|||
true,
|
||||
[
|
||||
'title' => __('No data'),
|
||||
'style' => 'width: '.$widthImage.';',
|
||||
'style' => $style,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
|
@ -669,6 +669,12 @@ function get_build_setup_charts($type, $options, $data)
|
|||
|
||||
$chart->setId($id);
|
||||
|
||||
if (isset($options['onClick']) === true
|
||||
&& empty($options['onClick']) === false
|
||||
) {
|
||||
$chart->options()->setOnClick($options['onClick']);
|
||||
}
|
||||
|
||||
// Height is null maximum possible.
|
||||
if (isset($options['height']) === true
|
||||
&& empty($options['height']) === false
|
||||
|
|
|
@ -73,8 +73,40 @@ $(document).ready(function() {
|
|||
$("#heatmap-title").html($(title).html());
|
||||
}
|
||||
});
|
||||
rescaling();
|
||||
|
||||
$(window).on("resize", function() {
|
||||
rescaling();
|
||||
});
|
||||
});
|
||||
|
||||
function showLabel(element, event, label) {
|
||||
$(".label_heatmap").remove();
|
||||
const tooltip = $(document.createElement("div"));
|
||||
tooltip.html(label);
|
||||
tooltip.attr("class", "label_heatmap");
|
||||
$("#heatmap-group").append(tooltip);
|
||||
var x = event.clientX;
|
||||
var y = event.clientY;
|
||||
tooltip.attr(
|
||||
"style",
|
||||
"position: fixed; top:" + (y + 15) + "px; left:" + (x + 20) + "px;"
|
||||
);
|
||||
}
|
||||
|
||||
function hideLabel() {
|
||||
$(".label_heatmap").remove();
|
||||
}
|
||||
|
||||
function rescaling() {
|
||||
if (window.innerWidth < 1300) {
|
||||
$(".trigger-100").attr("style", "width: 100%;");
|
||||
$(".trigger-100").addClass("br-b");
|
||||
} else {
|
||||
$(".trigger-100").removeAttr("style");
|
||||
$(".trigger-100").removeClass("br-b");
|
||||
}
|
||||
}
|
||||
function autoRefresh(interval, id, method, php_class) {
|
||||
setInterval(() => {
|
||||
$.ajax({
|
||||
|
@ -92,3 +124,108 @@ function autoRefresh(interval, id, method, php_class) {
|
|||
});
|
||||
}, interval);
|
||||
}
|
||||
|
||||
function redirectStatus(e, element) {
|
||||
if (element.length > 0) {
|
||||
switch (e.chart.legend.legendItems[element[0].index].text) {
|
||||
case "Critical":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=1&sort_field=&sort=none&pure=`
|
||||
);
|
||||
break;
|
||||
|
||||
case "Warning":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=2&sort_field=&sort=none&pure=`
|
||||
);
|
||||
break;
|
||||
|
||||
case "Unknown":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=3&sort_field=&sort=none&pure=`
|
||||
);
|
||||
break;
|
||||
|
||||
case "Not init":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=5&sort_field=&sort=none&pure=`
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=-1&sort_field=&sort=none&pure=`
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function redirectHeatmap(view, id, id_agente = 0) {
|
||||
switch (view) {
|
||||
case "group":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=godmode/groups/tactical&id_group=${id}`
|
||||
);
|
||||
break;
|
||||
|
||||
case "agent":
|
||||
window.location.assign(
|
||||
`index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=${id}`
|
||||
);
|
||||
break;
|
||||
|
||||
case "module":
|
||||
if (id_agente > 0) {
|
||||
window.location.assign(
|
||||
`index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=${id_agente}&tab=module&id_agent_module=${id}&edit_module=1`
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function redirectAgentStatus(e, element) {
|
||||
if (element.length > 0) {
|
||||
switch (e.chart.legend.legendItems[element[0].index].text) {
|
||||
case "No monitors":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/estado_agente`
|
||||
);
|
||||
break;
|
||||
|
||||
case "CRITICAL":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=1`
|
||||
);
|
||||
break;
|
||||
|
||||
case "WARNING":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=2`
|
||||
);
|
||||
break;
|
||||
|
||||
case "UKNOWN":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=3`
|
||||
);
|
||||
break;
|
||||
|
||||
case "NORMAL":
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=0`
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
window.location.assign(
|
||||
`index.php?sec=view&sec2=operation/agentes/estado_agente`
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,6 +50,22 @@ class GeneralTacticalView
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns whether general statistics are disabled.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function disableGeneralStatistics():bool
|
||||
{
|
||||
global $config;
|
||||
if (users_is_admin($config['id_user']) === true) {
|
||||
return false;
|
||||
} else {
|
||||
return (bool) $config['disable_general_statistics'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiate all the elements that will build the dashboard
|
||||
*
|
||||
|
@ -109,6 +125,7 @@ class GeneralTacticalView
|
|||
{
|
||||
$data = [];
|
||||
$data['javascript'] = $this->javascript();
|
||||
$data['disableGeneralStatistics'] = $this->disableGeneralStatistics();
|
||||
$data = array_merge($data, $this->elements);
|
||||
View::render(
|
||||
'tacticalView/view',
|
||||
|
|
|
@ -429,12 +429,29 @@ class Agents extends Element
|
|||
'cutout' => 80,
|
||||
'nodata_image' => ['width' => '80%'],
|
||||
'colors' => $colors,
|
||||
'onClick' => 'redirectAgentStatus',
|
||||
];
|
||||
|
||||
// To avoid that if a value is too small it is not seen.
|
||||
$percentages = [];
|
||||
$total = array_sum($data);
|
||||
foreach ($data as $key => $value) {
|
||||
$percentage = (($value / $total) * 100);
|
||||
if ($percentage < 1 && $percentage > 0) {
|
||||
$percentage = 1;
|
||||
}
|
||||
|
||||
$percentages[$key] = format_numeric($percentage, 0);
|
||||
}
|
||||
|
||||
$data = $percentages;
|
||||
|
||||
$pie = ring_graph($data, $options);
|
||||
$output = html_print_div(
|
||||
[
|
||||
'content' => $pie,
|
||||
'style' => 'margin: 0 auto; max-width: 80%; max-height: 220px;',
|
||||
'class' => 'clickable',
|
||||
],
|
||||
true
|
||||
);
|
||||
|
|
|
@ -34,7 +34,9 @@ class Database extends Element
|
|||
*/
|
||||
public function __construct()
|
||||
{
|
||||
global $config;
|
||||
parent::__construct();
|
||||
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||
$this->title = __('Database');
|
||||
$this->ajaxMethods = [
|
||||
'getStatus',
|
||||
|
|
|
@ -57,23 +57,13 @@ class Events extends Element
|
|||
{
|
||||
global $config;
|
||||
$id_groups = array_keys(users_get_groups($config['id_user'], 'AR', false));
|
||||
if (in_array(0, $id_groups) === false) {
|
||||
foreach ($id_groups as $key => $id_group) {
|
||||
if ((bool) check_acl_restricted_all($config['id_user'], $id_group, 'AR') === false) {
|
||||
unset($id_groups[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (users_can_manage_group_all() === true) {
|
||||
$id_groups[] = 0;
|
||||
}
|
||||
|
||||
$id_groups = implode(',', $id_groups);
|
||||
$event_view_h = (int) ($config['event_view_hr'] > 24) ? 24 : $config['event_view_hr'];
|
||||
$time_events = ($event_view_h * 3600);
|
||||
$intervalh = (time() - $time_events);
|
||||
$sql = 'SELECT utimestamp from tevento WHERE utimestamp >= '.$intervalh.' ORDER BY utimestamp DESC;';
|
||||
$sql = 'SELECT utimestamp
|
||||
FROM tevento
|
||||
WHERE utimestamp >= '.$intervalh.' AND id_grupo IN ('.$id_groups.') ORDER BY utimestamp DESC;';
|
||||
$rows = db_process_sql($sql);
|
||||
$cut_seconds = ($time_events / 24);
|
||||
$now = (time() - 300);
|
||||
|
@ -377,6 +367,13 @@ class Events extends Element
|
|||
$data = [];
|
||||
$colors = [];
|
||||
foreach ($rows as $key => $row) {
|
||||
if ($row['criticity'] != EVENT_CRIT_CRITICAL
|
||||
&& $row['criticity'] != EVENT_CRIT_NORMAL
|
||||
&& $row['criticity'] != EVENT_CRIT_WARNING
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch ($row['criticity']) {
|
||||
case EVENT_CRIT_CRITICAL:
|
||||
$label = __('CRITICAL');
|
||||
|
@ -394,9 +391,7 @@ class Events extends Element
|
|||
break;
|
||||
|
||||
default:
|
||||
$colors[] = COL_UNKNOWN;
|
||||
$label = __('UNKNOWN');
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
|
||||
$labels[] = $this->controlSizeText($label);
|
||||
|
@ -410,6 +405,21 @@ class Events extends Element
|
|||
'nodata_image' => ['width' => '100%'],
|
||||
'colors' => $colors,
|
||||
];
|
||||
|
||||
// To avoid that if a value is too small it is not seen.
|
||||
$percentages = [];
|
||||
$total = array_sum($data);
|
||||
foreach ($data as $key => $value) {
|
||||
$percentage = (($value / $total) * 100);
|
||||
if ($percentage < 1 && $percentage > 0) {
|
||||
$percentage = 1;
|
||||
}
|
||||
|
||||
$percentages[$key] = format_numeric($percentage, 0);
|
||||
}
|
||||
|
||||
$data = $percentages;
|
||||
|
||||
$pie = ring_graph($data, $options);
|
||||
$output = html_print_div(
|
||||
[
|
||||
|
@ -448,9 +458,10 @@ class Events extends Element
|
|||
'style' => 'width: 90%;',
|
||||
'ajax_url' => 'operation/events/events',
|
||||
'ajax_data' => [
|
||||
'get_events' => 1,
|
||||
'compact_date' => 1,
|
||||
'external_url' => 1,
|
||||
'get_events' => 1,
|
||||
'compact_date' => 1,
|
||||
'external_url' => 1,
|
||||
'compact_name_event' => 1,
|
||||
],
|
||||
'order' => [
|
||||
'field' => 'timestamp',
|
||||
|
|
|
@ -118,7 +118,6 @@ class Groups extends Element
|
|||
return graph_nodata_image(['width' => '400']);
|
||||
}
|
||||
|
||||
$groups = $modules;
|
||||
// Best square.
|
||||
$high = (float) max($width, $height);
|
||||
$low = 0.0;
|
||||
|
@ -147,7 +146,7 @@ class Groups extends Element
|
|||
$x = 0;
|
||||
$y = 0;
|
||||
$cont = 1;
|
||||
foreach ($groups as $key => $value) {
|
||||
foreach ($modules as $key => $value) {
|
||||
$module_id = $value['id_agente_modulo'];
|
||||
$db_status = modules_get_agentmodule_status($module_id);
|
||||
$module_value = modules_get_last_value($module_id);
|
||||
|
@ -183,10 +182,16 @@ class Groups extends Element
|
|||
break;
|
||||
}
|
||||
|
||||
$redirect = '';
|
||||
if (check_acl($config['id_user'], 0, 'AW')) {
|
||||
$redirect = 'onclick="redirectHeatmap(\'module\', '.$module_id.', '.$value['id_agente'].')"';
|
||||
}
|
||||
|
||||
$heatmap .= sprintf(
|
||||
'<rect id="%s" x="%s" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||
'<rect id="%s" x="%s" onmousemove="showLabel(this, event, \'%s\')" onmouseleave="hideLabel()" '.$redirect.' style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||
'rect_'.$cont,
|
||||
$x,
|
||||
$value['nombre'],
|
||||
$y,
|
||||
$row,
|
||||
$column,
|
||||
|
@ -350,9 +355,10 @@ class Groups extends Element
|
|||
}
|
||||
|
||||
$heatmap .= sprintf(
|
||||
'<rect id="%s" x="%s" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||
'<rect id="%s" x="%s" onmousemove="showLabel(this, event, \'%s\')" onmouseleave="hideLabel()" onclick="redirectHeatmap(\'agent\', '.$value['id_agente'].')" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||
'rect_'.$cont,
|
||||
$x,
|
||||
$value['alias'],
|
||||
$y,
|
||||
$row,
|
||||
$column,
|
||||
|
@ -490,9 +496,10 @@ class Groups extends Element
|
|||
}
|
||||
|
||||
$heatmap .= sprintf(
|
||||
'<rect id="%s" x="%s" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||
'<rect id="%s" x="%s" onmousemove="showLabel(this, event, \'%s\')" onmouseleave="hideLabel()" onclick="redirectHeatmap(\'group\', '.$value['_id_'].')" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||
'rect_'.$cont,
|
||||
$x,
|
||||
$value['_name_'],
|
||||
$y,
|
||||
$row,
|
||||
$column,
|
||||
|
|
|
@ -75,7 +75,10 @@ class MonitoringElements extends Element
|
|||
'display' => false,
|
||||
],
|
||||
'cutout' => 80,
|
||||
'nodata_image' => ['width' => '100%'],
|
||||
'nodata_image' => [
|
||||
'width' => '100%',
|
||||
'height' => '90%',
|
||||
],
|
||||
];
|
||||
$pie = ring_graph($data, $options);
|
||||
$output = html_print_div(
|
||||
|
@ -139,7 +142,10 @@ class MonitoringElements extends Element
|
|||
'display' => false,
|
||||
],
|
||||
'cutout' => 80,
|
||||
'nodata_image' => ['width' => '100%'],
|
||||
'nodata_image' => [
|
||||
'width' => '100%',
|
||||
'height' => '90%',
|
||||
],
|
||||
];
|
||||
$pie = ring_graph($data, $options);
|
||||
$output = html_print_div(
|
||||
|
@ -208,7 +214,10 @@ class MonitoringElements extends Element
|
|||
'display' => false,
|
||||
],
|
||||
'cutout' => 80,
|
||||
'nodata_image' => ['width' => '100%'],
|
||||
'nodata_image' => [
|
||||
'width' => '100%',
|
||||
'height' => '90%',
|
||||
],
|
||||
];
|
||||
$pie = ring_graph($data, $options);
|
||||
$output = html_print_div(
|
||||
|
@ -230,11 +239,12 @@ class MonitoringElements extends Element
|
|||
*/
|
||||
public function getMonitoringStatusGraph():string
|
||||
{
|
||||
$pie = graph_agent_status(false, '', '', true, true, false, true);
|
||||
$pie = graph_agent_status(false, '', '', true, true, false, true, 'redirectStatus', true);
|
||||
$output = html_print_div(
|
||||
[
|
||||
'content' => $pie,
|
||||
'style' => 'margin: 0 auto; max-width: 80%; max-height: 220px;',
|
||||
'class' => 'clickable',
|
||||
],
|
||||
true
|
||||
);
|
||||
|
|
|
@ -36,6 +36,7 @@ class Overview extends Element
|
|||
{
|
||||
global $config;
|
||||
parent::__construct();
|
||||
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||
if (is_ajax() === true) {
|
||||
include_once $config['homedir'].'/include/functions_servers.php';
|
||||
}
|
||||
|
@ -163,6 +164,9 @@ class Overview extends Element
|
|||
if ($info['limit'] > $info['count']) {
|
||||
$used = round(($info['count'] / $info['limit']) * 100);
|
||||
$free = (100 - $used);
|
||||
} else if ($info['limit'] <= $info['count']) {
|
||||
$free = 0;
|
||||
$used = 100;
|
||||
} else {
|
||||
$free = 100;
|
||||
$used = 0;
|
||||
|
|
|
@ -23,11 +23,12 @@
|
|||
align-items: stretch;
|
||||
}
|
||||
.col-12 {
|
||||
width: 100%;
|
||||
width: 99%;
|
||||
}
|
||||
.col-6,
|
||||
.col-xl-6 {
|
||||
width: 50%;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
flex-direction: column;
|
||||
|
@ -58,6 +59,9 @@
|
|||
border-radius: 10px;
|
||||
height: 100%;
|
||||
max-width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.br-l {
|
||||
border-left: 1px solid #e5e9ed;
|
||||
|
@ -325,6 +329,22 @@ table.dataTable thead th {
|
|||
background-color: #ec7176;
|
||||
}
|
||||
|
||||
#svg rect {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.trigger-100 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.label_heatmap {
|
||||
position: absolute;
|
||||
background-color: #757575;
|
||||
color: white;
|
||||
padding: 2px 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
@media (max-width: 1636px) {
|
||||
.col-xl-6 {
|
||||
width: 100%;
|
||||
|
@ -344,9 +364,7 @@ table.dataTable thead th {
|
|||
.col-7 {
|
||||
width: 56%;
|
||||
}
|
||||
.col-5 {
|
||||
width: 41%;
|
||||
}
|
||||
|
||||
.flex-nowrap {
|
||||
flex-wrap: nowrap !important;
|
||||
}
|
||||
|
|
|
@ -342,6 +342,7 @@ if (is_ajax() === true) {
|
|||
$table_id = get_parameter('table_id', '');
|
||||
$groupRecursion = (bool) get_parameter('groupRecursion', false);
|
||||
$compact_date = (int) get_parameter('compact_date', 0);
|
||||
$compact_name_event = (int) get_parameter('compact_name_event', 0);
|
||||
|
||||
// Datatables offset, limit.
|
||||
$start = (int) get_parameter('start', 0);
|
||||
|
@ -471,7 +472,7 @@ if (is_ajax() === true) {
|
|||
|
||||
$data = array_reduce(
|
||||
$events,
|
||||
function ($carry, $item) use ($table_id, &$redirection_form_id, $filter, $compact_date, $external_url) {
|
||||
function ($carry, $item) use ($table_id, &$redirection_form_id, $filter, $compact_date, $external_url, $compact_name_event) {
|
||||
global $config;
|
||||
|
||||
$tmp = (object) $item;
|
||||
|
@ -518,7 +519,7 @@ if (is_ajax() === true) {
|
|||
|
||||
$tmp->evento = ui_print_truncate_text(
|
||||
$tmp->evento,
|
||||
'description',
|
||||
(empty($compact_name_event) === true) ? 'description' : GENERIC_SIZE_TEXT,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
|
|
|
@ -41,32 +41,34 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="br-t">
|
||||
<div class="padding10">
|
||||
<span class="subtitle">
|
||||
<?php echo __('License usage'); ?>
|
||||
</span>
|
||||
<?php echo $Overview->getLicenseUsageGraph(); ?>
|
||||
<?php if ($disableGeneralStatistics === false) : ?>
|
||||
<div class="br-t">
|
||||
<div class="padding10">
|
||||
<span class="subtitle">
|
||||
<?php echo __('License usage'); ?>
|
||||
</span>
|
||||
<?php echo $Overview->getLicenseUsageGraph(); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row flex-nowrap">
|
||||
<div class="row flex-nowrap height_100p">
|
||||
<div class="col-7 pdd_5px">
|
||||
<div class="container">
|
||||
<div class="title">
|
||||
<?php echo $MonitoringElements->title; ?>
|
||||
</div>
|
||||
<div class="content br-t">
|
||||
<div class="row">
|
||||
<div class="content br-t height_100p">
|
||||
<div class="row height_50p">
|
||||
<div class="col-6 br-r br-b">
|
||||
<div class="subtitle link padding10 padding2">
|
||||
<?php echo __('Top-10 Tags'); ?> <a href="index.php?sec=gusuarios&sec2=godmode/tag/tag"><?php echo __('Info'); ?></a>
|
||||
<?php echo __('Status (%)'); ?> <a href="index.php?sec=view&sec2=operation/agentes/estado_agente"><?php echo __('Info'); ?></a>
|
||||
</div>
|
||||
<?php echo $MonitoringElements->getTagsGraph(); ?>
|
||||
<?php echo $MonitoringElements->getMonitoringStatusGraph(); ?>
|
||||
</div>
|
||||
<div class="col-6 br-b">
|
||||
<div class="subtitle link padding10 padding2">
|
||||
|
@ -75,12 +77,12 @@
|
|||
<?php echo $MonitoringElements->getModuleGroupGraph(); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row height_50p">
|
||||
<div class="col-6">
|
||||
<div class="subtitle link padding10 padding2">
|
||||
<?php echo __('Status'); ?> <a href="index.php?sec=view&sec2=operation/agentes/estado_agente"><?php echo __('Info'); ?></a>
|
||||
<?php echo __('Top-10 Tags'); ?> <a href="index.php?sec=gusuarios&sec2=godmode/tag/tag"><?php echo __('Info'); ?></a>
|
||||
</div>
|
||||
<?php echo $MonitoringElements->getMonitoringStatusGraph(); ?>
|
||||
<?php echo $MonitoringElements->getTagsGraph(); ?>
|
||||
</div>
|
||||
<div class="col-6 br-l">
|
||||
<div class="subtitle link padding10 padding2">
|
||||
|
@ -165,6 +167,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($disableGeneralStatistics === false) : ?>
|
||||
<div class="col-6">
|
||||
<div class="container mrgn_5px" id="logStorage">
|
||||
<div class="title br-b">
|
||||
|
@ -184,7 +187,7 @@
|
|||
<?php echo $LogStorage->getTotalSources(); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row height_100p">
|
||||
<div class="col-6 br-r">
|
||||
<div class="subtitle">
|
||||
<?php echo __('Stored data'); ?>
|
||||
|
@ -221,6 +224,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -236,13 +240,13 @@
|
|||
<div class="subtitle">
|
||||
<?php echo __('Currently triggered'); ?>
|
||||
</div>
|
||||
<?php echo $Alerts->getCurrentlyTriggered(); ?>
|
||||
<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&status_alert=fired"><?php echo $Alerts->getCurrentlyTriggered(); ?></a>
|
||||
</div>
|
||||
<div class="col-6 br-l">
|
||||
<div class="subtitle">
|
||||
<?php echo __('Active alerts'); ?>
|
||||
</div>
|
||||
<?php echo $Alerts->getActiveAlerts(); ?>
|
||||
<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list"><?php echo $Alerts->getActiveAlerts(); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($Alerts->checkAclUserList() === true) : ?>
|
||||
|
@ -261,13 +265,13 @@
|
|||
<div class="title br-b">
|
||||
<?php echo $Events->title; ?>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8 br-r">
|
||||
<div class="row" id="auto-rescaling">
|
||||
<div class="col-8 br-r trigger-100">
|
||||
<div class="subtitle link padding10 padding2">
|
||||
<?php echo __('Number of events per hour ('.$config['event_view_hr'].' hrs)'); ?></b> <a href="index.php?sec=eventos&sec2=operation/events/events&filter[event_view_hr]=24&filter[tag_with]=WyIwIl0=&filter[tag_without]=WyIwIl0="><?php echo __('Info'); ?></a>
|
||||
</div>
|
||||
<div id="events-last-24"><?php echo $Events->loading(); ?></div>
|
||||
<div class="row br-t h100p">
|
||||
<div class="row br-t h100p observer">
|
||||
<div class="col-4 br-r">
|
||||
<div class="subtitle padding10 padding2">
|
||||
<?php echo __('Criticality'); ?></b>
|
||||
|
@ -276,7 +280,7 @@
|
|||
</div>
|
||||
<div class="col-4 br-r">
|
||||
<div class="subtitle padding10 padding2">
|
||||
<?php echo __('Status'); ?></b>
|
||||
<?php echo __('Status (%)'); ?></b>
|
||||
</div>
|
||||
<div id="events-status-validate"><?php echo $Events->loading(); ?></div>
|
||||
</div>
|
||||
|
@ -288,7 +292,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="col-4 trigger-100">
|
||||
<div class="subtitle link padding10 padding2">
|
||||
<?php echo __('Active events ('.$config['event_view_hr'].' hrs)'); ?></b> <a href="index.php?sec=eventos&sec2=operation/events/events"><?php echo __('Info'); ?></a>
|
||||
</div>
|
||||
|
@ -333,7 +337,7 @@
|
|||
</div>
|
||||
<?php echo $Agents->getOperatingSystemGraph(); ?>
|
||||
<div class="subtitle padding10 padding2 br-t">
|
||||
<?php echo __('Status'); ?></b>
|
||||
<?php echo __('Status (%)'); ?></b>
|
||||
</div>
|
||||
<?php echo $Agents->getStatusGraph(); ?>
|
||||
</div>
|
||||
|
@ -341,41 +345,43 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<div class="container mrgn_5px">
|
||||
<div class="title br-b">
|
||||
<?php echo $Configurations->title; ?>
|
||||
</div>
|
||||
<div class="row br-b flex-nowrap">
|
||||
<a href="index.php?sec=view&sec2=operation/agentes/group_view" class="col-3 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalGroups(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=view&sec2=extensions/agents_modules" class="col-3 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalModules(); ?>
|
||||
</a>
|
||||
<?php if (enterprise_installed() === true) : ?>
|
||||
<a href="index.php?sec=gmodules&sec2=enterprise/godmode/policies/policies" class="col-3 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalPolicies(); ?>
|
||||
<?php if ($disableGeneralStatistics === false) : ?>
|
||||
<div class="container mrgn_5px">
|
||||
<div class="title br-b">
|
||||
<?php echo $Configurations->title; ?>
|
||||
</div>
|
||||
<div class="row br-b flex-nowrap">
|
||||
<a href="index.php?sec=view&sec2=operation/agentes/group_view" class="col-3 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalGroups(); ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<a href="index.php?sec=gservers&sec2=godmode/servers/plugin" class="col-3 flex flex-column center pdd_20px">
|
||||
<?php echo $Configurations->getTotalRemotePlugins(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=view&sec2=extensions/agents_modules" class="col-3 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalModules(); ?>
|
||||
</a>
|
||||
<?php if (enterprise_installed() === true) : ?>
|
||||
<a href="index.php?sec=gmodules&sec2=enterprise/godmode/policies/policies" class="col-3 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalPolicies(); ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<a href="index.php?sec=gservers&sec2=godmode/servers/plugin" class="col-3 flex flex-column center pdd_20px">
|
||||
<?php echo $Configurations->getTotalRemotePlugins(); ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="row flex-nowrap br-b">
|
||||
<a href="index.php?sec=templates&sec2=godmode/modules/manage_module_templates" class="col-4 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalModuleTemplate(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=5" class="col-4 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getNotInitModules(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=3" class="col-4 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalUnknowAgents(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=eventos&sec2=operation/events/events" class="col-4 flex flex-column center pdd_20px">
|
||||
<?php echo $Configurations->getTotalEvents(); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row flex-nowrap br-b">
|
||||
<a href="index.php?sec=templates&sec2=godmode/modules/manage_module_templates" class="col-4 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalModuleTemplate(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=5" class="col-4 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getNotInitModules(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=3" class="col-4 flex flex-column center pdd_20px br-r">
|
||||
<?php echo $Configurations->getTotalUnknowAgents(); ?>
|
||||
</a>
|
||||
<a href="index.php?sec=eventos&sec2=operation/events/events" class="col-4 flex flex-column center pdd_20px">
|
||||
<?php echo $Configurations->getTotalEvents(); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if ($ScheduledDowntime->checkAcl() === true) : ?>
|
||||
<div class="container mrgn_5px">
|
||||
<div class="title br-b">
|
||||
|
|
Loading…
Reference in New Issue