Merge branch 'develop' into ent-11206-anadir-la-custom-field-view-de-la-meta-a-los-nodos

This commit is contained in:
miguel angel rasteu 2023-08-25 10:13:43 +02:00
commit 1afed9f262
94 changed files with 1336 additions and 540 deletions

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, AIX version
# Version 7.0NG.773.2, AIX version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, FreeBSD Version
# Version 7.0NG.773.2, FreeBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, HP-UX Version
# Version 7.0NG.773.2, HP-UX Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, GNU/Linux
# Version 7.0NG.773.2, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, GNU/Linux
# Version 7.0NG.773.2, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, Solaris Version
# Version 7.0NG.773.2, Solaris Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2023 Pandora FMS
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# This program is Free Software, you can redistribute it and/or modify it
# under the terms of the GNU General Public Licence as published by the Free Software
# Foundation; either version 2 of the Licence or any later version

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.773.1, AIX version
# Version 7.0NG.773.2, AIX version
# General Parameters
# ==================

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# FreeBSD/IPSO version
# Licenced under GPL licence, 2003-2007 Sancho Lerena

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.773.1, HPUX Version
# Version 7.0NG.773.2, HPUX Version
# General Parameters
# ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# Licensed under GPL license v2,
# (c) 2003-2023 Pandora FMS
# please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# Licensed under GPL license v2,
# (c) 2003-2023 Pandora FMS
# please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# Licensed under GPL license v2,
# please visit http://pandora.sourceforge.net

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.773.1, Solaris version
# Version 7.0NG.773.2, Solaris version
# General Parameters
# ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, AIX version
# Version 7.0NG.773.2, AIX version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.773.1-230822
Version: 7.0NG.773.2-230825
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.773.1-230822"
pandora_version="7.0NG.773.2-230825"
echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -31,7 +31,7 @@ fi
if [ "$#" -ge 2 ]; then
VERSION="$2"
else
VERSION="7.0NG.773.1"
VERSION="7.0NG.773.2"
fi
# Path for the generated DMG file

View File

@ -19,11 +19,11 @@
<choice id="com.pandorafms.pandorafms_src" visible="false">
<pkg-ref id="com.pandorafms.pandorafms_src"/>
</choice>
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.773.1" onConclusion="none">pandorafms_src.pdk</pkg-ref>
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.773.2" onConclusion="none">pandorafms_src.pdk</pkg-ref>
<choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
</choice>
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.773.1" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.773.2" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
<!-- <installation-check script="check()" />
<script>
<![CDATA[

View File

@ -5,9 +5,9 @@
<key>CFBundleIconFile</key> <string>pandorafms.icns</string>
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
<key>CFBundleVersion</key> <string>7.0NG.773.1</string>
<key>CFBundleGetInfoString</key> <string>7.0NG.773.1 Pandora FMS on Aug 2020</string>
<key>CFBundleShortVersionString</key> <string>7.0NG.773.1</string>
<key>CFBundleVersion</key> <string>7.0NG.773.2</string>
<key>CFBundleGetInfoString</key> <string>7.0NG.773.2 Pandora FMS on Aug 2020</string>
<key>CFBundleShortVersionString</key> <string>7.0NG.773.2</string>
<key>NSPrincipalClass</key><string>NSApplication</string>
<key>NSMainNibFile</key><string>MainMenu</string>

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, GNU/Linux
# Version 7.0NG.773.2, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, FreeBSD Version
# Version 7.0NG.773.2, FreeBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, HP-UX Version
# Version 7.0NG.773.2, HP-UX Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# Licensed under GPL license v2,
# Copyright (c) 2004-2023 Pandora FMS
# https://pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, GNU/Linux
# Version 7.0NG.773.2, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, NetBSD Version
# Version 7.0NG.773.2, NetBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.773.1, Solaris Version
# Version 7.0NG.773.2, Solaris Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -1030,8 +1030,8 @@ my $Sem = undef;
# Semaphore used to control the number of threads
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.773.1';
use constant AGENT_BUILD => '230822';
use constant AGENT_VERSION => '7.0NG.773.2';
use constant AGENT_BUILD => '230825';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.773.1
%define release 230822
%define version 7.0NG.773.2
%define release 230825
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -4,7 +4,7 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.773
%define version 7.0NG.773.2
%define release 230725
Summary: Pandora FMS Linux agent, binary version

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.773.1
%define release 230822
%define version 7.0NG.773.2
%define release 230825
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -9,8 +9,8 @@
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG.773.1"
PI_BUILD="230822"
PI_VERSION="7.0NG.773.2"
PI_BUILD="230825"
OS_NAME=`uname -s`
FORCE=0

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2023 Pandora FMS
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# This program is Free Software, you can redistribute it and/or modify it
# under the terms of the GNU General Public Licence as published by the Free Software
# Foundation; either version 2 of the Licence or any later version
@ -522,4 +522,11 @@ module_plugin "%PROGRAMFILES%\Pandora_Agent\util\autodiscover.exe" --default
#module_type generic_data_string
#module_exec echo Bordón
#module_native_encoding OEM
#module_end
#module_end
# Hardening plugin for security compliance analysis.
#module_begin
#module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_sca.exe"
#module_absoluteinterval 7d
#module_end

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d93bd9d56c938063045fa2093198d324746f84df2b74567648f3baebd635657
size 5248006

View File

@ -3,7 +3,7 @@ AllowLanguageSelection
{Yes}
AppName
{Pandora FMS Windows Agent v7.0NG.773.1}
{Pandora FMS Windows Agent v7.0NG.773.2}
ApplicationID
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{230822}
{230825}
ViewReadme
{Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.773.1 Build 230822")
#define PANDORA_VERSION ("7.0NG.773.2 Build 230825")
string pandora_path;
string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Pandora FMS"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.773.1(Build 230822))"
VALUE "ProductVersion", "(7.0NG.773.2(Build 230825))"
VALUE "FileVersion", "1.0.0.0"
END
END

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.773.1-230822
Version: 7.0NG.773.2-230825
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.773.1-230822"
pandora_version="7.0NG.773.2-230825"
package_pear=0
package_pandora=1

View File

@ -26,19 +26,20 @@
* ============================================================================
*/
/*
require_once $config['homedir'].'/include/config.php';
require_once $config['homedir'].'/include/functions_reporting.php';
require_once $config['homedir'].'/include/functions_modules.php';
*/
require_once '../include/config.php';
require_once '../include/functions_agents.php';
require_once '../include/functions_reporting.php';
require_once '../include/functions_modules.php';
require_once '../include/functions_users.php';
global $config;
if (true) {
include_once '../include/config.php';
include_once '../include/functions_agents.php';
include_once '../include/functions_reporting.php';
include_once '../include/functions_modules.php';
include_once '../include/functions_users.php';
include_once $config['homedir'].'/include/config.php';
include_once $config['homedir'].'/include/functions_agents.php';
include_once $config['homedir'].'/include/functions_reporting.php';
include_once $config['homedir'].'/include/functions_modules.php';
include_once $config['homedir'].'/include/functions_users.php';
}
check_login();

View File

@ -1558,7 +1558,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
$all_modules = true;
}
if ($all_common_modules === true) {
if ($all_common_modules === true || $all_modules === true) {
$module_names = explode(',', get_parameter('all_common_modules'));
}
@ -1602,7 +1602,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
foreach ($agents as $agent_id) {
$agent_id = (int) $agent_id;
// Check module belongs to the agent.
if ($modules_selection_mode == 'all' && $all_modules === false) {
if ($modules_selection_mode == 'all' && ($all_modules === false || $all_modules === true)) {
$check = false;
foreach ($module_names as $module_name) {
$check_module = modules_get_agentmodule_id(
@ -1666,7 +1666,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
);
}
if ($result !== false && (bool) $all_modules === false) {
if ($result !== false && ((bool) $all_modules === false || (bool) $all_modules === true)) {
foreach ($module_names as $module_name) {
$module = modules_get_agentmodule_id(
$module_name,

View File

@ -190,14 +190,21 @@ $output .= html_print_label_input_block(
html_print_extended_select_for_time(
'period',
$period,
'',
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'',
'0',
false,
true,
false,
false,
'w100p'
'w100p',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
)
);
$output .= "</td><td class='datos2' width='50%'>";

View File

@ -1421,10 +1421,21 @@ $class = 'databox filters';
html_print_extended_select_for_time(
'period',
$period,
'',
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'',
'0',
10
10,
false,
false,
true,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
);
?>
</td>
@ -1444,10 +1455,21 @@ $class = 'databox filters';
html_print_extended_select_for_time(
'period_range',
$period_range,
'',
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'',
'0',
10
10,
false,
false,
true,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period_range\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
);
?>
</td>
@ -1487,10 +1509,21 @@ $class = 'databox filters';
html_print_extended_select_for_time(
'period1',
$period_pg,
'',
'check_period_warning(this)',
'',
'0',
10
10,
false,
false,
true,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period\')'
);
?>
</td>
@ -1506,10 +1539,21 @@ $class = 'databox filters';
html_print_extended_select_for_time(
'period2',
$projection_period,
'',
'check_period_warning(this)',
'',
'0',
10
10,
false,
false,
true,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period\')'
);
?>
</td>
@ -3440,7 +3484,7 @@ $class = 'databox filters';
html_print_extended_select_for_time(
'lapse',
$lapse,
'',
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
__('None'),
'0',
10,
@ -3448,7 +3492,13 @@ $class = 'databox filters';
'',
'',
'',
!$lapse_calc
!$lapse_calc,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'lapse\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
);
?>
</td>

View File

@ -555,6 +555,7 @@ switch ($activeTab) {
$type = (int) get_parameter('type', STATIC_GRAPH);
$image = get_parameter('image');
$range = (int) get_parameter('range', 50);
$range_vertical = (int) get_parameter('range_vertical', 50);
$width = (int) get_parameter('width', 0);
$height = (int) get_parameter('height', 0);
$period = (int) get_parameter('period', 0);
@ -567,6 +568,9 @@ switch ($activeTab) {
$label_type = get_parameter('label_type', 'agent_module');
$enable_link = get_parameter('enable_link', 'enable_link');
$show_on_top = get_parameter('show_on_top', 0);
$pos_x = get_parameter('pos_x', 0);
$pos_y = get_parameter('pos_y', 0);
$max_elements_row = (int) get_parameter('max_elements_row', 0);
// This var switch between creation of items, item_per_agent = 0 => item per module; item_per_agent <> 0 => item per agent
$item_per_agent = get_parameter('item_per_agent', 0);
@ -611,6 +615,7 @@ switch ($activeTab) {
$image,
$idVisualConsole,
$range,
$range_vertical,
$width,
$height,
$period,
@ -626,7 +631,10 @@ switch ($activeTab) {
$kind_relationship,
$item_in_the_map,
$fontf,
$fonts
$fonts,
$pos_x,
$pos_y,
$max_elements_row
);
$statusProcessInDB = [
@ -668,6 +676,7 @@ switch ($activeTab) {
$image,
$idVisualConsole,
$range,
$range_vertical,
$width,
$height,
$period,
@ -683,7 +692,10 @@ switch ($activeTab) {
$kind_relationship,
$item_in_the_map,
$fontf,
$fonts
$fonts,
$pos_x,
$pos_y,
$max_elements_row
);
} else {
$id_modules = [];
@ -722,6 +734,7 @@ switch ($activeTab) {
$image,
$idVisualConsole,
$range,
$range_vertical,
$width,
$height,
$period,
@ -737,7 +750,10 @@ switch ($activeTab) {
$kind_relationship,
$item_in_the_map,
$fontf,
$fonts
$fonts,
$pos_x,
$pos_y,
$max_elements_row
);
}
}

View File

@ -144,22 +144,28 @@ $table->data['all_0'][0] = html_print_label_input_block(
$table->rowstyle['staticgraph'] = 'display: none;';
$table->colspan['staticgraph'][0] = 2;
$table->data['staticgraph'][0] = html_print_label_input_block(
__('Image'),
html_print_select(
'<div class="flex">'.html_print_select(
$images_list,
'image',
'',
'',
'',
'',
true
)
true,
false,
true,
'',
false,
'width: 49%'
).'<span id="image_prev" class="mrgn_lft_10px mrgn_top-10px"><img src="'.$config['homeurl'].'/images/console/icons/appliance_ok.png"></span></div>'
);
$table->rowstyle['all_1'] = 'display: none;';
$table->data['all_1'][0] = html_print_label_input_block(
__('Range between elements (px)'),
__('Horizontal range between elements (px)'),
html_print_input_text(
'range',
50,
@ -170,6 +176,18 @@ $table->data['all_1'][0] = html_print_label_input_block(
)
);
$table->data['all_1'][1] = html_print_label_input_block(
__('Vertical range between elements (px)'),
html_print_input_text(
'range_vertical',
50,
'',
5,
5,
true
)
);
$input_size = __('Width').': ';
$input_size .= html_print_input_text('width', 0, '', 5, 5, true);
$input_size .= __('Height').': ';
@ -425,6 +443,16 @@ if (is_metaconsole() === false) {
);
}
$table->data['all_4_01'][0] = html_print_label_input_block(
__('Filter agents'),
html_print_input_text('filter_agents', '', '', false, 255, true)
);
$table->data['all_4_01'][1] = html_print_label_input_block(
__('Filter modules'),
html_print_input_text('filter_modules', '', '', false, 255, true)
);
$table->rowstyle['all_4'] = 'display: none;';
$table->data['all_4'][0] = html_print_label_input_block(
__('Agents').ui_print_help_tip(
@ -549,6 +577,16 @@ $table->data['all_8'][1] = html_print_label_input_block(
).'</span>'
);
$table->data['all_10'][0] = html_print_label_input_block(
__('Max. elements for row'),
html_print_input_text('max_elements_row', 0, '', false, 255, true)
);
$table->data['all_10'][1] = html_print_label_input_block(
__('Position'),
'<div class="flex_center"><span class="mrgn_right_10px">X</span>'.html_print_input_text('pos_x', 0, '', false, 255, true, false, false, '', 'w50p').'<span class="margin-lr-10">Y</span>'.html_print_input_text('pos_y', 0, '', false, 255, true, false, false, '', 'w50p').'</div>'
);
if (is_metaconsole() === true) {
$pure = get_parameter('pure', 0);
@ -831,6 +869,44 @@ function item_per_agent_change(itemPerAgent) {
function metaconsole_init() {
$("#groups").change();
}
$('#text-filter_agents').on('keyup',function(){
if ($(this).val() !== ''){
findInSelect('id_agents',$(this).val());
} else {
$('#id_agents option').each(function(){
$(this).removeClass('invisible');
});
}
});
$('#text-filter_modules').on('keyup',function(){
if ($(this).val() !== ''){
findInSelect('module',$(this).val());
} else {
$('#module option').each(function(){
$(this).removeClass('invisible');
});
}
});
function findInSelect(selectid, find){
var select = $('#'+selectid+' option');
select.each(function(){
var regex = new RegExp(find, "gi");
if ($(this).html().match(regex) === null) {
$(this).addClass('invisible');
} else {
$(this).removeClass('invisible');
}
})
}
$('#image').on('change', function(){
var img = $(this).val();
$('#image_prev').html('<img src="<?php echo $config['homeurl']; ?>/images/console/icons/'+img+'.png">');
})
</script>
<style type="text/css">
select[name='kind_relationship'] option[disabled='disabled'] {

View File

@ -542,13 +542,21 @@ class CustomNetScan extends Wizard
'extra' => '<span id="interval_manual_container">'.html_print_extended_select_for_time(
'interval',
$this->task['interval_sweep'],
'',
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'',
'0',
false,
true,
false,
false
false,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'interval\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
).'</span>',
];

View File

@ -20,8 +20,8 @@
/**
* Pandora build version and version
*/
$build_version = 'PC230822';
$pandora_version = 'v7.0NG.773.1';
$build_version = 'PC230825';
$pandora_version = 'v7.0NG.773.2';
// Do not overwrite default timezone set if defined.
$script_tz = @date_default_timezone_get();

View File

@ -2760,69 +2760,7 @@ function agents_delete_agent($id_agents, $disableACL=false)
enterprise_include_once('include/functions_agents.php');
enterprise_hook('agent_delete_from_cache', [$id_agent]);
// Delete agent from visual console.
db_process_sql_delete(
'tlayout_data',
['id_agent' => $id_agent]
);
// Delete agent from visual dashboards.
db_process_sql(
'UPDATE twidget_dashboard
SET options = NULL
WHERE options LIKE ("%\"agentid\":\"'.$id_agent.'\"%")'
);
// Delete agent from treport.
db_process_sql_delete(
'treport_content',
['id_agent' => $id_agent]
);
// Delete rules from tevent alerts (correlative alerts)
db_process_sql_delete(
'tevent_rule',
[
'agent' => $id_agent,
'operator_agent' => '==',
]
);
db_process_sql_delete(
'tevent_rule',
[
'log_agent' => $id_agent,
'operator_log_agent' => '==',
]
);
// Delete from gis maps history
db_process_sql_delete(
'tgis_data_history',
['tagente_id_agente' => $id_agent]
);
// Delete from policies.
db_process_sql_delete(
'tpolicy_agents',
['id_agent' => $id_agent]
);
// Delete from tnetwork maps
db_process_sql_delete(
'titem',
['source_data' => $id_agent]
);
db_process_sql_delete(
'trel_item',
[
'id_parent_source_data' => $id_agent,
'id_child_source_data' => $id_agent,
],
'OR'
);
// Delete agent from fav menu.
db_process_sql_delete(
'tfavmenu_user',

View File

@ -2166,7 +2166,8 @@ function html_print_extended_select_for_time(
$style_icon='',
$no_change=false,
$allow_zero=0,
$units=null
$units=null,
$script_input=''
) {
global $config;
$admin = is_user_admin($config['id_user']);
@ -2256,7 +2257,7 @@ function html_print_extended_select_for_time(
echo '</div>';
echo '<div id="'.$uniq_name.'_manual" class="w100p inline_flex">';
html_print_input_text($uniq_name.'_text', $selected, '', $size, 255, false, $readonly, false, '', $class);
html_print_input_text($uniq_name.'_text', $selected, '', $size, 255, false, $readonly, false, '', $class, $script_input);
html_print_input_hidden($name, $selected, false, $uniq_name);
html_print_select(
@ -5773,7 +5774,11 @@ function html_print_input($data, $wrapper='div', $input_only=false)
((isset($data['class']) === true) ? $data['class'] : ''),
((isset($data['readonly']) === true) ? $data['readonly'] : false),
((isset($data['custom_fields']) === true) ? $data['custom_fields'] : false),
((isset($data['style_icon']) === true) ? $data['style_icon'] : '')
((isset($data['style_icon']) === true) ? $data['style_icon'] : ''),
((isset($data['no_change']) === true) ? $data['no_change'] : ''),
((isset($data['allow_zero']) === true) ? $data['allow_zero'] : ''),
((isset($data['units']) === true) ? $data['units'] : null),
((isset($data['script_input']) === true) ? $data['script_input'] : '')
);
break;

View File

@ -950,11 +950,14 @@ if (is_ajax()) {
$dialog = '
<div id="about-tabs" class="invisible overflow-hidden">
<ul>
<li><a href="#tab-general-view">'.__('Information').'</a></li>
<li><a href="#tab-database">'.__('Database').'</a></li>
<li><a href="#tab-system-info">'.__('System Info').'</a></li>
<li><a href="#tab-php-system">'.__('PHP System').'</a></li>
<li class="ui-tabs-close-button" style="float:right!important;">
<li><a href="#tab-general-view">'.__('Information').'</a></li>';
if ((bool) check_acl($config['id_user'], 0, 'PM') === true || $config['is_admin']['admin'] === true) {
$dialog .= '<li><a href="#tab-database">'.__('Database').'</a></li>
<li><a href="#tab-system-info">'.__('System Info').'</a></li>
<li><a href="#tab-php-system">'.__('PHP System').'</a></li>';
}
$dialog .= '<li class="ui-tabs-close-button" style="float:right!important;">
<img id="about-close" style="cursor: pointer;" src="'.ui_get_full_url('/include/styles/images/dialog-titlebar-close.png', false, false, false).'" alt="'.__('Close').'" title="'.__('Close').'" width="25px">
</li>
</ul>
@ -986,7 +989,7 @@ if (is_ajax()) {
$dialog .= '<p><b><a href="https://pandorafms.com/contact/" target="_blank">'.__('Contact Pandora FMS for official support contract.').'</a></b></p>';
}
if (((bool) check_acl($config['id_user'], 0, 'PM') === true) && (is_metaconsole() === false)) {
if (((bool) check_acl($config['id_user'], 0, 'PM') === true || $config['is_admin']['admin'] === true) && (is_metaconsole() === false)) {
$dialogButtons = [];
$dialogButtons[] = html_print_button(
@ -1028,222 +1031,224 @@ if (is_ajax()) {
</tbody>
</table>
<p class="trademark-copyright">Trademark and copyright 2004 - '.date('Y').' <a href="https://pandorafms.com/" target="_blank">Pandora FMS</a>. All rights reserved</p>
</div>
<div id="tab-database" class="div-scroll">
<table class="table-about">
<tbody style="text-align: left;">
<tr>
<th colspan="2">
<h2><span> - </span>'.__('Database health status').'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_health->data->unknownAgents->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_health->data->unknownAgents->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_health->data->notInitAgents->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_health->data->notInitAgents->value.'</p>
</th>
</tr>
<tr class="about-last-tr">
<th style="width: 50%;">
<p class="about-last-p"><span>'.$db_health->data->pandoraDbLastRun->name.'</span></p>
</th>
<th style="width: 50%;">
<p class="about-last-p" style="font-size: 10pt;">'.$db_health->data->pandoraDbLastRun->value.'</p>
</th>
</tr>
</div>';
if ((bool) check_acl($config['id_user'], 0, 'PM') === true || $config['is_admin']['admin'] === true) {
$dialog .= '<div id="tab-database" class="div-scroll">
<table class="table-about">
<tbody style="text-align: left;">
<tr>
<th colspan="2">
<h2><span> - </span>'.__('Database health status').'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_health->data->unknownAgents->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_health->data->unknownAgents->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_health->data->notInitAgents->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_health->data->notInitAgents->value.'</p>
</th>
</tr>
<tr class="about-last-tr">
<th style="width: 50%;">
<p class="about-last-p"><span>'.$db_health->data->pandoraDbLastRun->name.'</span></p>
</th>
<th style="width: 50%;">
<p class="about-last-p" style="font-size: 10pt;">'.$db_health->data->pandoraDbLastRun->value.'</p>
</th>
</tr>
<tr>
<th colspan="2">
<h2><span> - </span>'.__('Database status info').'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_info->data->dbSchemeFirstVersion->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_info->data->dbSchemeFirstVersion->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_info->data->dbSchemeVersion->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_info->data->dbSchemeVersion->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_info->data->dbSchemeBuild->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_info->data->dbSchemeBuild->value.'</p>
</th>
</tr>
<tr class="about-last-tr">
<th style="width: 50%;">
<p class="about-last-p"><span>'.$db_info->data->dbSize->name.'</span></p>
</th>
<th style="width: 50%;">
<p class="about-last-p" style="font-size: 10pt;">'.$db_info->data->dbSize->value.'</p>
</th>
</tr>
<tr>
<th colspan="2">
<h2><span> - </span>'.__('Database status info').'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_info->data->dbSchemeFirstVersion->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_info->data->dbSchemeFirstVersion->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_info->data->dbSchemeVersion->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_info->data->dbSchemeVersion->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_info->data->dbSchemeBuild->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_info->data->dbSchemeBuild->value.'</p>
</th>
</tr>
<tr class="about-last-tr">
<th style="width: 50%;">
<p class="about-last-p"><span>'.$db_info->data->dbSize->name.'</span></p>
</th>
<th style="width: 50%;">
<p class="about-last-p" style="font-size: 10pt;">'.$db_info->data->dbSize->value.'</p>
</th>
</tr>
<tr>
<th colspan="2">
<h2><span> - </span>'.__('Tables fragmentation in the %s database', $product_name).'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_fragmentation->data->tablesFragmentationMax->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_fragmentation->data->tablesFragmentationMax->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_fragmentation->data->tablesFragmentationValue->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_fragmentation->data->tablesFragmentationValue->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_fragmentation->data->tablesFragmentationStatus->name.'</span></p>
</th>
<th style="width: 50%;">
<p>'.$fragmentation_status.'</p>
</th>
</tr>
</tbody>
</table>
<tr>
<th colspan="2">
<h2><span> - </span>'.__('Tables fragmentation in the %s database', $product_name).'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_fragmentation->data->tablesFragmentationMax->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_fragmentation->data->tablesFragmentationMax->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_fragmentation->data->tablesFragmentationValue->name.'</span></p>
</th>
<th style="width: 50%;">
<p style="font-size: 10pt;">'.$db_fragmentation->data->tablesFragmentationValue->value.'</p>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$db_fragmentation->data->tablesFragmentationStatus->name.'</span></p>
</th>
<th style="width: 50%;">
<p>'.$fragmentation_status.'</p>
</th>
</tr>
</tbody>
</table>
</div>
<div id="tab-system-info">
<table class="table-about">
<tbody style="text-align: left;">
<tr>
<th colspan="2">
<h2><span> - </span>'.__('System Info').'</h2>
</th>
</tr>
<tr>
<th style="width: 30%;">
<p><span>'.$sys_info->data->cpuInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->cpuInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->ramInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->ramInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->osInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->osInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->hostnameInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->hostnameInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->ipInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->ipInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$system_date->data->date->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$system_date->data->date->value.'</p>
</th>
</tr>
</tbody>
</table>
</div>
<div id="tab-php-system">
<table class="table-about">
<tbody style="text-align: left;">
<tr>
<th colspan="2">
<h2><span> - </span>'.__('PHP system').'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$php_sys->data->phpVersion->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->phpVersion->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->maxExecutionTime->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->maxExecutionTime->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->maxInputTime->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->maxInputTime->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->memoryLimit->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->memoryLimit->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->sessionLifetime->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->sessionLifetime->value.'</p>
</th>
</tr>
</tbody>
</table>
</div>
</div>
<div id="tab-system-info">
<table class="table-about">
<tbody style="text-align: left;">
<tr>
<th colspan="2">
<h2><span> - </span>'.__('System Info').'</h2>
</th>
</tr>
<tr>
<th style="width: 30%;">
<p><span>'.$sys_info->data->cpuInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->cpuInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->ramInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->ramInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->osInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->osInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->hostnameInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->hostnameInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$sys_info->data->ipInfo->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$sys_info->data->ipInfo->value.'</p>
</th>
</tr>
<tr>
<th style="width: 15%;">
<p><span>'.$system_date->data->date->name.'</span></p>
</th>
<th style="width: 85%;">
<p style="font-size: 10pt;">'.$system_date->data->date->value.'</p>
</th>
</tr>
</tbody>
</table>
</div>
<div id="tab-php-system">
<table class="table-about">
<tbody style="text-align: left;">
<tr>
<th colspan="2">
<h2><span> - </span>'.__('PHP system').'</h2>
</th>
</tr>
<tr>
<th style="width: 50%;">
<p><span>'.$php_sys->data->phpVersion->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->phpVersion->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->maxExecutionTime->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->maxExecutionTime->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->maxInputTime->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->maxInputTime->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->memoryLimit->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->memoryLimit->value.'</p>
</th>
</tr>
<tr>
<th style="width: 35%;">
<p><span>'.$php_sys->data->sessionLifetime->name.'</span></p>
</th>
<th style="width: 65%;">
<p style="font-size: 10pt;">'.$php_sys->data->sessionLifetime->value.'</p>
</th>
</tr>
</tbody>
</table>
</div>
</div>
';
';
}
echo $dialog;
}

View File

@ -620,45 +620,33 @@ function planned_downtimes_stop($downtime)
$count = 0;
foreach ($agents as $agent) {
if ($agent['all_modules']) {
$modules = db_get_all_rows_filter(
'tplanned_downtime_modules',
[
'id_agent' => $agent['id_agent'],
'id_downtime' => $id_downtime,
]
);
if (empty($modules)) {
$modules = [];
}
foreach ($modules as $module) {
$result = db_process_sql_update(
'tagente',
['quiet' => 0],
['id_agente' => $agent['id_agent']]
'tagente_modulo',
[
'quiet' => 0,
'quiet_by_downtime' => 0,
],
[
'quiet_by_downtime' => 1,
'id_agente_modulo' => $module['id_agent_module'],
]
);
if ($result) {
$count++;
}
} else {
$modules = db_get_all_rows_filter(
'tplanned_downtime_modules',
[
'id_agent' => $agent['id_agent'],
'id_downtime' => $id_downtime,
]
);
if (empty($modules)) {
$modules = [];
}
foreach ($modules as $module) {
$result = db_process_sql_update(
'tagente_modulo',
[
'quiet' => 0,
'quiet_by_downtime' => 0,
],
[
'quiet_by_downtime' => 1,
'id_agente_modulo' => $module['id_agent_module'],
]
);
if ($result) {
$count++;
}
}
}
}
break;

View File

@ -4166,9 +4166,9 @@ function ui_print_datatable(array $parameters)
// * START JAVASCRIPT.
if (is_metaconsole() === false) {
$file_path = ui_get_full_url('include/javascript/datatablesFunction.js');
$file_path = 'include/javascript/datatablesFunction.js';
} else {
$file_path = ui_get_full_url('../../include/javascript/datatablesFunction.js');
$file_path = '../../include/javascript/datatablesFunction.js';
}
$file_content = file_get_contents($file_path);

View File

@ -2554,6 +2554,7 @@ function visual_map_process_wizard_add(
$image,
$id_layout,
$range,
$range_vertical,
$width=0,
$height=0,
$period='',
@ -2562,7 +2563,10 @@ function visual_map_process_wizard_add(
$max_value=0,
$type_percentile='',
$value_show='',
$type=''
$type='',
$pos_x=10,
$pos_y=10,
$max_elements_row=0
) {
if (empty($id_agents)) {
print_error_message(__('No agents selected'));
@ -2572,14 +2576,9 @@ function visual_map_process_wizard_add(
$id_agents = (array) $id_agents;
$error = false;
$pos_y = 10;
$pos_x = 10;
$elements_row = 1;
$initial_x = $pos_x;
foreach ($id_agents as $id_agent) {
if ($pos_x > 600) {
$pos_x = 10;
$pos_y = ($pos_y + $range);
}
$value_height = $height;
$value_image = $image;
$value_type = $type;
@ -2628,7 +2627,14 @@ function visual_map_process_wizard_add(
db_process_sql_insert('tlayout_data', $values);
$pos_x = ($pos_x + $range);
if (($max_elements_row === $elements_row) && $max_elements_row !== 0) {
$elements_row = 1;
$pos_x = $initial_x;
$pos_y = ($range_vertical + $pos_y);
} else {
$pos_x = ($pos_x + $range);
$elements_row++;
}
}
$return = ui_print_success_message(__('Agent successfully added to layout'), '', true);
@ -2654,6 +2660,7 @@ function visual_map_process_wizard_add_modules(
$image,
$id_layout,
$range,
$range_vertical,
$width,
$height,
$period,
@ -2669,7 +2676,10 @@ function visual_map_process_wizard_add_modules(
$kind_relationship=VISUAL_MAP_WIZARD_PARENTS_NONE,
$item_in_the_map=0,
$fontf='lato',
$fonts='12pt'
$fonts='12pt',
$pos_x=10,
$pos_y=10,
$max_elements_row=0
) {
if (empty($width) === true) {
$width = 0;
@ -2691,15 +2701,9 @@ function visual_map_process_wizard_add_modules(
$id_modules = (array) $id_modules;
$error = false;
$pos_y = 10;
$pos_x = 10;
$elements_row = 1;
$initial_x = $pos_x;
foreach ($id_modules as $id_module) {
if ($pos_x > 600) {
$pos_x = 10;
$pos_y = ($pos_y + $range);
}
if ($id_server != 0) {
$connection = db_get_row_filter(
'tmetaconsole_setup',
@ -2820,7 +2824,14 @@ function visual_map_process_wizard_add_modules(
db_process_sql_insert('tlayout_data', $values);
$pos_x = ($pos_x + $range);
if (($max_elements_row === $elements_row) && $max_elements_row !== 0) {
$elements_row = 1;
$pos_x = $initial_x;
$pos_y = ($range_vertical + $pos_y);
} else {
$pos_x = ($pos_x + $range);
$elements_row++;
}
}
$return = ui_print_success_message(__('Modules successfully added to layout'), '', true);
@ -2885,6 +2896,7 @@ function visual_map_process_wizard_add_agents(
$image,
$id_layout,
$range,
$range_vertical,
$width,
$height,
$period,
@ -2900,7 +2912,10 @@ function visual_map_process_wizard_add_agents(
$kind_relationship=VISUAL_MAP_WIZARD_PARENTS_NONE,
$item_in_the_map=0,
$fontf='lato',
$fonts='12pt'
$fonts='12pt',
$pos_x=10,
$pos_y=10,
$max_elements_row=0
) {
global $config;
@ -2925,9 +2940,8 @@ function visual_map_process_wizard_add_agents(
$id_agents = (array) $id_agents;
$error = false;
$pos_y = 10;
$pos_x = 10;
$elements_row = 1;
$initial_x = $pos_x;
$relationship = true;
$relationships_agents = [];
// Check if the set a none relationship
@ -2945,11 +2959,6 @@ function visual_map_process_wizard_add_agents(
$id_agent = $id_a;
}
if ($pos_x > 600) {
$pos_x = 10;
$pos_y = ($pos_y + $range);
}
$value_height = $height;
$value_image = $image;
$value_type = $type;
@ -3061,6 +3070,15 @@ function visual_map_process_wizard_add_agents(
$id_item = db_process_sql_insert('tlayout_data', $values);
if (($max_elements_row === $elements_row) && $max_elements_row !== 0) {
$elements_row = 1;
$pos_x = $initial_x;
$pos_y = ($range_vertical + $pos_y);
} else {
$pos_x = ($pos_x + $range);
$elements_row++;
}
if ($relationship) {
switch ($kind_relationship) {
case VISUAL_MAP_WIZARD_PARENTS_AGENT_RELANTIONSHIP:
@ -3093,8 +3111,6 @@ function visual_map_process_wizard_add_agents(
break;
}
}
$pos_x = ($pos_x + $range);
}
foreach ($relationships_agents as $relationship_item) {

View File

@ -2487,3 +2487,39 @@ function menuActionButtonResizing() {
"width: calc(100% - " + $("#menu_full").width() + "px);"
);
}
function check_period_warning(time, title, message) {
var period = time.value;
var times = 0;
if (period >= 2592000 && period < 7776000) {
WarningPeriodicityModal(title, message);
} else if (period >= 7776000 && period < 15552000) {
do {
WarningPeriodicityModal(title, message);
times = times + 1;
} while (times < 2);
} else if (period >= 15552000) {
do {
WarningPeriodicityModal(title, message);
times = times + 1;
} while (times < 3);
}
}
function check_period_warning_manual(input_name, title, message) {
var period = {
value:
$("#text-" + input_name + "_text").val() *
$("#" + input_name + "_units option:selected").val()
};
check_period_warning(period, title, message);
}
function WarningPeriodicityModal(title, message) {
confirmDialog({
title: title,
message: message,
strCancelButton: "Ok",
hideOkButton: 1
});
}

View File

@ -217,8 +217,12 @@ function initialiceLayout(data) {
success: function(widgetData) {
// Remove spinner.
removeSpinner(element);
widgetData = widgetData.replace("<script", "&lt;script");
widgetData = widgetData.replace("</script", "&lt;/script");
if (widgetData.includes('class="post-widget"')) {
widgetData = widgetData.replace("<script", "&lt;script");
widgetData = widgetData.replace("</script", "&lt;/script");
}
$("#widget-" + id + " .content-widget").append(widgetData);
$("#button-add-widget-" + id).click(function() {

View File

@ -421,6 +421,8 @@ class BasicChart extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -304,7 +304,8 @@ class BlockHistogram extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -308,6 +308,8 @@ class DataMatrix extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];
@ -324,6 +326,8 @@ class DataMatrix extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'slice\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -392,6 +392,8 @@ class CustomGraphWidget extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -367,6 +367,8 @@ class GraphModuleHistogramWidget extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -205,6 +205,8 @@ class Netflow extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];
$chart_types = netflow_get_chart_types();

View File

@ -352,6 +352,8 @@ class SingleGraphWidget extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -381,6 +381,8 @@ class SLAPercentWidget extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -260,6 +260,8 @@ class TopNWidget extends Widget
'nothing' => __('None'),
'nothing_value' => 0,
'style_icon' => 'flex-grow: 0',
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -317,6 +317,8 @@ final class BasicChart extends Item
'value' => $values['period'],
'nothing' => __('None'),
'nothing_value' => 0,
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -633,6 +633,8 @@ final class ModuleGraph extends Item
'value' => $values['period'],
'nothing' => __('None'),
'nothing_value' => 0,
'script' => 'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'script_input' => 'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
],
];

View File

@ -7092,6 +7092,10 @@ div.graph div.legend table {
margin-top: -10px;
}
.mrgn_top-15px {
margin-top: -15px;
}
.mrgn_top_0px {
margin-top: 0px;
}

View File

@ -130,8 +130,8 @@
</div>
<div style='padding-bottom: 50px'>
<?php
$version = '7.0NG.773.1';
$build = '230822';
$version = '7.0NG.773.2';
$build = '230825';
$banner = "v$version Build $build";
error_reporting(0);

View File

@ -233,7 +233,25 @@ $table->data[2][2] .= html_print_image(
$table->data[3][1] = __('Time range');
$table->data[3][2] = html_print_extended_select_for_time('period', $period, '', '', 0, 7, true);
$table->data[3][2] = html_print_extended_select_for_time(
'period',
$period,
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'',
0,
7,
true,
false,
true,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
);
$table->data[4][2] = __('Show events');
$table->data[4][3] = html_print_checkbox('draw_events', 1, (bool) $draw_events, true);

View File

@ -344,7 +344,25 @@ if ($view_graph) {
$searchForm .= "<td class='datos w30p'>";
$searchForm .= html_print_label_input_block(
__('Time range'),
html_print_extended_select_for_time('period', (string) $period, '', '', 0, 10, true, 'width:100%')
html_print_extended_select_for_time(
'period',
(string) $period,
'check_period_warning(this, \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')',
'',
0,
10,
true,
'width:100%',
true,
'',
false,
false,
'',
false,
0,
null,
'check_period_warning_manual(\'period\', \''.__('Warning').'\', \''.__('Displaying items with extended historical data can have an impact on system performance. We do not recommend that you use intervals longer than 30 days, especially if you combine several of them in a report, dashboard or visual console.').'\')'
)
);
$searchForm .= '</td>';
$searchForm .= '</tr><tr>';

View File

@ -2,8 +2,8 @@
# Pandora FMS Console
#
%define name pandorafms_console
%define version 7.0NG.773.1
%define release 230822
%define version 7.0NG.773.2
%define release 230825
# User and Group under which Apache is running
%define httpd_name httpd

View File

@ -2,8 +2,8 @@
# Pandora FMS Console
#
%define name pandorafms_console
%define version 7.0NG.773.1
%define release 230822
%define version 7.0NG.773.2
%define release 230825
# User and Group under which Apache is running
%define httpd_name httpd

View File

@ -2,8 +2,8 @@
# Pandora FMS Console
#
%define name pandorafms_console
%define version 7.0NG.773.1
%define release 230822
%define version 7.0NG.773.2
%define release 230825
%define httpd_name httpd
# User and Group under which Apache is running
%define httpd_name apache2

View File

@ -9,7 +9,7 @@
# This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG.773.1"
PI_VERSION="7.0NG.773.2"
FORCE=0
DESTDIR=""
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`

View File

@ -709,9 +709,9 @@ class Client
$target = '';
if ($request['action'] === 'get_server_package') {
$target = __('server update %d', $request['version']);
$target = __('server update %s', $request['version']);
} else if ($request['action'] === 'get_package') {
$target = __('console update %d', $request['version']);
$target = __('console update %s', $request['version']);
}
// phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.Found
@ -2134,7 +2134,7 @@ class Client
if ($package === null) {
// Retrieve package from UMS.
$this->notify(0, 'Downloading server update '.$version.'.');
$this->notify(0, 'Downloading server update '.$version);
$file = $this->post(
[
'action' => 'get_server_package',

View File

@ -1,5 +1,5 @@
package: pandorafms-server
Version: 7.0NG.773.1-230822
Version: 7.0NG.773.2-230825
Architecture: all
Priority: optional
Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
pandora_version="7.0NG.773.1-230822"
pandora_version="7.0NG.773.2-230825"
package_cpan=0
package_pandora=1

View File

@ -1,7 +1,7 @@
#############################################################################
# Pandora FMS Server Parameters
# Pandora FMS, the Flexible Monitoring System.
# Version 7.0NG.773.1
# Version 7.0NG.773.2
# Licensed under GPL license v2,
# (c) 2003-2023 Pandora FMS
# http://www.pandorafms.com

View File

@ -45,8 +45,8 @@ our @EXPORT = qw(
);
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.773.1";
my $pandora_build = "230822";
my $pandora_version = "7.0NG.773.2";
my $pandora_build = "230825";
our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash

View File

@ -2660,30 +2660,23 @@ sub pandora_planned_downtime_set_quiet_elements($$$) {
WHERE id_downtime = ' . $downtime_id);
foreach my $downtime_agent (@downtime_agents) {
if ($downtime_agent->{'all_modules'}) {
db_do ($dbh, 'UPDATE tagente
SET quiet = 1
WHERE id_agente = ?', $downtime_agent->{'id_agent'});
}
else {
my @downtime_modules = get_db_rows($dbh, 'SELECT *
my @downtime_modules = get_db_rows($dbh, 'SELECT *
FROM tplanned_downtime_modules
WHERE id_agent = ' . $downtime_agent->{'id_agent'} . '
AND id_downtime = ' . $downtime_id);
foreach my $downtime_module (@downtime_modules) {
# If traversed module was already quiet, do not set quiet_by_downtime flag.
# quiet_by_downtime is used to avoid setting the module back to quiet=0 when downtime is over for those modules that were quiet before the downtime.
db_do ($dbh, 'UPDATE tagente_modulo
SET quiet_by_downtime = 1
WHERE quiet = 0 && id_agente_modulo = ?',
$downtime_module->{'id_agent_module'});
foreach my $downtime_module (@downtime_modules) {
# If traversed module was already quiet, do not set quiet_by_downtime flag.
# quiet_by_downtime is used to avoid setting the module back to quiet=0 when downtime is over for those modules that were quiet before the downtime.
db_do ($dbh, 'UPDATE tagente_modulo
SET quiet_by_downtime = 1
WHERE quiet = 0 && id_agente_modulo = ?',
$downtime_module->{'id_agent_module'});
db_do ($dbh, 'UPDATE tagente_modulo
SET quiet = 1
WHERE id_agente_modulo = ?',
$downtime_module->{'id_agent_module'});
}
db_do ($dbh, 'UPDATE tagente_modulo
SET quiet = 1
WHERE id_agente_modulo = ?',
$downtime_module->{'id_agent_module'});
}
}
}

View File

@ -33,8 +33,8 @@ use base 'Exporter';
our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.773.1";
my $pandora_build = "230822";
my $pandora_version = "7.0NG.773.2";
my $pandora_build = "230825";
our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

@ -3,7 +3,7 @@
#
%global __os_install_post %{nil}
%define name pandorafms_server
%define version 7.0NG.773
%define version 7.0NG.773.2
%define release 230814
Summary: Pandora FMS Server

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_server
%define version 7.0NG.773.1
%define release 230822
%define version 7.0NG.773.2
%define release 230825
Summary: Pandora FMS Server
Name: %{name}

View File

@ -8,8 +8,8 @@
# This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG.773.1"
PI_BUILD="230822"
PI_VERSION="7.0NG.773.2"
PI_BUILD="230825"
MODE=$1
if [ $# -gt 1 ]; then

View File

@ -1,7 +1,38 @@
### Purpose of this toolkit
## Purpose of this toolkit
This directory contains configuration files and small scripts to generate an environment with simulated data for testing purposes.
### Quik start
To add monitoring data, inventory, groups and users to a pandorafms environment automatically Just execute:
```
/usr/share/pandora_server/util/load/install_load_data.sh
```
This command will creates:
- 30 Agents with inventory linux
- 30 Agents whith inventory Windows
- 300 Agents
- 44 Groups
- 34 Users
Will randonly add users to groups and move agents to groups.
Creates a cronjob to generate agent data each 5 min and inventory data once a day.
_note: make sure you have a licence with at least 300 agents or modify the /usr/share/pandora_server/util/load/pandora_xml_stress.agents to use max your licence limit agent amount before execute_
## Toolset description.
Here we describe the specific use for all the toolset the `install_load_data.sh` used automatically, to be used individualy if its needed
### Generation of inventory agents
The script will use th file pandora_xml_stress.agents take by default the first 30 listed agents and add linux inventory and the last 30 listed agents and add windows inventory.
This will generate xml data using the templates on `templates` folder.
to run it, execute
```
cd pandorafms/pandora_server/util/load
./generate_inventory_data.sh
```
### Generation of XML files to simulate agent load
There is a tool that comes configured with Pandora FMS to generate test data (pandora_xml_stress) and that generates XML. It has different options and in this directory is provided a configuration file and all the dictionaries and additional files to generate data of 300 agents, with pseudo-random names (like for example "7fb8a1a734c24cc22a5c75eb").
@ -9,18 +40,18 @@ There is a tool that comes configured with Pandora FMS to generate test data (pa
These agents are defined in the "pandora_xml_stress.agents" file. If you want less agents, you can delete elements in this file.
To execute the XML generation manually from the code repository:
```
cd pandorafms/pandora_server/util/load
perl ../pandora_xml_stress.pl pandora_xml_stress.conf
```
This will generate 300 XML in the /var/spool/pandora/data_in directory.
If you create a scheduled execution of this command every 5 minutes (e.g. through cron), keep in mind that if the PandoraFMS server stops, it could have hundreds of thousands of XML files pending to be processed.
Create /etc/cron.d/pandora_stress with this content:
```
*/5 * * * * root <putyourscripthere>
```
### Generation of groups and users
@ -31,6 +62,7 @@ On the other hand, it will also create a series of groups, taking as source the
Finally, it will take all the agents available in Pandora FMS and it will distribute them in an equal and random way among the available groups.
You should only run it once:
```
cd pandorafms/pandora_server/util/load
./create_userandgroups.sh
```

4
pandora_server/util/load/create_usersandgroups.sh Normal file → Executable file
View File

@ -35,7 +35,7 @@ done
TOTAL_GROUPS=`cat groupnames.txt | wc -l`
for username in `cat usernames.txt`
do
RAN=`echo $RANDOM % $TOTAL_GROUPS + 1 | bc`
RAN=`echo $(($RANDOM % $TOTAL_GROUPS + 1))`
GROUP_NAME=`cat groupnames.txt | tail -$RAN | head -1`
/usr/share/pandora_server/util/pandora_manage.pl /etc/pandora/pandora_server.conf --add_profile $username "Operator (Read)" $GROUP_NAME
@ -45,7 +45,7 @@ done
TOTAL_GROUPS=`cat groupnames.txt | wc -l`
for agentname in `/usr/share/pandora_server/util/pandora_manage.pl /etc/pandora/pandora_server.conf --get_agents | cut -f 2 -d ","`
do
RAN=`echo $RANDOM % $TOTAL_GROUPS + 1 | bc`
RAN=`echo $(($RANDOM % $TOTAL_GROUPS + 1))`
GROUP_NAME=`cat groupnames.txt | tail -$RAN | head -1`
/usr/share/pandora_server/util/pandora_manage.pl /etc/pandora/pandora_server.conf --update_agent $agentname group_name $GROUP_NAME
done

View File

@ -0,0 +1,66 @@
#!/bin/bash
# (c) 2023 Pandora FMS
if [ ! -e pandora_xml_stress.agents ]
then
echo "Error, cant find pandora_xml_stress.agets file"
exit
fi
linux_inventory=1
windows_inventory=1
# Variables
agent_count=30
data_in=/var/spool/pandora/data_in/
description='Demo data Agent'
group='Servers'
current_date=`date +"%Y/%m/%d %H:%M:%S"`
current_utimestamp=`date +%s`
if [ $linux_inventory -eq 1 ] ; then
if [ ! -e templates/inventory_linux.template ]; then
echo "Error, cant find inventory linux template"
exit
fi
echo "Enable linux invetory: adding invetory data to ${agent_count} linux agent"
for agent_name in $(cat pandora_xml_stress.agents | head -n ${agent_count}); do
echo " - Adding invetory data to ${agent_name} linux agent"
ip_add="10.0.0.$(( RANDOM % 255 + 1 ))"
rand_number=$(( RANDOM % 10 + 1 ))
cat "templates/inventory_linux.template" \
| sed -e "s/{{description}}/${description}/g" \
-e "s/{{group}}/${group}/g" \
-e "s/{{agent_name}}/${agent_name}/g" \
-e "s|{{date}}|${current_date}|g" \
-e "s|{{ip_address}}|${ip_add}|g" \
-e "s|{{rand_number}}|${rand_number}|g" \
> /${data_in}/${agent_name}.${current_utimestamp}.data
done
fi
if [ $windows_inventory -eq 1 ]; then
if [ ! -e templates/inventory_windows.template ]; then
echo "Error, cant find inventory Windows template"
exit
fi
echo "Enable Windows invetory: adding invetory data to ${agent_count} Windows agent"
for agent_name in $(cat pandora_xml_stress.agents | tail -n ${agent_count}); do
echo " - Adding invetory data to ${agent_name} windows agent"
ip_add="172.16.5.$(( RANDOM % 255 + 1 ))"
rand_number=$(( RANDOM % 100 + 1 ))
cat "templates/inventory_windows.template" \
| sed -e "s/{{description}}/${description}/g" \
-e "s/{{group}}/${group}/g" \
-e "s/{{agent_name}}/${agent_name}/g" \
-e "s|{{date}}|${current_date}|g" \
-e "s|{{rand_number}}|${rand_number}|g" \
-e "s|{{ip_address}}|${ip_add}|g" \
> /${data_in}/${agent_name}.${current_utimestamp}.data
done
fi

View File

@ -0,0 +1,55 @@
#!/bin/bash
# (c) 2023 Pandora FMS
# This script is used to install a set of tools to load data automatically
# by default it will creates a set of users, groups and agents
# then set a cronjob to insert fake monitoring data to agents each 5 min
# and inventory data once a day.
PREFIX=''
# Moving directory
init_dir=$(pwd)
# Get the directory where the script is located
script_dir="$(dirname "$0")"
# Change the working directory to the script's directory
cd "$script_dir" || exit 1
# Check needed file exists
echo ' [INFO] Checking file requirements:'
if [ -f $PREFIX/usr/share/pandora_server/util/pandora_xml_stress.pl ] && \
[ -f $(pwd)/pandora_xml_stress.agents ] && \
[ -f $(pwd)/pandora_xml_stress.conf ] && \
[ -f $(pwd)/create_usersandgroups.sh ] && \
[ -f $(pwd)/generate_inventory_data.sh ] && \
[ -f $(pwd)/templates/inventory_linux.template ] && \
[ -f $(pwd)/templates/inventory_windows.template] && \
[ -f $(pwd)/pandora_xml_stress_module_source.txt ]; then
echo ' [INFO] All file exist, continue'
else
echo ' [ERROR] Missing files, please check.' && exit -1
fi
# Create a set of users and grups
echo ' [INFO] Creating demo users and groups:'
$(pwd)/generate_inventory_data.sh
echo ' [INFO] Waiting for inventory agents to be created:'
while [ $(ls $PREFIX/var/spool/pandora/data_in/ | wc -l) -ge 10 ]; do
sleep 2
echo -ne .
done
# Load init monitoring data
echo ' [INFO] Creating demo agent data:'
perl $PREFIX/usr/share/pandora_server/util/pandora_xml_stress.pl $(pwd)/pandora_xml_stress.conf || echo ' [ERROR] Generating agent data cant be completed'
echo ' [INFO] Waiting for agents to be created:'
while [ $(ls $PREFIX/var/spool/pandora/data_in/ | wc -l) -ge 10 ]; do
sleep 2
echo -ne .
done
# Create a set of users and grups
echo ' [INFO] Creating demo users and groups:'
$(pwd)/create_usersandgroups.sh
# Set cronjobs in /etc/crotab
echo ' [INFO] Adding data and inventory data to cronjob'
echo "*/5 * * * * root cd $(pwd) && perl $PREFIX/usr/share/pandora_server/util/pandora_xml_stress.pl $(pwd)/pandora_xml_stress.conf " >> /etc/crontab
echo "0 0 * * * root cd $(pwd) && $(pwd)/generate_inventory_data.sh" >> /etc/crontab
# Get back init directory
cd $init_dir

View File

@ -0,0 +1,24 @@
[1692774345] Generating XML data files for 300 agents from 2023-08-23 09:05:45 to 2023-08-23 09:05:45 interval 300.
[1692774345] Total agents: 300
Total modules: 3600 (12 per agent)
Total XML: 300 (6964 per second)
[1692774481] Generating XML data files for 300 agents from 2023-08-23 09:08:01 to 2023-08-23 09:08:01 interval 300.
[1692774481] Total agents: 300
Total modules: 3600 (12 per agent)
Total XML: 300 (6996 per second)
[1692775236] Generating XML data files for 300 agents from 2023-08-23 09:20:36 to 2023-08-23 09:20:36 interval 300.
[1692775236] Total agents: 300
Total modules: 3600 (12 per agent)
Total XML: 300 (7036 per second)
[1692775282] Generating XML data files for 300 agents from 2023-08-23 09:21:22 to 2023-08-23 09:21:22 interval 300.
[1692775282] Total agents: 300
Total modules: 3600 (12 per agent)
Total XML: 300 (6935 per second)
[1692775320] Generating XML data files for 300 agents from 2023-08-23 09:22:00 to 2023-08-23 09:22:00 interval 300.
[1692775320] Total agents: 300
Total modules: 3600 (12 per agent)
Total XML: 300 (6921 per second)
[1692775629] Generating XML data files for 300 agents from 2023-08-23 09:27:09 to 2023-08-23 09:27:09 interval 300.
[1692775629] Total agents: 300
Total modules: 3600 (12 per agent)
Total XML: 300 (6927 per second)

View File

@ -0,0 +1,192 @@
<?xml version='1.0' encoding='UTF-8'?>
<agent_data description='{{description}}' group='{{group}}' os_name='linux' os_version='Rocky Linux 8.7 (Green Obsidian)' interval='300' version='' timestamp='{{date}}' agent_name='{{agent_name}}' agent_alias='' timezone_offset='0' custom_id='' url_address='' address=''>
<inventory>
<inventory_module>
<name><![CDATA[IP]]></name>
<datalist>
<data><![CDATA[eth0;{{ip_address}} ]]></data>
<data><![CDATA[lo;127.0.0.1 ]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[File system]]></name>
<datalist>
<data><![CDATA[overlay;38G;919G;/]]></data>
<data><![CDATA[tmpfs;0;64M;/dev]]></data>
<data><![CDATA[tmpfs;0;16G;/sys/fs/cgroup]]></data>
<data><![CDATA[shm;0;64M;/dev/shm]]></data>
<data><![CDATA[/dev/sdc;39G;918G;/tmp/pandora_code]]></data>
<data><![CDATA[none;108K;16G;/tmp/.X11-unix]]></data>
<data><![CDATA[/dev/sde;38G;919G;/etc/hosts]]></data>
<data><![CDATA[tmpfs;0;16G;/proc/acpi]]></data>
<data><![CDATA[tmpfs;0;16G;/sys/firmware]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Process]]></name>
<datalist>
<data><![CDATA[/bin/bash /tmp/pandora_code/projects/qa_utils/run_pandora_qa/local_install_qa.sh]]></data>
<data><![CDATA[sudo -u mysql mysqld]]></data>
<data><![CDATA[mysqld]]></data>
<data><![CDATA[php-fpm: master process (/etc/php-fpm.conf)]]></data>
<data><![CDATA[php-fpm: pool www]]></data>
<data><![CDATA[php-fpm: pool www]]></data>
<data><![CDATA[php-fpm: pool www]]></data>
<data><![CDATA[php-fpm: pool www]]></data>
<data><![CDATA[php-fpm: pool www]]></data>
<data><![CDATA[httpd -k start]]></data>
<data><![CDATA[httpd -k start]]></data>
<data><![CDATA[httpd -k start]]></data>
<data><![CDATA[httpd -k start]]></data>
<data><![CDATA[httpd -k start]]></data>
<data><![CDATA[php-fpm: pool www]]></data>
<data><![CDATA[httpd -k start]]></data>
<data><![CDATA[/usr/bin/perl /usr/bin/tentacle_server -F /etc/tentacle/tentacle_server.conf]]></data>
<data><![CDATA[/usr/bin/perl /usr/bin/pandora_ha -d -p /var/run/pandora_ha.pid /etc/pandora/pandora_server.conf]]></data>
<data><![CDATA[/usr/bin/perl /usr/bin/pandora_agent /etc/pandora]]></data>
<data><![CDATA[/usr/bin/php /var/www/html/pandora_console/ws.php]]></data>
<data><![CDATA[/usr/bin/gotty --permit-arguments -a 127.0.0.1 -w --port 8081 ssh]]></data>
<data><![CDATA[/usr/bin/gotty --permit-arguments -a 127.0.0.1 -w --port 8082 telnet]]></data>
<data><![CDATA[crond]]></data>
<data><![CDATA[/bin/bash]]></data>
<data><![CDATA[/usr/bin/perl /usr/bin/pandora_server /etc/pandora/pandora_server.conf -D]]></data>
<data><![CDATA[/usr/bin/perl /etc/pandora/plugins/inventory 0]]></data>
<data><![CDATA[sh -c ps -eo command | tail -n +2]]></data>
<data><![CDATA[ps -eo command]]></data>
<data><![CDATA[/usr/bin/coreutils --coreutils-prog-shebang=tail /usr/bin/tail -n +2]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Kernel]]></name>
<datalist>
<data><![CDATA[Linux pandorafms 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Software]]></name>
<datalist>
<data><![CDATA[abattis-cantarell-fonts;0.0.{{rand_number}};Cantarell, a Humanist sans-serif font family]]></data>
<data><![CDATA[acl;2.2.53;Access control list utilities]]></data>
<data><![CDATA[adobe-mappings-cmap;20171205;CMap resources for Adobe's character collections]]></data>
<data><![CDATA[adobe-mappings-cmap-deprecated;20171205;Deprecated CMap resources for Adobe's character collections]]></data>
<data><![CDATA[adobe-mappings-pdf;20180407;PDF mapping resources from Adobe]]></data>
<data><![CDATA[adwaita-cursor-theme;3.28.0;Adwaita cursor theme]]></data>
<data><![CDATA[adwaita-icon-theme;3.{{rand_number}}.0;Adwaita icon theme]]></data>
<data><![CDATA[alsa-lib;1.2.7.2;The Advanced Linux Sound Architecture (ALSA) library]]></data>
<data><![CDATA[annobin;10.67;Annotate and examine compiled binary files]]></data>
<data><![CDATA[apr;1.6.3;Apache Portable Runtime library]]></data>
<data><![CDATA[apr-util;1.6.1;Apache Portable Runtime Utility library]]></data>
<data><![CDATA[python39;3.9.{{rand_number}};Version 3.9 of the Python interpreter]]></data>
<data><![CDATA[python39-libs;3.9.{{rand_number}};Python runtime libraries]]></data>
<data><![CDATA[python39-pip;20.{{rand_number}}.4;A tool for installing and managing Python3 packages]]></data>
<data><![CDATA[python39-pip-wheel;20.2.4;The pip wheel]]></data>
<data><![CDATA[python39-setuptools;50.3.2;Easily build and distribute Python 3 packages]]></data>
<data><![CDATA[python39-setuptools-wheel;50.3.2;The setuptools wheel]]></data>
<data><![CDATA[python39-tkinter;3.9.13;A GUI toolkit for Python]]></data>
<data><![CDATA[python3-audit;3.0.7;Python3 bindings for libaudit]]></data>
<data><![CDATA[python3-bind;9.11.36;A module allowing rndc commands to be sent from Python programs]]></data>
<data><![CDATA[python3-dateutil;2.6.1;Powerful extensions to the standard datetime module]]></data>
<data><![CDATA[python3-dbus;1.2.4;D-Bus bindings for python3]]></data>
<data><![CDATA[python3-dnf;4.7.0;Python 3 interface to DNF]]></data>
<data><![CDATA[python3-dnf-plugins-core;4.0.21;Core Plugins for DNF]]></data>
<data><![CDATA[python3-gpg;1.13.1;gpgme bindings for Python 3]]></data>
<data><![CDATA[python3-hawkey;0.63.0;Python 3 bindings for the hawkey library]]></data>
<data><![CDATA[python3-libcomps;0.1.18;Python 3 bindings for libcomps library]]></data>
<data><![CDATA[python3-libdnf;0.63.0;Python 3 bindings for the libdnf library.]]></data>
<data><![CDATA[python3-libs;3.6.8;Python runtime libraries]]></data>
<data><![CDATA[python3-libselinux;2.9;SELinux python 3 bindings for libselinux]]></data>
<data><![CDATA[python3-libsemanage;2.9;semanage python 3 bindings for libsemanage]]></data>
<data><![CDATA[python3-pip-wheel;9.0.3;The pip wheel]]></data>
<data><![CDATA[python3-ply;3.9;Python Lex-Yacc]]></data>
<data><![CDATA[python3-policycoreutils;2.9;SELinux policy core python3 interfaces]]></data>
<data><![CDATA[python3-pyparsing;2.1.10;Python package with an object-oriented approach to text processing]]></data>
<data><![CDATA[python3-rpm;4.14.3;Python 3 bindings for apps which will manipulate RPM packages]]></data>
<data><![CDATA[python3-rpm-macros;3;RPM macros for building Python 3 packages]]></data>
<data><![CDATA[python3-setools;4.3.0;Policy analysis tools for SELinux]]></data>
<data><![CDATA[python3-setuptools-wheel;39.2.0;The setuptools wheel]]></data>
<data><![CDATA[python3-six;1.11.0;Python 2 and 3 compatibility utilities]]></data>
<data><![CDATA[python-rpm-macros;3;The unversioned Python RPM macros]]></data>
<data><![CDATA[python-srpm-macros;3;RPM macros for building Python source packages]]></data>
<data><![CDATA[qt5-srpm-macros;5.15.3;RPM macros for source Qt5 packages]]></data>
<data><![CDATA[readline;7.0;A library for editing typed command lines]]></data>
<data><![CDATA[redhat-rpm-config;130;Red Hat specific rpm configuration files]]></data>
<data><![CDATA[remi-libssh2;1.10.0;A library implementing the SSH2 protocol]]></data>
<data><![CDATA[remi-release;8.7;YUM configuration for remi repository]]></data>
<data><![CDATA[rest;0.8.1;A library for access to RESTful web services]]></data>
<data><![CDATA[rocky-gpg-keys;8.7;Rocky RPM GPG Keys]]></data>
<data><![CDATA[rocky-indexhtml;8.0;Browser default start page for Rocky Linux]]></data>
<data><![CDATA[rocky-logos-httpd;86.3;Rocky related icons and pictures used by httpd]]></data>
<data><![CDATA[rocky-release;8.7;Rocky Linux release files]]></data>
<data><![CDATA[rocky-repos;8.7;Rocky Linux Package Repositories]]></data>
<data><![CDATA[rootfiles;8.1;The basic required files for the root user's directory]]></data>
<data><![CDATA[rpm;4.14.3;The RPM package management system]]></data>
<data><![CDATA[rpm-build-libs;4.14.3;Libraries for building and signing RPM packages]]></data>
<data><![CDATA[rpm-libs;4.14.3;Libraries for manipulating RPM packages]]></data>
<data><![CDATA[rrdtool;1.7.0;Round Robin Database Tool to store and display time-series data]]></data>
<data><![CDATA[rsync;3.1.3;A program for synchronizing files over a network]]></data>
<data><![CDATA[rust-srpm-macros;5;RPM macros for building Rust source packages]]></data>
<data><![CDATA[samba-client-libs;4.16.4;Samba client libraries]]></data>
<data><![CDATA[samba-common;4.16.4;Files used by both Samba servers and clients]]></data>
<data><![CDATA[samba-common-libs;4.16.4;Libraries used by both Samba servers and clients]]></data>
<data><![CDATA[samba-winexe;4.16.4;Samba Winexe Windows Binary]]></data>
<data><![CDATA[sed;4.5;A GNU stream text editor]]></data>
<data><![CDATA[setup;2.12.2;A set of system configuration and setup files]]></data>
<data><![CDATA[shadow-utils;4.6;Utilities for managing accounts and shadow password files]]></data>
<data><![CDATA[shared-mime-info;1.9;Shared MIME information database]]></data>
<data><![CDATA[sound-theme-freedesktop;0.8;freedesktop.org sound theme]]></data>
<data><![CDATA[sqlite-libs;3.26.0;Shared library for the sqlite3 embeddable SQL database engine.]]></data>
<data><![CDATA[sscg;3.0.0;Simple SSL certificate generator]]></data>
<data><![CDATA[sudo;1.8.29;Allows restricted root access for specified users]]></data>
<data><![CDATA[svt-av1-libs;0.8.7;SVT-AV1 libraries]]></data>
<data><![CDATA[systemd;239;System and Service Manager]]></data>
<data><![CDATA[systemd-libs;239;systemd libraries]]></data>
<data><![CDATA[systemd-pam;239;systemd PAM module]]></data>
<data><![CDATA[systemd-udev;239;Rule-based device node and kernel event manager]]></data>
<data><![CDATA[systemtap-sdt-devel;4.7;Static probe support tools]]></data>
<data><![CDATA[tar;1.30;A GNU file archiving program]]></data>
<data><![CDATA[tcl;8.6.8;Tool Command Language, pronounced tickle]]></data>
<data><![CDATA[tk;8.6.8;The graphical toolkit for the Tcl scripting language]]></data>
<data><![CDATA[tpm2-tss;2.3.2;TPM2.0 Software Stack]]></data>
<data><![CDATA[tree;1.7.0;File system tree viewer]]></data>
<data><![CDATA[ttmkfdir;3.0.9;Utility to create fonts.scale files for truetype fonts]]></data>
<data><![CDATA[tzdata;2022g;Timezone data]]></data>
<data><![CDATA[tzdata-java;2022g;Timezone data for Java]]></data>
<data><![CDATA[unixODBC;2.3.7;A complete ODBC driver manager for Linux]]></data>
<data><![CDATA[unzip;6.0;A utility for unpacking zip files]]></data>
<data><![CDATA[util-linux;2.32.1;A collection of basic system utilities]]></data>
<data><![CDATA[vim-common;8.0.1763;The common files needed by any version of the VIM editor]]></data>
<data><![CDATA[vim-enhanced;8.0.1763;A version of the VIM editor which includes recent enhancements]]></data>
<data><![CDATA[vim-filesystem;8.0.1763;VIM filesystem layout]]></data>
<data><![CDATA[vim-minimal;8.0.1763;A minimal version of the VIM editor]]></data>
<data><![CDATA[VMware-vSphere-Perl-SDK;6.5.0;VMware libraries for Perl. Allows connect to remote VSphere/VCenter/ESXi device.]]></data>
<data><![CDATA[wget;1.19.5;A utility for retrieving files using the HTTP or FTP protocols]]></data>
<data><![CDATA[which;2.21;Displays where a particular program in your path is located]]></data>
<data><![CDATA[whois;5.5.1;Improved WHOIS client]]></data>
<data><![CDATA[whois-nls;5.5.1;Gettext catalogs for whois tools]]></data>
<data><![CDATA[wmic;1.4;PandoraFMS wmic binary]]></data>
<data><![CDATA[x11vnc;0.9.16;VNC server for the current X11 session]]></data>
<data><![CDATA[xkeyboard-config;2.28;X Keyboard Extension configuration data]]></data>
<data><![CDATA[xterm;331;Terminal emulator for the X Window System]]></data>
<data><![CDATA[xterm-resize;331;Set environment and terminal settings to current window size]]></data>
<data><![CDATA[xz;5.2.4;LZMA compression utilities]]></data>
<data><![CDATA[xz-devel;5.2.4;Devel libraries & headers for liblzma]]></data>
<data><![CDATA[xz-libs;5.2.4;Libraries for decoding LZMA compression]]></data>
<data><![CDATA[yum;4.7.0;Package manager]]></data>
<data><![CDATA[yum-utils;4.0.21;Yum-utils CLI compatibility layer]]></data>
<data><![CDATA[zip;3.0;A file compression and packaging utility compatible with PKZIP]]></data>
<data><![CDATA[zlib;1.2.11;The compression and decompression library]]></data>
<data><![CDATA[zlib-devel;1.2.{{rand_number}};Header files and libraries for Zlib development]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Routes]]></name>
<datalist>
<data><![CDATA[default;_gateway;0.0.0.0;UG;0;0;eth0]]></data>
<data><![CDATA[{{ip_address}};0.0.0.0;255.255.0.0;U;0;0;eth0]]></data>
</datalist>
</inventory_module>
</inventory>
</agent_data>

View File

@ -0,0 +1,257 @@
<?xml version='1.0' encoding='UTF-8'?>
<agent_data description='{{description}}' group='{{group}}' os_name='windows' os_version='Windows 11' interval='300' version='' timestamp='{{date}}' agent_name='{{agent_name}}' agent_alias='' timezone_offset='0' custom_id='' url_address='' address=''>
<inventory>
<inventory_module>
<name>CPU</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz;3696 MHz;Intel64 Family 6 Model 158 Stepping 10]]></data>
<data><![CDATA[Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz;3696 MHz;Intel64 Family 6 Model 158 Stepping 10]]></data>
<data><![CDATA[Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz;3696 MHz;Intel64 Family 6 Model 158 Stepping 10]]></data>
<data><![CDATA[Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz;3696 MHz;Intel64 Family 6 Model 158 Stepping 10]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>HD</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[XENSRC PVDISK SCSI Disk Device;100 GB;4c0ae98e-d414-4c ]]></data>
<data><![CDATA[XENSRC PVDISK SCSI Disk Device;100 GB;afd0d8a2-84d3-49 ]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>Video</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[Citrix Indirect Display Adapter;;PCI\VEN_5853&DEV_1003\1&79F5D87&2&03]]></data>
<data><![CDATA[Microsoft Basic Display Adapter;0 MB;PCI\VEN_1013&DEV_00B8&SUBSYS_00015853&REV_00\3&267A616A&0&10]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>NIC</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[XenServer PV Network Device;BE:99:07:B0:E6:8F;{{ip_address}}]]></data>
<data><![CDATA[XenServer PV Network Device;C6:4E:9F:12:99:27;]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>Monitors</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[Generic Non-PnP Monitor;DISPLAY\DEFAULT_MONITOR\4&251819FC&0&UID0]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>RAM</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[DIMM 0;4092 MB;18756 MHz]]></data>
<data><![CDATA[DIMM 1;4092 MB;18756 MHz]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Software]]></name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[Microsoft Office 32-bit Components 2016 ;16.0.{{rand_number}}.1000]]></data>
<data><![CDATA[Microsoft Office Shared 32-bit MUI (Spanish) 2016 ;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft Skype for Business MUI (Spanish) 2016;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft Office Proofing (Spanish) 2016 ;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft Skype for Business Entry 2016 ;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft Office Shared MUI (Spanish) 2016 ;16.0.4417.1000]]></data>
<data><![CDATA[Eines de correcció del Microsoft Office 2016: català ;16.0.4417.1000]]></data>
<data><![CDATA[Revisores de Texto do Microsoft Office 2016 Português (Brasil) ;16.0.4417.1000]]></data>
<data><![CDATA[Ferramentas de verificación de Microsoft Office 2016 - Galego ;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft Office Proofing Tools 2016 - English ;16.0.4417.1000]]></data>
<data><![CDATA[Herramientas de corrección de Microsoft Office 2016: español;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft Office zuzenketa-tresnak 2016 - Euskara ;16.0.4417.1000]]></data>
<data><![CDATA[Microsoft OLE DB Driver for SQL Server;18.6.5.0]]></data>
<data><![CDATA[Integration Services ;16.0.5107.0]]></data>
<data><![CDATA[Remote Desktop ;1.2.{{rand_number}}.0]]></data>
<data><![CDATA[XCP-ng Center 20.04.01;20.04.01.33]]></data>
<data><![CDATA[Universal CRT Headers Libraries and Sources ;10.1.18362.1]]></data>
<data><![CDATA[MSI Development Tools ;10.1.22000.194]]></data>
<data><![CDATA[Windows SDK Redistributables;10.1.18362.1]]></data>
<data><![CDATA[MSI Development Tools ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 XEvent;16.0.1000.6]]></data>
<data><![CDATA[Windows SDK Desktop Tools x86 ;10.1.18362.1]]></data>
<data><![CDATA[CrossChex Standard ;1.1.0.0]]></data>
<data><![CDATA[Windows SDK Desktop Tools x64 ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Shared Management Objects;16.0.1000.6]]></data>
<data><![CDATA[WinRT Intellisense PPI - en-us ;10.1.18362.1]]></data>
<data><![CDATA[WinRT Intellisense UAP - Other Languages ;10.1.18362.1]]></data>
<data><![CDATA[Microsoft .NET Framework 4.8 Targeting Pack ;4.8.03761]]></data>
<data><![CDATA[Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219 ;10.0.40219]]></data>
<data><![CDATA[Windows SDK AddOn ;10.1.0.0]]></data>
<data><![CDATA[GlobalProtect ;5.2.13]]></data>
<data><![CDATA[Windows SDK ;10.1.18362.1]]></data>
<data><![CDATA[Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219 ;10.0.40219]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps Contracts;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Signing Tools;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Database Engine Shared;16.0.1000.6]]></data>
<data><![CDATA[Microsoft Visual C++ 2013 x86 Minimum Runtime - 12.0.21005 ;12.0.21005]]></data>
<data><![CDATA[Windows SDK EULA;10.1.18362.1]]></data>
<data><![CDATA[Microsoft Visual C++ 2013 x86 Additional Runtime - 12.0.21005 ;12.0.21005]]></data>
<data><![CDATA[WPTx64 (DesktopEditions) ;10.1.22000.194]]></data>
<data><![CDATA[Citrix XenServer Windows Management Agent;7.2.1555]]></data>
<data><![CDATA[Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.29.30139 ;14.29.30139]]></data>
<data><![CDATA[Microsoft Visual C++ 2019 X64 Additional Runtime - 14.29.30139 ;14.29.30139]]></data>
<data><![CDATA[SDK Debuggers ;10.1.22000.194]]></data>
<data><![CDATA[Windows SDK ARM Desktop Tools ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Connection Info;16.0.1000.6]]></data>
<data><![CDATA[VMware Horizon HTML5 Multimedia Redirection Client;7.8.0]]></data>
<data><![CDATA[Microsoft Analysis Services OLE DB Provider ;16.0.5143.0]]></data>
<data><![CDATA[Windows Mobile Extension SDK Contracts;10.1.18362.1]]></data>
<data><![CDATA[WinRT Intellisense PPI - Other Languages ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps Metadata ;10.1.18362.1]]></data>
<data><![CDATA[VMware Horizon Client ;5.0.0.5596]]></data>
<data><![CDATA[Microsoft SQL Server 2022 Setup (English);16.0.{{rand_number}}.5]]></data>
<data><![CDATA[SQL Server 2022 Connection Info;16.0.1000.6]]></data>
<data><![CDATA[WinRT Intellisense Desktop - en-us;10.1.18362.1]]></data>
<data><![CDATA[Microsoft Visual Studio Tools for Applications 2019 x64 Hosting Support ;16.0.31110]]></data>
<data><![CDATA[Universal CRT Tools x64 ;10.1.18362.1]]></data>
<data><![CDATA[Application Verifier x64 External Package;10.1.22000.194]]></data>
<data><![CDATA[SSMS Post Install Tasks ;19.0.20209.0]]></data>
<data><![CDATA[MSI Wrapper 10.0.50.0 ;10.0.50.0]]></data>
<data><![CDATA[Windows SDK DirectX x86 Remote ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Database Engine Services ;16.0.1000.6]]></data>
<data><![CDATA[Microsoft Web Platform Installer 5.1 ;5.1.51515.0]]></data>
<data><![CDATA[Self-service Plug-in ;21.7.0.28]]></data>
<data><![CDATA[SDK ARM Redistributables ;10.1.18362.1]]></data>
<data><![CDATA[Citrix Web Helper ;21.7.0.28]]></data>
<data><![CDATA[FortiClient ;6.0.10.0297]]></data>
<data><![CDATA[Microsoft Visual Studio Tools for Applications 2019 x86 Hosting Support ;16.0.31110]]></data>
<data><![CDATA[Windows SDK EULA;10.1.22000.194]]></data>
<data><![CDATA[Microsoft Visual C++ 2019 X86 Additional Runtime - 14.29.30139 ;14.29.30139]]></data>
<data><![CDATA[SQL Server 2022 Common Files;16.0.1000.6]]></data>
<data><![CDATA[Windows Mobile Extension SDK;10.1.18362.1]]></data>
<data><![CDATA[Citrix WorkSpace Browser ;21.7.0.2]]></data>
<data><![CDATA[Python 2.7.15 ;2.7.15150]]></data>
<data><![CDATA[WinRT Intellisense IoT - Other Languages ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Database Engine Services ;16.0.1000.6]]></data>
<data><![CDATA[Java 8 Update 201 ;8.0.2010.9]]></data>
<data><![CDATA[Java 8 Update 201 (64-bit) ;8.0.2010.9]]></data>
<data><![CDATA[Microsoft .NET Framework 4.8 SDK ;4.8.03928]]></data>
<data><![CDATA[SQL Server 2022 Shared Management Objects Extensions ;16.0.1000.6]]></data>
<data><![CDATA[SQL Server 2022 Database Engine Services ;16.0.1000.6]]></data>
<data><![CDATA[VIP Access ;2.2.4.44]]></data>
<data><![CDATA[Microsoft Visual C++ 2019 X86 Minimum Runtime - 14.29.30139 ;14.29.30139]]></data>
<data><![CDATA[Microsoft Analysis Services OLE DB Provider ;16.0.5143.0]]></data>
<data><![CDATA[RSA SecurID Software Token ;5.0.2.440]]></data>
<data><![CDATA[Windows SDK Facade Windows WinMD Versioned ;10.1.18362.1]]></data>
<data><![CDATA[Browser for SQL Server 2022 ;16.0.1000.6]]></data>
<data><![CDATA[SQL Server Management Studio Language Pack - English ;19.0.20209.0]]></data>
<data><![CDATA[PowerShell 7-x64;7.2.11.0]]></data>
<data><![CDATA[Microsoft Help Viewer 2.3;2.3.28307]]></data>
<data><![CDATA[Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005 ;12.0.21005]]></data>
<data><![CDATA[Online Plug-in ;21.7.0.17]]></data>
<data><![CDATA[Microsoft Visual C++ 2008 Redistributable - x64 9.0.{{rand_number}}.6161 ;9.0.30729.6161]]></data>
<data><![CDATA[SDK ARM Additions ;10.1.18362.1]]></data>
<data><![CDATA[Universal CRT Tools x86 ;10.1.18362.1]]></data>
<data><![CDATA[Citrix Screen Casting for Windows ;19.11.100.48]]></data>
<data><![CDATA[WPTx64 (OnecoreUAP);10.1.22000.194]]></data>
<data><![CDATA[Windows IoT Extension SDK Contracts;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 DMF;16.0.1000.6]]></data>
<data><![CDATA[Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161 ;9.0.30729.6161]]></data>
<data><![CDATA[Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005 ;12.0.21005]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps Tools ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK for Windows Store Managed Apps Libs;10.1.18362.1]]></data>
<data><![CDATA[Check Point VPN;98.61.3407]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps;10.1.18362.1]]></data>
<data><![CDATA[Application Verifier x64 External Package;10.1.18362.1]]></data>
<data><![CDATA[Universal General MIDI DLS Extension SDK ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Desktop Libs x86;10.1.18362.1]]></data>
<data><![CDATA[Windows App Certification Kit x64 ;10.1.18362.1]]></data>
<data><![CDATA[Citrix Workspace(DV) ;21.7.0.17]]></data>
<data><![CDATA[SQL Server 2022 Database Engine Shared;16.0.1000.6]]></data>
<data><![CDATA[SQL Server 2022 SQL Diagnostics;16.0.1000.6]]></data>
<data><![CDATA[Microsoft VSS Writer for SQL Server 2022 ;16.0.1000.6]]></data>
<data><![CDATA[WPT Redistributables ;10.1.22000.194]]></data>
<data><![CDATA[Kits Configuration Installer;10.1.22000.194]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps Libs ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Batch Parser;16.0.1000.6]]></data>
<data><![CDATA[SQL Server 2022 XEvent;16.0.1000.6]]></data>
<data><![CDATA[Windows SDK Desktop Libs x64;10.1.18362.1]]></data>
<data><![CDATA[SMA Connect Agent ;1.0.13]]></data>
<data><![CDATA[Windows SDK Desktop Tools arm64;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK DirectX x64 Remote ;10.1.18362.1]]></data>
<data><![CDATA[Microsoft SQL Server 2022 RsFx Driver ;16.0.1000.6]]></data>
<data><![CDATA[Citrix Workspace(USB) ;21.7.0.17]]></data>
<data><![CDATA[Universal CRT Extension SDK ;10.1.18362.1]]></data>
<data><![CDATA[Check MK Agent 1.6 ;1.6.0p5]]></data>
<data><![CDATA[SQL Server 2022 Shared Management Objects;16.0.1000.6]]></data>
<data><![CDATA[SQL Server 2022 Shared Management Objects Extensions ;16.0.1000.6]]></data>
<data><![CDATA[WinRT Intellisense UAP - en-us ;10.1.18362.1]]></data>
<data><![CDATA[BIG-IP Edge Client ;72.22.0308....]]></data>
<data><![CDATA[Orca ;3.1.3790.0000]]></data>
<data><![CDATA[Cisco AnyConnect Secure Mobility Client ;4.9.06037]]></data>
<data><![CDATA[WinRT Intellisense IoT - en-us ;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Common Files;16.0.1000.6]]></data>
<data><![CDATA[Windows IP Over USB;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Desktop Headers arm;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 Database Engine Services ;16.0.1000.6]]></data>
<data><![CDATA[Windows App Certification Kit SupportedApiList x86;10.1.18362.1]]></data>
<data><![CDATA[Windows IoT Extension SDK;10.1.18362.1]]></data>
<data><![CDATA[MySQL Workbench 8.0 CE;8.0.23]]></data>
<data><![CDATA[Windows Desktop Extension SDK ;10.1.18362.1]]></data>
<data><![CDATA[Microsoft ODBC Driver 17 for SQL Server ;17.10.3.1]]></data>
<data><![CDATA[Google Chrome ;114.0.5735.199]]></data>
<data><![CDATA[Windows Desktop Extension SDK Contracts ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Modern Versioned Developer Tools;10.1.18362.1]]></data>
<data><![CDATA[Windows Team Extension SDK ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps DirectX x86 Remote;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Desktop Libs arm64 ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Desktop Headers x64;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Modern Non-Versioned Developer Tools ;10.1.18362.1]]></data>
<data><![CDATA[Windows App Certification Kit Native Components;10.1.18362.1]]></data>
<data><![CDATA[SQL Server 2022 DMF;16.0.1000.6]]></data>
<data><![CDATA[Citrix Authentication Manager ;21.7.0.2]]></data>
<data><![CDATA[Citrix Gateway Plug-in;12.1.55.18]]></data>
<data><![CDATA[Windows SDK Signing Tools;10.1.22000.194]]></data>
<data><![CDATA[Citrix Hypervisor PV Tools ;9.0.33]]></data>
<data><![CDATA[Windows SDK Desktop Headers arm64 ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK Desktop Headers x86;10.1.18362.1]]></data>
<data><![CDATA[CrossChex Lite ;1.1.0.0]]></data>
<data><![CDATA[PuTTY release 0.70 (64-bit) ;0.70.0.0]]></data>
<data><![CDATA[SQL Server Management Studio;19.0.20209.0]]></data>
<data><![CDATA[Windows SDK Desktop Libs arm;10.1.18362.1]]></data>
<data><![CDATA[Visual Studio 2017 Isolated Shell for SSMS ;15.0.28308.421]]></data>
<data><![CDATA[Java Auto Updater ;2.8.{{rand_number}}.9]]></data>
<data><![CDATA[WinRT Intellisense Mobile - en-us ;10.1.18362.1]]></data>
<data><![CDATA[Windows SDK for Windows Store Apps Headers ;10.1.18362.1]]></data>
<data><![CDATA[Citrix Workspace Inside ;21.7.0.19]]></data>
<data><![CDATA[Universal CRT Redistributable ;10.1.18362.1]]></data>
<data><![CDATA[VMware Horizon Media Engine 8.0.0.561 (64-bit) ;8.0.0.561]]></data>
<data><![CDATA[WinAppDeploy;10.1.18362.1]]></data>
<data><![CDATA[Windows Team Extension SDK Contracts ;10.1.18362.1]]></data>
<data><![CDATA[WinRT Intellisense Desktop - Other Languages;10.1.18362.1]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>Users</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[PROJECTS;Roberto]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name>product_ID</name>
<type><![CDATA[generic_data_string]]></type>
<datalist>
<data><![CDATA[00429-00101-62363-AA558 ]]></data>
</datalist>
</inventory_module>
</inventory>
</agent_data>

View File

@ -35,7 +35,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
my $version = "7.0NG.773.1 Build 230822";
my $version = "7.0NG.773.2 Build 230825";
# Pandora server configuration
my %conf;
@ -767,52 +767,6 @@ sub pandora_checkdb_integrity {
# Delete orphan data_inc reference records
db_do ($dbh, 'DELETE FROM tagente_datos_inc WHERE id_agente_modulo NOT IN (SELECT id_agente_modulo FROM tagente_modulo)');
# Delete orphan data from visual console.
log_message ('INTEGRITY', "Deleting orphan visual console items.");
db_do ($dbh, 'DELETE FROM tlayout_data WHERE id_agent <> 0 AND id_agent NOT IN (SELECT id_agente FROM tagente)');
db_do ($dbh, 'DELETE FROM tlayout_data WHERE id_agente_modulo <> 0 AND id_agente_modulo NOT IN (SELECT id_agente_modulo FROM tagente_modulo)');
# Delete orphan data form deleted agents.
# Clearl orphan data from dashboards
log_message ('INTEGRITY', "Deleting orphan dahsboard items.");
my @agents_ids = get_db_rows($dbh, 'SELECT id_agente FROM tagente');
my $where_condition;
foreach my $agent_id (@agents_ids) {
$where_condition .= 'options NOT LIKE ("%\\"agentid\\":\\"'.$agent_id->{'id_agente'}.'\\"%")';
if($agent_id == $agents_ids[-1]) {
last;
}
$where_condition .= ' AND ';
}
db_do ($dbh, 'UPDATE twidget_dashboard set options = NULL WHERE '.$where_condition);
$where_condition = '';
my @modules = get_db_rows($dbh, 'SELECT id_agente_modulo FROM tagente_modulo');
foreach my $id_agente_modulo (@modules) {
$where_condition .= 'options NOT LIKE ("%\\"moduleId\\":\\"'.$id_agente_modulo->{'id_agente_modulo'}.'\\"%")';
if($id_agente_modulo == $modules[-1]) {
last;
}
$where_condition .= ' AND ';
}
db_do ($dbh, 'UPDATE twidget_dashboard set options = NULL WHERE '.$where_condition);
# Delete orphan data from favorite agents
log_message ('INTEGRITY', "Deleting orphan favories items.");
db_do ($dbh, 'DELETE FROM tfavmenu_user WHERE section = "Agents" AND id_element NOT IN (SELECT id_agente FROM tagente)');
# Delete orphan data from gis maps
log_message ('INTEGRITY', "Deleting orphan GIS data.");
db_do ($dbh, 'DELETE FROM tgis_data_history WHERE tagente_id_agente NOT IN (SELECT id_agente FROM tagente)');
# Delete orphan tnetwork maps data
log_message ('INTEGRITY', "Deleting orphan networkmaps data.");
db_do ($dbh, 'DELETE FROM titem WHERE source_data NOT IN (SELECT id_agente FROM tagente)');
db_do ($dbh, 'DELETE FROM trel_item WHERE id_parent_source_data NOT IN (SELECT id_agente FROM tagente) OR id_child_source_data NOT IN (SELECT id_agente FROM tagente)');
# Check enterprise tables
enterprise_hook ('pandora_checkdb_integrity_enterprise', [$conf, $dbh]);
}

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv;
# version: define current version
my $version = "7.0NG.773.1 Build 230822";
my $version = "7.0NG.773.2 Build 230825";
# save program name for logging
my $progname = basename($0);

View File

@ -2,7 +2,7 @@
################################################################################
#
# Copyright (c) 2007-2008 Ramon Novoa <rnovoa@artica.es>
# Copyright (c) 2007-2023 Pandora FMS.
# Copyright (c) 2007-2023 Pandora FMS.
#
# tentacle_client.pl Tentacle Client. See https://pandorafms.com/docs/ for
# protocol description.