Merge remote-tracking branch 'origin/develop' into ent-13566-modo-proxy-no-funciona-como-root
This commit is contained in:
commit
a992396d4d
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.776-240503
|
||||
Version: 7.0NG.776-240507
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.776-240503"
|
||||
pandora_version="7.0NG.776-240507"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -1039,7 +1039,7 @@ my $Sem = undef;
|
|||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.776';
|
||||
use constant AGENT_BUILD => '240503';
|
||||
use constant AGENT_BUILD => '240507';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_agent_linux
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
%define name pandorafms_agent_linux_bin
|
||||
%define source_name pandorafms_agent_linux
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
%define debug_package %{nil}
|
||||
|
||||
Summary: Pandora FMS Linux agent, binary version
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
%define name pandorafms_agent_linux_bin
|
||||
%define source_name pandorafms_agent_linux
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
%define debug_package %{nil}
|
||||
|
||||
Summary: Pandora FMS Linux agent, binary version
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
%define name pandorafms_agent_linux_bin
|
||||
%define source_name pandorafms_agent_linux
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
Summary: Pandora FMS Linux agent, binary version
|
||||
Name: %{name}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_agent_linux
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.776"
|
||||
PI_BUILD="240503"
|
||||
PI_BUILD="240507"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{240503}
|
||||
{240507}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.776 Build 240503")
|
||||
#define PANDORA_VERSION ("7.0NG.776 Build 240507")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
|||
VALUE "LegalCopyright", "Pandora FMS"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(7.0NG.776(Build 240503))"
|
||||
VALUE "ProductVersion", "(7.0NG.776(Build 240507))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.776-240503
|
||||
Version: 7.0NG.776-240507
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.776-240503"
|
||||
pandora_version="7.0NG.776-240507"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -69,38 +69,41 @@ function api_execute(
|
|||
|
||||
if (empty($url) === true) {
|
||||
$url = 'http://'.$ip.$pandora_url.'/include/api.php?';
|
||||
} else {
|
||||
$url_schema = parse_url($url);
|
||||
$url = $url_schema['scheme'].'://'.$url_schema['host'].$pandora_url.'/include/api.php?';
|
||||
}
|
||||
|
||||
if (empty($op) === false) {
|
||||
$data['op'] = $op;
|
||||
}
|
||||
if (empty($op) === false) {
|
||||
$data['op'] = $op;
|
||||
}
|
||||
|
||||
if (empty($op2) === false) {
|
||||
$data['op2'] = $op2;
|
||||
}
|
||||
if (empty($op2) === false) {
|
||||
$data['op2'] = $op2;
|
||||
}
|
||||
|
||||
if (empty($id) === false) {
|
||||
$data['id'] = $id;
|
||||
}
|
||||
if (empty($id) === false) {
|
||||
$data['id'] = $id;
|
||||
}
|
||||
|
||||
if (empty($id2) === false) {
|
||||
$data['id2'] = $id2;
|
||||
}
|
||||
if (empty($id2) === false) {
|
||||
$data['id2'] = $id2;
|
||||
}
|
||||
|
||||
if (empty($return_type) === false) {
|
||||
$data['return_type'] = $return_type;
|
||||
}
|
||||
if (empty($return_type) === false) {
|
||||
$data['return_type'] = $return_type;
|
||||
}
|
||||
|
||||
if (empty($other) === false) {
|
||||
$data['other_mode'] = $other_mode;
|
||||
$data['other'] = $other;
|
||||
}
|
||||
if (empty($other) === false) {
|
||||
$data['other_mode'] = $other_mode;
|
||||
$data['other'] = $other;
|
||||
}
|
||||
|
||||
// If token is not reported,use old method.
|
||||
if (empty($token) === true) {
|
||||
$data['apipass'] = $apipass;
|
||||
$data['user'] = $user;
|
||||
$data['pass'] = $password;
|
||||
}
|
||||
// If token is not reported,use old method.
|
||||
if (empty($token) === true) {
|
||||
$data['apipass'] = $apipass;
|
||||
$data['user'] = $user;
|
||||
$data['pass'] = $password;
|
||||
}
|
||||
|
||||
$url_protocol = parse_url($url)['scheme'];
|
||||
|
|
|
@ -15,6 +15,8 @@ ALTER TABLE tfiles_repo_group CONVERT TO CHARACTER SET UTF8MB4;
|
|||
ALTER TABLE `tusuario`
|
||||
ADD COLUMN `stop_lts_modal` TINYINT NOT NULL DEFAULT 0 AFTER `session_max_time_expire`;
|
||||
|
||||
ALTER TABLE `tlayout_template` ADD COLUMN `create_from` INT UNSIGNED NOT NULL DEFAULT 0;
|
||||
|
||||
-- START MIGRATION MSSQL --
|
||||
SET @current_app_type = 12;
|
||||
SET @short_name = 'pandorafms.mssql';
|
||||
|
@ -7764,4 +7766,7 @@ DELETE FROM tconfig WHERE `token` = 'loginhash_pwd';
|
|||
|
||||
UPDATE `tdiscovery_apps` SET `version` = '1.5' WHERE `short_name` = 'pandorafms.vmware';
|
||||
|
||||
-- Delete Create incident from event, from tevent_response
|
||||
DELETE FROM tevent_response WHERE name = 'Create incident from event';
|
||||
|
||||
COMMIT;
|
|
@ -362,14 +362,20 @@ if (is_ajax() === true) {
|
|||
$row['name'] = __('Admin secondary LDAP password');
|
||||
$row['control'] = html_print_input_password(
|
||||
'ldap_admin_pass_secondary',
|
||||
io_output_password($config['ldap_admin_pass_secondary']),
|
||||
(empty(io_output_password($config['ldap_admin_pass_secondary'])) === false) ? '*****' : '',
|
||||
$alt = '',
|
||||
60,
|
||||
100,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
'w400px-important'
|
||||
'w400px-important',
|
||||
'on',
|
||||
false,
|
||||
'',
|
||||
true,
|
||||
false,
|
||||
true
|
||||
);
|
||||
$table->data['ldap_admin_pass_secondary'] = $row;
|
||||
break;
|
||||
|
|
|
@ -85,6 +85,13 @@ class SnmpConsole extends HTML
|
|||
*/
|
||||
private $filter_free_search;
|
||||
|
||||
/**
|
||||
* Filter alias.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $filter_alias_search;
|
||||
|
||||
/**
|
||||
* Filter status.
|
||||
*
|
||||
|
@ -135,7 +142,8 @@ class SnmpConsole extends HTML
|
|||
int $filter_group_by,
|
||||
int $filter_hours_ago,
|
||||
int $filter_trap_type,
|
||||
int $refr
|
||||
int $refr,
|
||||
string $filter_alias_search
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -157,6 +165,7 @@ class SnmpConsole extends HTML
|
|||
$this->filter_alert = $filter_alert;
|
||||
$this->filter_severity = $filter_severity;
|
||||
$this->filter_free_search = $filter_free_search;
|
||||
$this->filter_alias_search = $filter_alias_search;
|
||||
$this->filter_status = $filter_status;
|
||||
$this->filter_group_by = $filter_group_by;
|
||||
$this->filter_hours_ago = $filter_hours_ago;
|
||||
|
@ -375,13 +384,21 @@ class SnmpConsole extends HTML
|
|||
'style' => 'widht:100%',
|
||||
],
|
||||
[
|
||||
'label' => __('Free search'),
|
||||
'label' => __('Search').ui_print_help_tip(__('It will search through the contents of the raw trap, which does not include the agent name. You can search by the next values: IP, OID, Value, Text, Description, User ID and Source.'), true),
|
||||
'type' => 'text',
|
||||
'id' => 'filter_free_search',
|
||||
'input_class' => 'filter_input_datatable',
|
||||
'name' => 'filter_free_search',
|
||||
'value' => $this->filter_free_search,
|
||||
],
|
||||
[
|
||||
'label' => __('Search Alias').ui_print_help_tip(__('It will search by the agent alias. This option could make the system slower.'), true),
|
||||
'type' => 'text',
|
||||
'id' => 'filter_alias_search',
|
||||
'input_class' => 'filter_input_datatable',
|
||||
'name' => 'filter_alias_search',
|
||||
'value' => $this->filter_alias_search,
|
||||
],
|
||||
[
|
||||
'label' => __('Status'),
|
||||
'type' => 'select',
|
||||
|
@ -449,7 +466,7 @@ class SnmpConsole extends HTML
|
|||
1000,
|
||||
],
|
||||
],
|
||||
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar',
|
||||
'filter_main_class' => 'box-flat white_table_graph fixed_filter_bar snmp-console-filter',
|
||||
]
|
||||
);
|
||||
} catch (Exception $e) {
|
||||
|
@ -554,10 +571,6 @@ class SnmpConsole extends HTML
|
|||
$filters = get_parameter('filter', []);
|
||||
|
||||
// Build ranges.
|
||||
if (empty($filters['filter_hours_ago']) === true) {
|
||||
$filters['filter_hours_ago'] = 8;
|
||||
}
|
||||
|
||||
$now_timestamp = time();
|
||||
$interval_seconds = ($filters['filter_hours_ago'] * 3600);
|
||||
$ago_timestamp = ($now_timestamp - $interval_seconds);
|
||||
|
@ -577,118 +590,148 @@ class SnmpConsole extends HTML
|
|||
ob_start();
|
||||
$data = [];
|
||||
|
||||
$user_groups = users_get_groups($config['id_user'], 'AR', false);
|
||||
$prea = array_keys($user_groups);
|
||||
$ids = join(',', $prea);
|
||||
$whereSubquery = '';
|
||||
$sql = 'SELECT
|
||||
*
|
||||
FROM
|
||||
ttrap
|
||||
%s
|
||||
WHERE 1=1
|
||||
%s
|
||||
ORDER BY
|
||||
timestamp DESC
|
||||
LIMIT %d, %d';
|
||||
|
||||
$user_in_group_wo_agents = db_get_value_sql('select count(DISTINCT(id_usuario)) from tusuario_perfil where id_usuario ="'.$config['id_user'].'" and id_perfil = 1 and id_grupo in (select id_grupo from tgrupo where id_grupo in ('.$ids.') and id_grupo not in (select id_grupo from tagente))');
|
||||
if ($user_in_group_wo_agents == 0) {
|
||||
$sql_count = 'SELECT
|
||||
COUNT(`ttrap`.`id_trap`)
|
||||
FROM
|
||||
ttrap
|
||||
%s
|
||||
WHERE 1=1
|
||||
%s';
|
||||
|
||||
if (users_is_admin() === false || users_can_manage_group_all('AR') === false) {
|
||||
$user_groups = users_get_groups($config['id_user'], 'AR', false);
|
||||
$rows = db_get_all_rows_filter(
|
||||
'tagente',
|
||||
['id_grupo' => array_keys($user_groups)],
|
||||
['id_agente']
|
||||
);
|
||||
|
||||
$id_agents = [];
|
||||
foreach ($rows as $row) {
|
||||
$id_agents[] = $row['id_agente'];
|
||||
}
|
||||
|
||||
if (!empty($id_agents)) {
|
||||
if (empty($id_agents) === false) {
|
||||
$address_by_user_groups = agents_get_addresses($id_agents);
|
||||
foreach ($address_by_user_groups as $i => $a) {
|
||||
$address_by_user_groups[$i] = '"'.$a.'"';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$rows = db_get_all_rows_filter(
|
||||
'tagente',
|
||||
[],
|
||||
['id_agente']
|
||||
|
||||
if (empty($address_by_user_groups) === true) {
|
||||
$address_by_user_groups = [];
|
||||
array_unshift($address_by_user_groups, '""');
|
||||
}
|
||||
|
||||
$whereSubquery .= sprintf(
|
||||
'AND (
|
||||
`ttrap`.`source` IN (%s) OR
|
||||
`ttrap`.`source`=""
|
||||
)',
|
||||
implode(',', $address_by_user_groups)
|
||||
);
|
||||
$id_agents = [];
|
||||
foreach ($rows as $row) {
|
||||
$id_agents[] = $row['id_agente'];
|
||||
}
|
||||
|
||||
$all_address_agents = agents_get_addresses($id_agents);
|
||||
foreach ($all_address_agents as $i => $a) {
|
||||
$all_address_agents[$i] = '"'.$a.'"';
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($address_by_user_groups)) {
|
||||
$address_by_user_groups = [];
|
||||
array_unshift($address_by_user_groups, '""');
|
||||
if ($filters['filter_alias_search'] !== '') {
|
||||
$sql_join = '
|
||||
LEFT JOIN `tagente`
|
||||
ON `tagente`.`direccion` = `ttrap`.`source`
|
||||
LEFT JOIN `taddress_agent`
|
||||
ON `tagente`.`id_agente` = `taddress_agent`.`id_agent`
|
||||
LEFT JOIN `taddress`
|
||||
ON `taddress_agent`.`id_a` = `taddress`.`id_a`
|
||||
';
|
||||
} else {
|
||||
$sql_join = '';
|
||||
}
|
||||
|
||||
if (empty($all_address_agents)) {
|
||||
$all_address_agents = [];
|
||||
array_unshift($all_address_agents, '""');
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM ttrap
|
||||
WHERE (
|
||||
`source` IN ('.implode(',', $address_by_user_groups).") OR
|
||||
`source`='' OR
|
||||
`source` NOT IN (".implode(',', $all_address_agents).')
|
||||
)
|
||||
%s
|
||||
ORDER BY timestamp DESC
|
||||
LIMIT %d,%d';
|
||||
|
||||
$whereSubquery = '';
|
||||
if ($filters['filter_alert'] != -1) {
|
||||
$whereSubquery .= ' AND alerted = '.$filters['filter_alert'];
|
||||
$whereSubquery .= ' AND `ttrap`.`alerted` = '.$filters['filter_alert'];
|
||||
}
|
||||
|
||||
$filters['filter_severity'] = (int) $filters['filter_severity'];
|
||||
if ($filters['filter_severity'] != -1) {
|
||||
// There are two special severity values aimed to match two different trap standard severities
|
||||
// in database: warning/critical and critical/normal.
|
||||
if ($filters['filter_severity'] !== EVENT_CRIT_OR_NORMAL
|
||||
&& $filters['filter_severity'] !== EVENT_CRIT_WARNING_OR_CRITICAL
|
||||
&& $filters['filter_severity'] !== EVENT_CRIT_NOT_NORMAL
|
||||
if ($filters['filter_severity'] != EVENT_CRIT_OR_NORMAL
|
||||
&& $filters['filter_severity'] != EVENT_CRIT_WARNING_OR_CRITICAL
|
||||
) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND severity = '.$filters['filter_severity'];
|
||||
if ($config['enterprise_installed']) {
|
||||
$whereSubquery .= ' AND (
|
||||
(`ttrap`.`alerted` = 0 AND `ttrap`.`severity` = '.$filters['filter_severity'].') OR
|
||||
(`ttrap`.`alerted` = 1 AND `ttrap`.`priority` = '.$filters['filter_severity'].'))';
|
||||
} else {
|
||||
$whereSubquery .= ' AND (
|
||||
(`ttrap`.`alerted` = 0 AND 1 = '.$filters['filter_severity'].') OR
|
||||
(`ttrap`.`alerted` = 1 AND `ttrap`.`priority` = '.$filters['filter_severity'].'))';
|
||||
}
|
||||
} else if ($filters['filter_severity'] === EVENT_CRIT_WARNING_OR_CRITICAL) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_WARNING_OR_CRITICAL.')';
|
||||
if ($config['enterprise_installed']) {
|
||||
$whereSubquery .= ' AND (
|
||||
(`ttrap`.`alerted` = 0 AND (`ttrap`.`severity` = '.EVENT_CRIT_WARNING.' OR `ttrap`.`severity` = '.EVENT_CRIT_CRITICAL.')) OR
|
||||
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_WARNING.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
|
||||
} else {
|
||||
$whereSubquery .= ' AND (
|
||||
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_WARNING.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
|
||||
}
|
||||
} else if ($filters['filter_severity'] === EVENT_CRIT_OR_NORMAL) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_NORMAL.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_OR_NORMAL.')';
|
||||
} else if ($filters['filter_severity'] === EVENT_CRIT_NOT_NORMAL) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_NOT_NORMAL.')';
|
||||
if ($config['enterprise_installed']) {
|
||||
$whereSubquery .= ' AND (
|
||||
(`ttrap`.`alerted` = 0 AND (`ttrap`.`severity` = '.EVENT_CRIT_NORMAL.' OR `ttrap`.`severity` = '.EVENT_CRIT_CRITICAL.')) OR
|
||||
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_NORMAL.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
|
||||
} else {
|
||||
$whereSubquery .= ' AND (
|
||||
(`ttrap`.`alerted` = 1 AND (`ttrap`.`priority` = '.EVENT_CRIT_NORMAL.' OR `ttrap`.`priority` = '.EVENT_CRIT_CRITICAL.')))';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($filters['filter_free_search'] !== '') {
|
||||
$free_search_str = io_safe_output($filters['filter_free_search']);
|
||||
$whereSubquery .= '
|
||||
AND (source LIKE "%'.$free_search_str.'%" OR
|
||||
oid LIKE "%'.$free_search_str.'%" OR
|
||||
oid_custom LIKE "%'.$free_search_str.'%" OR
|
||||
type_custom LIKE "%'.$free_search_str.'%" OR
|
||||
value LIKE "%'.$free_search_str.'%" OR
|
||||
value_custom LIKE "%'.$free_search_str.'%" OR
|
||||
id_usuario LIKE "%'.$free_search_str.'%" OR
|
||||
text LIKE "%'.$free_search_str.'%" OR
|
||||
description LIKE "%'.$free_search_str.'%")';
|
||||
AND (`ttrap`.`source` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`oid` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`oid_custom` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`type_custom` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`value` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`value_custom` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`id_usuario` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`text` LIKE "%'.$free_search_str.'%" OR
|
||||
`ttrap`.`description` LIKE "%'.$free_search_str.'%")';
|
||||
}
|
||||
|
||||
if ($filters['filter_alias_search'] !== '') {
|
||||
$alias_search = io_safe_output($filters['filter_alias_search']);
|
||||
$whereSubquery .= '
|
||||
AND `tagente`.`alias` LIKE "%'.$alias_search.'%"';
|
||||
}
|
||||
|
||||
if ($filters['filter_status'] != -1) {
|
||||
$whereSubquery .= ' AND status = '.$filters['filter_status'];
|
||||
$whereSubquery .= ' AND `ttrap`.`status` = '.$filters['filter_status'];
|
||||
}
|
||||
|
||||
if ($date_from_trap != '') {
|
||||
if ($time_from_trap != '') {
|
||||
$whereSubquery .= '
|
||||
AND (utimestamp > '.$ago_timestamp.')
|
||||
AND (`ttrap`.`utimestamp` > '.$ago_timestamp.')
|
||||
';
|
||||
} else {
|
||||
$whereSubquery .= '
|
||||
AND (UNIX_TIMESTAMP(timestamp) > UNIX_TIMESTAMP("'.$date_from_trap.' 23:59:59"))
|
||||
AND (UNIX_TIMESTAMP(`ttrap`.`timestamp`) > UNIX_TIMESTAMP("'.$date_from_trap.' 23:59:59"))
|
||||
';
|
||||
}
|
||||
}
|
||||
|
@ -696,37 +739,31 @@ class SnmpConsole extends HTML
|
|||
if ($date_to_trap != '') {
|
||||
if ($time_to_trap) {
|
||||
$whereSubquery .= '
|
||||
AND (utimestamp < '.$now_timestamp.')
|
||||
AND (`ttrap`.`utimestamp` < '.$now_timestamp.')
|
||||
';
|
||||
} else {
|
||||
$whereSubquery .= '
|
||||
AND (UNIX_TIMESTAMP(timestamp) < UNIX_TIMESTAMP("'.$date_to_trap.' 23:59:59"))
|
||||
AND (UNIX_TIMESTAMP(`ttrap`.`timestamp`) < UNIX_TIMESTAMP("'.$date_to_trap.' 23:59:59"))
|
||||
';
|
||||
}
|
||||
}
|
||||
|
||||
if ($filters['filter_trap_type'] == 5) {
|
||||
$whereSubquery .= ' AND type NOT IN (0, 1, 2, 3, 4)';
|
||||
$whereSubquery .= ' AND `ttrap`.`type` NOT IN (0, 1, 2, 3, 4)';
|
||||
} else if ($filters['filter_trap_type'] != -1) {
|
||||
$whereSubquery .= ' AND type = '.$filters['filter_trap_type'];
|
||||
$whereSubquery .= ' AND `ttrap`.`type` = '.$filters['filter_trap_type'];
|
||||
}
|
||||
|
||||
$where_without_group = '';
|
||||
if ($filters['filter_group_by']) {
|
||||
$where_without_group = $whereSubquery;
|
||||
$whereSubquery .= ' GROUP BY source,oid';
|
||||
$whereSubquery .= ' GROUP BY `ttrap`.`source`,`ttrap`.`oid`,`ttrap`.`id_trap`';
|
||||
} else if ($filters['filter_alias_search'] !== '') {
|
||||
$whereSubquery .= ' GROUP BY `ttrap`.`id_trap`';
|
||||
}
|
||||
|
||||
$sql = sprintf($sql, $whereSubquery, $start, $length);
|
||||
|
||||
$sql_count = 'SELECT COUNT(id_trap) FROM ttrap
|
||||
WHERE (
|
||||
source IN ('.implode(',', $address_by_user_groups).") OR
|
||||
source='' OR
|
||||
source NOT IN (".implode(',', $all_address_agents).')
|
||||
)
|
||||
%s';
|
||||
|
||||
$sql_count = sprintf($sql_count, $whereSubquery);
|
||||
$sql = sprintf($sql, $sql_join, $whereSubquery, $start, $length);
|
||||
$sql_count = sprintf($sql_count, $sql_join, $whereSubquery);
|
||||
|
||||
$traps = db_get_all_rows_sql($sql, true);
|
||||
$total = (int) db_get_value_sql($sql_count, false, false);
|
||||
|
@ -781,8 +818,8 @@ class SnmpConsole extends HTML
|
|||
$tmp->snmp_agent .= '<a class="'.$severity_class.'" href="index.php?sec=estado&sec2=godmode/agentes/configurar_agente&new_agent=1&direccion='.$tmp->source.'" title="'.__('Create agent').'">'.$tmp->source.'</a>';
|
||||
} else {
|
||||
$tmp->snmp_agent .= '<div class="'.$severity_class.' snmp-div"><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'" title="'.__('View agent details').'">';
|
||||
$tmp->snmp_agent .= '<strong>'.$agent['alias'].'</strong></a>'.ui_print_help_tip($tmp->source, true);
|
||||
'</div>';
|
||||
$tmp->snmp_agent .= '<strong>'.$agent['alias'].ui_print_help_tip($tmp->source, true);
|
||||
'</strong></a></div>';
|
||||
}
|
||||
|
||||
// Enterprise string.
|
||||
|
@ -819,7 +856,13 @@ class SnmpConsole extends HTML
|
|||
// User ID.
|
||||
$tmp->user_id = '<div class="'.$severity_class.' snmp-div">';
|
||||
if (empty($status) === false) {
|
||||
$tmp->user_id .= '<a href="index.php?sec=workspace&sec2=operation/users/user_edit&ver='.$tmp->id_usuario.'">'.substr($tmp->id_usuario, 0, 8).'</a>';
|
||||
if (users_is_admin($config['id_user']) === true || check_acl($config['id_user'], 0, 'UM') === true) {
|
||||
$url = ui_get_full_url('index.php?sec=gusuarios&sec2=godmode/users/configure_user&edit_user=1&pure=0&id_user='.$tmp->id_usuario);
|
||||
$tmp->user_id .= '<a href="'.$url.'">'.substr($tmp->id_usuario, 0, 8).'</a>';
|
||||
} else {
|
||||
$tmp->user_id .= substr($tmp->id_usuario, 0, 8);
|
||||
}
|
||||
|
||||
if (!empty($tmp->id_usuario)) {
|
||||
$tmp->user_id .= ui_print_help_tip(get_user_fullname($tmp->id_usuario), true);
|
||||
}
|
||||
|
@ -1129,25 +1172,42 @@ class SnmpConsole extends HTML
|
|||
$whereSubquery .= ' AND alerted = '.$$alert;
|
||||
}
|
||||
|
||||
$severity = (int) $severity;
|
||||
if ($severity !== -1) {
|
||||
if ($severity != -1) {
|
||||
// There are two special severity values aimed to match two different trap standard severities
|
||||
// in database: warning/critical and critical/normal.
|
||||
if ($severity !== EVENT_CRIT_OR_NORMAL
|
||||
&& $severity !== EVENT_CRIT_WARNING_OR_CRITICAL
|
||||
&& $severity !== EVENT_CRIT_NOT_NORMAL
|
||||
if ($severity != EVENT_CRIT_OR_NORMAL
|
||||
&& $severity != EVENT_CRIT_WARNING_OR_CRITICAL
|
||||
) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND severity = '.$severity;
|
||||
if ($config['enterprise_installed']) {
|
||||
$whereSubquery .= ' AND (
|
||||
(alerted = 0 AND severity = '.$severity.') OR
|
||||
(alerted = 1 AND priority = '.$severity.'))';
|
||||
} else {
|
||||
$whereSubquery .= ' AND (
|
||||
(alerted = 0 AND 1 = '.$severity.') OR
|
||||
(alerted = 1 AND priority = '.$severity.'))';
|
||||
}
|
||||
} else if ($severity === EVENT_CRIT_WARNING_OR_CRITICAL) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_WARNING_OR_CRITICAL.')';
|
||||
if ($config['enterprise_installed']) {
|
||||
$whereSubquery .= ' AND (
|
||||
(alerted = 0 AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.')) OR
|
||||
(alerted = 1 AND (priority = '.EVENT_CRIT_WARNING.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
|
||||
} else {
|
||||
$whereSubquery .= ' AND (
|
||||
(alerted = 1 AND (priority = '.EVENT_CRIT_WARNING.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
|
||||
}
|
||||
} else if ($severity === EVENT_CRIT_OR_NORMAL) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_NORMAL.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_OR_NORMAL.')';
|
||||
} else if ($severity === EVENT_CRIT_NOT_NORMAL) {
|
||||
// Test if enterprise is installed to search oid in text or oid field in ttrap.
|
||||
$whereSubquery .= ' AND (severity = '.EVENT_CRIT_WARNING.' OR severity = '.EVENT_CRIT_CRITICAL.' OR severity = '.EVENT_CRIT_NOT_NORMAL.')';
|
||||
if ($config['enterprise_installed']) {
|
||||
$whereSubquery .= ' AND (
|
||||
(alerted = 0 AND (severity = '.EVENT_CRIT_NORMAL.' OR severity = '.EVENT_CRIT_CRITICAL.')) OR
|
||||
(alerted = 1 AND (priority = '.EVENT_CRIT_NORMAL.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
|
||||
} else {
|
||||
$whereSubquery .= ' AND (
|
||||
(alerted = 1 AND (priority = '.EVENT_CRIT_NORMAL.' OR priority = '.EVENT_CRIT_CRITICAL.')))';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ use DI\ContainerBuilder;
|
|||
/*
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC240503';
|
||||
$build_version = 'PC240507';
|
||||
$pandora_version = 'v7.0NG.776';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
|
|
|
@ -741,8 +741,10 @@ function config_update_config()
|
|||
$error_update[] = __('Admin secondary LDAP login');
|
||||
}
|
||||
|
||||
if (config_update_value('ldap_admin_pass_secondary', get_parameter('ldap_admin_pass_secondary'), true, true) === false) {
|
||||
$error_update[] = __('Admin secondary LDAP password');
|
||||
if ((bool) get_parameter('ldap_admin_pass_secondary_password_changed', false) === true) {
|
||||
if (config_update_value('ldap_admin_pass_secondary', get_parameter('ldap_admin_pass_secondary'), true, true) === false) {
|
||||
$error_update[] = __('Admin LDAP password secondary');
|
||||
}
|
||||
}
|
||||
|
||||
if (config_update_value('fallback_local_auth', get_parameter('fallback_local_auth'), true) === false) {
|
||||
|
|
|
@ -134,11 +134,14 @@ function forecast_projection_graph(
|
|||
// 3.1 Standard deviation for X: sqrt((Sum(Xi²)/Obs) - (avg X)²)
|
||||
// 3.2 Standard deviation for Y: sqrt((Sum(Yi²)/Obs) - (avg Y)²)
|
||||
// Linear correlation coefficient:
|
||||
// Agent interval could be zero, 300 is the predefined
|
||||
// Agent interval could be zero, 300 is the predefined.
|
||||
if ($sum_obs == 0) {
|
||||
$agent_interval = SECONDS_5MINUTES;
|
||||
} else {
|
||||
$agent_interval = ($sum_diff_dates / $sum_obs);
|
||||
if ($agent_interval < 60) {
|
||||
$agent_interval = SECONDS_1MINUTE;
|
||||
}
|
||||
}
|
||||
|
||||
// Could be a inverse correlation coefficient
|
||||
|
@ -170,7 +173,7 @@ function forecast_projection_graph(
|
|||
$a = 0;
|
||||
}
|
||||
|
||||
// Data inicialization
|
||||
// Data inicialization.
|
||||
$output_data = [];
|
||||
if ($prediction_period != false) {
|
||||
$limit_timestamp = ($last_timestamp + $prediction_period);
|
||||
|
@ -199,50 +202,54 @@ function forecast_projection_graph(
|
|||
$time_format = 'M d';
|
||||
}
|
||||
|
||||
// Aplying linear regression to module data in order to do the prediction
|
||||
$idx = 0;
|
||||
// Create data in graph format like
|
||||
while ($in_range) {
|
||||
$now = time();
|
||||
try {
|
||||
// Aplying linear regression to module data in order to do the prediction.
|
||||
$idx = 0;
|
||||
// Create data in graph format like.
|
||||
while ($in_range) {
|
||||
$now = time();
|
||||
|
||||
// Check that exec time is not greater than half max exec server time
|
||||
if ($max_exec_time != false) {
|
||||
if (($begin_time + ($max_exec_time / 2)) < $now) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$timestamp_f = ($current_ts * 1000);
|
||||
|
||||
if ($csv) {
|
||||
$output_data[$idx]['date'] = $current_ts;
|
||||
$output_data[$idx]['data'] = ($a + ($b * $current_ts));
|
||||
} else {
|
||||
$output_data[$idx][0] = $timestamp_f;
|
||||
$output_data[$idx][1] = ($a + ($b * $current_ts));
|
||||
}
|
||||
|
||||
// Using this function for prediction_date
|
||||
if ($prediction_period == false) {
|
||||
// These statements stop the prediction when interval is greater than 2 years
|
||||
if (($current_ts - $last_timestamp) >= 94608000
|
||||
|| $max_value == $min_value
|
||||
) {
|
||||
return false;
|
||||
// Check that exec time is not greater than half max exec server time.
|
||||
if ($max_exec_time != false) {
|
||||
if (($begin_time + ($max_exec_time / 2)) < $now) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Found it
|
||||
if (($max_value >= $output_data[$idx][1])
|
||||
&& ($min_value <= $output_data[$idx][0])
|
||||
) {
|
||||
return ($current_ts + ($sum_diff_dates * $agent_interval));
|
||||
}
|
||||
} else if ($current_ts > $limit_timestamp) {
|
||||
$in_range = false;
|
||||
}
|
||||
$timestamp_f = ($current_ts * 1000);
|
||||
|
||||
$current_ts = ($current_ts + $agent_interval);
|
||||
$idx++;
|
||||
if ($csv) {
|
||||
$output_data[$idx]['date'] = $current_ts;
|
||||
$output_data[$idx]['data'] = ($a + ($b * $current_ts));
|
||||
} else {
|
||||
$output_data[$idx][0] = $timestamp_f;
|
||||
$output_data[$idx][1] = ($a + ($b * $current_ts));
|
||||
}
|
||||
|
||||
// Using this function for prediction_date.
|
||||
if ($prediction_period == false) {
|
||||
// These statements stop the prediction when interval is greater than 2 years.
|
||||
if (($current_ts - $last_timestamp) >= 94608000
|
||||
|| $max_value == $min_value
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Found it.
|
||||
if (($max_value >= $output_data[$idx][1])
|
||||
&& ($min_value <= $output_data[$idx][0])
|
||||
) {
|
||||
return ($current_ts + ($sum_diff_dates * $agent_interval));
|
||||
}
|
||||
} else if ($current_ts > $limit_timestamp) {
|
||||
$in_range = false;
|
||||
}
|
||||
|
||||
$current_ts = ($current_ts + $agent_interval);
|
||||
$idx++;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $output_data;
|
||||
|
|
|
@ -3509,7 +3509,7 @@ function graph_custom_sql_graph(
|
|||
}
|
||||
|
||||
if ((int) $ttl === 2) {
|
||||
$options['dataLabel'] = ['display' => 'auto'];
|
||||
$options['dataLabel'] = ['display' => true];
|
||||
|
||||
if ($layout !== false && is_array($layout) === true) {
|
||||
$options['layout'] = $layout;
|
||||
|
|
|
@ -7942,6 +7942,7 @@ function html_print_select_date_range(
|
|||
$date_format_js='yy/mm/dd',
|
||||
$time_format_js='HH:mm:ss',
|
||||
$id='',
|
||||
$units_selected='1',
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -8136,7 +8137,7 @@ function html_print_select_date_range(
|
|||
$output .= html_print_select(
|
||||
$units,
|
||||
$name.'_units',
|
||||
'1',
|
||||
$units_selected,
|
||||
'',
|
||||
'',
|
||||
0,
|
||||
|
|
|
@ -6128,7 +6128,7 @@ function reporting_alert_get_fired($id_agent_module, $id_alert_template_module,
|
|||
|
||||
$datelimit = ($datetime - $period);
|
||||
|
||||
$empty = '----------------------------';
|
||||
$empty = '';
|
||||
if (empty($firedTimes)) {
|
||||
$firedTimes = [];
|
||||
$firedTimes[0]['timestamp'] = $empty;
|
||||
|
@ -6429,7 +6429,7 @@ function reporting_alert_report_agent($report, $content)
|
|||
$data_action[$naction]['name'] = $action['name'];
|
||||
$fired = $action['fired'];
|
||||
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
|
||||
$data_action[$naction]['fired'] = '----------------------------';
|
||||
$data_action[$naction]['fired'] = '';
|
||||
} else {
|
||||
$data_action[$naction]['fired'] = $fired;
|
||||
}
|
||||
|
@ -6441,7 +6441,7 @@ function reporting_alert_report_agent($report, $content)
|
|||
$data_action[$naction]['name'] = $action['name'];
|
||||
$fired = $action['fired'];
|
||||
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
|
||||
$data_action[$naction]['fired'] = '----------------------------';
|
||||
$data_action[$naction]['fired'] = '';
|
||||
} else {
|
||||
$data_action[$naction]['fired'] = $fired;
|
||||
}
|
||||
|
@ -6453,7 +6453,7 @@ function reporting_alert_report_agent($report, $content)
|
|||
$data_action[$naction]['name'] = $action['name'];
|
||||
$fired = $action['fired'];
|
||||
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
|
||||
$data_action[$naction]['fired'] = '----------------------------';
|
||||
$data_action[$naction]['fired'] = '';
|
||||
} else {
|
||||
$data_action[$naction]['fired'] = $fired;
|
||||
}
|
||||
|
@ -6604,7 +6604,7 @@ function reporting_alert_report_module($report, $content)
|
|||
$data_action[$naction]['name'] = $action['name'];
|
||||
$fired = $action['fired'];
|
||||
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
|
||||
$data_action[$naction]['fired'] = '----------------------------';
|
||||
$data_action[$naction]['fired'] = '';
|
||||
} else {
|
||||
$data_action[$naction]['fired'] = $fired;
|
||||
}
|
||||
|
@ -6616,7 +6616,7 @@ function reporting_alert_report_module($report, $content)
|
|||
$data_action[$naction]['name'] = $action['name'];
|
||||
$fired = $action['fired'];
|
||||
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
|
||||
$data_action[$naction]['fired'] = '----------------------------';
|
||||
$data_action[$naction]['fired'] = '';
|
||||
} else {
|
||||
$data_action[$naction]['fired'] = $fired;
|
||||
}
|
||||
|
@ -6628,7 +6628,7 @@ function reporting_alert_report_module($report, $content)
|
|||
$data_action[$naction]['name'] = $action['name'];
|
||||
$fired = $action['fired'];
|
||||
if ($fired == 0 || ($fired <= $datelimit || $fired > $datetime)) {
|
||||
$data_action[$naction]['fired'] = '----------------------------';
|
||||
$data_action[$naction]['fired'] = '';
|
||||
} else {
|
||||
$data_action[$naction]['fired'] = $fired;
|
||||
}
|
||||
|
@ -6692,6 +6692,7 @@ function reporting_sql_graph(
|
|||
switch ($type_sql_graph) {
|
||||
case 'sql_graph_hbar':
|
||||
default:
|
||||
$layout = ['padding' => ['right' => '40']];
|
||||
$return['type'] = 'sql_graph_hbar';
|
||||
break;
|
||||
|
||||
|
|
|
@ -1712,7 +1712,7 @@ function reporting_html_event_report_group($table, $item, $pdf=0)
|
|||
$table1->head[3] = __('Name');
|
||||
$table1->head[4] = __('Agent');
|
||||
$table1->head[5] = __('Severity');
|
||||
$table1->head[6] = __('Val. by');
|
||||
$table1->head[6] = __('Validated by');
|
||||
$table1->head[7] = __('Timestamp');
|
||||
} else {
|
||||
$table1->head[0] = __('Status');
|
||||
|
@ -1720,7 +1720,7 @@ function reporting_html_event_report_group($table, $item, $pdf=0)
|
|||
$table1->head[2] = __('Name');
|
||||
$table1->head[3] = __('Agent');
|
||||
$table1->head[4] = __('Severity');
|
||||
$table1->head[5] = __('Val. by');
|
||||
$table1->head[5] = __('Validated by');
|
||||
$table1->head[6] = __('Timestamp');
|
||||
}
|
||||
|
||||
|
@ -1801,7 +1801,11 @@ function reporting_html_event_report_group($table, $item, $pdf=0)
|
|||
'id_user',
|
||||
$event['id_usuario']
|
||||
);
|
||||
$data[] = io_safe_output($user_name);
|
||||
if (isset($event['id_usuario']) === true && empty($event['id_usuario']) === false) {
|
||||
$data[] = io_safe_output($user_name).' ('.$event['id_usuario'].')';
|
||||
} else {
|
||||
$data[] = '';
|
||||
}
|
||||
}
|
||||
|
||||
if ($item['show_summary_group']) {
|
||||
|
@ -3845,7 +3849,7 @@ function reporting_html_event_report_agent($table, $item, $pdf=0)
|
|||
|
||||
$table1->head[2] = __('Name');
|
||||
$table1->head[4] = __('Severity');
|
||||
$table1->head[5] = __('Val. by');
|
||||
$table1->head[5] = __('Validated by');
|
||||
$table1->head[6] = __('Timestamp');
|
||||
if ((bool) $item['show_custom_data'] === true) {
|
||||
$table1->head[7] = __('Custom data');
|
||||
|
@ -3904,7 +3908,11 @@ function reporting_html_event_report_agent($table, $item, $pdf=0)
|
|||
$data[] = '<i>'.__('System').'</i>';
|
||||
} else {
|
||||
$user_name = db_get_value('fullname', 'tusuario', 'id_user', $event['validated_by']);
|
||||
$data[] = io_safe_output($user_name);
|
||||
if (isset($event['id_usuario']) === true && empty($event['id_usuario']) === false) {
|
||||
$data[] = io_safe_output($user_name).' ('.$event['id_usuario'].')';
|
||||
} else {
|
||||
$data[] = '';
|
||||
}
|
||||
}
|
||||
|
||||
if ($item['show_summary_group']) {
|
||||
|
|
|
@ -1722,3 +1722,16 @@ function show_projection_period() {
|
|||
$("#div_projection_period").hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Paused and resume if edit mode is checked.
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
function paused_resume_dashboard_countdown() {
|
||||
$("#checkbox-edit-mode").on("click", function() {
|
||||
let isChecked = $("#checkbox-edit-mode").is(":checked");
|
||||
if (isChecked) {
|
||||
$("#refrcounter").countdown("pause");
|
||||
} else {
|
||||
$("#refrcounter").countdown("resume");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@
|
|||
<div style='padding-bottom: 50px'>
|
||||
<?php
|
||||
$version = '7.0NG.776';
|
||||
$build = '240503';
|
||||
$build = '240507';
|
||||
$banner = "v$version Build $build";
|
||||
error_reporting(0);
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ $date_init_less = (strtotime(date('Y/m/d')) - SECONDS_1DAY);
|
|||
$date_init = get_parameter('date_init', date(DATE_FORMAT, $date_init_less));
|
||||
$time_init = get_parameter('time_init', date(TIME_FORMAT, $date_init_less));
|
||||
$datetime_init = strtotime($date_init.' '.$time_init);
|
||||
$date_units = get_parameter('utimestamp_units');
|
||||
if ($custom_date === '1') {
|
||||
if ($datetime_init >= $datetime_end) {
|
||||
$datetime_init = $date_init_less;
|
||||
|
@ -55,7 +56,6 @@ if ($custom_date === '1') {
|
|||
$date_end = date('Y/m/d H:i:s', $datetime_end);
|
||||
$period = ($datetime_end - $datetime_init);
|
||||
} else if ($custom_date === '2') {
|
||||
$date_units = get_parameter('utimestamp_units');
|
||||
$date_end = date('Y/m/d H:i:s');
|
||||
$date_init = date('Y/m/d H:i:s', (strtotime($date_end) - ((int) $date_text * (int) $date_units)));
|
||||
$period = (strtotime($date_end) - strtotime($date_init));
|
||||
|
@ -768,7 +768,14 @@ if (is_metaconsole() === false) {
|
|||
date('H:i:s', $date_init),
|
||||
date('Y/m/d', $utimestamp),
|
||||
date('H:i:s', $utimestamp),
|
||||
$date_text
|
||||
$date_text,
|
||||
'w100p',
|
||||
'Y/m/d',
|
||||
'H:i:s',
|
||||
'yy/mm/dd',
|
||||
'HH:mm:ss',
|
||||
'',
|
||||
$date_units
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -55,11 +55,12 @@ if (is_ajax()) {
|
|||
$search = io_safe_input($search_left);
|
||||
|
||||
// Agents.
|
||||
// Concatenate AW and AD permisions to get all the possible groups where the user can manage.
|
||||
// Concatenate AR, AW and AD permisions to get all the possible groups where the user can manage.
|
||||
$user_groupsAW = users_get_groups($config['id_user'], 'AW');
|
||||
$user_groupsAD = users_get_groups($config['id_user'], 'AD');
|
||||
$user_groupsAR = users_get_groups($config['id_user'], 'AR');
|
||||
|
||||
$user_groups = ($user_groupsAW + $user_groupsAD);
|
||||
$user_groups = ($user_groupsAW + $user_groupsAD + $user_groupsAR);
|
||||
$user_groups_to_sql = implode(',', array_keys($user_groups));
|
||||
|
||||
$search_sql = ' AND (nombre LIKE "%%'.$search.'%%" OR alias LIKE "%%'.$search.'%%")';
|
||||
|
@ -197,6 +198,9 @@ if (is_ajax()) {
|
|||
'graph_analytics' => true,
|
||||
];
|
||||
|
||||
// Included dependencies when is an ajax request.
|
||||
include_javascript_dependencies_flot_graph(false);
|
||||
|
||||
$graph_return = graphic_combined_module(
|
||||
$modules,
|
||||
$params,
|
||||
|
|
|
@ -36,6 +36,7 @@ $ajaxPage = $config['homedir'].'/operation/snmpconsole/snmp_view';
|
|||
$filter_alert = get_parameter('filter_alert', -1);
|
||||
$filter_severity = get_parameter('filter_severity', -1);
|
||||
$filter_free_search = get_parameter('filter_free_search', '');
|
||||
$filter_alias_search = get_parameter('filter_alias_search', '');
|
||||
$filter_status = get_parameter('filter_status', 0);
|
||||
$filter_group_by = get_parameter('filter_group_by', 0);
|
||||
$filter_hours_ago = get_parameter('filter_hours_ago', 8);
|
||||
|
@ -54,7 +55,8 @@ try {
|
|||
$filter_group_by,
|
||||
$filter_hours_ago,
|
||||
$filter_trap_type,
|
||||
$refr
|
||||
$refr,
|
||||
$filter_alias_search
|
||||
);
|
||||
} catch (Exception $e) {
|
||||
if ((bool) is_ajax() === true) {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%define debug_package %{nil}
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%define debug_package %{nil}
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
|
|
@ -3777,6 +3777,7 @@ CREATE TABLE IF NOT EXISTS `tlayout_template` (
|
|||
`maintenance_mode` TEXT,
|
||||
`grid_color` VARCHAR(45) NOT NULL DEFAULT '#cccccc',
|
||||
`grid_size` VARCHAR(45) NOT NULL DEFAULT '10',
|
||||
`create_from` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY(`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||
|
||||
|
|
|
@ -1217,7 +1217,7 @@ INSERT INTO `tagent_custom_fields` VALUES (1,'Serial Number',0,0,'',0),(2,'
|
|||
|
||||
INSERT INTO `ttag` VALUES (1,'network','Network equipment','http://pandorafms.com','','',''),(2,'critical','Critical modules','','','',''),(3,'dmz','DMZ Network Zone','','','',''),(4,'performance','Performance anda capacity modules','','','',''),(5,'configuration','','','','','');
|
||||
|
||||
INSERT INTO `tevent_response` VALUES (1,'Ping to host','Ping to the agent host','ping -c 5 _agent_address_','command',0,620,500,0,'',0,90,0),(3,'Create incident from event','Create a incident from the event with the standard incidents system of Pandora FMS','index.php?sec=workspace&sec2=operation/incidents/incident_detail&insert_form&from_event=_event_id_','url',0,0,0,1,'',0,90,0),(5,'Restart agent','Restart the agent with using UDP protocol.

To use this response is necessary to have installed Pandora FMS server and console in the same machine.','/usr/share/pandora_server/util/udp_client.pl _agent_address_ 41122 "REFRESH AGENT"','command',0,620,500,0,'',0,90,0),(6,'Ping to module agent host','Ping to the module agent host','ping -c 5 _module_address_','command',0,620,500,0,'',0,90,0),(7,'Create ticket in Pandora ITSM from event','Create a ticket in Pandora ITSM from an event','index.php?sec=manageTickets&sec2=operation/ITSM/itsm&operation=edit&from_event=_event_id_','url',0,0,0,1,'',0,90,1);
|
||||
INSERT INTO `tevent_response` VALUES (1,'Ping to host','Ping to the agent host','ping -c 5 _agent_address_','command',0,620,500,0,'',0,90,0),(5,'Restart agent','Restart the agent with using UDP protocol.

To use this response is necessary to have installed Pandora FMS server and console in the same machine.','/usr/share/pandora_server/util/udp_client.pl _agent_address_ 41122 "REFRESH AGENT"','command',0,620,500,0,'',0,90,0),(6,'Ping to module agent host','Ping to the module agent host','ping -c 5 _module_address_','command',0,620,500,0,'',0,90,0),(7,'Create ticket in Pandora ITSM from event','Create a ticket in Pandora ITSM from an event','index.php?sec=manageTickets&sec2=operation/ITSM/itsm&operation=edit&from_event=_event_id_','url',0,0,0,1,'',0,90,1);
|
||||
|
||||
INSERT INTO `tupdate_settings` VALUES ('current_update', '412'), ('customer_key', 'PANDORA-FREE'), ('updating_binary_path', 'Path where the updated binary files will be stored'), ('updating_code_path', 'Path where the updated code is stored'), ('dbname', ''), ('dbhost', ''), ('dbpass', ''), ('dbuser', ''), ('dbport', ''), ('proxy', ''), ('proxy_port', ''), ('proxy_user', ''), ('proxy_pass', '');
|
||||
|
||||
|
|
|
@ -94,5 +94,8 @@ echo $output;
|
|||
$("#button-add-widget-"+cellId).trigger("click");
|
||||
}, 500);
|
||||
}
|
||||
|
||||
// Paused and resume if edit mode is checked.
|
||||
paused_resume_dashboard_countdown();
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-server
|
||||
Version: 7.0NG.776-240503
|
||||
Version: 7.0NG.776-240507
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.776-240503"
|
||||
pandora_version="7.0NG.776-240507"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -46,7 +46,7 @@ our @EXPORT = qw(
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.776";
|
||||
my $pandora_build = "240503";
|
||||
my $pandora_build = "240507";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
|
|
@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.776";
|
||||
my $pandora_build = "240503";
|
||||
my $pandora_build = "240507";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
%define debug_package %{nil}
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
%global __os_install_post %{nil}
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.776
|
||||
%define release 240503
|
||||
%define release 240507
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.776"
|
||||
PI_BUILD="240503"
|
||||
PI_BUILD="240507"
|
||||
|
||||
MODE=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
|
|
|
@ -38,7 +38,7 @@ use PandoraFMS::Config;
|
|||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.776 Build 240503";
|
||||
my $version = "7.0NG.776 Build 240507";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.776 Build 240503";
|
||||
my $version = "7.0NG.776 Build 240507";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|
|
Loading…
Reference in New Issue