mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 16:24:54 +02:00
Merge branch 'develop' into 'ent-11729-plugin-proxmox-discovery-disco'
Conflicts: pandora_console/extras/mr/66.sql
This commit is contained in:
commit
7a725d0c16
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.773.3-230912
|
Version: 7.0NG.773.3-230919
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.773.3-230912"
|
pandora_version="7.0NG.773.3-230919"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
@ -1031,7 +1031,7 @@ my $Sem = undef;
|
|||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.773.3';
|
use constant AGENT_VERSION => '7.0NG.773.3';
|
||||||
use constant AGENT_BUILD => '230912';
|
use constant AGENT_BUILD => '230919';
|
||||||
|
|
||||||
# Agent log default file size maximum and instances
|
# Agent log default file size maximum and instances
|
||||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux
|
%define name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
%define name pandorafms_agent_linux_bin
|
%define name pandorafms_agent_linux_bin
|
||||||
%define source_name pandorafms_agent_linux
|
%define source_name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, binary version
|
Summary: Pandora FMS Linux agent, binary version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux
|
%define name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.773.3"
|
PI_VERSION="7.0NG.773.3"
|
||||||
PI_BUILD="230912"
|
PI_BUILD="230919"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{230912}
|
{230919}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||||||
using namespace Pandora_Strutils;
|
using namespace Pandora_Strutils;
|
||||||
|
|
||||||
#define PATH_SIZE _MAX_PATH+1
|
#define PATH_SIZE _MAX_PATH+1
|
||||||
#define PANDORA_VERSION ("7.0NG.773.3 Build 230912")
|
#define PANDORA_VERSION ("7.0NG.773.3 Build 230919")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
@ -11,7 +11,7 @@ BEGIN
|
|||||||
VALUE "LegalCopyright", "Pandora FMS"
|
VALUE "LegalCopyright", "Pandora FMS"
|
||||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||||
VALUE "ProductVersion", "(7.0NG.773.3(Build 230912))"
|
VALUE "ProductVersion", "(7.0NG.773.3(Build 230919))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.773.3-230912
|
Version: 7.0NG.773.3-230919
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.773.3-230912"
|
pandora_version="7.0NG.773.3-230919"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
|
|
||||||
|
ALTER TABLE tevent_filter ADD private_filter_user text NULL;
|
||||||
ALTER TABLE `ttrap` ADD COLUMN `utimestamp` INT UNSIGNED NOT NULL DEFAULT 0;
|
ALTER TABLE `ttrap` ADD COLUMN `utimestamp` INT UNSIGNED NOT NULL DEFAULT 0;
|
||||||
|
|
||||||
UPDATE ttrap SET utimestamp=UNIX_TIMESTAMP(timestamp);
|
UPDATE ttrap SET utimestamp=UNIX_TIMESTAMP(timestamp);
|
||||||
@ -44,6 +45,8 @@ ADD COLUMN `time_init` VARCHAR(45) NULL AFTER `date_init`,
|
|||||||
ADD COLUMN `date_end` VARCHAR(45) NULL AFTER `time_init`,
|
ADD COLUMN `date_end` VARCHAR(45) NULL AFTER `time_init`,
|
||||||
ADD COLUMN `time_end` VARCHAR(45) NULL AFTER `date_end`;
|
ADD COLUMN `time_end` VARCHAR(45) NULL AFTER `date_end`;
|
||||||
|
|
||||||
|
UPDATE `tdiscovery_apps` SET `version` = '1.1' WHERE `short_name` = 'pandorafms.vmware';
|
||||||
|
|
||||||
-- Insert new Proxmox APP
|
-- Insert new Proxmox APP
|
||||||
SET @short_name = 'pandorafms.proxmox';
|
SET @short_name = 'pandorafms.proxmox';
|
||||||
SET @name = 'Proxmox';
|
SET @name = 'Proxmox';
|
||||||
|
@ -437,7 +437,7 @@ if ($id_agente) {
|
|||||||
[
|
[
|
||||||
'href' => 'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente='.$id_agente,
|
'href' => 'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente='.$id_agente,
|
||||||
'content' => html_print_image(
|
'content' => html_print_image(
|
||||||
'images/alert@svg.svg',
|
'images/add-alert.svg',
|
||||||
true,
|
true,
|
||||||
[
|
[
|
||||||
'title' => __('Alerts'),
|
'title' => __('Alerts'),
|
||||||
|
@ -811,7 +811,7 @@ foreach ($simple_alerts as $alert) {
|
|||||||
$data[3] .= '<tr class="datos2">';
|
$data[3] .= '<tr class="datos2">';
|
||||||
$data[3] .= '<td class="w50p">'.html_print_label_input_block(
|
$data[3] .= '<td class="w50p">'.html_print_label_input_block(
|
||||||
__('Agent'),
|
__('Agent'),
|
||||||
ui_print_truncate_text($alias, 'agent_small', false, true, true, '[…]')
|
ui_print_truncate_text($alias, 'agent_medium', false, true, true, '[…]')
|
||||||
).'</td>';
|
).'</td>';
|
||||||
$data[3] .= '<td class="w50p">'.html_print_label_input_block(
|
$data[3] .= '<td class="w50p">'.html_print_label_input_block(
|
||||||
__('Module'),
|
__('Module'),
|
||||||
|
@ -61,6 +61,9 @@ if ($id) {
|
|||||||
$filter = events_get_event_filter($id);
|
$filter = events_get_event_filter($id);
|
||||||
$id_group_filter = $filter['id_group_filter'];
|
$id_group_filter = $filter['id_group_filter'];
|
||||||
$id_group = $filter['id_group'];
|
$id_group = $filter['id_group'];
|
||||||
|
// Get owner user private filter.
|
||||||
|
$private_filter = ($filter['private_filter_user'] === null || $filter['private_filter_user'] === '') ? 0 : 1;
|
||||||
|
$private_filter_user = $filter['private_filter_user'];
|
||||||
$id_name = $filter['id_name'];
|
$id_name = $filter['id_name'];
|
||||||
$event_type = $filter['event_type'];
|
$event_type = $filter['event_type'];
|
||||||
$severity = explode(',', $filter['severity']);
|
$severity = explode(',', $filter['severity']);
|
||||||
@ -113,6 +116,7 @@ if ($id) {
|
|||||||
$server_id = ($filter['server_id'] ?? '');
|
$server_id = ($filter['server_id'] ?? '');
|
||||||
} else {
|
} else {
|
||||||
$id_group = '';
|
$id_group = '';
|
||||||
|
$private_filter = 0;
|
||||||
$id_group_filter = '';
|
$id_group_filter = '';
|
||||||
$id_name = '';
|
$id_name = '';
|
||||||
$event_type = '';
|
$event_type = '';
|
||||||
@ -167,8 +171,8 @@ if ($update || $create) {
|
|||||||
$id_user_ack = get_parameter('id_user_ack', '');
|
$id_user_ack = get_parameter('id_user_ack', '');
|
||||||
$owner_user = get_parameter('owner_user', '');
|
$owner_user = get_parameter('owner_user', '');
|
||||||
$group_rep = get_parameter('group_rep', '');
|
$group_rep = get_parameter('group_rep', '');
|
||||||
$date_from = get_parameter('date_from', '');
|
$date_from = get_parameter('date_from', '0000-00-00');
|
||||||
$date_to = get_parameter('date_to', '');
|
$date_to = get_parameter('date_to', '0000-00-00');
|
||||||
$source = get_parameter('source');
|
$source = get_parameter('source');
|
||||||
$id_extra = get_parameter('id_extra');
|
$id_extra = get_parameter('id_extra');
|
||||||
$user_comment = get_parameter('user_comment');
|
$user_comment = get_parameter('user_comment');
|
||||||
@ -192,6 +196,16 @@ if ($update || $create) {
|
|||||||
$server_id = implode(',', $servers_array);
|
$server_id = implode(',', $servers_array);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get private filter from user.
|
||||||
|
$private_filter = get_parameter_switch('private_filter_event', 0);
|
||||||
|
if ((int) $private_filter === 1 && $create) {
|
||||||
|
$private_filter_user = $_SESSION['id_usuario'];
|
||||||
|
} else if ((int) $private_filter === 1 && $update) {
|
||||||
|
$private_filter_user = ($private_filter_user === $_SESSION['id_usuario']) ? $private_filter_user : $_SESSION['id_usuario'];
|
||||||
|
} else if ((int) $private_filter === 0) {
|
||||||
|
$private_filter_user = null;
|
||||||
|
}
|
||||||
|
|
||||||
$values = [
|
$values = [
|
||||||
'id_name' => $id_name,
|
'id_name' => $id_name,
|
||||||
'id_group_filter' => $id_group_filter,
|
'id_group_filter' => $id_group_filter,
|
||||||
@ -222,6 +236,7 @@ if ($update || $create) {
|
|||||||
'custom_data' => $custom_data,
|
'custom_data' => $custom_data,
|
||||||
'custom_data_filter_type' => $custom_data_filter_type,
|
'custom_data_filter_type' => $custom_data_filter_type,
|
||||||
'server_id' => $server_id,
|
'server_id' => $server_id,
|
||||||
|
'private_filter_user' => $private_filter_user,
|
||||||
];
|
];
|
||||||
|
|
||||||
$severity = explode(',', $severity);
|
$severity = explode(',', $severity);
|
||||||
@ -293,6 +308,17 @@ $table->data[0][0] = html_print_label_input_block(
|
|||||||
false,
|
false,
|
||||||
'',
|
'',
|
||||||
'w100p'
|
'w100p'
|
||||||
|
).html_print_label_input_block(
|
||||||
|
__('Private'),
|
||||||
|
html_print_checkbox_switch(
|
||||||
|
'private_filter_event',
|
||||||
|
$private_filter,
|
||||||
|
$private_filter,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
'checked_slide_events(this);',
|
||||||
|
true
|
||||||
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -133,6 +133,18 @@ $filters = db_get_all_rows_sql($sql);
|
|||||||
|
|
||||||
if ($filters === false) {
|
if ($filters === false) {
|
||||||
$filters = [];
|
$filters = [];
|
||||||
|
} else {
|
||||||
|
foreach ($filters as $key => $filter) {
|
||||||
|
$permission = users_is_admin($config['id_user']);
|
||||||
|
// Validate permission and private filter user.
|
||||||
|
if ($permission || $filter['private_filter_user'] === $config['id_user']) {
|
||||||
|
if ($filter['private_filter_user'] !== null) {
|
||||||
|
$filters[$key]['id_name'] = $filter['id_name'].' (P)';
|
||||||
|
}
|
||||||
|
} else if ($filter['private_filter_user'] !== null) {
|
||||||
|
unset($filters[$key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$table = new stdClass();
|
$table = new stdClass();
|
||||||
|
@ -607,16 +607,20 @@ if (is_metaconsole() === true) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$performance_variables_control = (array) json_decode(io_safe_output($config['performance_variables_control']));
|
||||||
|
|
||||||
$userManagementTable->rowclass['captions_blocksize_eventfilter'] = 'field_half_width';
|
$userManagementTable->rowclass['captions_blocksize_eventfilter'] = 'field_half_width';
|
||||||
$userManagementTable->rowclass['fields_blocksize_eventfilter'] = 'field_half_width';
|
$userManagementTable->rowclass['fields_blocksize_eventfilter'] = 'field_half_width';
|
||||||
$userManagementTable->data['captions_blocksize_eventfilter'][0] = __('Block size for pagination');
|
$userManagementTable->data['captions_blocksize_eventfilter'][0] = __('Block size for pagination');
|
||||||
$userManagementTable->data['fields_blocksize_eventfilter'][0] = html_print_input_text(
|
$userManagementTable->data['fields_blocksize_eventfilter'][0] = html_print_input(
|
||||||
'block_size',
|
[
|
||||||
$user_info['block_size'],
|
'type' => 'number',
|
||||||
'',
|
'size' => 5,
|
||||||
5,
|
'max' => $performance_variables_control['block_size']->max,
|
||||||
5,
|
'name' => 'block_size',
|
||||||
true
|
'value' => $user_info['block_size'],
|
||||||
|
'return' => true,
|
||||||
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (is_metaconsole() === true && empty($user_info['metaconsole_default_event_filter']) !== true) {
|
if (is_metaconsole() === true && empty($user_info['metaconsole_default_event_filter']) !== true) {
|
||||||
|
7
pandora_console/images/add-alert.svg
Executable file
7
pandora_console/images/add-alert.svg
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>Add alert@svg</title>
|
||||||
|
<g id="Add-alert" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<path d="M10,18 C10,19.1046875 9.10426763,20 8,20 C6.89573237,20 6,19.1046875 6,18 Z M8,2 C8.47753934,2 8.88669653,2.29621004 9.05726495,2.71662986 C8.40926188,3.26642114 8,4.08541645 8,5 L8.00509269,5.17627279 C8.09633912,6.75108004 9.40231912,8 11,8 L12,8 L12,9 C12,10.2760205 12.7966542,11.3659725 13.9197222,11.7996155 C14.313005,13.7223855 15.173052,14.4998338 15.6924763,15.0633413 C15.9067613,15.2955529 16.001761,15.5739183 16,15.8461538 C15.9964039,16.4375 15.5364053,17 14.8535503,17 L1.14644973,17 C0.46359469,17 0.00395325166,16.4375 -1.59872116e-13,15.8461538 C-0.00176101642,15.5739183 0.0932386904,15.2959135 0.307523743,15.0633413 C0.997521614,14.3147837 2.28858906,13.1887019 2.28858906,9.5 C2.28858906,6.69831731 4.23429734,4.45552885 6.85786067,3.90528846 L6.85786067,3.15384615 C6.85786067,2.51670673 7.36928766,2 8,2 Z M15,0 C15.5522847,-1.01453063e-16 16,0.44771525 16,1 L16,3.999 L19,4 C19.5522847,4 20,4.44771525 20,5 C20,5.55228475 19.5522847,6 19,6 L16,6 L16,9 C16,9.55228475 15.5522847,10 15,10 C14.4477153,10 14,9.55228475 14,9 L14,6 L11,6 C10.4477153,6 10,5.55228475 10,5 C10,4.44771525 10.4477153,4 11,4 L14,4 L14,1 C14,0.44771525 14.4477153,1.01453063e-16 15,0 Z" id="Shape" fill="#3F3F3F"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
@ -35,7 +35,6 @@ $disable_alert = (bool) get_parameter('disable_alert');
|
|||||||
$enable_alert = (bool) get_parameter('enable_alert');
|
$enable_alert = (bool) get_parameter('enable_alert');
|
||||||
$get_actions_module = (bool) get_parameter('get_actions_module');
|
$get_actions_module = (bool) get_parameter('get_actions_module');
|
||||||
$show_update_action_menu = (bool) get_parameter('show_update_action_menu');
|
$show_update_action_menu = (bool) get_parameter('show_update_action_menu');
|
||||||
$get_agent_alerts_agent_view = (bool) get_parameter('get_agent_alerts_agent_view');
|
|
||||||
$resize_event_week = (bool) get_parameter('resize_event_week');
|
$resize_event_week = (bool) get_parameter('resize_event_week');
|
||||||
$get_agent_alerts_datatable = (bool) get_parameter('get_agent_alerts_datatable', 0);
|
$get_agent_alerts_datatable = (bool) get_parameter('get_agent_alerts_datatable', 0);
|
||||||
$alert_validate = (bool) get_parameter('alert_validate', false);
|
$alert_validate = (bool) get_parameter('alert_validate', false);
|
||||||
@ -91,270 +90,6 @@ if ($get_agent_alerts_simple) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($get_agent_alerts_agent_view) {
|
|
||||||
include_once $config['homedir'].'/include/functions_agents.php';
|
|
||||||
include_once $config['homedir'].'/operation/agentes/alerts_status.functions.php';
|
|
||||||
include_once $config['homedir'].'/include/functions_users.php';
|
|
||||||
|
|
||||||
$agent_a = check_acl($config['id_user'], 0, 'AR');
|
|
||||||
$agent_w = check_acl($config['id_user'], 0, 'AW');
|
|
||||||
$access = ($agent_a == true) ? 'AR' : (($agent_w == true) ? 'AW' : 'AR');
|
|
||||||
|
|
||||||
$free_search_alert = get_parameter('free_search_alert', '');
|
|
||||||
$all_groups = json_decode(io_safe_output(get_parameter('all_groups')));
|
|
||||||
$idAgent = (int) get_parameter('id_agent');
|
|
||||||
$filter = get_parameter('filter', 'all_enabled');
|
|
||||||
$url = 'index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$idAgent;
|
|
||||||
|
|
||||||
$sortField = get_parameter('sort_field');
|
|
||||||
$sort = get_parameter('sort', 'none');
|
|
||||||
$selected = true;
|
|
||||||
$selectModuleUp = false;
|
|
||||||
$selectModuleDown = false;
|
|
||||||
$selectTemplateUp = false;
|
|
||||||
$selectTemplateDown = false;
|
|
||||||
$selectLastFiredUp = false;
|
|
||||||
$selectLastFiredDown = false;
|
|
||||||
switch ($sortField) {
|
|
||||||
case 'module':
|
|
||||||
switch ($sort) {
|
|
||||||
case 'up':
|
|
||||||
$selectModuleUp = $selected;
|
|
||||||
$order = [
|
|
||||||
'field' => 'agent_module_name',
|
|
||||||
'order' => 'ASC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'down':
|
|
||||||
$selectModuleDown = $selected;
|
|
||||||
$order = [
|
|
||||||
'field' => 'agent_module_name',
|
|
||||||
'order' => 'DESC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'template':
|
|
||||||
switch ($sort) {
|
|
||||||
case 'up':
|
|
||||||
$selectTemplateUp = $selected;
|
|
||||||
$order = [
|
|
||||||
'field' => 'template_name',
|
|
||||||
'order' => 'ASC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'down':
|
|
||||||
$selectTemplateDown = $selected;
|
|
||||||
$order = [
|
|
||||||
'field' => 'template_name',
|
|
||||||
'order' => 'DESC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'last_fired':
|
|
||||||
switch ($sort) {
|
|
||||||
case 'up':
|
|
||||||
$selectLastFiredUp = $selected;
|
|
||||||
$order = [
|
|
||||||
'field' => 'last_fired',
|
|
||||||
'order' => 'ASC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'down':
|
|
||||||
$selectLastFiredDown = $selected;
|
|
||||||
$order = [
|
|
||||||
'field' => 'last_fired',
|
|
||||||
'order' => 'DESC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
$selectDisabledUp = '';
|
|
||||||
$selectDisabledDown = '';
|
|
||||||
$selectModuleUp = $selected;
|
|
||||||
$selectModuleDown = false;
|
|
||||||
$selectTemplateUp = false;
|
|
||||||
$selectTemplateDown = false;
|
|
||||||
$selectLastFiredUp = false;
|
|
||||||
$selectLastFiredDown = false;
|
|
||||||
$order = [
|
|
||||||
'field' => 'agent_module_name',
|
|
||||||
'order' => 'ASC',
|
|
||||||
];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($free_search_alert != '') {
|
|
||||||
$whereAlertSimple = 'AND ('.'id_alert_template IN (
|
|
||||||
SELECT id
|
|
||||||
FROM talert_templates
|
|
||||||
WHERE name LIKE "%'.$free_search_alert.'%") OR '.'id_alert_template IN (
|
|
||||||
SELECT id
|
|
||||||
FROM talert_templates
|
|
||||||
WHERE id_alert_action IN (
|
|
||||||
SELECT id
|
|
||||||
FROM talert_actions
|
|
||||||
WHERE name LIKE "%'.$free_search_alert.'%")) OR '.'talert_template_modules.id IN (
|
|
||||||
SELECT id_alert_template_module
|
|
||||||
FROM talert_template_module_actions
|
|
||||||
WHERE id_alert_action IN (
|
|
||||||
SELECT id
|
|
||||||
FROM talert_actions
|
|
||||||
WHERE name LIKE "%'.$free_search_alert.'%")) OR '.'id_agent_module IN (
|
|
||||||
SELECT id_agente_modulo
|
|
||||||
FROM tagente_modulo
|
|
||||||
WHERE nombre LIKE "%'.$free_search_alert.'%") OR '.'id_agent_module IN (
|
|
||||||
SELECT id_agente_modulo
|
|
||||||
FROM tagente_modulo
|
|
||||||
WHERE alias LIKE "%'.$free_search_alert.'%")'.')';
|
|
||||||
} else {
|
|
||||||
$whereAlertSimple = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add checks for user ACL.
|
|
||||||
$groups = users_get_groups($config['id_user'], $access);
|
|
||||||
$id_groups = array_keys($groups);
|
|
||||||
|
|
||||||
if (empty($id_groups)) {
|
|
||||||
$whereAlertSimple .= ' AND (1 = 0) ';
|
|
||||||
} else {
|
|
||||||
$whereAlertSimple .= sprintf(
|
|
||||||
' AND id_agent_module IN (
|
|
||||||
SELECT tam.id_agente_modulo
|
|
||||||
FROM tagente_modulo tam
|
|
||||||
WHERE tam.id_agente IN (
|
|
||||||
SELECT
|
|
||||||
ta.id_agente
|
|
||||||
FROM
|
|
||||||
tagente ta
|
|
||||||
WHERE
|
|
||||||
ta.id_grupo IN (%s)
|
|
||||||
)
|
|
||||||
OR tam.id_agente IN (
|
|
||||||
SELECT
|
|
||||||
DISTINCT(tasg.id_agent)
|
|
||||||
FROM
|
|
||||||
tagent_secondary_group tasg
|
|
||||||
WHERE
|
|
||||||
tasg.id_group IN (%s)
|
|
||||||
)
|
|
||||||
) ',
|
|
||||||
implode(',', $id_groups),
|
|
||||||
implode(',', $id_groups)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$alerts = [];
|
|
||||||
|
|
||||||
$filter_alert = [];
|
|
||||||
if ($filter_standby == 'standby_on') {
|
|
||||||
$filter_alert['disabled'] = $filter;
|
|
||||||
$filter_alert['standby'] = '1';
|
|
||||||
} else if ($filter_standby == 'standby_off') {
|
|
||||||
$filter_alert['disabled'] = $filter;
|
|
||||||
$filter_alert['standby'] = '0';
|
|
||||||
} else {
|
|
||||||
$filter_alert['disabled'] = $filter;
|
|
||||||
}
|
|
||||||
|
|
||||||
$options_simple = ['order' => $order];
|
|
||||||
|
|
||||||
$alerts['alerts_simple'] = agents_get_alerts_simple($idAgent, $filter_alert, $options_simple, $whereAlertSimple, false, false, false, false, $strict_user, $tag_filter);
|
|
||||||
$countAlertsSimple = agents_get_alerts_simple($idAgent, $filter_alert, false, $whereAlertSimple, false, false, false, true, $strict_user, $tag_filter);
|
|
||||||
|
|
||||||
// Urls to sort the table.
|
|
||||||
$url_up_module = $url.'&sort_field=module&sort=up';
|
|
||||||
$url_down_module = $url.'&sort_field=module&sort=down';
|
|
||||||
$url_up_template = $url.'&sort_field=template&sort=up';
|
|
||||||
$url_down_template = $url.'&sort_field=template&sort=down';
|
|
||||||
$url_up_lastfired = $url.'&sort_field=last_fired&sort=up';
|
|
||||||
$url_down_lastfired = $url.'&sort_field=last_fired&sort=down';
|
|
||||||
|
|
||||||
$table = new stdClass();
|
|
||||||
$table->width = '100%';
|
|
||||||
$table->class = 'info_table';
|
|
||||||
$table->cellpadding = '0';
|
|
||||||
$table->cellspacing = '0';
|
|
||||||
$table->size = [];
|
|
||||||
$table->head = [];
|
|
||||||
$table->align = [];
|
|
||||||
|
|
||||||
if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
|
|
||||||
$table->size[7] = '5%';
|
|
||||||
if (check_acl_one_of_groups($config['id_user'], $all_groups, 'LW') || check_acl_one_of_groups($config['id_user'], $all_groups, 'LM')) {
|
|
||||||
$table->head[8] = __('Validate');
|
|
||||||
$table->align[8] = 'left';
|
|
||||||
$table->size[8] = '5%';
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->head[0] = "<span title='".__('Policy')."'>".__('P.').'</span>';
|
|
||||||
$table->head[1] = "<span title='".__('Standby')."'>".__('S.').'</span>';
|
|
||||||
|
|
||||||
if (check_acl_one_of_groups($config['id_user'], $all_groups, 'AW') || check_acl_one_of_groups($config['id_user'], $all_groups, 'LM')) {
|
|
||||||
$table->head[2] = "<span title='".__('Force execution')."'>".__('F.').'</span>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->head[3] = __('Module');
|
|
||||||
$table->head[4] = __('Template');
|
|
||||||
$table->head[5] = __('Action');
|
|
||||||
$table->head[6] = __('Last fired');
|
|
||||||
$table->head[7] = __('Status');
|
|
||||||
|
|
||||||
$table->align[7] = 'center';
|
|
||||||
|
|
||||||
$table->head[3] .= ui_get_sorting_arrows($url_up_module, $url_down_module, $selectModuleUp, $selectModuleDown);
|
|
||||||
$table->head[4] .= ui_get_sorting_arrows($url_up_template, $url_down_template, $selectTemplateUp, $selectTemplateDown);
|
|
||||||
$table->head[6] .= ui_get_sorting_arrows($url_up_lastfired, $url_down_lastfired, $selectLastFiredUp, $selectLastFiredDown);
|
|
||||||
} else {
|
|
||||||
$table->size[6] = '5%';
|
|
||||||
if (check_acl($config['id_user'], $id_group, 'LW') || check_acl($config['id_user'], $id_group, 'LM')) {
|
|
||||||
$table->head[7] = __('Validate');
|
|
||||||
$table->align[7] = 'left';
|
|
||||||
$table->size[7] = '5%';
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->head[0] = "<span title='".__('Standby')."'>".__('S.').'</span>';
|
|
||||||
|
|
||||||
if (check_acl($config['id_user'], $id_group, 'AW') || check_acl($config['id_user'], $id_group, 'LM')) {
|
|
||||||
$table->head[1] = "<span title='".__('Force execution')."'>".__('F.').'</span>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->head[2] = __('Module');
|
|
||||||
$table->head[3] = __('Template');
|
|
||||||
$table->head[4] = __('Action');
|
|
||||||
$table->head[5] = __('Last fired');
|
|
||||||
$table->head[6] = __('Status');
|
|
||||||
|
|
||||||
$table->align[6] = 'center';
|
|
||||||
|
|
||||||
$table->head[2] .= ui_get_sorting_arrows($url_up_module, $url_down_module, $selectModuleUp, $selectModuleDown);
|
|
||||||
$table->head[3] .= ui_get_sorting_arrows($url_up_template, $url_down_template, $selectTemplateUp, $selectTemplateDown);
|
|
||||||
$table->head[5] .= ui_get_sorting_arrows($url_up_lastfired, $url_down_lastfired, $selectLastFiredUp, $selectLastFiredDown);
|
|
||||||
}
|
|
||||||
|
|
||||||
$table->data = [];
|
|
||||||
$rowPair = true;
|
|
||||||
$iterator = 0;
|
|
||||||
foreach ($alerts['alerts_simple'] as $alert) {
|
|
||||||
$row = ui_format_alert_row($alert, false, $url, 'font-size: 9pt;');
|
|
||||||
$table->data[] = $row;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (empty($table->data) === false) {
|
|
||||||
html_print_table($table);
|
|
||||||
} else {
|
|
||||||
ui_print_info_message(['no_close' => true, 'message' => __('No alerts found') ]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($enable_alert) {
|
if ($enable_alert) {
|
||||||
if (! check_acl($config['id_user'], 0, 'LW')) {
|
if (! check_acl($config['id_user'], 0, 'LW')) {
|
||||||
db_pandora_audit(
|
db_pandora_audit(
|
||||||
@ -501,7 +236,7 @@ if ($show_update_action_menu) {
|
|||||||
$data .= '<td class="datos">';
|
$data .= '<td class="datos">';
|
||||||
$data .= ui_print_truncate_text(
|
$data .= ui_print_truncate_text(
|
||||||
$agent_alias,
|
$agent_alias,
|
||||||
'agent_small',
|
'agent_medium',
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
@ -92,6 +92,9 @@ $get_id_source_event = get_parameter('get_id_source_event');
|
|||||||
$node_id = (int) get_parameter('node_id', 0);
|
$node_id = (int) get_parameter('node_id', 0);
|
||||||
$settings_modal = get_parameter('settings', 0);
|
$settings_modal = get_parameter('settings', 0);
|
||||||
$parameters_modal = get_parameter('parameters', 0);
|
$parameters_modal = get_parameter('parameters', 0);
|
||||||
|
// User private filter.
|
||||||
|
$current_filter = get_parameter('current_filter', 0);
|
||||||
|
$private_filter_event = get_parameter('private_filter_event', 0);
|
||||||
|
|
||||||
if ($get_comments === true) {
|
if ($get_comments === true) {
|
||||||
global $config;
|
global $config;
|
||||||
@ -337,6 +340,14 @@ if ($save_event_filter) {
|
|||||||
$values['custom_data'] = get_parameter('custom_data');
|
$values['custom_data'] = get_parameter('custom_data');
|
||||||
$values['custom_data_filter_type'] = get_parameter('custom_data_filter_type');
|
$values['custom_data_filter_type'] = get_parameter('custom_data_filter_type');
|
||||||
|
|
||||||
|
// Get private filter from user.
|
||||||
|
$private_filter = get_parameter_switch('private_filter_user', 0);
|
||||||
|
if ((int) $private_filter === 1) {
|
||||||
|
$values['private_filter_user'] = $config['id_user'];
|
||||||
|
} else {
|
||||||
|
$values['private_filter_user'] = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_metaconsole() === true) {
|
if (is_metaconsole() === true) {
|
||||||
$values['server_id'] = implode(',', get_parameter('server_id'));
|
$values['server_id'] = implode(',', get_parameter('server_id'));
|
||||||
}
|
}
|
||||||
@ -397,6 +408,17 @@ if ($update_event_filter) {
|
|||||||
$values['custom_data'] = get_parameter('custom_data');
|
$values['custom_data'] = get_parameter('custom_data');
|
||||||
$values['custom_data_filter_type'] = get_parameter('custom_data_filter_type');
|
$values['custom_data_filter_type'] = get_parameter('custom_data_filter_type');
|
||||||
|
|
||||||
|
// Get private filter from user.
|
||||||
|
$private_filter = get_parameter('private_filter_user', 0);
|
||||||
|
$user_private_filter = events_get_event_filter($id);
|
||||||
|
if ((int) $private_filter === 1 && $user_private_filter['private_filter_user'] === null) {
|
||||||
|
$values['private_filter_user'] = $config['id_user'];
|
||||||
|
} else if ($private_filter === $user_private_filter['private_filter_user'] && $user_private_filter['private_filter_user'] !== $config['id_user']) {
|
||||||
|
$values['private_filter_user'] = $user_private_filter['private_filter_user'];
|
||||||
|
} else {
|
||||||
|
$values['private_filter_user'] = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_metaconsole() === true) {
|
if (is_metaconsole() === true) {
|
||||||
$values['server_id'] = implode(',', get_parameter('server_id'));
|
$values['server_id'] = implode(',', get_parameter('server_id'));
|
||||||
}
|
}
|
||||||
@ -712,8 +734,8 @@ if ($save_filter_modal) {
|
|||||||
$table = new StdClass;
|
$table = new StdClass;
|
||||||
$table->id = 'save_filter_form';
|
$table->id = 'save_filter_form';
|
||||||
$table->width = '100%';
|
$table->width = '100%';
|
||||||
$table->cellspacing = 4;
|
$table->cellspacing = 5;
|
||||||
$table->cellpadding = 4;
|
$table->cellpadding = 5;
|
||||||
$table->class = 'databox';
|
$table->class = 'databox';
|
||||||
if (is_metaconsole() === true) {
|
if (is_metaconsole() === true) {
|
||||||
$table->class = 'databox filters';
|
$table->class = 'databox filters';
|
||||||
@ -732,7 +754,7 @@ if ($save_filter_modal) {
|
|||||||
'filter_mode',
|
'filter_mode',
|
||||||
'new',
|
'new',
|
||||||
__('New filter'),
|
__('New filter'),
|
||||||
true,
|
((int) $current_filter === 0) ? true : false,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -740,7 +762,7 @@ if ($save_filter_modal) {
|
|||||||
'filter_mode',
|
'filter_mode',
|
||||||
'update',
|
'update',
|
||||||
__('Update filter'),
|
__('Update filter'),
|
||||||
false,
|
((int) $current_filter > 0) ? true : false,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -755,6 +777,7 @@ if ($save_filter_modal) {
|
|||||||
$table->rowclass[2] = 'flex';
|
$table->rowclass[2] = 'flex';
|
||||||
$table->rowclass[3] = 'flex';
|
$table->rowclass[3] = 'flex';
|
||||||
$table->rowclass[4] = 'flex';
|
$table->rowclass[4] = 'flex';
|
||||||
|
$table->rowclass[5] = 'flex';
|
||||||
$data[0] = '<b>'.__('Filter name').'</b>'.$jump;
|
$data[0] = '<b>'.__('Filter name').'</b>'.$jump;
|
||||||
$data[0] .= html_print_input_text('id_name', '', '', 15, 255, true);
|
$data[0] .= html_print_input_text('id_name', '', '', 15, 255, true);
|
||||||
if (is_metaconsole()) {
|
if (is_metaconsole()) {
|
||||||
@ -801,9 +824,9 @@ if ($save_filter_modal) {
|
|||||||
$data[0] .= html_print_select(
|
$data[0] .= html_print_select(
|
||||||
$_filters_update,
|
$_filters_update,
|
||||||
'overwrite_filter',
|
'overwrite_filter',
|
||||||
|
$current_filter,
|
||||||
'',
|
'',
|
||||||
'',
|
__('None'),
|
||||||
'',
|
|
||||||
0,
|
0,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
@ -814,6 +837,31 @@ if ($save_filter_modal) {
|
|||||||
$table->data[] = $data;
|
$table->data[] = $data;
|
||||||
$table->rowclass[] = '';
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
|
$data = [];
|
||||||
|
$table->rowid[4] = 'update_filter_row2';
|
||||||
|
|
||||||
|
$table->data[] = $data;
|
||||||
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
|
// Update user private filter.
|
||||||
|
$data = [];
|
||||||
|
$table->rowid[6] = 'private_filter_event_row1';
|
||||||
|
$data[0] = html_print_label_input_block(
|
||||||
|
__('Private'),
|
||||||
|
html_print_checkbox_switch(
|
||||||
|
'private_filter_event',
|
||||||
|
$private_filter_event,
|
||||||
|
$private_filter_event,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
'checked_slide_events(this);',
|
||||||
|
true
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$table->data[] = $data;
|
||||||
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
|
|
||||||
html_print_div(
|
html_print_div(
|
||||||
@ -858,10 +906,19 @@ if ($save_filter_modal) {
|
|||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function show_save_filter() {
|
function show_save_filter() {
|
||||||
|
|
||||||
|
if ($('#hidden-id_filter_event').val() == 0) {
|
||||||
$('#save_filter_row1').show();
|
$('#save_filter_row1').show();
|
||||||
$('#save_filter_row2').show();
|
$('#save_filter_row2').show();
|
||||||
$('#update_filter_row1').hide();
|
$('#update_filter_row1').hide();
|
||||||
$('#button-update_filter').hide();
|
$('#button-update_filter').hide();
|
||||||
|
} else {
|
||||||
|
$('#save_filter_row1').hide();
|
||||||
|
$('#save_filter_row2').hide();
|
||||||
|
$('#button-save_filter').hide();
|
||||||
|
$('#update_filter_row1').show();
|
||||||
|
$('#button-update_filter').show();
|
||||||
|
}
|
||||||
// Filter save mode selector
|
// Filter save mode selector
|
||||||
$("[name='filter_mode']").click(function() {
|
$("[name='filter_mode']").click(function() {
|
||||||
if ($(this).val() == 'new') {
|
if ($(this).val() == 'new') {
|
||||||
@ -936,7 +993,8 @@ function save_new_filter() {
|
|||||||
"id_source_event": $("#text-id_source_event").val(),
|
"id_source_event": $("#text-id_source_event").val(),
|
||||||
"server_id": $("#server_id").val(),
|
"server_id": $("#server_id").val(),
|
||||||
"custom_data": $("#text-custom_data").val(),
|
"custom_data": $("#text-custom_data").val(),
|
||||||
"custom_data_filter_type": $("#custom_data_filter_type").val()
|
"custom_data_filter_type": $("#custom_data_filter_type").val(),
|
||||||
|
"private_filter_user": $("#checkbox-private_filter_event").val()
|
||||||
},
|
},
|
||||||
function (data) {
|
function (data) {
|
||||||
$("#info_box").hide();
|
$("#info_box").hide();
|
||||||
@ -1015,7 +1073,8 @@ function save_update_filter() {
|
|||||||
"id_source_event": $("#text-id_source_event").val(),
|
"id_source_event": $("#text-id_source_event").val(),
|
||||||
"server_id": $("#server_id").val(),
|
"server_id": $("#server_id").val(),
|
||||||
"custom_data": $("#text-custom_data").val(),
|
"custom_data": $("#text-custom_data").val(),
|
||||||
"custom_data_filter_type": $("#custom_data_filter_type").val()
|
"custom_data_filter_type": $("#custom_data_filter_type").val(),
|
||||||
|
"private_filter_user": $("#checkbox-private_filter_event").val()
|
||||||
|
|
||||||
},
|
},
|
||||||
function (data) {
|
function (data) {
|
||||||
|
@ -621,7 +621,8 @@ class ConsoleSupervisor
|
|||||||
'small_operation_step_datos_purge' => 'Small Operation Step to purge old data',
|
'small_operation_step_datos_purge' => 'Small Operation Step to purge old data',
|
||||||
'row_limit_csv' => 'Row limit in csv log',
|
'row_limit_csv' => 'Row limit in csv log',
|
||||||
'limit_parameters_massive' => 'Limit for bulk operations',
|
'limit_parameters_massive' => 'Limit for bulk operations',
|
||||||
'block_size' => 'Block size for pagination',
|
'block_size' => 'User block size for pagination',
|
||||||
|
'global_block_size' => 'Global block size for pagination',
|
||||||
'short_module_graph_data' => 'Data precision',
|
'short_module_graph_data' => 'Data precision',
|
||||||
'graph_precision' => 'Data precision in graphs',
|
'graph_precision' => 'Data precision in graphs',
|
||||||
];
|
];
|
||||||
@ -635,8 +636,14 @@ class ConsoleSupervisor
|
|||||||
|
|
||||||
$message = '';
|
$message = '';
|
||||||
$limit_value = '';
|
$limit_value = '';
|
||||||
|
$url = '';
|
||||||
if ($config[$variable] > $values->max) {
|
if ($config[$variable] > $values->max) {
|
||||||
$message = 'Check the setting of %s, a value greater than %s is not recommended';
|
$message = 'Check the setting of %s, a value greater than %s is not recommended';
|
||||||
|
|
||||||
|
if ($variable === 'block_size') {
|
||||||
|
$message .= '. (User: '.$config['id_user'].')';
|
||||||
|
}
|
||||||
|
|
||||||
$limit_value = $values->max;
|
$limit_value = $values->max;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -647,19 +654,27 @@ class ConsoleSupervisor
|
|||||||
|
|
||||||
if ($limit_value !== '' && $message !== '') {
|
if ($limit_value !== '' && $message !== '') {
|
||||||
if (is_metaconsole() === true) {
|
if (is_metaconsole() === true) {
|
||||||
$this->notify(
|
$url = '__url__index.php?sec=advanced&sec2=advanced/metasetup';
|
||||||
[
|
|
||||||
'type' => 'NOTIF.VARIABLES.PERFORMANCE.'.$variable,
|
|
||||||
'title' => __('Incorrect config value'),
|
|
||||||
'message' => __(
|
|
||||||
$message,
|
|
||||||
$names[$variable],
|
|
||||||
$limit_value
|
|
||||||
),
|
|
||||||
'url' => '__url__index.php?sec=advanced&sec2=advanced/metasetup',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
|
$url = '__url__/index.php?sec=general&sec2=godmode/setup/setup';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($variable === 'block_size') {
|
||||||
|
if (is_metaconsole() === true) {
|
||||||
|
$url = '__url__index.php?sec=gusuarios&sec2=godmode/users/configure_user&edit_user=1&pure=0&id_user='.$config['id_user'];
|
||||||
|
} else {
|
||||||
|
$url = '__url__/index.php?sec=gusuarios&sec2=godmode/users/configure_user&edit_user=1&pure=0&id_user='.$config['id_user'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($variable === 'global_block_size') {
|
||||||
|
if (is_metaconsole() === true) {
|
||||||
|
$url = '__url__index.php?sec=advanced&sec2=advanced/metasetup&pure=0&tab=visual';
|
||||||
|
} else {
|
||||||
|
$url = '__url__/index.php?sec=gsetup&sec2=godmode/setup/setup§ion=vis';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$this->notify(
|
$this->notify(
|
||||||
[
|
[
|
||||||
'type' => 'NOTIF.VARIABLES.PERFORMANCE.'.$variable,
|
'type' => 'NOTIF.VARIABLES.PERFORMANCE.'.$variable,
|
||||||
@ -669,12 +684,11 @@ class ConsoleSupervisor
|
|||||||
$names[$variable],
|
$names[$variable],
|
||||||
$limit_value
|
$limit_value
|
||||||
),
|
),
|
||||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup',
|
'url' => $url,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,6 +316,8 @@ class Diagnostics extends Wizard
|
|||||||
* Graph of the Free Disk Spool Dir module.
|
* Graph of the Free Disk Spool Dir module.
|
||||||
* Graph of the Free RAM module.
|
* Graph of the Free RAM module.
|
||||||
* Graph of the Queued Modules module.
|
* Graph of the Queued Modules module.
|
||||||
|
* Graph of the Queued_Alerts.
|
||||||
|
* Graph of the Alert_Server_Status.
|
||||||
* Graph of the Status module.
|
* Graph of the Status module.
|
||||||
* Graph of the System Load AVG module.
|
* Graph of the System Load AVG module.
|
||||||
* Graph of the Execution Time module.
|
* Graph of the Execution Time module.
|
||||||
@ -366,6 +368,20 @@ class Diagnostics extends Wizard
|
|||||||
'nameModule' => 'Queued_Modules',
|
'nameModule' => 'Queued_Modules',
|
||||||
'idAgent' => $agentIdMasterServer,
|
'idAgent' => $agentIdMasterServer,
|
||||||
],
|
],
|
||||||
|
'chartQueuedAlerts' => [
|
||||||
|
'title' => __(
|
||||||
|
'Graph of the Queued Alerts total.'
|
||||||
|
),
|
||||||
|
'nameModule' => 'Queued_Alerts',
|
||||||
|
'idAgent' => $agentIdMasterServer,
|
||||||
|
],
|
||||||
|
'chartAlertServerStatus' => [
|
||||||
|
'title' => __(
|
||||||
|
'Graph of the Alert Server Status.'
|
||||||
|
),
|
||||||
|
'nameModule' => 'Alert_Server_Status',
|
||||||
|
'idAgent' => $agentIdMasterServer,
|
||||||
|
],
|
||||||
'chartStatus' => [
|
'chartStatus' => [
|
||||||
'title' => __('Graph of the Status module.'),
|
'title' => __('Graph of the Status module.'),
|
||||||
'nameModule' => 'Status',
|
'nameModule' => 'Status',
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC230912';
|
$build_version = 'PC230919';
|
||||||
$pandora_version = 'v7.0NG.773.3';
|
$pandora_version = 'v7.0NG.773.3';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
|
@ -2760,7 +2760,6 @@ function agents_delete_agent($id_agents, $disableACL=false)
|
|||||||
enterprise_include_once('include/functions_agents.php');
|
enterprise_include_once('include/functions_agents.php');
|
||||||
enterprise_hook('agent_delete_from_cache', [$id_agent]);
|
enterprise_hook('agent_delete_from_cache', [$id_agent]);
|
||||||
|
|
||||||
|
|
||||||
// Delete agent from fav menu.
|
// Delete agent from fav menu.
|
||||||
db_process_sql_delete(
|
db_process_sql_delete(
|
||||||
'tfavmenu_user',
|
'tfavmenu_user',
|
||||||
|
@ -2573,6 +2573,10 @@ function config_process_config()
|
|||||||
'max' => 200,
|
'max' => 200,
|
||||||
'min' => 10,
|
'min' => 10,
|
||||||
],
|
],
|
||||||
|
'global_block_size' => [
|
||||||
|
'max' => 200,
|
||||||
|
'min' => 10,
|
||||||
|
],
|
||||||
'short_module_graph_data' => [
|
'short_module_graph_data' => [
|
||||||
'max' => 20,
|
'max' => 20,
|
||||||
'min' => 1,
|
'min' => 1,
|
||||||
|
@ -3357,7 +3357,7 @@ function events_get_event_filter_select($manage=true)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$sql = '
|
$sql = '
|
||||||
SELECT id_filter, id_name
|
SELECT id_filter, id_name, private_filter_user
|
||||||
FROM tevent_filter
|
FROM tevent_filter
|
||||||
WHERE id_group_filter IN (0, '.implode(',', array_keys($user_groups)).')';
|
WHERE id_group_filter IN (0, '.implode(',', array_keys($user_groups)).')';
|
||||||
|
|
||||||
@ -3368,9 +3368,22 @@ function events_get_event_filter_select($manage=true)
|
|||||||
} else {
|
} else {
|
||||||
$result = [];
|
$result = [];
|
||||||
foreach ($event_filters as $event_filter) {
|
foreach ($event_filters as $event_filter) {
|
||||||
|
$permission = users_is_admin($config['id_user']);
|
||||||
|
if ($permission || $event_filter['private_filter_user'] === $config['id_user']) {
|
||||||
|
if ($event_filter['private_filter_user'] !== null) {
|
||||||
|
$filter_name = $event_filter['id_name'].' (P)';
|
||||||
|
} else {
|
||||||
|
$filter_name = $event_filter['id_name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$result[$event_filter['id_filter']] = $filter_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($event_filter['private_filter_user'] === null) {
|
||||||
$result[$event_filter['id_filter']] = $event_filter['id_name'];
|
$result[$event_filter['id_filter']] = $event_filter['id_name'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
@ -5382,9 +5382,11 @@ function graph_so_by_group($id_group, $width=300, $height=200, $recursive=true,
|
|||||||
'SELECT COUNT(id_agente) AS count,
|
'SELECT COUNT(id_agente) AS count,
|
||||||
os.name
|
os.name
|
||||||
FROM tagente a
|
FROM tagente a
|
||||||
|
LEFT JOIN tagent_secondary_group g ON g.id_agent = a.id_agente
|
||||||
LEFT JOIN tconfig_os os ON a.id_os = os.id_os
|
LEFT JOIN tconfig_os os ON a.id_os = os.id_os
|
||||||
WHERE a.id_grupo IN (%s)
|
WHERE a.id_grupo IN (%s) OR g.id_group IN (%s)
|
||||||
GROUP BY os.id_os',
|
GROUP BY os.id_os',
|
||||||
|
implode(',', $id_groups),
|
||||||
implode(',', $id_groups)
|
implode(',', $id_groups)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -5466,7 +5468,7 @@ function graph_events_agent_by_group($id_group, $width=300, $height=200, $noWate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$filter_groups = ' AND te.id_grupo IN ('.implode(',', $id_groups).') ';
|
$filter_groups = ' AND (te.id_grupo IN ('.implode(',', $id_groups).') OR g.id_group IN ('.implode(',', $id_groups).'))';
|
||||||
|
|
||||||
// This will give the distinct id_agente, give the id_grupo that goes
|
// This will give the distinct id_agente, give the id_grupo that goes
|
||||||
// with it and then the number of times it occured. GROUP BY statement
|
// with it and then the number of times it occured. GROUP BY statement
|
||||||
@ -5475,6 +5477,7 @@ function graph_events_agent_by_group($id_group, $width=300, $height=200, $noWate
|
|||||||
'SELECT DISTINCT(id_agente) AS id_agente,
|
'SELECT DISTINCT(id_agente) AS id_agente,
|
||||||
COUNT(id_agente) AS count
|
COUNT(id_agente) AS count
|
||||||
FROM tevento te
|
FROM tevento te
|
||||||
|
LEFT JOIN tagent_secondary_group g ON g.id_agent = te.id_agente
|
||||||
WHERE 1=1 AND estado = 0
|
WHERE 1=1 AND estado = 0
|
||||||
%s %s
|
%s %s
|
||||||
GROUP BY id_agente
|
GROUP BY id_agente
|
||||||
|
@ -2501,7 +2501,9 @@ function groups_get_heat_map_agents(array $id_group, float $width=0, float $heig
|
|||||||
$id_group = [$id_group];
|
$id_group = [$id_group];
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = 'SELECT * FROM tagente WHERE id_grupo IN('.implode(',', $id_group).')';
|
$sql = 'SELECT * FROM tagente a
|
||||||
|
LEFT JOIN tagent_secondary_group g ON g.id_agent = a.id_agente
|
||||||
|
WHERE a.id_grupo IN ('.implode(',', $id_group).') OR g.id_group IN ('.implode(',', $id_group).')';
|
||||||
|
|
||||||
$all_agents = db_get_all_rows_sql($sql);
|
$all_agents = db_get_all_rows_sql($sql);
|
||||||
if (empty($all_agents)) {
|
if (empty($all_agents)) {
|
||||||
@ -2654,8 +2656,8 @@ function tactical_groups_get_agents_and_monitoring($id_groups, $data='')
|
|||||||
|
|
||||||
if ($data === '') {
|
if ($data === '') {
|
||||||
$data = [
|
$data = [
|
||||||
'total_agents' => groups_agents_total_counters($id_groups, false)['total'],
|
'total_agents' => groups_agents_total_counters($id_groups, true)['total'],
|
||||||
'monitor_total' => groups_get_total_monitors($id_groups, [], [], false, false, false, false),
|
'monitor_total' => groups_get_total_monitors($id_groups, [], [], false, false, false, true),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2719,7 +2721,7 @@ function tactical_groups_get_stats_alerts($id_groups, $data='')
|
|||||||
}
|
}
|
||||||
|
|
||||||
$urls = [];
|
$urls = [];
|
||||||
$urls['monitor_alerts'] = $config['homeurl'].'index.php?sec=estado&sec2=operation/agentes/alerts_status&refr=60&ag_group='.$id_groups[0];
|
$urls['monitor_alerts'] = $config['homeurl'].'index.php?sec=estado&sec2=operation/agentes/alerts_status&refr=60&disabled=all&ag_group='.$id_groups[0];
|
||||||
$urls['monitor_alerts_fired'] = $config['homeurl'].'index.php?sec=estado&sec2=operation/agentes/alerts_status&refr=60&disabled=fired&ag_group='.$id_groups[0];
|
$urls['monitor_alerts_fired'] = $config['homeurl'].'index.php?sec=estado&sec2=operation/agentes/alerts_status&refr=60&disabled=fired&ag_group='.$id_groups[0];
|
||||||
|
|
||||||
// Alerts table.
|
// Alerts table.
|
||||||
@ -2790,11 +2792,11 @@ function groups_get_stats_modules_status($id_groups, $graph_width=250, $graph_he
|
|||||||
|
|
||||||
if ($data === '') {
|
if ($data === '') {
|
||||||
$data = [
|
$data = [
|
||||||
'monitor_critical' => groups_get_critical_monitors($id_groups, [], [], false, false, false, false),
|
'monitor_critical' => groups_get_critical_monitors($id_groups, [], [], false, false, false, true),
|
||||||
'monitor_warning' => groups_get_warning_monitors($id_groups, [], [], false, false, false, false),
|
'monitor_warning' => groups_get_warning_monitors($id_groups, [], [], false, false, false, true),
|
||||||
'monitor_ok' => groups_get_normal_monitors($id_groups, [], [], false, false, false, false),
|
'monitor_ok' => groups_get_normal_monitors($id_groups, [], [], false, false, false, true),
|
||||||
'monitor_unknown' => groups_get_unknown_monitors($id_groups, [], [], false, false, false, false),
|
'monitor_unknown' => groups_get_unknown_monitors($id_groups, [], [], false, false, false, true),
|
||||||
'monitor_not_init' => groups_get_not_init_monitors($id_groups, [], [], false, false, false, false),
|
'monitor_not_init' => groups_get_not_init_monitors($id_groups, [], [], false, false, false, true),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3303,7 +3303,7 @@ function html_print_input_image($name, $src, $value, $style='', $return=false, $
|
|||||||
|
|
||||||
// If metaconsole is activated and image doesn't exists try to search on normal console.
|
// If metaconsole is activated and image doesn't exists try to search on normal console.
|
||||||
if (is_metaconsole() === true) {
|
if (is_metaconsole() === true) {
|
||||||
if (false === @file_get_contents($src, 0, null, 0, 1)) {
|
if ($src !== null && false === @file_get_contents($src, 0, null, 0, 1)) {
|
||||||
$src = '../../'.$src;
|
$src = '../../'.$src;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -283,6 +283,10 @@ function servers_get_performance($filter=[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($counts as $c) {
|
foreach ($counts as $c) {
|
||||||
|
if (empty($c['modules']) === true) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
switch ($c['server_type']) {
|
switch ($c['server_type']) {
|
||||||
case SERVER_TYPE_DATA:
|
case SERVER_TYPE_DATA:
|
||||||
$data['total_local_modules'] = $c['modules'];
|
$data['total_local_modules'] = $c['modules'];
|
||||||
@ -292,7 +296,7 @@ function servers_get_performance($filter=[])
|
|||||||
case SERVER_TYPE_SNMP:
|
case SERVER_TYPE_SNMP:
|
||||||
case SERVER_TYPE_ENTERPRISE_ICMP:
|
case SERVER_TYPE_ENTERPRISE_ICMP:
|
||||||
case SERVER_TYPE_ENTERPRISE_SNMP:
|
case SERVER_TYPE_ENTERPRISE_SNMP:
|
||||||
$data['total_network_modules'] = $c['modules'];
|
$data['total_network_modules'] += $c['modules'];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SERVER_TYPE_PLUGIN:
|
case SERVER_TYPE_PLUGIN:
|
||||||
|
@ -1486,6 +1486,7 @@ function ui_format_alert_row(
|
|||||||
|
|
||||||
$actionText .= ui_print_help_tip(__('The default actions will be executed every time that the alert is fired and no other action is executed'), true);
|
$actionText .= ui_print_help_tip(__('The default actions will be executed every time that the alert is fired and no other action is executed'), true);
|
||||||
// Is possible manage actions if have LW permissions in the agent group of the alert module.
|
// Is possible manage actions if have LW permissions in the agent group of the alert module.
|
||||||
|
if (is_metaconsole() === true) {
|
||||||
if (check_acl($config['id_user'], $id_group, 'LM')) {
|
if (check_acl($config['id_user'], $id_group, 'LM')) {
|
||||||
$actionText .= '<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&tab=list&delete_action=1&id_alert='.$alert['id'].'&id_agent='.$agente['alias'].'&id_action='.$action['original_id'].'" onClick="if (!confirm(\' '.__('Are you sure you want to delete alert action?').'\')) return false;">'.html_print_image(
|
$actionText .= '<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&tab=list&delete_action=1&id_alert='.$alert['id'].'&id_agent='.$agente['alias'].'&id_action='.$action['original_id'].'" onClick="if (!confirm(\' '.__('Are you sure you want to delete alert action?').'\')) return false;">'.html_print_image(
|
||||||
'images/delete.svg',
|
'images/delete.svg',
|
||||||
@ -1513,6 +1514,7 @@ function ui_format_alert_row(
|
|||||||
);
|
);
|
||||||
$actionText .= html_print_input_hidden('id_agent_module', $alert['id_agent_module'], true);
|
$actionText .= html_print_input_hidden('id_agent_module', $alert['id_agent_module'], true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$actionText .= '<div id="update_action-div-'.$alert['id'].'" class="invisible">';
|
$actionText .= '<div id="update_action-div-'.$alert['id'].'" class="invisible">';
|
||||||
$actionText .= '</div>';
|
$actionText .= '</div>';
|
||||||
@ -1646,7 +1648,7 @@ function ui_format_alert_row(
|
|||||||
$data[$index['actions']] .= '<tr class="datos2">';
|
$data[$index['actions']] .= '<tr class="datos2">';
|
||||||
$data[$index['actions']] .= '<td class="w50p">'.html_print_label_input_block(
|
$data[$index['actions']] .= '<td class="w50p">'.html_print_label_input_block(
|
||||||
__('Agent'),
|
__('Agent'),
|
||||||
ui_print_truncate_text($agente['alias'], 'agent_small', false, true, true, '[…]')
|
ui_print_truncate_text($agente['alias'], 'agent_medium', false, true, true, '[…]')
|
||||||
).'</td>';
|
).'</td>';
|
||||||
$data[$index['actions']] .= '<td class="w50p">'.html_print_label_input_block(
|
$data[$index['actions']] .= '<td class="w50p">'.html_print_label_input_block(
|
||||||
__('Module'),
|
__('Module'),
|
||||||
|
@ -663,11 +663,14 @@ class Group extends Entity
|
|||||||
ultimo_contacto_remoto,
|
ultimo_contacto_remoto,
|
||||||
fired_count
|
fired_count
|
||||||
FROM tagente t
|
FROM tagente t
|
||||||
|
LEFT JOIN tagent_secondary_group g ON g.id_agent = t.id_agente
|
||||||
WHERE disabled = 0 AND
|
WHERE disabled = 0 AND
|
||||||
total_count <> notinit_count AND
|
total_count <> notinit_count AND
|
||||||
id_grupo IN (%s)
|
(id_grupo IN (%s) OR id_group IN (%s))
|
||||||
|
|
||||||
%s %s',
|
%s %s',
|
||||||
implode(',', $id_groups),
|
implode(',', $id_groups),
|
||||||
|
implode(',', $id_groups),
|
||||||
$order,
|
$order,
|
||||||
$pagination
|
$pagination
|
||||||
);
|
);
|
||||||
@ -686,11 +689,13 @@ class Group extends Entity
|
|||||||
ultimo_contacto_remoto,
|
ultimo_contacto_remoto,
|
||||||
fired_count
|
fired_count
|
||||||
FROM tagente t
|
FROM tagente t
|
||||||
|
LEFT JOIN tagent_secondary_group g ON g.id_agent = t.id_agente
|
||||||
WHERE disabled = 0 AND
|
WHERE disabled = 0 AND
|
||||||
total_count <> notinit_count AND
|
total_count <> notinit_count AND
|
||||||
id_grupo IN (%s)
|
(id_grupo IN (%s) OR id_group IN (%s))
|
||||||
%s',
|
%s',
|
||||||
implode(',', $id_groups),
|
implode(',', $id_groups),
|
||||||
|
implode(',', $id_groups),
|
||||||
$order,
|
$order,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
.ui-dialog .ui-corner-all .ui-widget {
|
.ui-dialog .ui-corner-all .ui-widget {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
@ -217,7 +216,7 @@ a.ui-state-default > span:hover {
|
|||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
.ui-widget-header {
|
.ui-widget-header {
|
||||||
height: 20px !important;
|
height: fit-content !important;
|
||||||
}
|
}
|
||||||
.ui-dialog .ui-widget-header {
|
.ui-dialog .ui-widget-header {
|
||||||
margin: 3px 3px 0px 3px;
|
margin: 3px 3px 0px 3px;
|
||||||
|
@ -5089,7 +5089,7 @@ div#dialog_messages table th:last-child {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
left: 0;
|
left: 5px;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background-color: #ccc;
|
background-color: #ccc;
|
||||||
|
@ -131,7 +131,7 @@
|
|||||||
<div style='padding-bottom: 50px'>
|
<div style='padding-bottom: 50px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.773.3';
|
$version = '7.0NG.773.3';
|
||||||
$build = '230912';
|
$build = '230919';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
|
||||||
|
@ -349,12 +349,6 @@ if (is_metaconsole() === true) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$alert_action = empty(alerts_get_alert_actions_filter()) === false
|
|
||||||
? alerts_get_alert_actions_filter()
|
|
||||||
: ['' => __('No actions')];
|
|
||||||
|
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
|
|
||||||
if ($agent_view_page === true) {
|
if ($agent_view_page === true) {
|
||||||
|
@ -201,6 +201,10 @@ $search_recursive_groups = get_parameter(
|
|||||||
'filter[search_recursive_groups]',
|
'filter[search_recursive_groups]',
|
||||||
($filter['search_recursive_groups'] ?? '')
|
($filter['search_recursive_groups'] ?? '')
|
||||||
);
|
);
|
||||||
|
$search_recursive_groups = get_parameter(
|
||||||
|
'filter[private_filter_event]',
|
||||||
|
($filter['private_filter_event'] ?? '')
|
||||||
|
);
|
||||||
$id_group_filter = get_parameter(
|
$id_group_filter = get_parameter(
|
||||||
'filter[id_group_filter]',
|
'filter[id_group_filter]',
|
||||||
($filter['id_group'] ?? '')
|
($filter['id_group'] ?? '')
|
||||||
@ -509,10 +513,22 @@ if (is_ajax() === true) {
|
|||||||
|
|
||||||
$tmp->evento = str_replace('"', '', io_safe_output($tmp->evento));
|
$tmp->evento = str_replace('"', '', io_safe_output($tmp->evento));
|
||||||
$event_text = $tmp->evento;
|
$event_text = $tmp->evento;
|
||||||
if (strlen($tmp->evento) >= 40) {
|
|
||||||
$tmp->evento = ui_print_truncate_text(
|
$tmp->evento = ui_print_truncate_text(
|
||||||
$tmp->evento,
|
$tmp->evento,
|
||||||
40,
|
$config['item_title_size_text'],
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
'…',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($tmp->module_name) === false) {
|
||||||
|
$tmp->module_name = ui_print_truncate_text(
|
||||||
|
$tmp->module_name,
|
||||||
|
'module_medium',
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
@ -563,7 +579,7 @@ if (is_ajax() === true) {
|
|||||||
|
|
||||||
$tmp->agent_name = ui_print_truncate_text(
|
$tmp->agent_name = ui_print_truncate_text(
|
||||||
$tmp->agent_name,
|
$tmp->agent_name,
|
||||||
'agent_small',
|
'agent_medium',
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
@ -942,7 +958,7 @@ if (is_ajax() === true) {
|
|||||||
if (strlen($tmp->id_agentmodule) >= 10) {
|
if (strlen($tmp->id_agentmodule) >= 10) {
|
||||||
$tmp->id_agentmodule = ui_print_truncate_text(
|
$tmp->id_agentmodule = ui_print_truncate_text(
|
||||||
$tmp->id_agentmodule,
|
$tmp->id_agentmodule,
|
||||||
10,
|
'module_small',
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
@ -1322,6 +1338,7 @@ if ($loaded_filter !== false && $from_event_graph != 1 && isset($fb64) === false
|
|||||||
|
|
||||||
$filter_only_alert = $filter['filter_only_alert'];
|
$filter_only_alert = $filter['filter_only_alert'];
|
||||||
$search_secondary_groups = ($filter['search_secondary_groups'] ?? 0);
|
$search_secondary_groups = ($filter['search_secondary_groups'] ?? 0);
|
||||||
|
$private_filter_event = ($filter['private_filter_user'] ?? 0);
|
||||||
$search_recursive_groups = ($filter['search_recursive_groups'] ?? 0);
|
$search_recursive_groups = ($filter['search_recursive_groups'] ?? 0);
|
||||||
$id_group_filter = $filter['id_group_filter'];
|
$id_group_filter = $filter['id_group_filter'];
|
||||||
$date_from = $filter['date_from'];
|
$date_from = $filter['date_from'];
|
||||||
@ -1874,6 +1891,9 @@ if (enterprise_hook(
|
|||||||
* Load filter form.
|
* Load filter form.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// User private filter process.
|
||||||
|
$inputs[] = html_print_input_hidden('id_filter_event', $load_filter_id, true);
|
||||||
|
|
||||||
// Group.
|
// Group.
|
||||||
if ($id_group === null) {
|
if ($id_group === null) {
|
||||||
$id_group = 0;
|
$id_group = 0;
|
||||||
@ -1907,7 +1927,7 @@ $data = html_print_checkbox_switch(
|
|||||||
|
|
||||||
$in_group = '<div class="display-initial">';
|
$in_group = '<div class="display-initial">';
|
||||||
$in_group .= $data;
|
$in_group .= $data;
|
||||||
$in_group .= '<label class="vert-align-bottom pdd_r_20px">';
|
$in_group .= '<label class="vert-align-bottom pdd_r_15px">';
|
||||||
$in_group .= __('Group recursion');
|
$in_group .= __('Group recursion');
|
||||||
$in_group .= ui_print_help_tip(
|
$in_group .= ui_print_help_tip(
|
||||||
__('WARNING: This could cause a performace impact.'),
|
__('WARNING: This could cause a performace impact.'),
|
||||||
@ -2058,6 +2078,8 @@ $in = '<div class="filter_input"><label>'.__('Severity').'</label>';
|
|||||||
$in .= $data.'</div>';
|
$in .= $data.'</div>';
|
||||||
$inputs[] = $in;
|
$inputs[] = $in;
|
||||||
|
|
||||||
|
// User private filter.
|
||||||
|
$inputs[] = html_print_input_hidden('private_filter_event', $private_filter_event, true);
|
||||||
// Trick view in table.
|
// Trick view in table.
|
||||||
$inputs[] = '<div class="w100p pdd_t_15px"></div>';
|
$inputs[] = '<div class="w100p pdd_t_15px"></div>';
|
||||||
|
|
||||||
@ -3351,7 +3373,8 @@ $(document).ready( function() {
|
|||||||
data: {
|
data: {
|
||||||
page: 'include/ajax/events',
|
page: 'include/ajax/events',
|
||||||
save_filter_modal: 1,
|
save_filter_modal: 1,
|
||||||
current_filter: $('#latest_filter_id').val()
|
current_filter: $('#hidden-id_filter_event').val(),
|
||||||
|
private_filter_event: $('#hidden-private_filter_event').val()
|
||||||
},
|
},
|
||||||
success: function (data){
|
success: function (data){
|
||||||
$('#save-modal-filter')
|
$('#save-modal-filter')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name apache2
|
%define httpd_name apache2
|
||||||
|
@ -1301,6 +1301,7 @@ CREATE TABLE IF NOT EXISTS `tevent_filter` (
|
|||||||
`custom_data` VARCHAR(500) DEFAULT '',
|
`custom_data` VARCHAR(500) DEFAULT '',
|
||||||
`custom_data_filter_type` TINYINT UNSIGNED DEFAULT 0,
|
`custom_data_filter_type` TINYINT UNSIGNED DEFAULT 0,
|
||||||
`owner_user` TEXT,
|
`owner_user` TEXT,
|
||||||
|
`private_filter_user` TEXT,
|
||||||
PRIMARY KEY (`id_filter`)
|
PRIMARY KEY (`id_filter`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||||
|
|
||||||
|
@ -2642,7 +2642,7 @@ SET @short_name = 'pandorafms.vmware';
|
|||||||
SET @name = 'VMware';
|
SET @name = 'VMware';
|
||||||
SET @section = 'app';
|
SET @section = 'app';
|
||||||
SET @description = 'Monitor ESXi hosts, datastores and VMs from a specific datacenter';
|
SET @description = 'Monitor ESXi hosts, datastores and VMs from a specific datacenter';
|
||||||
SET @version = '1.0';
|
SET @version = '1.1';
|
||||||
INSERT IGNORE INTO `tdiscovery_apps` (`id_app`, `short_name`, `name`, `section`, `description`, `version`) VALUES ('', @short_name, @name, @section, @description, @version);
|
INSERT IGNORE INTO `tdiscovery_apps` (`id_app`, `short_name`, `name`, `section`, `description`, `version`) VALUES ('', @short_name, @name, @section, @description, @version);
|
||||||
SELECT @id_app := `id_app` FROM `tdiscovery_apps` WHERE `short_name` = @short_name;
|
SELECT @id_app := `id_app` FROM `tdiscovery_apps` WHERE `short_name` = @short_name;
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ use POSIX qw(strftime);
|
|||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
use constant DATASERVER => 0;
|
use constant DATASERVER => 0;
|
||||||
|
use constant ALERTSERVER => 21;
|
||||||
use Scalar::Util qw(looks_like_number);
|
use Scalar::Util qw(looks_like_number);
|
||||||
|
|
||||||
|
|
||||||
@ -160,6 +161,18 @@ sub pandora_self_monitoring ($$) {
|
|||||||
$queued_modules = 0;
|
$queued_modules = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $queued_alerts = get_db_value ($dbh, "SELECT count(id) FROM talert_execution_queue");
|
||||||
|
|
||||||
|
if (!defined($queued_alerts)) {
|
||||||
|
$queued_alerts = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $alert_server_status = get_db_value ($dbh, "SELECT status FROM tserver WHERE server_type = ?", ALERTSERVER);
|
||||||
|
|
||||||
|
if (!defined($alert_server_status || $alert_server_status eq "") ) {
|
||||||
|
$alert_server_status = 0;
|
||||||
|
}
|
||||||
|
|
||||||
my $dbmaintance;
|
my $dbmaintance;
|
||||||
if ($RDBMS eq 'postgresql') {
|
if ($RDBMS eq 'postgresql') {
|
||||||
$dbmaintance = trim(get_db_value ($dbh,
|
$dbmaintance = trim(get_db_value ($dbh,
|
||||||
@ -194,6 +207,18 @@ sub pandora_self_monitoring ($$) {
|
|||||||
$xml_output .=" <data>$queued_modules</data>\n";
|
$xml_output .=" <data>$queued_modules</data>\n";
|
||||||
$xml_output .=" </module>\n";
|
$xml_output .=" </module>\n";
|
||||||
|
|
||||||
|
$xml_output .=" <module>\n";
|
||||||
|
$xml_output .=" <name>Queued_Alerts</name>\n";
|
||||||
|
$xml_output .=" <type>generic_data</type>\n";
|
||||||
|
$xml_output .=" <data>$queued_alerts</data>\n";
|
||||||
|
$xml_output .=" </module>\n";
|
||||||
|
|
||||||
|
$xml_output .=" <module>\n";
|
||||||
|
$xml_output .=" <name>Alert_Server_Status</name>\n";
|
||||||
|
$xml_output .=" <type>generic_proc</type>\n";
|
||||||
|
$xml_output .=" <data>$alert_server_status</data>\n";
|
||||||
|
$xml_output .=" </module>\n";
|
||||||
|
|
||||||
$xml_output .=" <module>\n";
|
$xml_output .=" <module>\n";
|
||||||
$xml_output .=" <name>Agents_Unknown</name>\n";
|
$xml_output .=" <name>Agents_Unknown</name>\n";
|
||||||
$xml_output .=" <type>generic_data</type>\n";
|
$xml_output .=" <type>generic_data</type>\n";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.773.3-230912
|
Version: 7.0NG.773.3-230919
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.773.3-230912"
|
pandora_version="7.0NG.773.3-230919"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -46,7 +46,7 @@ our @EXPORT = qw(
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.773.3";
|
my $pandora_version = "7.0NG.773.3";
|
||||||
my $pandora_build = "230912";
|
my $pandora_build = "230919";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
|
@ -127,6 +127,7 @@ use JSON qw(decode_json encode_json);
|
|||||||
use MIME::Base64;
|
use MIME::Base64;
|
||||||
use Text::ParseWords;
|
use Text::ParseWords;
|
||||||
use Math::Trig; # Math functions
|
use Math::Trig; # Math functions
|
||||||
|
use constant ALERTSERVER => 21;
|
||||||
|
|
||||||
# Debugging
|
# Debugging
|
||||||
#use Data::Dumper;
|
#use Data::Dumper;
|
||||||
@ -5687,7 +5688,7 @@ sub pandora_server_statistics ($$) {
|
|||||||
$server->{"modules_total"} = get_db_value ($dbh, "SELECT COUNT(tagent_module_inventory.id_agent_module_inventory) FROM tagente, tagent_module_inventory WHERE tagente.disabled=0 AND tagent_module_inventory.id_agente = tagente.id_agente");
|
$server->{"modules_total"} = get_db_value ($dbh, "SELECT COUNT(tagent_module_inventory.id_agent_module_inventory) FROM tagente, tagent_module_inventory WHERE tagente.disabled=0 AND tagent_module_inventory.id_agente = tagente.id_agente");
|
||||||
|
|
||||||
# Calculate lag
|
# Calculate lag
|
||||||
$lag_row = get_db_single_row ($dbh, "SELECT COUNT(tagent_module_inventory.id_agent_module_inventory) AS module_lag, AVG(UNIX_TIMESTAMP() - utimestamp - tagent_module_inventory.interval) AS lag
|
$lag_row = get_db_single_row ($dbh, "SELECT COUNT(tagent_module_inventory.id_agent_module_inventory) AS `module_lag`, AVG(UNIX_TIMESTAMP() - utimestamp - tagent_module_inventory.interval) AS `lag`
|
||||||
FROM tagente, tagent_module_inventory
|
FROM tagente, tagent_module_inventory
|
||||||
WHERE utimestamp > 0
|
WHERE utimestamp > 0
|
||||||
AND tagent_module_inventory.id_agente = tagente.id_agente
|
AND tagent_module_inventory.id_agente = tagente.id_agente
|
||||||
@ -5736,8 +5737,8 @@ sub pandora_server_statistics ($$) {
|
|||||||
if ($server->{"server_type"} != DATASERVER){
|
if ($server->{"server_type"} != DATASERVER){
|
||||||
$lag_row = get_db_single_row (
|
$lag_row = get_db_single_row (
|
||||||
$dbh,
|
$dbh,
|
||||||
"SELECT COUNT(tam.id_agente_modulo) AS module_lag,
|
"SELECT COUNT(tam.id_agente_modulo) AS `module_lag`,
|
||||||
AVG(UNIX_TIMESTAMP() - tae.last_execution_try - tae.current_interval) AS lag
|
AVG(UNIX_TIMESTAMP() - tae.last_execution_try - tae.current_interval) AS `lag`
|
||||||
FROM (
|
FROM (
|
||||||
SELECT tagente_estado.last_execution_try, tagente_estado.current_interval, tagente_estado.id_agente_modulo
|
SELECT tagente_estado.last_execution_try, tagente_estado.current_interval, tagente_estado.id_agente_modulo
|
||||||
FROM tagente_estado
|
FROM tagente_estado
|
||||||
@ -5762,8 +5763,8 @@ sub pandora_server_statistics ($$) {
|
|||||||
else {
|
else {
|
||||||
$lag_row = get_db_single_row (
|
$lag_row = get_db_single_row (
|
||||||
$dbh,
|
$dbh,
|
||||||
"SELECT COUNT(tam.id_agente_modulo) AS module_lag,
|
"SELECT COUNT(tam.id_agente_modulo) AS `module_lag`,
|
||||||
AVG(UNIX_TIMESTAMP() - tae.last_execution_try - tae.current_interval) AS lag
|
AVG(UNIX_TIMESTAMP() - tae.last_execution_try - tae.current_interval) AS `lag`
|
||||||
FROM (
|
FROM (
|
||||||
SELECT tagente_estado.last_execution_try, tagente_estado.current_interval, tagente_estado.id_agente_modulo
|
SELECT tagente_estado.last_execution_try, tagente_estado.current_interval, tagente_estado.id_agente_modulo
|
||||||
FROM tagente_estado
|
FROM tagente_estado
|
||||||
@ -6133,6 +6134,18 @@ sub pandora_self_monitoring ($$) {
|
|||||||
$queued_modules = 0;
|
$queued_modules = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $queued_alerts = get_db_value ($dbh, "SELECT count(id) FROM talert_execution_queue");
|
||||||
|
|
||||||
|
if (!defined($queued_alerts)) {
|
||||||
|
$queued_alerts = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $alert_server_status = get_db_value ($dbh, "SELECT status FROM tserver WHERE server_type = ?", ALERTSERVER);
|
||||||
|
|
||||||
|
if (!defined($alert_server_status) || $alert_server_status eq "") {
|
||||||
|
$alert_server_status = 0;
|
||||||
|
}
|
||||||
|
|
||||||
my $pandoradb = 0;
|
my $pandoradb = 0;
|
||||||
my $pandoradb_tstamp = get_db_value ($dbh, "SELECT `value` FROM tconfig WHERE token = 'db_maintance'");
|
my $pandoradb_tstamp = get_db_value ($dbh, "SELECT `value` FROM tconfig WHERE token = 'db_maintance'");
|
||||||
if (!defined($pandoradb_tstamp) || $pandoradb_tstamp == 0) {
|
if (!defined($pandoradb_tstamp) || $pandoradb_tstamp == 0) {
|
||||||
@ -6159,6 +6172,18 @@ sub pandora_self_monitoring ($$) {
|
|||||||
$xml_output .=" <data>$queued_modules</data>";
|
$xml_output .=" <data>$queued_modules</data>";
|
||||||
$xml_output .=" </module>";
|
$xml_output .=" </module>";
|
||||||
|
|
||||||
|
$xml_output .=" <module>\n";
|
||||||
|
$xml_output .=" <name>Queued_Alerts</name>\n";
|
||||||
|
$xml_output .=" <type>generic_data</type>\n";
|
||||||
|
$xml_output .=" <data>$queued_alerts</data>\n";
|
||||||
|
$xml_output .=" </module>\n";
|
||||||
|
|
||||||
|
$xml_output .=" <module>\n";
|
||||||
|
$xml_output .=" <name>Alert_Server_Status</name>\n";
|
||||||
|
$xml_output .=" <type>generic_proc</type>\n";
|
||||||
|
$xml_output .=" <data>$alert_server_status</data>\n";
|
||||||
|
$xml_output .=" </module>\n";
|
||||||
|
|
||||||
$xml_output .=" <module>";
|
$xml_output .=" <module>";
|
||||||
$xml_output .=" <name>Agents_Unknown</name>";
|
$xml_output .=" <name>Agents_Unknown</name>";
|
||||||
$xml_output .=" <type>generic_data</type>";
|
$xml_output .=" <type>generic_data</type>";
|
||||||
|
@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
|
|||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.773.3";
|
my $pandora_version = "7.0NG.773.3";
|
||||||
my $pandora_build = "230912";
|
my $pandora_build = "230919";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.773.3
|
||||||
%define release 230912
|
%define release 230919
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.773.3"
|
PI_VERSION="7.0NG.773.3"
|
||||||
PI_BUILD="230912"
|
PI_BUILD="230919"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
@ -148,153 +148,3 @@ be67e5298c830c0bb582556f
|
|||||||
b03831cce718125cb9612c07
|
b03831cce718125cb9612c07
|
||||||
5465b26fd45d86b059066cc2
|
5465b26fd45d86b059066cc2
|
||||||
5351de84d2fd638b138ba27b
|
5351de84d2fd638b138ba27b
|
||||||
6c63000157aed37fa8c0c022
|
|
||||||
8d3c18c7fbe518694c6bdb22
|
|
||||||
615ec092b6f63bb14a2bb42e
|
|
||||||
61de25cf8e12926c28aeffdc
|
|
||||||
2b96bc1c8f6f81a5437b61bf
|
|
||||||
ba1f4fcf3954e0efe5d68c83
|
|
||||||
ee5bd3e1a937b90562677f1d
|
|
||||||
0cf18ae18b0c680d00cb4d2e
|
|
||||||
abf72b0d66f90bd6e67c43c6
|
|
||||||
f263d033bb07e0b8cd405224
|
|
||||||
418ddf02720649b40db2dd67
|
|
||||||
01d1a735aa980326d385ea65
|
|
||||||
0cc3860bb0a3fd5822b25ea4
|
|
||||||
b0b89dbebfab05fafd6cf9dd
|
|
||||||
2fcbb999444db5c0c77c2ec2
|
|
||||||
f49a97b3531b8ab8d487c7a7
|
|
||||||
ffb66d5003620e2fa47ef8ea
|
|
||||||
04da742ab6c99b5c44f9f0cc
|
|
||||||
dc310a9d42d7c367671ffbf9
|
|
||||||
b0f5c4ee8d327449ef2103e6
|
|
||||||
5bd2ce604ed7c820169f0ac2
|
|
||||||
57f874a6e41baa5a1196b15f
|
|
||||||
b43142736205ad1011f4a5a6
|
|
||||||
50cf8523e5090251516eecb0
|
|
||||||
ebad61d47be209696f9d41aa
|
|
||||||
66bc5976a98266560d1867ff
|
|
||||||
3c37fc452e9ad36cd7adcb1a
|
|
||||||
4ac8c3db63a69ce883f3fcf5
|
|
||||||
6c89e2bb90b9ab95f4adde3c
|
|
||||||
917de5ece0a5ef663a8f44e7
|
|
||||||
b50eba76cf29aca3cf696d7e
|
|
||||||
74264c913ac1e141db78708a
|
|
||||||
2b6c93011f62cffb5c085886
|
|
||||||
700617c377952010272b9522
|
|
||||||
dac10c8ddf7c45e55d8028af
|
|
||||||
053328a6ff4f2773eebe76fe
|
|
||||||
2d7390260285c272688ae1e8
|
|
||||||
fa30c9ee6fb1e2f00d7ccb77
|
|
||||||
0ca6db378a05246f30c8b820
|
|
||||||
9ad6f959de166cc1475040ea
|
|
||||||
23b4702f4dfb350085e77482
|
|
||||||
4198a8ab80780c5d9b0d82d5
|
|
||||||
baebd530dfc47ac77ea42d2a
|
|
||||||
636d2ab4e018b5542e429f5e
|
|
||||||
40ae44193af360eea68b6f0b
|
|
||||||
dd47b39e494a62a4f5b6bef8
|
|
||||||
240339c9dcd159595c1edbf3
|
|
||||||
0f11840efe364ca6bbb17f43
|
|
||||||
8522e203fb4b53e2bd6d6f82
|
|
||||||
f134d9b501fa40b17993beee
|
|
||||||
d0483306f2f972aacfb4fcea
|
|
||||||
926ee4e0a80455cfee517f8b
|
|
||||||
c188a327bc66df4878cb3e8b
|
|
||||||
c874083c1d932bb4ade6d028
|
|
||||||
be2271d8da327f97e05c1c60
|
|
||||||
9ca7451d3f261682ec717547
|
|
||||||
9eb46e2a5fd072c5267d7432
|
|
||||||
41e8f3f7733f87e16b773bad
|
|
||||||
f642220cd19f84154e4dd972
|
|
||||||
fe3d9f6433883332b464b7ca
|
|
||||||
3e9648ccf60b1fa712ea8590
|
|
||||||
b7da7292e9418889bc957bd7
|
|
||||||
fb4a392d386eca19eec9215e
|
|
||||||
34188e4a6590877b2dbb67b0
|
|
||||||
e233cb364659dea13dee1fd8
|
|
||||||
757b8330465df34879414b7d
|
|
||||||
5e0f80102fee69d0742934b2
|
|
||||||
d72124afc78e9b3f91550497
|
|
||||||
21c77bfe67c6e99f73323f42
|
|
||||||
afa8ce345db6300882858f93
|
|
||||||
886cc8b32ed80f4c69edb990
|
|
||||||
64ea275ce73ef4070cefca19
|
|
||||||
c676f1ffe5bdce4e1d3643ed
|
|
||||||
baca61ab59568605e3ec8899
|
|
||||||
1610892c53a071ed02d20c75
|
|
||||||
3321fb7111d74e532932d262
|
|
||||||
29583747ac9fbf0bf21c1574
|
|
||||||
f51210b47a6e847dcfb52f94
|
|
||||||
63c95735ba96c65d2d45b23d
|
|
||||||
679c4e3acb15ebec6ecc7529
|
|
||||||
42da0760b02d50c6587a8c31
|
|
||||||
e42de775dcfcc3c950c1cff5
|
|
||||||
ae5791cf265badebd39c78d9
|
|
||||||
f66c123309525eeb81b47e92
|
|
||||||
7cddc2b9ed6b4df83c72fcbe
|
|
||||||
e69cc74632fdaa06f76f708a
|
|
||||||
7cfd19c2eeaef2c0537332be
|
|
||||||
d27cdcea69f4e49fbae06f4d
|
|
||||||
bdfaa2ec52319f0e6533e826
|
|
||||||
d59452cdfce11e21682a791f
|
|
||||||
cbb74f2d35d54557abdbc2da
|
|
||||||
369a4e6f128475bc9f87ef42
|
|
||||||
90bf992a98d0b768cbc50520
|
|
||||||
1fea663421dae7b418b9b15f
|
|
||||||
f9fc5505565c43cebc1545f9
|
|
||||||
d02a8f77fbb2b7f384a99949
|
|
||||||
279ff35e17c7f6b6a043fde7
|
|
||||||
9cf7725d3a97d9aa9e529ce6
|
|
||||||
1f465b328b349502c0953b2d
|
|
||||||
283fad60fa48ea2075a0e516
|
|
||||||
ef5d9e841a02665c54d8fa7f
|
|
||||||
b6023425cb4a1503726b3135
|
|
||||||
7fb8a1a734c24cc22a5c75eb
|
|
||||||
da38d78e83c9288e4cd60cca
|
|
||||||
2a928a6498ae8e0b29675c25
|
|
||||||
d2194ab5b0e48c2c1f213860
|
|
||||||
53acafcd86a61ce55688ebef
|
|
||||||
65608eeebc7d9fe2912635ed
|
|
||||||
fafb0273e3b04deb1edb2628
|
|
||||||
baf07d1f28416da065b6771f
|
|
||||||
c2ee8e58209102fdd0bb341c
|
|
||||||
f8e92e00670f65c29c4617c9
|
|
||||||
a83661705134029ae344176d
|
|
||||||
fc02c24e172d12a29b17eede
|
|
||||||
2632f143ffe3f64e63e4ba32
|
|
||||||
847120de4b72f59263d160f1
|
|
||||||
5be36ff5b668eb93823974b2
|
|
||||||
cdd8fe5081225519b5fc28af
|
|
||||||
53569cbaedb9265839290a6c
|
|
||||||
decca89ea0e8944fd93fcd24
|
|
||||||
4b10511d840b7f5129ed6190
|
|
||||||
5c4a1904de5f90f4d5dd749a
|
|
||||||
49c47514c3308df82fcd6b79
|
|
||||||
15af3e182c00000eea12f8e5
|
|
||||||
a9645c4a43ad211d9ae9a406
|
|
||||||
dcffa4e5eee8f966b1edcdaf
|
|
||||||
75b25f796f1e392f45c3a737
|
|
||||||
0ad5f0b96946ebcabd0457e9
|
|
||||||
2f9128177cab74e0bad61189
|
|
||||||
49ed14b81e0a166ccf335b4a
|
|
||||||
dfe100788326c45dfb84579c
|
|
||||||
2616f38caef9decae47e5023
|
|
||||||
99b2d0eb14ac19d1cfedd86e
|
|
||||||
fb1d4c42ea70fad330b5c5ee
|
|
||||||
b6c560867faa3b41b1f5d4fa
|
|
||||||
1167fb22e86098ef684eb702
|
|
||||||
a2e2c2ee8ec87d4e5d59eb22
|
|
||||||
b228beac094e16a0fa3cb528
|
|
||||||
ea0de9aad68deed0a4df3e71
|
|
||||||
e50cb420497d928ef9827800
|
|
||||||
3bb39890ca4a6da941e01782
|
|
||||||
73391f2914465c3f2335e24a
|
|
||||||
f8b2f512cc0cbc024e2cd377
|
|
||||||
4f816b0d36c934b44dbd5bc0
|
|
||||||
817edf1e2637fef229752a5f
|
|
||||||
4466f97959df7247f7410fbe
|
|
||||||
cc85c727080e9d6eb75ef513
|
|
||||||
7e27f012167ed8bedc4bd635
|
|
||||||
98a445ff41a81a0a752aff25
|
|
||||||
3b339e213dd613c4efd878c1
|
|
@ -35,7 +35,7 @@ use PandoraFMS::Config;
|
|||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.773.3 Build 230912";
|
my $version = "7.0NG.773.3 Build 230919";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||||||
Encode::Locale::decode_argv;
|
Encode::Locale::decode_argv;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.773.3 Build 230912";
|
my $version = "7.0NG.773.3 Build 230919";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user