'.html_print_image(
+ $data[7] .= ' ';
}
- $data[6] .= $server['threads'].' : '.$server['queued_modules'];
+ $data[7] .= $server['threads'].' : '.$server['queued_modules'];
- $data[7] = ui_print_timestamp($server['keepalive'], true);
+ $data[8] = ui_print_timestamp($server['keepalive'], true);
if ($server['type'] === 'data') {
$ext = '_server';
@@ -208,11 +211,11 @@ foreach ($servers as $server) {
// Only Pandora Administrator can delete servers.
if ((bool) check_acl($config['id_user'], 0, 'PM') === true) {
- $data[8] = '';
+ $data[9] = '';
if ($server['type'] === 'recon') {
- $data[8] .= '';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/snmp-trap@svg.svg',
true,
[
@@ -221,12 +224,12 @@ foreach ($servers as $server) {
]
);
- $data[8] .= '';
+ $data[9] .= '';
}
if ($server['type'] === 'data') {
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/force@svg.svg',
true,
[
@@ -234,10 +237,10 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
} else if ($server['type'] === 'enterprise snmp') {
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/force@svg.svg',
true,
[
@@ -245,12 +248,12 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
}
if ($server['type'] === 'event' && (bool) check_acl($config['id_user'], 0, 'LM') === true) {
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/alert@svg.svg',
true,
[
@@ -258,11 +261,11 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
}
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/edit.svg',
true,
[
@@ -270,11 +273,11 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
if (($names_servers[$safe_server_name] === true) && ($ext === '_server' || $server['type'] === 'enterprise satellite')) {
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/agents@svg.svg',
true,
[
@@ -282,10 +285,10 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/remote-configuration@svg.svg',
true,
[
@@ -293,12 +296,12 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
$names_servers[$safe_server_name] = false;
}
- $data[8] .= '
';
- $data[8] .= html_print_image(
+ $data[9] .= '';
+ $data[9] .= html_print_image(
'images/delete.svg',
true,
[
@@ -307,14 +310,14 @@ foreach ($servers as $server) {
'class' => 'main_menu_icon invert_filter',
]
);
- $data[8] .= '';
+ $data[9] .= '';
}
if ($tiny) {
- unset($data[4]);
- unset($data[6]);
+ unset($data[5]);
unset($data[7]);
unset($data[8]);
+ unset($data[9]);
}
$ext = '';
@@ -323,10 +326,10 @@ foreach ($servers as $server) {
}
if ($tiny) {
- unset($table->head[4]);
- unset($table->head[6]);
+ unset($table->head[5]);
unset($table->head[7]);
unset($table->head[8]);
+ unset($table->head[9]);
}
if ($tiny) {
diff --git a/pandora_console/include/class/ConsoleSupervisor.php b/pandora_console/include/class/ConsoleSupervisor.php
index fa087d5b8e..91a88064f3 100644
--- a/pandora_console/include/class/ConsoleSupervisor.php
+++ b/pandora_console/include/class/ConsoleSupervisor.php
@@ -693,6 +693,40 @@ class ConsoleSupervisor
}
+ /**
+ * Check number of agents and disable agentaccess token if number
+ * is equals and more than 200.
+ *
+ * @return void
+ */
+ public function checkAccessStatisticsPerformance()
+ {
+ global $config;
+
+ $total_agents = db_get_value('count(*)', 'tagente');
+
+ if ($total_agents >= 200) {
+ if ((int) $config['agentaccess'] !== 0) {
+ db_process_sql_update('tconfig', ['value' => 0], ['token' => 'agentaccess']);
+ $this->notify(
+ [
+ 'type' => 'NOTIF.ACCESSSTASTICS.PERFORMANCE',
+ 'title' => __('Access statistics performance'),
+ 'message' => __(
+ 'Usage of agent access statistics IS NOT RECOMMENDED on systems with more than 200 agents due performance penalty'
+ ),
+ 'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
+ ]
+ );
+ } else {
+ $this->cleanNotifications('NOTIF.ACCESSSTASTICS.PERFORMANCE');
+ }
+ } else {
+ $this->cleanNotifications('NOTIF.ACCESSSTASTICS.PERFORMANCE');
+ }
+ }
+
+
/**
* Update targets for given notification using object targets.
*
diff --git a/pandora_console/include/constants.php b/pandora_console/include/constants.php
index 4f020e61de..5207298b03 100644
--- a/pandora_console/include/constants.php
+++ b/pandora_console/include/constants.php
@@ -45,6 +45,7 @@ define('EVENT_NEW', 0);
define('EVENT_VALIDATE', 1);
define('EVENT_PROCESS', 2);
define('EVENT_NO_VALIDATED', 3);
+define('EVENT_NO_PROCESS', 4);
// Events group by constants.
define('EVENT_GROUP_REP_ALL', 0);
diff --git a/pandora_console/include/functions_events.php b/pandora_console/include/functions_events.php
index 9639d7da4e..2a91641315 100644
--- a/pandora_console/include/functions_events.php
+++ b/pandora_console/include/functions_events.php
@@ -982,6 +982,9 @@ function events_get_all(
case EVENT_NO_VALIDATED:
$filter['status'][$key] = (EVENT_NEW.', '.EVENT_PROCESS);
+
+ case EVENT_NO_PROCESS:
+ $filter['status'][$key] = (EVENT_NEW.', '.EVENT_VALIDATE);
default:
// Ignore.
break;
@@ -1027,6 +1030,24 @@ function events_get_all(
$validatedState
);
break;
+
+ case EVENT_NO_PROCESS:
+ // Show comments in validated events.
+ $validatedState = '';
+ if ($validatedEvents === true) {
+ $validatedState = sprintf(
+ 'OR estado = %d',
+ EVENT_VALIDATE
+ );
+ }
+
+ $sql_filters[] = sprintf(
+ ' AND (estado = %d OR estado = %d %s)',
+ EVENT_NEW,
+ EVENT_VALIDATE,
+ $validatedState
+ );
+ break;
}
}
}
@@ -3204,12 +3225,14 @@ function events_get_all_status($report=false)
$fields[1] = __('Only validated');
$fields[2] = __('Only in process');
$fields[3] = __('Only not validated');
+ $fields[4] = __('Only not in process');
} else {
$fields[-1] = __('All event');
$fields[0] = __('New');
$fields[1] = __('Validated');
$fields[2] = __('In process');
$fields[3] = __('Not Validated');
+ $fields[4] = __('Not in process');
}
return $fields;
@@ -5999,17 +6022,47 @@ function get_count_event_criticity(
$type = 'AND event_type = "'.$eventType.'"';
}
- $groups = ' ';
+ $groups = ' ';
if ((int) $groupId !== 0) {
$groups = 'AND id_grupo IN ('.$groupId.')';
}
- $status = ' ';
- if ((int) $eventStatus !== -1) {
- $status = 'AND estado = '.$eventStatus;
+ $status = ' ';
+ if (empty($eventStatus) === false) {
+ switch ($eventStatus) {
+ case EVENT_ALL:
+ default:
+ // Do not filter.
+ break;
+
+ case EVENT_NEW:
+ case EVENT_VALIDATE:
+ case EVENT_PROCESS:
+ $status = sprintf(
+ ' AND estado = %d',
+ $eventStatus
+ );
+ break;
+
+ case EVENT_NO_VALIDATED:
+ $status = sprintf(
+ ' AND (estado = %d OR estado = %d)',
+ EVENT_NEW,
+ EVENT_PROCESS
+ );
+ break;
+
+ case EVENT_NO_PROCESS:
+ $status = sprintf(
+ ' AND (estado = %d OR estado = %d)',
+ EVENT_NEW,
+ EVENT_VALIDATE
+ );
+ break;
+ }
}
- $criticity = ' ';
+ $criticity = ' ';
if (empty($criticityId) === false) {
$criticity = 'AND criticity IN ('.$criticityId.')';
}
diff --git a/pandora_console/include/functions_servers.php b/pandora_console/include/functions_servers.php
index 75e034ce3c..ff6fab73c6 100644
--- a/pandora_console/include/functions_servers.php
+++ b/pandora_console/include/functions_servers.php
@@ -665,6 +665,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'data';
$id_modulo = 1;
+ $server['name'] = __('Data server');
break;
case SERVER_TYPE_NETWORK:
@@ -678,6 +679,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'network';
$id_modulo = 2;
+ $server['name'] = __('Network server');
break;
case SERVER_TYPE_SNMP:
@@ -691,6 +693,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'snmp';
$id_modulo = 0;
+ $server['name'] = __('SNMP Trap server');
break;
case SERVER_TYPE_DISCOVERY:
@@ -704,6 +707,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'recon';
$id_modulo = 0;
+ $server['name'] = __('Discovery server');
break;
case SERVER_TYPE_PLUGIN:
@@ -717,6 +721,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'plugin';
$id_modulo = 4;
+ $server['name'] = __('Plugin server');
break;
case SERVER_TYPE_PREDICTION:
@@ -730,6 +735,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'prediction';
$id_modulo = 5;
+ $server['name'] = __('Prediction server');
break;
case SERVER_TYPE_WMI:
@@ -743,6 +749,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'wmi';
$id_modulo = 6;
+ $server['name'] = __('WMI server');
break;
case SERVER_TYPE_EXPORT:
@@ -756,6 +763,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'export';
$id_modulo = 0;
+ $server['name'] = __('Export server');
break;
case SERVER_TYPE_INVENTORY:
@@ -769,6 +777,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'inventory';
$id_modulo = 0;
+ $server['name'] = __('Inventory server');
break;
case SERVER_TYPE_WEB:
@@ -782,6 +791,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'web';
$id_modulo = 0;
+ $server['name'] = __('Web server');
break;
case SERVER_TYPE_EVENT:
@@ -795,6 +805,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'event';
$id_modulo = 2;
+ $server['name'] = __('Event server');
break;
case SERVER_TYPE_CORRELATION:
@@ -808,6 +819,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'correlation';
$id_modulo = 0;
+ $server['name'] = __('Correlation server');
break;
case SERVER_TYPE_ENTERPRISE_ICMP:
@@ -821,6 +833,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'enterprise icmp';
$id_modulo = 2;
+ $server['name'] = __('Enterprise ICMP server');
break;
case SERVER_TYPE_ENTERPRISE_SNMP:
@@ -834,6 +847,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'enterprise snmp';
$id_modulo = 2;
+ $server['name'] = __('Enterprise SNMP server');
break;
case SERVER_TYPE_ENTERPRISE_SATELLITE:
@@ -847,6 +861,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'enterprise satellite';
$id_modulo = 0;
+ $server['name'] = __('Enterprise Satellite server');
break;
case SERVER_TYPE_ENTERPRISE_TRANSACTIONAL:
@@ -860,6 +875,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'enterprise transactional';
$id_modulo = 0;
+ $server['name'] = __('Enterprise Transactional server');
break;
case SERVER_TYPE_MAINFRAME:
@@ -873,6 +889,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'mainframe';
$id_modulo = 0;
+ $server['name'] = __('Mainframe server');
break;
case SERVER_TYPE_SYNC:
@@ -886,6 +903,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'sync';
$id_modulo = 0;
+ $server['name'] = __('Sync server');
break;
case SERVER_TYPE_WUX:
@@ -899,6 +917,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'wux';
$id_modulo = 0;
+ $server['name'] = __('Wux server');
break;
case SERVER_TYPE_SYSLOG:
@@ -912,6 +931,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'syslog';
$id_modulo = 0;
+ $server['name'] = __('Syslog server');
break;
case SERVER_TYPE_NCM:
@@ -925,6 +945,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'ncm';
$id_modulo = 0;
+ $server['name'] = __('NCM server');
break;
case SERVER_TYPE_AUTOPROVISION:
@@ -938,6 +959,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'autoprovision';
$id_modulo = 0;
+ $server['name'] = __('Autoprovision server');
break;
case SERVER_TYPE_MIGRATION:
@@ -951,6 +973,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'migration';
$id_modulo = 0;
+ $server['name'] = __('Migration server');
break;
case SERVER_TYPE_ALERT:
@@ -964,6 +987,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'alert';
$id_modulo = 0;
+ $server['name'] = __('Alert server');
break;
case SERVER_TYPE_NETFLOW:
@@ -977,6 +1001,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'netflow';
$id_modulo = 0;
+ $server['name'] = __('Netflow server');
break;
case SERVER_TYPE_LOG:
@@ -990,6 +1015,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'log';
$id_modulo = 0;
+ $server['name'] = __('Log server');
break;
case SERVER_TYPE_MADE:
@@ -1003,6 +1029,7 @@ function servers_get_info($id_server=-1, $sql_limit=-1)
);
$server['type'] = 'made';
$id_modulo = 0;
+ $server['name'] = __('MADE server');
break;
default:
diff --git a/pandora_console/include/lib/ClusterViewer/ClusterManager.php b/pandora_console/include/lib/ClusterViewer/ClusterManager.php
index 7ee9a96ba1..4f47ca0d42 100644
--- a/pandora_console/include/lib/ClusterViewer/ClusterManager.php
+++ b/pandora_console/include/lib/ClusterViewer/ClusterManager.php
@@ -620,9 +620,16 @@ class ClusterManager
if (empty($tmp->group) === true) {
$tmp->group = __('Not set');
} else {
+ // Html div part for csv export.
$tmp->group = ui_print_group_icon(
$tmp->group,
true
+ ).html_print_div(
+ [
+ 'content' => groups_get_name($tmp->group),
+ 'class' => 'invisible',
+ ],
+ true
);
}
@@ -636,9 +643,16 @@ class ClusterManager
}
// Status.
+ // Html div part for csv export.
$tmp->known_status = ui_print_module_status(
$tmp->known_status,
true
+ ).html_print_div(
+ [
+ 'content' => $tmp->known_status,
+ 'class' => 'invisible',
+ ],
+ true
);
// Options. View.
diff --git a/pandora_console/include/lib/Dashboard/Widgets/EventCardboard.php b/pandora_console/include/lib/Dashboard/Widgets/EventCardboard.php
index fa2f8bb023..8ca7571790 100644
--- a/pandora_console/include/lib/Dashboard/Widgets/EventCardboard.php
+++ b/pandora_console/include/lib/Dashboard/Widgets/EventCardboard.php
@@ -296,11 +296,7 @@ class EventCardboard extends Widget
];
// Event status.
- $fields = [
- -1 => __('All event'),
- 1 => __('Only validated'),
- 0 => __('Only pending'),
- ];
+ $fields = events_get_all_status(true);
$inputs['inputs']['row1'][] = [
'label' => __('Event status'),
diff --git a/pandora_console/include/lib/Dashboard/Widgets/events_list.php b/pandora_console/include/lib/Dashboard/Widgets/events_list.php
index b7ad581dc0..3706c33d5e 100644
--- a/pandora_console/include/lib/Dashboard/Widgets/events_list.php
+++ b/pandora_console/include/lib/Dashboard/Widgets/events_list.php
@@ -396,6 +396,7 @@ class EventsListWidget extends Widget
0 => \__('Only pending'),
2 => \__('Only in process'),
3 => \__('Only not validated'),
+ 4 => \__('Only not in process'),
];
$inputs['inputs']['row1'][] = [
diff --git a/pandora_console/include/styles/tables.css b/pandora_console/include/styles/tables.css
index b0129d5968..4f340b32d9 100644
--- a/pandora_console/include/styles/tables.css
+++ b/pandora_console/include/styles/tables.css
@@ -233,6 +233,10 @@
vertical-align: middle;
}
+#audit_logs > tbody > tr > td > img {
+ padding-right: 10px;
+}
+
.table_action_buttons > a,
.table_action_buttons > img,
.table_action_buttons > button,
diff --git a/pandora_console/operation/agentes/status_monitor.php b/pandora_console/operation/agentes/status_monitor.php
index 046fbc5222..825fbb01df 100644
--- a/pandora_console/operation/agentes/status_monitor.php
+++ b/pandora_console/operation/agentes/status_monitor.php
@@ -2348,6 +2348,7 @@ if (empty($result) === false) {
array_push($table->data, $data);
}
+ echo '
'.sprintf(__('Total items: %s'), $count).'
';
html_print_table($table);
if ($count_modules > $config['block_size']) {
diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php
index 34db92588d..1767b33c37 100644
--- a/pandora_console/operation/events/events.php
+++ b/pandora_console/operation/events/events.php
@@ -2663,6 +2663,10 @@ try {
case EVENT_NO_VALIDATED:
$active_filters_div .= __('Not validated.');
break;
+
+ case EVENT_NO_PROCESS:
+ $active_filters_div .= __('Not in process.');
+ break;
}
$active_filters_div .= '
';