mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-27 07:44:35 +02:00
Merge branch 'develop' into ent-11126-vulnerability-scanner-interface
This commit is contained in:
commit
c24cc4eea1
@ -1,6 +1,6 @@
|
|||||||
Source: pandora_gotty
|
Source: pandora_gotty
|
||||||
Section: utils
|
Section: utils
|
||||||
Version: 1.0.0
|
Version: 1.1.0
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: PandoraFMS
|
Maintainer: PandoraFMS
|
||||||
Build-Depends: debhelper (>= 12)
|
Build-Depends: debhelper (>= 12)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
%define name pandora_gotty
|
%define name pandora_gotty
|
||||||
%define version 1.0
|
%define version 1.1
|
||||||
%define release 1%{?dist}
|
%define release 1%{?dist}
|
||||||
Summary: pandora_gptty for Pandora FMS
|
Summary: pandora_gptty for Pandora FMS
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -74,7 +74,7 @@ def exec_ssh (user:str, add:str, port:int):
|
|||||||
try:
|
try:
|
||||||
print("> Starting SSH connection...")
|
print("> Starting SSH connection...")
|
||||||
ssh_command = f"ssh {user}@{add} -p {port}"
|
ssh_command = f"ssh {user}@{add} -p {port}"
|
||||||
subprocess.run(ssh_command, shell=True)
|
subprocess.run(ssh_command, shell=True, encoding='utf-8', text=True)
|
||||||
|
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
raise SystemExit(e)
|
raise SystemExit(e)
|
||||||
@ -88,7 +88,7 @@ def exec_telnet (add:str, port:int):
|
|||||||
try:
|
try:
|
||||||
print("> Starting Telnet connection...")
|
print("> Starting Telnet connection...")
|
||||||
ssh_command = f"telnet -E {add} {port}"
|
ssh_command = f"telnet -E {add} {port}"
|
||||||
subprocess.run(ssh_command, shell=True)
|
subprocess.run(ssh_command, shell=True, encoding='utf-8', text=True)
|
||||||
|
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
raise SystemExit(e)
|
raise SystemExit(e)
|
||||||
|
@ -22,13 +22,16 @@ else
|
|||||||
fi
|
fi
|
||||||
SPEC_FILES="$CODEHOME/pandora_console/pandora_console.spec \
|
SPEC_FILES="$CODEHOME/pandora_console/pandora_console.spec \
|
||||||
$CODEHOME/pandora_agents/unix/pandora_agent.spec \
|
$CODEHOME/pandora_agents/unix/pandora_agent.spec \
|
||||||
|
$CODEHOME/pandora_agents/unix/pandora_agent.redhat_bin.el8.spec \
|
||||||
|
$CODEHOME/pandora_agents/unix/pandora_agent.redhat_bin.el9.spec \
|
||||||
|
$CODEHOME/pandora_agents/unix/pandora_agent.redhat_bin.spec \
|
||||||
|
$CODEHOME/pandora_agents/unix/pandora_agent.redhat.spec \
|
||||||
$CODEHOME/pandora_server/pandora_server.spec \
|
$CODEHOME/pandora_server/pandora_server.spec \
|
||||||
$PANDHOME_ENT/pandora_console/enterprise/pandora_console_enterprise.spec \
|
$PANDHOME_ENT/pandora_console/enterprise/pandora_console_enterprise.spec \
|
||||||
$PANDHOME_ENT/pandora_server/PandoraFMS-Enterprise/pandora_server_enterprise.spec \
|
$PANDHOME_ENT/pandora_server/PandoraFMS-Enterprise/pandora_server_enterprise.spec \
|
||||||
$CODEHOME/pandora_console/pandora_console.redhat.spec \
|
$CODEHOME/pandora_console/pandora_console.redhat.spec \
|
||||||
$CODEHOME/pandora_console/pandora_console.rhel7.spec \
|
$CODEHOME/pandora_console/pandora_console.rhel7.spec \
|
||||||
$CODEHOME/pandora_agents/unix/pandora_agent.redhat.spec \
|
$CODEHOME/pandora_agents/unix/pandora_agent.redhat.spec \
|
||||||
$CODEHOME/pandora_agents/unix/pandora_agent.redhat_bin.spec \
|
|
||||||
$CODEHOME/pandora_server/pandora_server.redhat.spec \
|
$CODEHOME/pandora_server/pandora_server.redhat.spec \
|
||||||
$PANDHOME_ENT/pandora_agents/pandora_agent.spec \
|
$PANDHOME_ENT/pandora_agents/pandora_agent.spec \
|
||||||
$PANDHOME_ENT/pandora_server/pandora_server_enterprise.redhat.spec \
|
$PANDHOME_ENT/pandora_server/pandora_server_enterprise.redhat.spec \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, AIX version
|
# Version 7.0NG.774, AIX version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, FreeBSD Version
|
# Version 7.0NG.774, FreeBSD Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, HP-UX Version
|
# Version 7.0NG.774, HP-UX Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, GNU/Linux
|
# Version 7.0NG.774, GNU/Linux
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, GNU/Linux
|
# Version 7.0NG.774, GNU/Linux
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, Solaris Version
|
# Version 7.0NG.774, Solaris Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Base config file for Pandora FMS Windows Agent
|
# Base config file for Pandora FMS Windows Agent
|
||||||
# (c) 2006-2023 Pandora FMS
|
# (c) 2006-2023 Pandora FMS
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# This program is Free Software, you can redistribute it and/or modify it
|
# 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
|
# 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
|
# Foundation; either version 2 of the Licence or any later version
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Fichero de configuracion base de agentes de Pandora
|
# Fichero de configuracion base de agentes de Pandora
|
||||||
# Base config file for Pandora agents
|
# Base config file for Pandora agents
|
||||||
# Version 7.0NG.773.3, AIX version
|
# Version 7.0NG.774, AIX version
|
||||||
|
|
||||||
# General Parameters
|
# General Parameters
|
||||||
# ==================
|
# ==================
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Fichero de configuracion base de agentes de Pandora
|
# Fichero de configuracion base de agentes de Pandora
|
||||||
# Base config file for Pandora agents
|
# Base config file for Pandora agents
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# FreeBSD/IPSO version
|
# FreeBSD/IPSO version
|
||||||
# Licenced under GPL licence, 2003-2007 Sancho Lerena
|
# Licenced under GPL licence, 2003-2007 Sancho Lerena
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Fichero de configuracion base de agentes de Pandora
|
# Fichero de configuracion base de agentes de Pandora
|
||||||
# Base config file for Pandora agents
|
# Base config file for Pandora agents
|
||||||
# Version 7.0NG.773.3, HPUX Version
|
# Version 7.0NG.774, HPUX Version
|
||||||
|
|
||||||
# General Parameters
|
# General Parameters
|
||||||
# ==================
|
# ==================
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# (c) 2003-2023 Pandora FMS
|
# (c) 2003-2023 Pandora FMS
|
||||||
# please visit http://pandora.sourceforge.net
|
# please visit http://pandora.sourceforge.net
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# (c) 2003-2023 Pandora FMS
|
# (c) 2003-2023 Pandora FMS
|
||||||
# please visit http://pandora.sourceforge.net
|
# please visit http://pandora.sourceforge.net
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# please visit http://pandora.sourceforge.net
|
# please visit http://pandora.sourceforge.net
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Fichero de configuracion base de agentes de Pandora
|
# Fichero de configuracion base de agentes de Pandora
|
||||||
# Base config file for Pandora agents
|
# Base config file for Pandora agents
|
||||||
# Version 7.0NG.773.3, Solaris version
|
# Version 7.0NG.774, Solaris version
|
||||||
|
|
||||||
# General Parameters
|
# General Parameters
|
||||||
# ==================
|
# ==================
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, AIX version
|
# Version 7.0NG.774, AIX version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.773.3-231031
|
Version: 7.0NG.774-231108
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.773.3-231031"
|
pandora_version="7.0NG.774-231108"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
@ -31,7 +31,7 @@ fi
|
|||||||
if [ "$#" -ge 2 ]; then
|
if [ "$#" -ge 2 ]; then
|
||||||
VERSION="$2"
|
VERSION="$2"
|
||||||
else
|
else
|
||||||
VERSION="7.0NG.773.3"
|
VERSION="7.0NG.774"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Path for the generated DMG file
|
# Path for the generated DMG file
|
||||||
|
@ -19,11 +19,11 @@
|
|||||||
<choice id="com.pandorafms.pandorafms_src" visible="false">
|
<choice id="com.pandorafms.pandorafms_src" visible="false">
|
||||||
<pkg-ref id="com.pandorafms.pandorafms_src"/>
|
<pkg-ref id="com.pandorafms.pandorafms_src"/>
|
||||||
</choice>
|
</choice>
|
||||||
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.773.3" onConclusion="none">pandorafms_src.pdk</pkg-ref>
|
<pkg-ref id="com.pandorafms.pandorafms_src" version="7.0NG.774" onConclusion="none">pandorafms_src.pdk</pkg-ref>
|
||||||
<choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
|
<choice id="com.pandorafms.pandorafms_uninstall" visible="true" customLocation="/Applications">
|
||||||
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
|
<pkg-ref id="com.pandorafms.pandorafms_uninstall"/>
|
||||||
</choice>
|
</choice>
|
||||||
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.773.3" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
|
<pkg-ref id="com.pandorafms.pandorafms_uninstall" version="7.0NG.774" onConclusion="none">pandorafms_uninstall.pdk</pkg-ref>
|
||||||
<!-- <installation-check script="check()" />
|
<!-- <installation-check script="check()" />
|
||||||
<script>
|
<script>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
<key>CFBundleIconFile</key> <string>pandorafms.icns</string>
|
<key>CFBundleIconFile</key> <string>pandorafms.icns</string>
|
||||||
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
|
<key>CFBundleIdentifier</key> <string>com.pandorafms.pandorafms_uninstall</string>
|
||||||
|
|
||||||
<key>CFBundleVersion</key> <string>7.0NG.773.3</string>
|
<key>CFBundleVersion</key> <string>7.0NG.774</string>
|
||||||
<key>CFBundleGetInfoString</key> <string>7.0NG.773.3 Pandora FMS on Aug 2020</string>
|
<key>CFBundleGetInfoString</key> <string>7.0NG.774 Pandora FMS on Aug 2020</string>
|
||||||
<key>CFBundleShortVersionString</key> <string>7.0NG.773.3</string>
|
<key>CFBundleShortVersionString</key> <string>7.0NG.774</string>
|
||||||
|
|
||||||
<key>NSPrincipalClass</key><string>NSApplication</string>
|
<key>NSPrincipalClass</key><string>NSApplication</string>
|
||||||
<key>NSMainNibFile</key><string>MainMenu</string>
|
<key>NSMainNibFile</key><string>MainMenu</string>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, GNU/Linux
|
# Version 7.0NG.774, GNU/Linux
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, FreeBSD Version
|
# Version 7.0NG.774, FreeBSD Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, HP-UX Version
|
# Version 7.0NG.774, HP-UX Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2004-2023 Pandora FMS
|
# Copyright (c) 2004-2023 Pandora FMS
|
||||||
# https://pandorafms.com
|
# https://pandorafms.com
|
||||||
@ -313,7 +313,7 @@ module_plugin autodiscover --default
|
|||||||
|
|
||||||
#Hardening plugin for security compliance analysis. Enable to use it.
|
#Hardening plugin for security compliance analysis. Enable to use it.
|
||||||
#module_begin
|
#module_begin
|
||||||
#module_plugin /usr/share/pandora_agent/plugins/pandora_sca -t 150
|
#module_plugin /usr/share/pandora_agent/plugins/pandora_hardening -t 150
|
||||||
#module_absoluteinterval 7d
|
#module_absoluteinterval 7d
|
||||||
#module_end
|
#module_end
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, GNU/Linux
|
# Version 7.0NG.774, GNU/Linux
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, NetBSD Version
|
# Version 7.0NG.774, NetBSD Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Base config file for Pandora FMS agents
|
# Base config file for Pandora FMS agents
|
||||||
# Version 7.0NG.773.3, Solaris Version
|
# Version 7.0NG.774, Solaris Version
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# Copyright (c) 2003-2023 Pandora FMS
|
# Copyright (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
|
@ -1038,8 +1038,8 @@ my $Sem = undef;
|
|||||||
# Semaphore used to control the number of threads
|
# Semaphore used to control the number of threads
|
||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.773.3';
|
use constant AGENT_VERSION => '7.0NG.774';
|
||||||
use constant AGENT_BUILD => '231031';
|
use constant AGENT_BUILD => '231108';
|
||||||
|
|
||||||
# Agent log default file size maximum and instances
|
# Agent log default file size maximum and instances
|
||||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||||
@ -4089,7 +4089,7 @@ sub grep_logs {
|
|||||||
return @data;
|
return @data;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub create_log($$){
|
sub create_log {
|
||||||
my ($module_name, @data) = @_;
|
my ($module_name, @data) = @_;
|
||||||
|
|
||||||
# No data
|
# No data
|
||||||
@ -4282,6 +4282,7 @@ sub init_module ($) {
|
|||||||
$module->{'macros'} = {};
|
$module->{'macros'} = {};
|
||||||
$module->{'alert_template'} = undef;
|
$module->{'alert_template'} = undef;
|
||||||
$module->{'filter'} = undef;
|
$module->{'filter'} = undef;
|
||||||
|
$module->{'absoluteinterval'} = undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
#
|
#
|
||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux
|
%define name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux_bin
|
%define name pandorafms_agent_linux_bin
|
||||||
%define source_name pandorafms_agent_linux
|
%define source_name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 230919
|
%define release 231108
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, binary version
|
Summary: Pandora FMS Linux agent, binary version
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux_bin
|
%define name pandorafms_agent_linux_bin
|
||||||
%define source_name pandorafms_agent_linux
|
%define source_name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 230919
|
%define release 231108
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, binary version
|
Summary: Pandora FMS Linux agent, binary version
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux_bin
|
%define name pandorafms_agent_linux_bin
|
||||||
%define source_name pandorafms_agent_linux
|
%define source_name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, binary version
|
Summary: Pandora FMS Linux agent, binary version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
#
|
#
|
||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_agent_linux
|
%define name pandorafms_agent_linux
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
|
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.773.3"
|
PI_VERSION="7.0NG.774"
|
||||||
PI_BUILD="231031"
|
PI_BUILD="231108"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Base config file for Pandora FMS Windows Agent
|
# Base config file for Pandora FMS Windows Agent
|
||||||
# (c) 2006-2023 Pandora FMS
|
# (c) 2006-2023 Pandora FMS
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# This program is Free Software, you can redistribute it and/or modify it
|
# 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
|
# 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
|
# Foundation; either version 2 of the Licence or any later version
|
||||||
@ -526,7 +526,7 @@ module_plugin "%PROGRAMFILES%\Pandora_Agent\util\autodiscover.exe" --default
|
|||||||
|
|
||||||
# Hardening plugin for security compliance analysis.
|
# Hardening plugin for security compliance analysis.
|
||||||
#module_begin
|
#module_begin
|
||||||
#module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_sca.exe -t 150"
|
#module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_hardening.exe -t 150"
|
||||||
#module_absoluteinterval 7d
|
#module_absoluteinterval 7d
|
||||||
#module_end
|
#module_end
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ AllowLanguageSelection
|
|||||||
{Yes}
|
{Yes}
|
||||||
|
|
||||||
AppName
|
AppName
|
||||||
{Pandora FMS Windows Agent v7.0NG.773.3}
|
{Pandora FMS Windows Agent v7.0NG.774}
|
||||||
|
|
||||||
ApplicationID
|
ApplicationID
|
||||||
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
|
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
|
||||||
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{231031}
|
{231108}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||||||
using namespace Pandora_Strutils;
|
using namespace Pandora_Strutils;
|
||||||
|
|
||||||
#define PATH_SIZE _MAX_PATH+1
|
#define PATH_SIZE _MAX_PATH+1
|
||||||
#define PANDORA_VERSION ("7.0NG.773.3 Build 231031")
|
#define PANDORA_VERSION ("7.0NG.774 Build 231108")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
@ -11,7 +11,7 @@ BEGIN
|
|||||||
VALUE "LegalCopyright", "Pandora FMS"
|
VALUE "LegalCopyright", "Pandora FMS"
|
||||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||||
VALUE "ProductVersion", "(7.0NG.773.3(Build 231031))"
|
VALUE "ProductVersion", "(7.0NG.774(Build 231108))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.773.3-231031
|
Version: 7.0NG.774-231108
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.773.3-231031"
|
pandora_version="7.0NG.774-231108"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -223,6 +223,8 @@ function quickShell()
|
|||||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
|
||||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
||||||
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
|
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||||
|
|
||||||
$response = curl_exec($ch);
|
$response = curl_exec($ch);
|
||||||
$responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
$responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
@ -541,6 +543,9 @@ if (is_ajax() === true) {
|
|||||||
// Maximum time to establish a connection.
|
// Maximum time to establish a connection.
|
||||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
|
||||||
|
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||||
|
|
||||||
curl_exec($ch);
|
curl_exec($ch);
|
||||||
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
@ -1718,3 +1718,5 @@ operation/incidents/list_integriaims_incidents.php
|
|||||||
include/functions_incidents.php
|
include/functions_incidents.php
|
||||||
include/functions_integriaims.php
|
include/functions_integriaims.php
|
||||||
include/ajax/integria_incidents.ajax.php
|
include/ajax/integria_incidents.ajax.php
|
||||||
|
enterprise/operation/log/log_source.php
|
||||||
|
enterprise/include/class/LogSource.class.php
|
||||||
|
@ -1387,7 +1387,7 @@ $table_advanced->data['made_enabled'][0] = html_print_checkbox_switch(
|
|||||||
'made_enabled',
|
'made_enabled',
|
||||||
1,
|
1,
|
||||||
(bool) $made_enabled,
|
(bool) $made_enabled,
|
||||||
false,
|
true,
|
||||||
false,
|
false,
|
||||||
'',
|
'',
|
||||||
false,
|
false,
|
||||||
|
@ -484,6 +484,7 @@ echo '</form>';
|
|||||||
|
|
||||||
ui_require_javascript_file('pandora_alerts');
|
ui_require_javascript_file('pandora_alerts');
|
||||||
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
|
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
|
||||||
|
ui_require_javascript_file('alert');
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@ -500,194 +501,6 @@ $(document).ready (function () {
|
|||||||
render_command_description(command_description);
|
render_command_description(command_description);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ajax_get_integria_custom_fields(ticket_type_id, values, recovery_values) {
|
|
||||||
var values = values || [];
|
|
||||||
var recovery_values = recovery_values || [];
|
|
||||||
var max_macro_fields = <?php echo $config['max_macro_fields']; ?>;
|
|
||||||
|
|
||||||
if (ticket_type_id === null || ticket_type_id === '' || (Array.isArray(values) && values.length === 0 && Array.isArray(recovery_values) && recovery_values.length === 0)) {
|
|
||||||
for (var i=8; i <= max_macro_fields; i++) {
|
|
||||||
$('[name=field'+i+'_value\\[\\]').val('');
|
|
||||||
$('[name=field'+i+'_recovery_value\\[\\]').val('');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// On ticket type change, hide all table rows and inputs corresponding to custom fields, regardless of what its type is.
|
|
||||||
for (var i=8; i <= max_macro_fields; i++) {
|
|
||||||
$('[name=field'+i+'_value\\[\\]').hide();
|
|
||||||
$('[name=field'+i+'_recovery_value\\[\\]').hide();
|
|
||||||
$('#table_macros-field'+i).hide();
|
|
||||||
$('[name=field'+i+'_value_container').hide();
|
|
||||||
$('[name=field'+i+'_recovery_value_container').hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery.post(
|
|
||||||
"ajax.php",
|
|
||||||
{
|
|
||||||
page: "godmode/alerts/configure_alert_action",
|
|
||||||
get_integria_ticket_custom_types: 1,
|
|
||||||
ticket_type_id: ticket_type_id
|
|
||||||
},
|
|
||||||
function(data) {
|
|
||||||
var max_macro_fields = <?php echo $config['max_macro_fields']; ?>;
|
|
||||||
data.forEach(function(custom_field, key) {
|
|
||||||
var custom_field_key = key+8; // Custom fields start from field 8.
|
|
||||||
|
|
||||||
if (custom_field_key > max_macro_fields) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Display field row for current input.
|
|
||||||
var custom_field_row = $('#table_macros-field'+custom_field_key);
|
|
||||||
custom_field_row.show();
|
|
||||||
|
|
||||||
// Replace label text of field row for current input.
|
|
||||||
var label_html = $('#table_macros-field'+custom_field_key+' td').first().html();
|
|
||||||
var label_name = label_html.split('<br>')[0];
|
|
||||||
var new_html_content = custom_field_row.html().replace(label_name, custom_field.label);
|
|
||||||
custom_field_row.html(new_html_content);
|
|
||||||
|
|
||||||
switch (custom_field.type) {
|
|
||||||
case 'CHECKBOX':
|
|
||||||
var checkbox_selector = $('input[type="checkbox"][name=field'+custom_field_key+'_value\\[\\]]');
|
|
||||||
var checkbox_recovery_selector = $('input[type="checkbox"][name=field'+custom_field_key+'_recovery_value\\[\\]]');
|
|
||||||
|
|
||||||
checkbox_selector.on('change', function() {
|
|
||||||
if (checkbox_selector.prop('checked')) {
|
|
||||||
checkbox_selector.attr('value', "1");
|
|
||||||
} else {
|
|
||||||
checkbox_selector.attr('value', "0");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
checkbox_recovery_selector.on('change', function() {
|
|
||||||
if (checkbox_recovery_selector.prop('checked')) {
|
|
||||||
checkbox_recovery_selector.attr('value', "1");
|
|
||||||
} else {
|
|
||||||
checkbox_recovery_selector.attr('value', "0");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (typeof values[key] !== "undefined") {
|
|
||||||
if (values[key] == 1) {
|
|
||||||
checkbox_selector.prop('checked', true);
|
|
||||||
checkbox_selector.attr('value', "1");
|
|
||||||
} else {
|
|
||||||
checkbox_selector.prop('checked', false);
|
|
||||||
checkbox_selector.attr('value', "0");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof recovery_values[key] !== "undefined") {
|
|
||||||
if (recovery_values[key] == 1) {
|
|
||||||
checkbox_recovery_selector.prop('checked', true);
|
|
||||||
checkbox_recovery_selector.attr('value', "1");
|
|
||||||
} else {
|
|
||||||
checkbox_recovery_selector.prop('checked', false);
|
|
||||||
checkbox_recovery_selector.attr('value', "0");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$('[name=field'+custom_field_key+'_value_container]').show();
|
|
||||||
$('[name=field'+custom_field_key+'_recovery_value_container]').show();
|
|
||||||
$('input[type="checkbox"][name=field'+custom_field_key+'_value\\[\\]]').show();
|
|
||||||
$('input[type="checkbox"][name=field'+custom_field_key+'_recovery_value\\[\\]]').show();
|
|
||||||
break;
|
|
||||||
case 'COMBO':
|
|
||||||
var combo_input = $('select[name=field'+custom_field_key+'_value\\[\\]]');
|
|
||||||
var combo_input_recovery = $('select[name=field'+custom_field_key+'_recovery_value\\[\\]]');
|
|
||||||
|
|
||||||
combo_input.find('option').remove();
|
|
||||||
combo_input_recovery.find('option').remove();
|
|
||||||
|
|
||||||
var combo_values_array = custom_field.comboValue.split(',');
|
|
||||||
|
|
||||||
combo_values_array.forEach(function(value) {
|
|
||||||
combo_input.append($('<option>', {
|
|
||||||
value: value,
|
|
||||||
text: value
|
|
||||||
}));
|
|
||||||
|
|
||||||
combo_input_recovery.append($('<option>', {
|
|
||||||
value: value,
|
|
||||||
text: value
|
|
||||||
}));
|
|
||||||
});
|
|
||||||
|
|
||||||
if (typeof values[key] !== "undefined") {
|
|
||||||
combo_input.val(values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof recovery_values[key] !== "undefined") {
|
|
||||||
combo_input_recovery.val(recovery_values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
combo_input.show();
|
|
||||||
combo_input_recovery.show();
|
|
||||||
break;
|
|
||||||
case 'DATE':
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_value\\[\\]]').removeClass("hasDatepicker");
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').removeClass("hasDatepicker");
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_value\\[\\]]').datepicker("destroy");
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').datepicker("destroy");
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_value\\[\\]]').show();
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').show();
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_value\\[\\]]').datepicker({dateFormat: "<?php echo 'yy-mm-dd 00:00:00'; ?>"});
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').datepicker({dateFormat: "<?php echo 'yy-mm-dd 00:00:00'; ?>"});
|
|
||||||
$.datepicker.setDefaults($.datepicker.regional[ "<?php echo get_user_language(); ?>"]);
|
|
||||||
|
|
||||||
if (typeof values[key] !== "undefined") {
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_value\\[\\]]').val(values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof recovery_values[key] !== "undefined") {
|
|
||||||
$('input.datepicker[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').val(recovery_values[key]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'NUMERIC':
|
|
||||||
if (typeof values[key] !== "undefined") {
|
|
||||||
$('input[type="number"][name=field'+custom_field_key+'_value\\[\\]]').val(values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof recovery_values[key] !== "undefined") {
|
|
||||||
$('input[type="number"][name=field'+custom_field_key+'_recovery_value\\[\\]]').val(recovery_values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('input[type="number"][name=field'+custom_field_key+'_value\\[\\]]').show();
|
|
||||||
$('input[type="number"][name=field'+custom_field_key+'_recovery_value\\[\\]]').show();
|
|
||||||
break;
|
|
||||||
case 'TEXT':
|
|
||||||
if (typeof values[key] !== "undefined") {
|
|
||||||
$('input.normal[type="text"][name=field'+custom_field_key+'_value\\[\\]]').val(values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof recovery_values[key] !== "undefined") {
|
|
||||||
$('input.normal[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').val(recovery_values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('input.normal[type="text"][name=field'+custom_field_key+'_value\\[\\]]').show();
|
|
||||||
$('input.normal[type="text"][name=field'+custom_field_key+'_recovery_value\\[\\]]').show();
|
|
||||||
break;
|
|
||||||
case 'TEXTAREA':
|
|
||||||
default:
|
|
||||||
if (typeof values[key] !== "undefined") {
|
|
||||||
$('textarea[name=field'+custom_field_key+'_value\\[\\]]').val(values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof recovery_values[key] !== "undefined") {
|
|
||||||
$('textarea[name=field'+custom_field_key+'_recovery_value\\[\\]]').val(recovery_values[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('textarea[name=field'+custom_field_key+'_value\\[\\]]').show();
|
|
||||||
$('textarea[name=field'+custom_field_key+'_recovery_value\\[\\]]').show();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
"json"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#id_command").change (function () {
|
$("#id_command").change (function () {
|
||||||
values = Array ();
|
values = Array ();
|
||||||
// No se envia el valor del commando.
|
// No se envia el valor del commando.
|
||||||
@ -914,12 +727,22 @@ $(document).ready (function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($('#field5_value').val() !== '') {
|
if ($('#field5_value').val() !== '') {
|
||||||
ajax_get_integria_custom_fields($('#field5_value').val(), integria_custom_fields_values, integria_custom_fields_rvalues);
|
ajax_get_integria_custom_fields(
|
||||||
|
$('#field5_value').val(),
|
||||||
|
integria_custom_fields_values,
|
||||||
|
integria_custom_fields_rvalues,
|
||||||
|
max_macro_fields
|
||||||
|
);
|
||||||
$('#field5_value').trigger('change');
|
$('#field5_value').trigger('change');
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#field5_value').on('change', function() {
|
$('#field5_value').on('change', function() {
|
||||||
ajax_get_integria_custom_fields($(this).val());
|
ajax_get_integria_custom_fields(
|
||||||
|
$(this).val(),
|
||||||
|
[],
|
||||||
|
[],
|
||||||
|
max_macro_fields
|
||||||
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -571,6 +571,7 @@ if (!$maps && is_metaconsole() === false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($maps || is_metaconsole() === true) {
|
if ($maps || is_metaconsole() === true) {
|
||||||
|
$buttons = '';
|
||||||
if ($vconsoles_write || $vconsoles_manage) {
|
if ($vconsoles_write || $vconsoles_manage) {
|
||||||
if (is_metaconsole() === false) {
|
if (is_metaconsole() === false) {
|
||||||
$actionUrl = 'index.php?sec=network&sec2=godmode/reporting/visual_console_builder';
|
$actionUrl = 'index.php?sec=network&sec2=godmode/reporting/visual_console_builder';
|
||||||
@ -578,20 +579,22 @@ if ($maps || is_metaconsole() === true) {
|
|||||||
$actionUrl = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&action2=new&operation=new_visualmap&tab=data&pure='.$pure;
|
$actionUrl = 'index.php?sec=screen&sec2=screens/screens&action=visualmap&action2=new&operation=new_visualmap&tab=data&pure='.$pure;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<form action="'.$actionUrl.'" method="post">';
|
$buttons .= '<form action="'.$actionUrl.'" method="post">';
|
||||||
html_print_input_hidden('edit_layout', 1);
|
$buttons .= html_print_input_hidden('edit_layout', 1, true);
|
||||||
|
|
||||||
html_print_action_buttons(
|
$buttons .= html_print_submit_button(
|
||||||
html_print_submit_button(
|
__('Create'),
|
||||||
__('Create'),
|
'',
|
||||||
'',
|
false,
|
||||||
false,
|
[ 'icon' => 'next'],
|
||||||
[ 'icon' => 'next'],
|
true
|
||||||
true
|
|
||||||
),
|
|
||||||
[ 'right_content' => $tablePagination ]
|
|
||||||
);
|
);
|
||||||
|
|
||||||
echo '</form>';
|
$buttons .= '</form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html_print_action_buttons(
|
||||||
|
$buttons,
|
||||||
|
[ 'right_content' => $tablePagination ]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -2129,6 +2129,15 @@ $table_other->data[$row][] = html_print_label_input_block(
|
|||||||
__('Data multiplier to use in graphs/data'),
|
__('Data multiplier to use in graphs/data'),
|
||||||
html_print_select($options_data_multiplier, 'use_data_multiplier', $config['use_data_multiplier'], '', '', 1, true, false, false)
|
html_print_select($options_data_multiplier, 'use_data_multiplier', $config['use_data_multiplier'], '', '', 1, true, false, false)
|
||||||
);
|
);
|
||||||
|
$table_other->data[$row][] = html_print_label_input_block(
|
||||||
|
__('Hide general stats for non admin users in tactical view'),
|
||||||
|
html_print_checkbox_switch(
|
||||||
|
'disable_general_statistics',
|
||||||
|
1,
|
||||||
|
$config['disable_general_statistics'],
|
||||||
|
true
|
||||||
|
)
|
||||||
|
);
|
||||||
$row++;
|
$row++;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2063,7 +2063,7 @@ if ($create_alert || $update_alert) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DIALOG ADD MORE ACTIONS.
|
// DIALOG ADD MORE ACTIONS.
|
||||||
echo '<div id="add_action_snmp-div" class="invisible left">';
|
echo '<div id="add_action_snmp-div" class="invisible">';
|
||||||
|
|
||||||
echo '<form id="add_action_form" method="post">';
|
echo '<form id="add_action_form" method="post">';
|
||||||
echo '<table class="w100p">';
|
echo '<table class="w100p">';
|
||||||
@ -2212,6 +2212,7 @@ if ($create_alert || $update_alert) {
|
|||||||
|
|
||||||
ui_require_javascript_file('pandora', 'include/javascript/', true);
|
ui_require_javascript_file('pandora', 'include/javascript/', true);
|
||||||
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
|
ui_require_javascript_file('tinymce', 'vendor/tinymce/tinymce/');
|
||||||
|
ui_require_javascript_file('alert');
|
||||||
?>
|
?>
|
||||||
<script language="javascript" type="text/javascript">
|
<script language="javascript" type="text/javascript">
|
||||||
|
|
||||||
@ -2287,6 +2288,7 @@ $(document).ready (function () {
|
|||||||
name: "content_type",
|
name: "content_type",
|
||||||
value: "<?php echo $al_field4; ?>"
|
value: "<?php echo $al_field4; ?>"
|
||||||
})
|
})
|
||||||
|
|
||||||
jQuery.post (<?php echo "'".ui_get_full_url('ajax.php', false, false, false)."'"; ?>,
|
jQuery.post (<?php echo "'".ui_get_full_url('ajax.php', false, false, false)."'"; ?>,
|
||||||
values,
|
values,
|
||||||
function (data, status) {
|
function (data, status) {
|
||||||
@ -2317,6 +2319,26 @@ $(document).ready (function () {
|
|||||||
}
|
}
|
||||||
$('#table_macros-field').show();
|
$('#table_macros-field').show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($("#alert_type option:selected").text() === "Create Pandora ITSM ticket") {
|
||||||
|
// At start hide all rows and inputs corresponding to custom fields, regardless of what its type is.
|
||||||
|
if (i>=8) {
|
||||||
|
$('[name=field'+i+'_value\\[\\]').hide();
|
||||||
|
$('[name=field'+i+'_recovery_value\\[\\]').hide();
|
||||||
|
$('#table_macros-field'+i).hide();
|
||||||
|
$('[name=field'+i+'_value_container').hide();
|
||||||
|
$('[name=field'+i+'_recovery_value_container').hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($('#field5_value').val() !== '') {
|
||||||
|
ajax_get_integria_custom_fields($('#field5_value').val(), [], [], max_fields);
|
||||||
|
$('#field5_value').trigger('change');
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#field5_value').on('change', function() {
|
||||||
|
ajax_get_integria_custom_fields($(this).val(), [], [], max_fields);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"json"
|
"json"
|
||||||
@ -2341,7 +2363,8 @@ $(document).ready (function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function show_add_action_snmp(id_alert_snmp) {
|
function show_add_action_snmp(id_alert_snmp) {
|
||||||
$("#add_action_snmp-div").hide()
|
$("#add_action_snmp-div")
|
||||||
|
.hide()
|
||||||
.dialog ({
|
.dialog ({
|
||||||
resizable: true,
|
resizable: true,
|
||||||
draggable: true,
|
draggable: true,
|
||||||
|
@ -33,8 +33,6 @@ check_login();
|
|||||||
|
|
||||||
require_once $config['homedir'].'/vendor/autoload.php';
|
require_once $config['homedir'].'/vendor/autoload.php';
|
||||||
|
|
||||||
use PandoraFMS\Dashboard\Manager;
|
|
||||||
|
|
||||||
require_once $config['homedir'].'/include/functions_profile.php';
|
require_once $config['homedir'].'/include/functions_profile.php';
|
||||||
require_once $config['homedir'].'/include/functions_users.php';
|
require_once $config['homedir'].'/include/functions_users.php';
|
||||||
require_once $config['homedir'].'/include/functions_groups.php';
|
require_once $config['homedir'].'/include/functions_groups.php';
|
||||||
@ -1376,72 +1374,6 @@ if (is_metaconsole() === true) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$values = [
|
|
||||||
-1 => __('Use global conf'),
|
|
||||||
1 => __('Yes'),
|
|
||||||
0 => __('No'),
|
|
||||||
];
|
|
||||||
|
|
||||||
$home_screen = '<div class="label_select"><p class="edit_user_labels">'.__('Home screen').ui_print_help_tip(
|
|
||||||
__('User can customize the home page. By default, will display \'Agent Detail\'. Example: Select \'Other\' and type index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=1 to show agent detail view'),
|
|
||||||
true
|
|
||||||
).'</p>';
|
|
||||||
|
|
||||||
$dashboards = Manager::getDashboards(
|
|
||||||
-1,
|
|
||||||
-1,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
$id_usr
|
|
||||||
);
|
|
||||||
|
|
||||||
$dashboards_aux = [];
|
|
||||||
if ($dashboards === false) {
|
|
||||||
$dashboards = ['None' => 'None'];
|
|
||||||
} else {
|
|
||||||
foreach ($dashboards as $key => $dashboard) {
|
|
||||||
$dashboards_aux[$dashboard['id']] = $dashboard['name'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$home_screen .= '<div id="show_db" style="display: none; width: 100%;">';
|
|
||||||
$home_screen .= html_print_select($dashboards_aux, 'dashboard', $user_info['data_section'], '', '', '', true);
|
|
||||||
$home_screen .= '</div>';
|
|
||||||
|
|
||||||
$layouts = visual_map_get_user_layouts($config['id_user'], true);
|
|
||||||
$layouts_aux = [];
|
|
||||||
if ($layouts === false) {
|
|
||||||
$layouts_aux = ['None' => 'None'];
|
|
||||||
} else {
|
|
||||||
foreach ($layouts as $layout) {
|
|
||||||
$layouts_aux[$layout] = $layout;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$home_screen .= '<div id="show_vc" style="display: none; width: 100%;">';
|
|
||||||
$home_screen .= html_print_select(
|
|
||||||
$layouts_aux,
|
|
||||||
'visual_console',
|
|
||||||
$user_info['data_section'],
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
true
|
|
||||||
);
|
|
||||||
$home_screen .= '</div>';
|
|
||||||
|
|
||||||
$home_screen .= html_print_input_text(
|
|
||||||
'data_section',
|
|
||||||
$user_info['data_section'],
|
|
||||||
'',
|
|
||||||
60,
|
|
||||||
255,
|
|
||||||
true,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
$home_screen = '';
|
|
||||||
|
|
||||||
$size_pagination = '<div class="label_select_simple"><p class="edit_user_labels">'.__('Block size for pagination').'</p>';
|
$size_pagination = '<div class="label_select_simple"><p class="edit_user_labels">'.__('Block size for pagination').'</p>';
|
||||||
$size_pagination .= html_print_input_text(
|
$size_pagination .= html_print_input_text(
|
||||||
'block_size',
|
'block_size',
|
||||||
@ -2078,17 +2010,20 @@ if (is_metaconsole() === false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function show_data_section() {
|
function show_data_section() {
|
||||||
var $section = $("#section").val();
|
var section = $("#section").val();
|
||||||
var $allElements = $('div[id^="custom_home_screen_"]');
|
if(section === 'other'){
|
||||||
var $elementSelected = $('div[id="custom_home_screen_' + $section + '"]');
|
section = 'external_link';
|
||||||
|
}
|
||||||
|
var allElements = $('div[id^="custom_home_screen_"]');
|
||||||
|
var elementSelected = $('div[id="custom_home_screen_' + section + '"]');
|
||||||
// Hide all elements.
|
// Hide all elements.
|
||||||
$allElements.each(function() {
|
allElements.each(function() {
|
||||||
$(this).addClass('invisible');
|
$(this).addClass('invisible');
|
||||||
$(this).children().addClass('invisible');
|
$(this).children().addClass('invisible');
|
||||||
})
|
})
|
||||||
// Show only the selected.
|
// Show only the selected.
|
||||||
$elementSelected.removeClass('invisible');
|
elementSelected.removeClass('invisible');
|
||||||
$elementSelected.children().removeClass('invisible');
|
elementSelected.children().removeClass('invisible');
|
||||||
}
|
}
|
||||||
|
|
||||||
function switch_ehorus_conf() {
|
function switch_ehorus_conf() {
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
* ============================================================================
|
* ============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use PandoraFMS\Dashboard\Manager;
|
||||||
|
|
||||||
// Load global vars.
|
// Load global vars.
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
@ -45,16 +47,75 @@ $homeScreenValues = [
|
|||||||
HOME_SCREEN_DASHBOARD => __('Dashboard'),
|
HOME_SCREEN_DASHBOARD => __('Dashboard'),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$dashboards = Manager::getDashboards(
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
$id_usr
|
||||||
|
);
|
||||||
|
|
||||||
|
$dashboards_aux = [];
|
||||||
|
if ($dashboards === false) {
|
||||||
|
$dashboards = ['None' => 'None'];
|
||||||
|
} else {
|
||||||
|
foreach ($dashboards as $key => $dashboard) {
|
||||||
|
$dashboards_aux[$dashboard['id']] = $dashboard['name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Custom Home Screen controls.
|
// Custom Home Screen controls.
|
||||||
$customHomeScreenAddition = [];
|
$customHomeScreenAddition = [];
|
||||||
// Home screen. Dashboard.
|
// Home screen. Dashboard.
|
||||||
$customHomeScreenAddition[HOME_SCREEN_DASHBOARD] = html_print_select($dashboards_aux, 'dashboard', $user_info['data_section'], '', '', '', true, false, true, 'w100p', false, 'width: 100%');
|
$customHomeScreenAddition[HOME_SCREEN_DASHBOARD] = html_print_select(
|
||||||
// Home screen. Visual consoles.
|
$dashboards_aux,
|
||||||
$customHomeScreenAddition[HOME_SCREEN_VISUAL_CONSOLE] = html_print_select($layouts_aux, 'visual_console', $user_info['data_section'], '', '', '', true, false, true, 'w100p', false, 'width: 100%');
|
'dashboard',
|
||||||
// Home screen. External link and Other.
|
$user_info['data_section'],
|
||||||
$customHomeScreenAddition[HOME_SCREEN_EXTERNAL_LINK] = html_print_input_text('data_section', $user_info['data_section'], '', 60, 255, true);
|
'',
|
||||||
$customHomeScreenAddition[HOME_SCREEN_OTHER] = html_print_input_text('data_section', $user_info['data_section'], '', 60, 255, true);
|
'',
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
'w100p',
|
||||||
|
false,
|
||||||
|
'width: 100%'
|
||||||
|
);
|
||||||
|
|
||||||
|
$layouts = visual_map_get_user_layouts($config['id_user'], true);
|
||||||
|
$layouts_aux = [];
|
||||||
|
if ($layouts === false) {
|
||||||
|
$layouts_aux = ['None' => 'None'];
|
||||||
|
} else {
|
||||||
|
foreach ($layouts as $layout) {
|
||||||
|
$layouts_aux[$layout] = $layout;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Home screen. Visual consoles.
|
||||||
|
$customHomeScreenAddition[HOME_SCREEN_VISUAL_CONSOLE] = html_print_select(
|
||||||
|
$layouts_aux,
|
||||||
|
'visual_console',
|
||||||
|
$user_info['data_section'],
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
'w100p',
|
||||||
|
false,
|
||||||
|
'width: 100%'
|
||||||
|
);
|
||||||
|
// Home screen. External link and Other.
|
||||||
|
$customHomeScreenAddition[HOME_SCREEN_EXTERNAL_LINK] = html_print_input_text(
|
||||||
|
'data_section',
|
||||||
|
$user_info['data_section'],
|
||||||
|
'',
|
||||||
|
60,
|
||||||
|
255,
|
||||||
|
true
|
||||||
|
);
|
||||||
$customHomeScreenDataField = '';
|
$customHomeScreenDataField = '';
|
||||||
foreach ($customHomeScreenAddition as $key => $customField) {
|
foreach ($customHomeScreenAddition as $key => $customField) {
|
||||||
$customHomeScreenDataField .= html_print_div(
|
$customHomeScreenDataField .= html_print_div(
|
||||||
@ -576,7 +637,7 @@ $userManagementTable->data['fields_autorefreshTime'][0] .= ui_print_input_placeh
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
// eHorus conf
|
// EHorus conf.
|
||||||
if (isset($config['ehorus_user_level_conf']) === true && (bool) $config['ehorus_user_level_conf'] === true) {
|
if (isset($config['ehorus_user_level_conf']) === true && (bool) $config['ehorus_user_level_conf'] === true) {
|
||||||
$userManagementTable->data['captions_ehorus_user_level_enabled'][1] = __('Pandora RC user access enabled');
|
$userManagementTable->data['captions_ehorus_user_level_enabled'][1] = __('Pandora RC user access enabled');
|
||||||
$userManagementTable->data['fields_ehorus_user_level_enabled'][1] = html_print_checkbox_switch(
|
$userManagementTable->data['fields_ehorus_user_level_enabled'][1] = html_print_checkbox_switch(
|
||||||
@ -791,7 +852,7 @@ $userManagementTable->data['fields_addSettings'][0] = html_print_textarea(
|
|||||||
5,
|
5,
|
||||||
65,
|
65,
|
||||||
$user_info['comments'],
|
$user_info['comments'],
|
||||||
($view_mode ? 'readonly="readonly"' : ''),
|
($view_mode) ? 'readonly="readonly"' : '',
|
||||||
true,
|
true,
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
@ -945,15 +1006,7 @@ $(document).ready(function () {
|
|||||||
$('#advanced-line1_looknfeel-1 > a').css('display', 'block');
|
$('#advanced-line1_looknfeel-1 > a').css('display', 'block');
|
||||||
})
|
})
|
||||||
|
|
||||||
var ehorus_user_level_enabled =
|
var ehorus_user_level_enabled = '<?php echo (isset($user_info['ehorus_user_level_enabled']) === true) ? $user_info['ehorus_user_level_enabled'] : 0; ?>';
|
||||||
<?php
|
|
||||||
if (isset($user_info['ehorus_user_level_enabled']) === true) {
|
|
||||||
echo $user_info['ehorus_user_level_enabled'];
|
|
||||||
} else {
|
|
||||||
echo 0;
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
;
|
|
||||||
var chk_ehorus_user_level_enabled = ehorus_user_level_enabled;
|
var chk_ehorus_user_level_enabled = ehorus_user_level_enabled;
|
||||||
|
|
||||||
if (ehorus_user_level_enabled == 0) {
|
if (ehorus_user_level_enabled == 0) {
|
||||||
|
9
pandora_console/images/alert_recovered@svg.svg
Normal file
9
pandora_console/images/alert_recovered@svg.svg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
|
||||||
|
<title>Dark / 20 / alert@svg</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<g id="Dark-/-20-/-alert" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<path d="M10,20 C11.4190985,20 12.5702076,18.8808594 12.5702076,17.5 L7.42979244,17.5 C7.42979244,18.8808594 8.5809015,20 10,20 Z M18.6540098,14.1519531 C17.8777645,13.3410156 16.425318,12.1210937 16.425318,8.125 C16.425318,5.08984375 14.2364028,2.66015625 11.2849029,2.0640625 L11.2849029,1.25 C11.2849029,0.559765625 10.7095493,0 10,0 C9.29045075,0 8.71509711,0.559765625 8.71509711,1.25 L8.71509711,2.0640625 C5.76359722,2.66015625 3.57468198,5.08984375 3.57468198,8.125 C3.57468198,12.1210938 2.12223547,13.3410156 1.3459902,14.1519531 C1.10492023,14.4039062 0.998045886,14.7050781 1.00002702,15 C1.00447442,15.640625 1.52156948,16.25 2.28977909,16.25 L17.7102209,16.25 C18.4784305,16.25 18.9959274,15.640625 18.999973,15 C19.0019541,14.7050781 18.8950798,14.4035156 18.6540098,14.1519531 L18.6540098,14.1519531 Z" id="Shape" fill="#82b92e"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
@ -2065,14 +2065,6 @@ if ($table_events) {
|
|||||||
// (propagate ACL funct!).
|
// (propagate ACL funct!).
|
||||||
$groups = users_get_groups($config['id_user']);
|
$groups = users_get_groups($config['id_user']);
|
||||||
|
|
||||||
$tags_condition = tags_get_acl_tags(
|
|
||||||
$config['id_user'],
|
|
||||||
array_keys($groups),
|
|
||||||
'ER',
|
|
||||||
'event_condition',
|
|
||||||
'AND'
|
|
||||||
);
|
|
||||||
|
|
||||||
$tableEvents24h = new stdClass();
|
$tableEvents24h = new stdClass();
|
||||||
$tableEvents24h->class = 'filter_table';
|
$tableEvents24h->class = 'filter_table';
|
||||||
$tableEvents24h->styleTable = 'border: 0;padding: 0;margin: 0 0 10px;';
|
$tableEvents24h->styleTable = 'border: 0;padding: 0;margin: 0 0 10px;';
|
||||||
@ -2107,7 +2099,7 @@ if ($table_events) {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
events_print_event_table(
|
events_print_event_table(
|
||||||
'estado <> 1 '.$tags_condition,
|
'estado <> 1',
|
||||||
200,
|
200,
|
||||||
'100%',
|
'100%',
|
||||||
false,
|
false,
|
||||||
|
@ -738,7 +738,7 @@ class SnmpConsole extends HTML
|
|||||||
$sql_count = sprintf($sql_count, $whereSubquery);
|
$sql_count = sprintf($sql_count, $whereSubquery);
|
||||||
|
|
||||||
$traps = db_get_all_rows_sql($sql, true);
|
$traps = db_get_all_rows_sql($sql, true);
|
||||||
$total = (int) db_get_value_sql($sql_count, false, true);
|
$total = (int) db_get_value_sql($sql_count, false, false);
|
||||||
|
|
||||||
if (empty($traps) === false) {
|
if (empty($traps) === false) {
|
||||||
$data = $traps;
|
$data = $traps;
|
||||||
|
@ -20,8 +20,8 @@
|
|||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC231031';
|
$build_version = 'PC231108';
|
||||||
$pandora_version = 'v7.0NG.773.3';
|
$pandora_version = 'v7.0NG.774';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
$script_tz = @date_default_timezone_get();
|
$script_tz = @date_default_timezone_get();
|
||||||
|
@ -22,7 +22,7 @@ require_once $config['homedir'].'/include/functions_modules.php';
|
|||||||
require_once $config['homedir'].'/include/functions_users.php';
|
require_once $config['homedir'].'/include/functions_users.php';
|
||||||
|
|
||||||
|
|
||||||
function alerts_get_alerts($id_group=0, $free_search='', $status='all', $standby=-1, $acl=false, $total=false, $id_agent=0)
|
function alerts_get_alerts($id_group=0, $free_search='', $status='all', $standby=-1, $acl=false, $total=false, $id_agent=0, $only_enabled=false)
|
||||||
{
|
{
|
||||||
$sql = '';
|
$sql = '';
|
||||||
$alerts = [];
|
$alerts = [];
|
||||||
@ -121,6 +121,10 @@ function alerts_get_alerts($id_group=0, $free_search='', $status='all', $standby
|
|||||||
// Only enabled agent.
|
// Only enabled agent.
|
||||||
$sql .= ' AND t3.disabled = 0';
|
$sql .= ' AND t3.disabled = 0';
|
||||||
|
|
||||||
|
if ($only_enabled === true) {
|
||||||
|
$sql .= ' AND t0.disabled = 0';
|
||||||
|
}
|
||||||
|
|
||||||
$row_alerts = db_get_all_rows_sql($sql);
|
$row_alerts = db_get_all_rows_sql($sql);
|
||||||
|
|
||||||
if ($total) {
|
if ($total) {
|
||||||
|
@ -1572,6 +1572,10 @@ function config_update_config()
|
|||||||
$error_update[] = __('Use data multiplier');
|
$error_update[] = __('Use data multiplier');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config_update_value('disable_general_statistics', get_parameter('disable_general_statistics', 0), true) === false) {
|
||||||
|
$error_update[] = __('Hide general stats for non admin users in tactical view');
|
||||||
|
}
|
||||||
|
|
||||||
if (config_update_value('decimal_separator', (string) get_parameter('decimal_separator', '.'), true) === false) {
|
if (config_update_value('decimal_separator', (string) get_parameter('decimal_separator', '.'), true) === false) {
|
||||||
$error_update[] = __('Decimal separator');
|
$error_update[] = __('Decimal separator');
|
||||||
} else {
|
} else {
|
||||||
@ -3711,6 +3715,10 @@ function config_process_config()
|
|||||||
config_update_value('use_data_multiplier', '1');
|
config_update_value('use_data_multiplier', '1');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isset($config['disable_general_statistics'])) {
|
||||||
|
config_update_value('disable_general_statistics', 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isset($config['command_snapshot'])) {
|
if (!isset($config['command_snapshot'])) {
|
||||||
config_update_value('command_snapshot', 1);
|
config_update_value('command_snapshot', 1);
|
||||||
}
|
}
|
||||||
|
@ -2593,7 +2593,7 @@ function events_print_type_img(
|
|||||||
|
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case 'alert_recovered':
|
case 'alert_recovered':
|
||||||
$style .= ' alert_module_background_state icon_background_normal ';
|
$icon = 'images/alert_recovered@svg.svg';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'alert_manual_validation':
|
case 'alert_manual_validation':
|
||||||
@ -2609,20 +2609,16 @@ function events_print_type_img(
|
|||||||
case 'going_up_normal':
|
case 'going_up_normal':
|
||||||
case 'going_down_normal':
|
case 'going_down_normal':
|
||||||
// This is to be backwards compatible.
|
// This is to be backwards compatible.
|
||||||
// $style .= ' event_module_background_state icon_background_normal';
|
|
||||||
$icon = 'images/module_ok.png';
|
$icon = 'images/module_ok.png';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'going_up_warning':
|
case 'going_up_warning':
|
||||||
$icon = 'images/module_warning.png';
|
$icon = 'images/module_warning.png';
|
||||||
// $style .= ' event_module_background_state icon_background_warning';
|
|
||||||
case 'going_down_warning':
|
case 'going_down_warning':
|
||||||
$icon = 'images/module_warning.png';
|
$icon = 'images/module_warning.png';
|
||||||
// $style .= ' event_module_background_state icon_background_warning';
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'going_unknown':
|
case 'going_unknown':
|
||||||
// $style .= ' event_module_background_state icon_background_unknown';
|
|
||||||
$icon = 'images/module_unknown.png';
|
$icon = 'images/module_unknown.png';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -27,6 +27,8 @@
|
|||||||
* ============================================================================
|
* ============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Models\VisualConsole\Items\Percentile;
|
||||||
|
|
||||||
require_once $config['homedir'].'/include/graphs/fgraph.php';
|
require_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||||
require_once $config['homedir'].'/include/functions_reporting.php';
|
require_once $config['homedir'].'/include/functions_reporting.php';
|
||||||
require_once $config['homedir'].'/include/functions_agents.php';
|
require_once $config['homedir'].'/include/functions_agents.php';
|
||||||
@ -2686,7 +2688,9 @@ function graph_agent_status(
|
|||||||
$return=false,
|
$return=false,
|
||||||
$show_not_init=false,
|
$show_not_init=false,
|
||||||
$data_agents=false,
|
$data_agents=false,
|
||||||
$donut_narrow_graph=false
|
$donut_narrow_graph=false,
|
||||||
|
$onClick='',
|
||||||
|
$data_in_percentage=false,
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
@ -2766,6 +2770,25 @@ function graph_agent_status(
|
|||||||
'labels' => array_keys($data),
|
'labels' => array_keys($data),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if (empty($onClick) === false) {
|
||||||
|
$options['onClick'] = $onClick;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($data_in_percentage === true) {
|
||||||
|
$percentages = [];
|
||||||
|
$total = array_sum($data);
|
||||||
|
foreach ($data as $key => $value) {
|
||||||
|
$percentage = (($value / $total) * 100);
|
||||||
|
if ($percentage < 1 && $percentage > 0) {
|
||||||
|
$percentage = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$percentages[$key] = format_numeric($percentage, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $percentages;
|
||||||
|
}
|
||||||
|
|
||||||
if ($donut_narrow_graph == true) {
|
if ($donut_narrow_graph == true) {
|
||||||
$out = ring_graph(
|
$out = ring_graph(
|
||||||
$data,
|
$data,
|
||||||
@ -4625,9 +4648,15 @@ function graph_nodata_image($options)
|
|||||||
return base64_encode($dataImg);
|
return base64_encode($dataImg);
|
||||||
}
|
}
|
||||||
|
|
||||||
$widthImage = '200px';
|
$style = '';
|
||||||
if (isset($options['nodata_image']['width']) === true) {
|
if (isset($options['nodata_image']['width']) === true) {
|
||||||
$widthImage = $options['nodata_image']['width'];
|
$style .= 'width: '.$options['nodata_image']['width'].'; ';
|
||||||
|
} else {
|
||||||
|
$style .= 'width: 200px; ';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($options['nodata_image']['height']) === true) {
|
||||||
|
$style .= 'height: '.$options['nodata_image']['height'].'; ';
|
||||||
}
|
}
|
||||||
|
|
||||||
return html_print_image(
|
return html_print_image(
|
||||||
@ -4635,7 +4664,7 @@ function graph_nodata_image($options)
|
|||||||
true,
|
true,
|
||||||
[
|
[
|
||||||
'title' => __('No data'),
|
'title' => __('No data'),
|
||||||
'style' => 'width: '.$widthImage.';',
|
'style' => $style,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -669,6 +669,12 @@ function get_build_setup_charts($type, $options, $data)
|
|||||||
|
|
||||||
$chart->setId($id);
|
$chart->setId($id);
|
||||||
|
|
||||||
|
if (isset($options['onClick']) === true
|
||||||
|
&& empty($options['onClick']) === false
|
||||||
|
) {
|
||||||
|
$chart->options()->setOnClick($options['onClick']);
|
||||||
|
}
|
||||||
|
|
||||||
// Height is null maximum possible.
|
// Height is null maximum possible.
|
||||||
if (isset($options['height']) === true
|
if (isset($options['height']) === true
|
||||||
&& empty($options['height']) === false
|
&& empty($options['height']) === false
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* eslint-disable no-unused-vars */
|
/* eslint-disable no-unused-vars */
|
||||||
/* global $, load_modal, generalShowMsg, confirmDialog */
|
/* global $, load_modal, generalShowMsg, confirmDialog, jQuery */
|
||||||
|
|
||||||
function allowDrop(ev) {
|
function allowDrop(ev) {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
@ -172,3 +172,317 @@ function disabled_alert(settings) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ajax_get_integria_custom_fields(
|
||||||
|
ticket_type_id,
|
||||||
|
values,
|
||||||
|
recovery_values,
|
||||||
|
max_macro_fields
|
||||||
|
) {
|
||||||
|
values = values || [];
|
||||||
|
recovery_values = recovery_values || [];
|
||||||
|
|
||||||
|
if (
|
||||||
|
ticket_type_id === null ||
|
||||||
|
ticket_type_id === "" ||
|
||||||
|
(Array.isArray(values) &&
|
||||||
|
values.length === 0 &&
|
||||||
|
Array.isArray(recovery_values) &&
|
||||||
|
recovery_values.length === 0)
|
||||||
|
) {
|
||||||
|
for (let i = 8; i <= max_macro_fields; i++) {
|
||||||
|
$("[name=field" + i + "_value\\[\\]").val("");
|
||||||
|
$("[name=field" + i + "_recovery_value\\[\\]").val("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// On ticket type change, hide all table rows and inputs corresponding to custom fields, regardless of what its type is.
|
||||||
|
for (let i = 8; i <= max_macro_fields; i++) {
|
||||||
|
$("[name=field" + i + "_value\\[\\]").hide();
|
||||||
|
$("[name=field" + i + "_recovery_value\\[\\]").hide();
|
||||||
|
$("#table_macros-field" + i).hide();
|
||||||
|
$("[name=field" + i + "_value_container").hide();
|
||||||
|
$("[name=field" + i + "_recovery_value_container").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.post(
|
||||||
|
"ajax.php",
|
||||||
|
{
|
||||||
|
page: "godmode/alerts/configure_alert_action",
|
||||||
|
get_integria_ticket_custom_types: 1,
|
||||||
|
ticket_type_id: ticket_type_id
|
||||||
|
},
|
||||||
|
function(data) {
|
||||||
|
data.forEach(function(custom_field, key) {
|
||||||
|
var custom_field_key = key + 8; // Custom fields start from field 8.
|
||||||
|
|
||||||
|
if (custom_field_key > max_macro_fields) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display field row for current input.
|
||||||
|
var custom_field_row = $("#table_macros-field" + custom_field_key);
|
||||||
|
custom_field_row.show();
|
||||||
|
|
||||||
|
// Replace label text of field row for current input.
|
||||||
|
var label_html = $("#table_macros-field" + custom_field_key + " td")
|
||||||
|
.first()
|
||||||
|
.html();
|
||||||
|
var label_name = label_html.split("<br>")[0];
|
||||||
|
var new_html_content = custom_field_row
|
||||||
|
.html()
|
||||||
|
.replace(label_name, custom_field.label);
|
||||||
|
custom_field_row.html(new_html_content);
|
||||||
|
|
||||||
|
switch (custom_field.type) {
|
||||||
|
case "CHECKBOX":
|
||||||
|
var checkbox_selector = $(
|
||||||
|
'input[type="checkbox"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
);
|
||||||
|
var checkbox_recovery_selector = $(
|
||||||
|
'input[type="checkbox"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
);
|
||||||
|
|
||||||
|
checkbox_selector.on("change", function() {
|
||||||
|
if (checkbox_selector.prop("checked")) {
|
||||||
|
checkbox_selector.attr("value", "1");
|
||||||
|
} else {
|
||||||
|
checkbox_selector.attr("value", "0");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
checkbox_recovery_selector.on("change", function() {
|
||||||
|
if (checkbox_recovery_selector.prop("checked")) {
|
||||||
|
checkbox_recovery_selector.attr("value", "1");
|
||||||
|
} else {
|
||||||
|
checkbox_recovery_selector.attr("value", "0");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (typeof values[key] !== "undefined") {
|
||||||
|
if (values[key] == 1) {
|
||||||
|
checkbox_selector.prop("checked", true);
|
||||||
|
checkbox_selector.attr("value", "1");
|
||||||
|
} else {
|
||||||
|
checkbox_selector.prop("checked", false);
|
||||||
|
checkbox_selector.attr("value", "0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof recovery_values[key] !== "undefined") {
|
||||||
|
if (recovery_values[key] == 1) {
|
||||||
|
checkbox_recovery_selector.prop("checked", true);
|
||||||
|
checkbox_recovery_selector.attr("value", "1");
|
||||||
|
} else {
|
||||||
|
checkbox_recovery_selector.prop("checked", false);
|
||||||
|
checkbox_recovery_selector.attr("value", "0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$("[name=field" + custom_field_key + "_value_container]").show();
|
||||||
|
$(
|
||||||
|
"[name=field" + custom_field_key + "_recovery_value_container]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
'input[type="checkbox"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
'input[type="checkbox"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
break;
|
||||||
|
case "COMBO":
|
||||||
|
var combo_input = $(
|
||||||
|
"select[name=field" + custom_field_key + "_value\\[\\]]"
|
||||||
|
);
|
||||||
|
var combo_input_recovery = $(
|
||||||
|
"select[name=field" + custom_field_key + "_recovery_value\\[\\]]"
|
||||||
|
);
|
||||||
|
|
||||||
|
combo_input.find("option").remove();
|
||||||
|
combo_input_recovery.find("option").remove();
|
||||||
|
|
||||||
|
var combo_values_array = custom_field.comboValue.split(",");
|
||||||
|
|
||||||
|
combo_values_array.forEach(function(value) {
|
||||||
|
combo_input.append(
|
||||||
|
$("<option>", {
|
||||||
|
value: value,
|
||||||
|
text: value
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
combo_input_recovery.append(
|
||||||
|
$("<option>", {
|
||||||
|
value: value,
|
||||||
|
text: value
|
||||||
|
})
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (typeof values[key] !== "undefined") {
|
||||||
|
combo_input.val(values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof recovery_values[key] !== "undefined") {
|
||||||
|
combo_input_recovery.val(recovery_values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
combo_input.show();
|
||||||
|
combo_input_recovery.show();
|
||||||
|
break;
|
||||||
|
case "DATE":
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).removeClass("hasDatepicker");
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).removeClass("hasDatepicker");
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).datepicker("destroy");
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).datepicker("destroy");
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).datepicker({ dateFormat: "<?php echo 'yy-mm-dd 00:00:00'; ?>" });
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).datepicker({ dateFormat: "<?php echo 'yy-mm-dd 00:00:00'; ?>" });
|
||||||
|
$.datepicker.setDefaults(
|
||||||
|
$.datepicker.regional["<?php echo get_user_language(); ?>"]
|
||||||
|
);
|
||||||
|
|
||||||
|
if (typeof values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).val(values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof recovery_values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
'input.datepicker[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).val(recovery_values[key]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "NUMERIC":
|
||||||
|
if (typeof values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
'input[type="number"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).val(values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof recovery_values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
'input[type="number"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).val(recovery_values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(
|
||||||
|
'input[type="number"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
'input[type="number"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
break;
|
||||||
|
case "TEXT":
|
||||||
|
if (typeof values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
'input.normal[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).val(values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof recovery_values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
'input.normal[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).val(recovery_values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(
|
||||||
|
'input.normal[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
'input.normal[type="text"][name=field' +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
break;
|
||||||
|
case "TEXTAREA":
|
||||||
|
default:
|
||||||
|
if (typeof values[key] !== "undefined") {
|
||||||
|
$("textarea[name=field" + custom_field_key + "_value\\[\\]]").val(
|
||||||
|
values[key]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof recovery_values[key] !== "undefined") {
|
||||||
|
$(
|
||||||
|
"textarea[name=field" +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).val(recovery_values[key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(
|
||||||
|
"textarea[name=field" + custom_field_key + "_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
$(
|
||||||
|
"textarea[name=field" +
|
||||||
|
custom_field_key +
|
||||||
|
"_recovery_value\\[\\]]"
|
||||||
|
).show();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
@ -73,8 +73,40 @@ $(document).ready(function() {
|
|||||||
$("#heatmap-title").html($(title).html());
|
$("#heatmap-title").html($(title).html());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
rescaling();
|
||||||
|
|
||||||
|
$(window).on("resize", function() {
|
||||||
|
rescaling();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function showLabel(element, event, label) {
|
||||||
|
$(".label_heatmap").remove();
|
||||||
|
const tooltip = $(document.createElement("div"));
|
||||||
|
tooltip.html(label);
|
||||||
|
tooltip.attr("class", "label_heatmap");
|
||||||
|
$("#heatmap-group").append(tooltip);
|
||||||
|
var x = event.clientX;
|
||||||
|
var y = event.clientY;
|
||||||
|
tooltip.attr(
|
||||||
|
"style",
|
||||||
|
"position: fixed; top:" + (y + 15) + "px; left:" + (x + 20) + "px;"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideLabel() {
|
||||||
|
$(".label_heatmap").remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
function rescaling() {
|
||||||
|
if (window.innerWidth < 1300) {
|
||||||
|
$(".trigger-100").attr("style", "width: 100%;");
|
||||||
|
$(".trigger-100").addClass("br-b");
|
||||||
|
} else {
|
||||||
|
$(".trigger-100").removeAttr("style");
|
||||||
|
$(".trigger-100").removeClass("br-b");
|
||||||
|
}
|
||||||
|
}
|
||||||
function autoRefresh(interval, id, method, php_class) {
|
function autoRefresh(interval, id, method, php_class) {
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@ -92,3 +124,108 @@ function autoRefresh(interval, id, method, php_class) {
|
|||||||
});
|
});
|
||||||
}, interval);
|
}, interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function redirectStatus(e, element) {
|
||||||
|
if (element.length > 0) {
|
||||||
|
switch (e.chart.legend.legendItems[element[0].index].text) {
|
||||||
|
case "Critical":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=1&sort_field=&sort=none&pure=`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Warning":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=2&sort_field=&sort=none&pure=`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Unknown":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=3&sort_field=&sort=none&pure=`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Not init":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=5&sort_field=&sort=none&pure=`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/status_monitor&refr=0&ag_group=0&ag_freestring=&module_option=1&ag_modulename=&moduletype=&datatype=&status=-1&sort_field=&sort=none&pure=`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function redirectHeatmap(view, id, id_agente = 0) {
|
||||||
|
switch (view) {
|
||||||
|
case "group":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=godmode/groups/tactical&id_group=${id}`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "agent":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=${id}`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "module":
|
||||||
|
if (id_agente > 0) {
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=${id_agente}&tab=module&id_agent_module=${id}&edit_module=1`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function redirectAgentStatus(e, element) {
|
||||||
|
if (element.length > 0) {
|
||||||
|
switch (e.chart.legend.legendItems[element[0].index].text) {
|
||||||
|
case "No monitors":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/estado_agente`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "CRITICAL":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=1`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "WARNING":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=2`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "UKNOWN":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=3`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "NORMAL":
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/estado_agente&status=0`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
window.location.assign(
|
||||||
|
`index.php?sec=view&sec2=operation/agentes/estado_agente`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -79,11 +79,17 @@ class Element
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
$ajax_controller='include/ajax/general_tactical_view.ajax'
|
$ajax_controller='include/ajax/general_tactical_view.ajax'
|
||||||
) {
|
) {
|
||||||
|
global $config;
|
||||||
$this->interval = 0;
|
$this->interval = 0;
|
||||||
$this->title = __('Default element');
|
$this->title = __('Default element');
|
||||||
$this->ajaxController = $ajax_controller;
|
$this->ajaxController = $ajax_controller;
|
||||||
// Without ACL.
|
// Without ACL.
|
||||||
$agent = db_get_row('tagente', 'nombre', 'pandora.internals', '*');
|
$agent_name = $config['self_monitoring_agent_name'];
|
||||||
|
if (empty($agent_name) === true) {
|
||||||
|
$agent_name = 'pandora.internals';
|
||||||
|
}
|
||||||
|
|
||||||
|
$agent = db_get_row('tagente', 'nombre', $agent_name, '*');
|
||||||
if (is_array($agent) === true) {
|
if (is_array($agent) === true) {
|
||||||
$this->monitoringAgent = $agent;
|
$this->monitoringAgent = $agent;
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,22 @@ class GeneralTacticalView
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether general statistics are disabled.
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function disableGeneralStatistics():bool
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
if (users_is_admin($config['id_user']) === true) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return (bool) $config['disable_general_statistics'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiate all the elements that will build the dashboard
|
* Instantiate all the elements that will build the dashboard
|
||||||
*
|
*
|
||||||
@ -109,6 +125,7 @@ class GeneralTacticalView
|
|||||||
{
|
{
|
||||||
$data = [];
|
$data = [];
|
||||||
$data['javascript'] = $this->javascript();
|
$data['javascript'] = $this->javascript();
|
||||||
|
$data['disableGeneralStatistics'] = $this->disableGeneralStatistics();
|
||||||
$data = array_merge($data, $this->elements);
|
$data = array_merge($data, $this->elements);
|
||||||
View::render(
|
View::render(
|
||||||
'tacticalView/view',
|
'tacticalView/view',
|
||||||
|
@ -429,12 +429,29 @@ class Agents extends Element
|
|||||||
'cutout' => 80,
|
'cutout' => 80,
|
||||||
'nodata_image' => ['width' => '80%'],
|
'nodata_image' => ['width' => '80%'],
|
||||||
'colors' => $colors,
|
'colors' => $colors,
|
||||||
|
'onClick' => 'redirectAgentStatus',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// To avoid that if a value is too small it is not seen.
|
||||||
|
$percentages = [];
|
||||||
|
$total = array_sum($data);
|
||||||
|
foreach ($data as $key => $value) {
|
||||||
|
$percentage = (($value / $total) * 100);
|
||||||
|
if ($percentage < 1 && $percentage > 0) {
|
||||||
|
$percentage = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$percentages[$key] = format_numeric($percentage, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $percentages;
|
||||||
|
|
||||||
$pie = ring_graph($data, $options);
|
$pie = ring_graph($data, $options);
|
||||||
$output = html_print_div(
|
$output = html_print_div(
|
||||||
[
|
[
|
||||||
'content' => $pie,
|
'content' => $pie,
|
||||||
'style' => 'margin: 0 auto; max-width: 80%; max-height: 220px;',
|
'style' => 'margin: 0 auto; max-width: 80%; max-height: 220px;',
|
||||||
|
'class' => 'clickable',
|
||||||
],
|
],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
@ -83,7 +83,7 @@ class Alerts extends Element
|
|||||||
*/
|
*/
|
||||||
public function getActiveAlerts():string
|
public function getActiveAlerts():string
|
||||||
{
|
{
|
||||||
$total = alerts_get_alerts(0, '', 'all', -1, 'AR', true);
|
$total = alerts_get_alerts(0, '', 'all', -1, 'AR', true, 0, true);
|
||||||
return html_print_div(
|
return html_print_div(
|
||||||
[
|
[
|
||||||
'content' => format_numeric($total, 0),
|
'content' => format_numeric($total, 0),
|
||||||
|
@ -34,6 +34,7 @@ class Database extends Element
|
|||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
|
global $config;
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||||
$this->title = __('Database');
|
$this->title = __('Database');
|
||||||
|
@ -57,23 +57,13 @@ class Events extends Element
|
|||||||
{
|
{
|
||||||
global $config;
|
global $config;
|
||||||
$id_groups = array_keys(users_get_groups($config['id_user'], 'AR', false));
|
$id_groups = array_keys(users_get_groups($config['id_user'], 'AR', false));
|
||||||
if (in_array(0, $id_groups) === false) {
|
|
||||||
foreach ($id_groups as $key => $id_group) {
|
|
||||||
if ((bool) check_acl_restricted_all($config['id_user'], $id_group, 'AR') === false) {
|
|
||||||
unset($id_groups[$key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (users_can_manage_group_all() === true) {
|
|
||||||
$id_groups[] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$id_groups = implode(',', $id_groups);
|
$id_groups = implode(',', $id_groups);
|
||||||
$event_view_h = (int) ($config['event_view_hr'] > 24) ? 24 : $config['event_view_hr'];
|
$event_view_h = (int) ($config['event_view_hr'] > 24) ? 24 : $config['event_view_hr'];
|
||||||
$time_events = ($event_view_h * 3600);
|
$time_events = ($event_view_h * 3600);
|
||||||
$intervalh = (time() - $time_events);
|
$intervalh = (time() - $time_events);
|
||||||
$sql = 'SELECT utimestamp from tevento WHERE utimestamp >= '.$intervalh.' ORDER BY utimestamp DESC;';
|
$sql = 'SELECT utimestamp
|
||||||
|
FROM tevento
|
||||||
|
WHERE utimestamp >= '.$intervalh.' AND id_grupo IN ('.$id_groups.') ORDER BY utimestamp DESC;';
|
||||||
$rows = db_process_sql($sql);
|
$rows = db_process_sql($sql);
|
||||||
$cut_seconds = ($time_events / 24);
|
$cut_seconds = ($time_events / 24);
|
||||||
$now = (time() - 300);
|
$now = (time() - 300);
|
||||||
@ -377,6 +367,13 @@ class Events extends Element
|
|||||||
$data = [];
|
$data = [];
|
||||||
$colors = [];
|
$colors = [];
|
||||||
foreach ($rows as $key => $row) {
|
foreach ($rows as $key => $row) {
|
||||||
|
if ($row['criticity'] != EVENT_CRIT_CRITICAL
|
||||||
|
&& $row['criticity'] != EVENT_CRIT_NORMAL
|
||||||
|
&& $row['criticity'] != EVENT_CRIT_WARNING
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
switch ($row['criticity']) {
|
switch ($row['criticity']) {
|
||||||
case EVENT_CRIT_CRITICAL:
|
case EVENT_CRIT_CRITICAL:
|
||||||
$label = __('CRITICAL');
|
$label = __('CRITICAL');
|
||||||
@ -394,9 +391,7 @@ class Events extends Element
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$colors[] = COL_UNKNOWN;
|
continue;
|
||||||
$label = __('UNKNOWN');
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$labels[] = $this->controlSizeText($label);
|
$labels[] = $this->controlSizeText($label);
|
||||||
@ -410,6 +405,21 @@ class Events extends Element
|
|||||||
'nodata_image' => ['width' => '100%'],
|
'nodata_image' => ['width' => '100%'],
|
||||||
'colors' => $colors,
|
'colors' => $colors,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// To avoid that if a value is too small it is not seen.
|
||||||
|
$percentages = [];
|
||||||
|
$total = array_sum($data);
|
||||||
|
foreach ($data as $key => $value) {
|
||||||
|
$percentage = (($value / $total) * 100);
|
||||||
|
if ($percentage < 1 && $percentage > 0) {
|
||||||
|
$percentage = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$percentages[$key] = format_numeric($percentage, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $percentages;
|
||||||
|
|
||||||
$pie = ring_graph($data, $options);
|
$pie = ring_graph($data, $options);
|
||||||
$output = html_print_div(
|
$output = html_print_div(
|
||||||
[
|
[
|
||||||
@ -448,9 +458,10 @@ class Events extends Element
|
|||||||
'style' => 'width: 90%;',
|
'style' => 'width: 90%;',
|
||||||
'ajax_url' => 'operation/events/events',
|
'ajax_url' => 'operation/events/events',
|
||||||
'ajax_data' => [
|
'ajax_data' => [
|
||||||
'get_events' => 1,
|
'get_events' => 1,
|
||||||
'compact_date' => 1,
|
'compact_date' => 1,
|
||||||
'external_url' => 1,
|
'external_url' => 1,
|
||||||
|
'compact_name_event' => 1,
|
||||||
],
|
],
|
||||||
'order' => [
|
'order' => [
|
||||||
'field' => 'timestamp',
|
'field' => 'timestamp',
|
||||||
|
@ -118,7 +118,6 @@ class Groups extends Element
|
|||||||
return graph_nodata_image(['width' => '400']);
|
return graph_nodata_image(['width' => '400']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$groups = $modules;
|
|
||||||
// Best square.
|
// Best square.
|
||||||
$high = (float) max($width, $height);
|
$high = (float) max($width, $height);
|
||||||
$low = 0.0;
|
$low = 0.0;
|
||||||
@ -147,13 +146,18 @@ class Groups extends Element
|
|||||||
$x = 0;
|
$x = 0;
|
||||||
$y = 0;
|
$y = 0;
|
||||||
$cont = 1;
|
$cont = 1;
|
||||||
foreach ($groups as $key => $value) {
|
foreach ($modules as $key => $value) {
|
||||||
$module_id = $value['id_agente_modulo'];
|
$module_id = $value['id_agente_modulo'];
|
||||||
$db_status = modules_get_agentmodule_status($module_id);
|
$module_status = db_get_row(
|
||||||
|
'tagente_estado',
|
||||||
|
'id_agente_modulo',
|
||||||
|
$module_id,
|
||||||
|
);
|
||||||
|
|
||||||
$module_value = modules_get_last_value($module_id);
|
$module_value = modules_get_last_value($module_id);
|
||||||
$status = '';
|
$status = '';
|
||||||
$title = '';
|
$title = '';
|
||||||
modules_get_status($module_id, $db_status, $module_value, $status, $title);
|
modules_get_status($module_id, $module_status['estado'], $module_value, $status, $title);
|
||||||
switch ($status) {
|
switch ($status) {
|
||||||
case STATUS_MODULE_NO_DATA:
|
case STATUS_MODULE_NO_DATA:
|
||||||
// Not init status.
|
// Not init status.
|
||||||
@ -183,10 +187,16 @@ class Groups extends Element
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$redirect = '';
|
||||||
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
||||||
|
$redirect = 'onclick="redirectHeatmap(\'module\', '.$module_id.', '.$value['id_agente'].')"';
|
||||||
|
}
|
||||||
|
|
||||||
$heatmap .= sprintf(
|
$heatmap .= sprintf(
|
||||||
'<rect id="%s" x="%s" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
'<rect id="%s" x="%s" onmousemove="showLabel(this, event, \'%s\')" onmouseleave="hideLabel()" '.$redirect.' style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||||
'rect_'.$cont,
|
'rect_'.$cont,
|
||||||
$x,
|
$x,
|
||||||
|
$value['nombre'],
|
||||||
$y,
|
$y,
|
||||||
$row,
|
$row,
|
||||||
$column,
|
$column,
|
||||||
@ -350,9 +360,10 @@ class Groups extends Element
|
|||||||
}
|
}
|
||||||
|
|
||||||
$heatmap .= sprintf(
|
$heatmap .= sprintf(
|
||||||
'<rect id="%s" x="%s" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
'<rect id="%s" x="%s" onmousemove="showLabel(this, event, \'%s\')" onmouseleave="hideLabel()" onclick="redirectHeatmap(\'agent\', '.$value['id_agente'].')" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||||
'rect_'.$cont,
|
'rect_'.$cont,
|
||||||
$x,
|
$x,
|
||||||
|
$value['alias'],
|
||||||
$y,
|
$y,
|
||||||
$row,
|
$row,
|
||||||
$column,
|
$column,
|
||||||
@ -490,9 +501,10 @@ class Groups extends Element
|
|||||||
}
|
}
|
||||||
|
|
||||||
$heatmap .= sprintf(
|
$heatmap .= sprintf(
|
||||||
'<rect id="%s" x="%s" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
'<rect id="%s" x="%s" onmousemove="showLabel(this, event, \'%s\')" onmouseleave="hideLabel()" onclick="redirectHeatmap(\'group\', '.$value['_id_'].')" style="stroke-width:1;stroke:#ffffff" y="%s" row="%s" rx="3" ry="3" col="%s" width="%s" height="%s" class="scuare-status %s_%s"></rect>',
|
||||||
'rect_'.$cont,
|
'rect_'.$cont,
|
||||||
$x,
|
$x,
|
||||||
|
$value['_name_'],
|
||||||
$y,
|
$y,
|
||||||
$row,
|
$row,
|
||||||
$column,
|
$column,
|
||||||
|
@ -75,7 +75,10 @@ class MonitoringElements extends Element
|
|||||||
'display' => false,
|
'display' => false,
|
||||||
],
|
],
|
||||||
'cutout' => 80,
|
'cutout' => 80,
|
||||||
'nodata_image' => ['width' => '100%'],
|
'nodata_image' => [
|
||||||
|
'width' => '100%',
|
||||||
|
'height' => '90%',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
$pie = ring_graph($data, $options);
|
$pie = ring_graph($data, $options);
|
||||||
$output = html_print_div(
|
$output = html_print_div(
|
||||||
@ -139,7 +142,10 @@ class MonitoringElements extends Element
|
|||||||
'display' => false,
|
'display' => false,
|
||||||
],
|
],
|
||||||
'cutout' => 80,
|
'cutout' => 80,
|
||||||
'nodata_image' => ['width' => '100%'],
|
'nodata_image' => [
|
||||||
|
'width' => '100%',
|
||||||
|
'height' => '90%',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
$pie = ring_graph($data, $options);
|
$pie = ring_graph($data, $options);
|
||||||
$output = html_print_div(
|
$output = html_print_div(
|
||||||
@ -208,7 +214,10 @@ class MonitoringElements extends Element
|
|||||||
'display' => false,
|
'display' => false,
|
||||||
],
|
],
|
||||||
'cutout' => 80,
|
'cutout' => 80,
|
||||||
'nodata_image' => ['width' => '100%'],
|
'nodata_image' => [
|
||||||
|
'width' => '100%',
|
||||||
|
'height' => '90%',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
$pie = ring_graph($data, $options);
|
$pie = ring_graph($data, $options);
|
||||||
$output = html_print_div(
|
$output = html_print_div(
|
||||||
@ -230,11 +239,12 @@ class MonitoringElements extends Element
|
|||||||
*/
|
*/
|
||||||
public function getMonitoringStatusGraph():string
|
public function getMonitoringStatusGraph():string
|
||||||
{
|
{
|
||||||
$pie = graph_agent_status(false, '', '', true, true, false, true);
|
$pie = graph_agent_status(false, '', '', true, true, false, true, 'redirectStatus', true);
|
||||||
$output = html_print_div(
|
$output = html_print_div(
|
||||||
[
|
[
|
||||||
'content' => $pie,
|
'content' => $pie,
|
||||||
'style' => 'margin: 0 auto; max-width: 80%; max-height: 220px;',
|
'style' => 'margin: 0 auto; max-width: 80%; max-height: 220px;',
|
||||||
|
'class' => 'clickable',
|
||||||
],
|
],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
@ -37,6 +37,7 @@ class Overview extends Element
|
|||||||
global $config;
|
global $config;
|
||||||
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
include_once $config['homedir'].'/include/graphs/fgraph.php';
|
||||||
if (is_ajax() === true) {
|
if (is_ajax() === true) {
|
||||||
include_once $config['homedir'].'/include/functions_servers.php';
|
include_once $config['homedir'].'/include/functions_servers.php';
|
||||||
}
|
}
|
||||||
@ -164,6 +165,9 @@ class Overview extends Element
|
|||||||
if ($info['limit'] > $info['count']) {
|
if ($info['limit'] > $info['count']) {
|
||||||
$used = round(($info['count'] / $info['limit']) * 100);
|
$used = round(($info['count'] / $info['limit']) * 100);
|
||||||
$free = (100 - $used);
|
$free = (100 - $used);
|
||||||
|
} else if ($info['limit'] <= $info['count']) {
|
||||||
|
$free = 0;
|
||||||
|
$used = 100;
|
||||||
} else {
|
} else {
|
||||||
$free = 100;
|
$free = 100;
|
||||||
$used = 0;
|
$used = 0;
|
||||||
|
@ -470,37 +470,6 @@ div.multi-response-buttons {
|
|||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
.main_menu_icon_event {
|
|
||||||
height: 20px;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
.event_module_background_state {
|
|
||||||
mask: url(../../images/modules@svg.svg) no-repeat center / contain;
|
|
||||||
-webkit-mask: url(../../images/modules@svg.svg) no-repeat center / contain;
|
|
||||||
}
|
|
||||||
|
|
||||||
.alert_module_background_state {
|
|
||||||
mask: url(../../images/alert@svg.svg) no-repeat center / contain;
|
|
||||||
-webkit-mask: url(../../images/alert@svg.svg) no-repeat center / contain;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_background_critical {
|
|
||||||
background-color: #e63c52;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_background_warning {
|
|
||||||
background-color: #fcab10;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_background_normal {
|
|
||||||
background-color: #82b92e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon_background_unknown {
|
|
||||||
background-color: gray;
|
|
||||||
}
|
|
||||||
|
|
||||||
.events-refr {
|
.events-refr {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -23,11 +23,12 @@
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
.col-12 {
|
.col-12 {
|
||||||
width: 100%;
|
width: 99%;
|
||||||
}
|
}
|
||||||
.col-6,
|
.col-6,
|
||||||
.col-xl-6 {
|
.col-xl-6 {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -58,6 +59,9 @@
|
|||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
.br-l {
|
.br-l {
|
||||||
border-left: 1px solid #e5e9ed;
|
border-left: 1px solid #e5e9ed;
|
||||||
@ -325,6 +329,22 @@ table.dataTable thead th {
|
|||||||
background-color: #ec7176;
|
background-color: #ec7176;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#svg rect {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trigger-100 {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.label_heatmap {
|
||||||
|
position: absolute;
|
||||||
|
background-color: #757575;
|
||||||
|
color: white;
|
||||||
|
padding: 2px 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 1636px) {
|
@media (max-width: 1636px) {
|
||||||
.col-xl-6 {
|
.col-xl-6 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -344,9 +364,7 @@ table.dataTable thead th {
|
|||||||
.col-7 {
|
.col-7 {
|
||||||
width: 56%;
|
width: 56%;
|
||||||
}
|
}
|
||||||
.col-5 {
|
|
||||||
width: 41%;
|
|
||||||
}
|
|
||||||
.flex-nowrap {
|
.flex-nowrap {
|
||||||
flex-wrap: nowrap !important;
|
flex-wrap: nowrap !important;
|
||||||
}
|
}
|
||||||
|
@ -12741,12 +12741,6 @@ div.agents_custom_fields #datatables_wrapper div.bottom {
|
|||||||
justify-content: flex-start !important;
|
justify-content: flex-start !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dt-buttons {
|
|
||||||
width: auto;
|
|
||||||
position: absolute;
|
|
||||||
margin-left: 90px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title_tactical {
|
.title_tactical {
|
||||||
padding: 10px 0px 10px 0px;
|
padding: 10px 0px 10px 0px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -369,8 +369,6 @@ a.pandora_pagination.current:hover {
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
margin-left: 90px;
|
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
@ -130,8 +130,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style='padding-bottom: 50px'>
|
<div style='padding-bottom: 50px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.773.3';
|
$version = '7.0NG.774';
|
||||||
$build = '231031';
|
$build = '231108';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
|
||||||
|
@ -16,6 +16,8 @@ global $config;
|
|||||||
// Login check.
|
// Login check.
|
||||||
check_login();
|
check_login();
|
||||||
|
|
||||||
|
enterprise_include('include/functions_elasticsearch.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
@ -62,30 +64,26 @@ $table->style['source'] = 'width: 80%;';
|
|||||||
|
|
||||||
$table->data = [];
|
$table->data = [];
|
||||||
|
|
||||||
|
$sources = get_sources_by_agent($agent_id);
|
||||||
|
|
||||||
$row = [];
|
$row = [];
|
||||||
|
if (empty($sources) === false) {
|
||||||
|
foreach ($sources as $key => $source) {
|
||||||
// Get most recent sources for active agent.
|
$row['source'] = $source;
|
||||||
$sql = "select source, MAX(utimestamp) AS last_contact from tagent_module_log where id_agent=$agent_id GROUP BY source";
|
$row['review'] = '<a href="javascript:void(0)">'.html_print_image('images/zoom.png', true, ['title' => __('Review in log viewer'), 'alt' => '', 'onclick' => "send_form('".$source."')"]).'</a>';
|
||||||
|
$row['last_contact'] = html_print_image(
|
||||||
$logs = mysql_db_get_all_rows_sql($sql);
|
'images/spinner.gif',
|
||||||
|
true,
|
||||||
foreach ($logs as $log) {
|
[
|
||||||
$row['source'] = $log['source'];
|
'id' => 'img-'.$source,
|
||||||
$row['review'] = '<a href="javascript:void(0)">'.html_print_image('images/zoom.png', true, ['title' => __('Review in log viewer'), 'alt' => '', 'onclick' => "send_form('".$log['source'].'-'.$agent_id."')"]).'</a>';
|
'border' => '0',
|
||||||
$row['last_contact'] = html_print_image(
|
'width' => '20px',
|
||||||
'images/spinner.gif',
|
'heigth' => '20px',
|
||||||
true,
|
'onload' => "get_last_contact('".$source."', '".$agent_id."')",
|
||||||
[
|
]
|
||||||
'id' => 'img-'.$log['source'],
|
);
|
||||||
'border' => '0',
|
$table->data[$source] = $row;
|
||||||
'width' => '20px',
|
}
|
||||||
'heigth' => '20px',
|
|
||||||
'onload' => "get_last_contact('".$log['source']."', '".$agent_id."')",
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
$table->data[$log['source']] = $row;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
|
@ -342,6 +342,7 @@ if (is_ajax() === true) {
|
|||||||
$table_id = get_parameter('table_id', '');
|
$table_id = get_parameter('table_id', '');
|
||||||
$groupRecursion = (bool) get_parameter('groupRecursion', false);
|
$groupRecursion = (bool) get_parameter('groupRecursion', false);
|
||||||
$compact_date = (int) get_parameter('compact_date', 0);
|
$compact_date = (int) get_parameter('compact_date', 0);
|
||||||
|
$compact_name_event = (int) get_parameter('compact_name_event', 0);
|
||||||
|
|
||||||
// Datatables offset, limit.
|
// Datatables offset, limit.
|
||||||
$start = (int) get_parameter('start', 0);
|
$start = (int) get_parameter('start', 0);
|
||||||
@ -471,7 +472,7 @@ if (is_ajax() === true) {
|
|||||||
|
|
||||||
$data = array_reduce(
|
$data = array_reduce(
|
||||||
$events,
|
$events,
|
||||||
function ($carry, $item) use ($table_id, &$redirection_form_id, $filter, $compact_date, $external_url) {
|
function ($carry, $item) use ($table_id, &$redirection_form_id, $filter, $compact_date, $external_url, $compact_name_event) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
$tmp = (object) $item;
|
$tmp = (object) $item;
|
||||||
@ -518,7 +519,7 @@ if (is_ajax() === true) {
|
|||||||
|
|
||||||
$tmp->evento = ui_print_truncate_text(
|
$tmp->evento = ui_print_truncate_text(
|
||||||
$tmp->evento,
|
$tmp->evento,
|
||||||
'description',
|
(empty($compact_name_event) === true) ? 'description' : GENERIC_SIZE_TEXT,
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
%define __strip /bin/true
|
%define __strip /bin/true
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
%define __strip /bin/true
|
%define __strip /bin/true
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Pandora FMS Console
|
# Pandora FMS Console
|
||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name apache2
|
%define httpd_name apache2
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# This code is licensed under GPL 2.0 license.
|
# This code is licensed under GPL 2.0 license.
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.773.3"
|
PI_VERSION="7.0NG.774"
|
||||||
FORCE=0
|
FORCE=0
|
||||||
DESTDIR=""
|
DESTDIR=""
|
||||||
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
LOG_TIMESTAMP=`date +"%Y/%m/%d %H:%M:%S"`
|
||||||
|
@ -120,6 +120,7 @@ try {
|
|||||||
echo $e->getMessage();
|
echo $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$buttons = [];
|
||||||
if (check_acl($config['id_user'], 0, 'AW')) {
|
if (check_acl($config['id_user'], 0, 'AW')) {
|
||||||
$buttons[] = html_print_submit_button(
|
$buttons[] = html_print_submit_button(
|
||||||
__('New cluster'),
|
__('New cluster'),
|
||||||
@ -131,10 +132,11 @@ if (check_acl($config['id_user'], 0, 'AW')) {
|
|||||||
],
|
],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
echo '<form action="'.ui_get_full_url($model->url.'&op=new').'" method="POST">';
|
|
||||||
html_print_action_buttons(
|
|
||||||
implode('', $buttons),
|
|
||||||
['type' => 'form_action']
|
|
||||||
);
|
|
||||||
echo '</form>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo '<form action="'.ui_get_full_url($model->url.'&op=new').'" method="POST">';
|
||||||
|
html_print_action_buttons(
|
||||||
|
implode('', $buttons),
|
||||||
|
['type' => 'form_action']
|
||||||
|
);
|
||||||
|
echo '</form>';
|
||||||
|
@ -41,32 +41,34 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="br-t">
|
<?php if ($disableGeneralStatistics === false) : ?>
|
||||||
<div class="padding10">
|
<div class="br-t">
|
||||||
<span class="subtitle">
|
<div class="padding10">
|
||||||
<?php echo __('License usage'); ?>
|
<span class="subtitle">
|
||||||
</span>
|
<?php echo __('License usage'); ?>
|
||||||
<?php echo $Overview->getLicenseUsageGraph(); ?>
|
</span>
|
||||||
|
<?php echo $Overview->getLicenseUsageGraph(); ?>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row flex-nowrap">
|
<div class="row flex-nowrap height_100p">
|
||||||
<div class="col-7 pdd_5px">
|
<div class="col-7 pdd_5px">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<?php echo $MonitoringElements->title; ?>
|
<?php echo $MonitoringElements->title; ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="content br-t">
|
<div class="content br-t height_100p">
|
||||||
<div class="row">
|
<div class="row height_50p">
|
||||||
<div class="col-6 br-r br-b">
|
<div class="col-6 br-r br-b">
|
||||||
<div class="subtitle link padding10 padding2">
|
<div class="subtitle link padding10 padding2">
|
||||||
<?php echo __('Top-10 Tags'); ?> <a href="index.php?sec=gusuarios&sec2=godmode/tag/tag"><?php echo __('Info'); ?></a>
|
<?php echo __('Status (%)'); ?> <a href="index.php?sec=view&sec2=operation/agentes/estado_agente"><?php echo __('Info'); ?></a>
|
||||||
</div>
|
</div>
|
||||||
<?php echo $MonitoringElements->getTagsGraph(); ?>
|
<?php echo $MonitoringElements->getMonitoringStatusGraph(); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 br-b">
|
<div class="col-6 br-b">
|
||||||
<div class="subtitle link padding10 padding2">
|
<div class="subtitle link padding10 padding2">
|
||||||
@ -75,12 +77,12 @@
|
|||||||
<?php echo $MonitoringElements->getModuleGroupGraph(); ?>
|
<?php echo $MonitoringElements->getModuleGroupGraph(); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row height_50p">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<div class="subtitle link padding10 padding2">
|
<div class="subtitle link padding10 padding2">
|
||||||
<?php echo __('Status'); ?> <a href="index.php?sec=view&sec2=operation/agentes/estado_agente"><?php echo __('Info'); ?></a>
|
<?php echo __('Top-10 Tags'); ?> <a href="index.php?sec=gusuarios&sec2=godmode/tag/tag"><?php echo __('Info'); ?></a>
|
||||||
</div>
|
</div>
|
||||||
<?php echo $MonitoringElements->getMonitoringStatusGraph(); ?>
|
<?php echo $MonitoringElements->getTagsGraph(); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 br-l">
|
<div class="col-6 br-l">
|
||||||
<div class="subtitle link padding10 padding2">
|
<div class="subtitle link padding10 padding2">
|
||||||
@ -165,6 +167,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<?php if ($disableGeneralStatistics === false) : ?>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<div class="container mrgn_5px" id="logStorage">
|
<div class="container mrgn_5px" id="logStorage">
|
||||||
<div class="title br-b">
|
<div class="title br-b">
|
||||||
@ -184,7 +187,7 @@
|
|||||||
<?php echo $LogStorage->getTotalSources(); ?>
|
<?php echo $LogStorage->getTotalSources(); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row height_100p">
|
||||||
<div class="col-6 br-r">
|
<div class="col-6 br-r">
|
||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
<?php echo __('Stored data'); ?>
|
<?php echo __('Stored data'); ?>
|
||||||
@ -221,6 +224,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -236,13 +240,13 @@
|
|||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
<?php echo __('Currently triggered'); ?>
|
<?php echo __('Currently triggered'); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php echo $Alerts->getCurrentlyTriggered(); ?>
|
<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&status_alert=fired"><?php echo $Alerts->getCurrentlyTriggered(); ?></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 br-l">
|
<div class="col-6 br-l">
|
||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
<?php echo __('Active alerts'); ?>
|
<?php echo __('Active alerts'); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php echo $Alerts->getActiveAlerts(); ?>
|
<a href="index.php?sec=galertas&sec2=godmode/alerts/alert_list&status_alert=all_enabled"><?php echo $Alerts->getActiveAlerts(); ?></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php if ($Alerts->checkAclUserList() === true) : ?>
|
<?php if ($Alerts->checkAclUserList() === true) : ?>
|
||||||
@ -261,13 +265,13 @@
|
|||||||
<div class="title br-b">
|
<div class="title br-b">
|
||||||
<?php echo $Events->title; ?>
|
<?php echo $Events->title; ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row" id="auto-rescaling">
|
||||||
<div class="col-8 br-r">
|
<div class="col-8 br-r trigger-100">
|
||||||
<div class="subtitle link padding10 padding2">
|
<div class="subtitle link padding10 padding2">
|
||||||
<?php echo __('Number of events per hour ('.$config['event_view_hr'].' hrs)'); ?></b> <a href="index.php?sec=eventos&sec2=operation/events/events&filter[event_view_hr]=24&filter[tag_with]=WyIwIl0=&filter[tag_without]=WyIwIl0="><?php echo __('Info'); ?></a>
|
<?php echo __('Number of events per hour ('.$config['event_view_hr'].' hrs)'); ?></b> <a href="index.php?sec=eventos&sec2=operation/events/events&filter[event_view_hr]=24&filter[tag_with]=WyIwIl0=&filter[tag_without]=WyIwIl0="><?php echo __('Info'); ?></a>
|
||||||
</div>
|
</div>
|
||||||
<div id="events-last-24"><?php echo $Events->loading(); ?></div>
|
<div id="events-last-24"><?php echo $Events->loading(); ?></div>
|
||||||
<div class="row br-t h100p">
|
<div class="row br-t h100p observer">
|
||||||
<div class="col-4 br-r">
|
<div class="col-4 br-r">
|
||||||
<div class="subtitle padding10 padding2">
|
<div class="subtitle padding10 padding2">
|
||||||
<?php echo __('Criticality'); ?></b>
|
<?php echo __('Criticality'); ?></b>
|
||||||
@ -276,7 +280,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-4 br-r">
|
<div class="col-4 br-r">
|
||||||
<div class="subtitle padding10 padding2">
|
<div class="subtitle padding10 padding2">
|
||||||
<?php echo __('Status'); ?></b>
|
<?php echo __('Status (%)'); ?></b>
|
||||||
</div>
|
</div>
|
||||||
<div id="events-status-validate"><?php echo $Events->loading(); ?></div>
|
<div id="events-status-validate"><?php echo $Events->loading(); ?></div>
|
||||||
</div>
|
</div>
|
||||||
@ -288,7 +292,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="col-4 trigger-100">
|
||||||
<div class="subtitle link padding10 padding2">
|
<div class="subtitle link padding10 padding2">
|
||||||
<?php echo __('Active events ('.$config['event_view_hr'].' hrs)'); ?></b> <a href="index.php?sec=eventos&sec2=operation/events/events"><?php echo __('Info'); ?></a>
|
<?php echo __('Active events ('.$config['event_view_hr'].' hrs)'); ?></b> <a href="index.php?sec=eventos&sec2=operation/events/events"><?php echo __('Info'); ?></a>
|
||||||
</div>
|
</div>
|
||||||
@ -333,7 +337,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<?php echo $Agents->getOperatingSystemGraph(); ?>
|
<?php echo $Agents->getOperatingSystemGraph(); ?>
|
||||||
<div class="subtitle padding10 padding2 br-t">
|
<div class="subtitle padding10 padding2 br-t">
|
||||||
<?php echo __('Status'); ?></b>
|
<?php echo __('Status (%)'); ?></b>
|
||||||
</div>
|
</div>
|
||||||
<?php echo $Agents->getStatusGraph(); ?>
|
<?php echo $Agents->getStatusGraph(); ?>
|
||||||
</div>
|
</div>
|
||||||
@ -341,41 +345,43 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xl-6">
|
<div class="col-xl-6">
|
||||||
<div class="container mrgn_5px">
|
<?php if ($disableGeneralStatistics === false) : ?>
|
||||||
<div class="title br-b">
|
<div class="container mrgn_5px">
|
||||||
<?php echo $Configurations->title; ?>
|
<div class="title br-b">
|
||||||
</div>
|
<?php echo $Configurations->title; ?>
|
||||||
<div class="row br-b flex-nowrap">
|
</div>
|
||||||
<a href="index.php?sec=view&sec2=operation/agentes/group_view" class="col-3 flex flex-column center pdd_20px br-r">
|
<div class="row br-b flex-nowrap">
|
||||||
<?php echo $Configurations->getTotalGroups(); ?>
|
<a href="index.php?sec=view&sec2=operation/agentes/group_view" class="col-3 flex flex-column center pdd_20px br-r">
|
||||||
</a>
|
<?php echo $Configurations->getTotalGroups(); ?>
|
||||||
<a href="index.php?sec=view&sec2=extensions/agents_modules" class="col-3 flex flex-column center pdd_20px br-r">
|
|
||||||
<?php echo $Configurations->getTotalModules(); ?>
|
|
||||||
</a>
|
|
||||||
<?php if (enterprise_installed() === true) : ?>
|
|
||||||
<a href="index.php?sec=gmodules&sec2=enterprise/godmode/policies/policies" class="col-3 flex flex-column center pdd_20px br-r">
|
|
||||||
<?php echo $Configurations->getTotalPolicies(); ?>
|
|
||||||
</a>
|
</a>
|
||||||
<?php endif; ?>
|
<a href="index.php?sec=view&sec2=extensions/agents_modules" class="col-3 flex flex-column center pdd_20px br-r">
|
||||||
<a href="index.php?sec=gservers&sec2=godmode/servers/plugin" class="col-3 flex flex-column center pdd_20px">
|
<?php echo $Configurations->getTotalModules(); ?>
|
||||||
<?php echo $Configurations->getTotalRemotePlugins(); ?>
|
</a>
|
||||||
</a>
|
<?php if (enterprise_installed() === true) : ?>
|
||||||
|
<a href="index.php?sec=gmodules&sec2=enterprise/godmode/policies/policies" class="col-3 flex flex-column center pdd_20px br-r">
|
||||||
|
<?php echo $Configurations->getTotalPolicies(); ?>
|
||||||
|
</a>
|
||||||
|
<?php endif; ?>
|
||||||
|
<a href="index.php?sec=gservers&sec2=godmode/servers/plugin" class="col-3 flex flex-column center pdd_20px">
|
||||||
|
<?php echo $Configurations->getTotalRemotePlugins(); ?>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="row flex-nowrap br-b">
|
||||||
|
<a href="index.php?sec=templates&sec2=godmode/modules/manage_module_templates" class="col-4 flex flex-column center pdd_20px br-r">
|
||||||
|
<?php echo $Configurations->getTotalModuleTemplate(); ?>
|
||||||
|
</a>
|
||||||
|
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=5" class="col-4 flex flex-column center pdd_20px br-r">
|
||||||
|
<?php echo $Configurations->getNotInitModules(); ?>
|
||||||
|
</a>
|
||||||
|
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=3" class="col-4 flex flex-column center pdd_20px br-r">
|
||||||
|
<?php echo $Configurations->getTotalUnknowAgents(); ?>
|
||||||
|
</a>
|
||||||
|
<a href="index.php?sec=eventos&sec2=operation/events/events" class="col-4 flex flex-column center pdd_20px">
|
||||||
|
<?php echo $Configurations->getTotalEvents(); ?>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row flex-nowrap br-b">
|
<?php endif; ?>
|
||||||
<a href="index.php?sec=templates&sec2=godmode/modules/manage_module_templates" class="col-4 flex flex-column center pdd_20px br-r">
|
|
||||||
<?php echo $Configurations->getTotalModuleTemplate(); ?>
|
|
||||||
</a>
|
|
||||||
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=5" class="col-4 flex flex-column center pdd_20px br-r">
|
|
||||||
<?php echo $Configurations->getNotInitModules(); ?>
|
|
||||||
</a>
|
|
||||||
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente&status=3" class="col-4 flex flex-column center pdd_20px br-r">
|
|
||||||
<?php echo $Configurations->getTotalUnknowAgents(); ?>
|
|
||||||
</a>
|
|
||||||
<a href="index.php?sec=eventos&sec2=operation/events/events" class="col-4 flex flex-column center pdd_20px">
|
|
||||||
<?php echo $Configurations->getTotalEvents(); ?>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php if ($ScheduledDowntime->checkAcl() === true) : ?>
|
<?php if ($ScheduledDowntime->checkAcl() === true) : ?>
|
||||||
<div class="container mrgn_5px">
|
<div class="container mrgn_5px">
|
||||||
<div class="title br-b">
|
<div class="title br-b">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.773.3-231031
|
Version: 7.0NG.774-231108
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.773.3-231031"
|
pandora_version="7.0NG.774-231108"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
@ -818,6 +818,8 @@ sub main() {
|
|||||||
&& $Config{"self_monitoring"} == 1
|
&& $Config{"self_monitoring"} == 1
|
||||||
&& !is_metaconsole(\%Config)
|
&& !is_metaconsole(\%Config)
|
||||||
&& time() - $thr_time_ref > $Config{'self_monitoring_interval'}) {
|
&& time() - $thr_time_ref > $Config{'self_monitoring_interval'}) {
|
||||||
|
# Update agent name token.
|
||||||
|
pandora_set_tconfig_token($DBH, 'self_monitoring_agent_name', $Config{'self_monitoring_agent_name'});
|
||||||
$thr_time_ref = time();
|
$thr_time_ref = time();
|
||||||
pandora_thread_monitoring (\%Config, $DBH, \@Servers);
|
pandora_thread_monitoring (\%Config, $DBH, \@Servers);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#############################################################################
|
#############################################################################
|
||||||
# Pandora FMS Server Parameters
|
# Pandora FMS Server Parameters
|
||||||
# Pandora FMS, the Flexible Monitoring System.
|
# Pandora FMS, the Flexible Monitoring System.
|
||||||
# Version 7.0NG.773.3
|
# Version 7.0NG.774
|
||||||
# Licensed under GPL license v2,
|
# Licensed under GPL license v2,
|
||||||
# (c) 2003-2023 Pandora FMS
|
# (c) 2003-2023 Pandora FMS
|
||||||
# http://www.pandorafms.com
|
# http://www.pandorafms.com
|
||||||
@ -422,6 +422,9 @@ self_monitoring 1
|
|||||||
# Self monitoring interval (in seconds).
|
# Self monitoring interval (in seconds).
|
||||||
self_monitoring_interval 300
|
self_monitoring_interval 300
|
||||||
|
|
||||||
|
# Self monitoring agent name.
|
||||||
|
self_monitoring_agent_name pandora.internals
|
||||||
|
|
||||||
# Update parent from the agent xml
|
# Update parent from the agent xml
|
||||||
|
|
||||||
update_parent 1
|
update_parent 1
|
||||||
|
@ -45,8 +45,8 @@ our @EXPORT = qw(
|
|||||||
);
|
);
|
||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.773.3";
|
my $pandora_version = "7.0NG.774";
|
||||||
my $pandora_build = "231031";
|
my $pandora_build = "231108";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
@ -419,6 +419,9 @@ sub pandora_load_config {
|
|||||||
# Self monitoring interval
|
# Self monitoring interval
|
||||||
$pa_config->{'self_monitoring_interval'} = 300; # 5.1SP1
|
$pa_config->{'self_monitoring_interval'} = 300; # 5.1SP1
|
||||||
|
|
||||||
|
# Self monitoring agent name.
|
||||||
|
$pa_config->{'self_monitoring_agent_name'} = 'pandora.internals'; # 7.774
|
||||||
|
|
||||||
# Process XML data files as a stack
|
# Process XML data files as a stack
|
||||||
$pa_config->{"dataserver_lifo"} = 0; # 5.0
|
$pa_config->{"dataserver_lifo"} = 0; # 5.0
|
||||||
|
|
||||||
@ -1044,6 +1047,9 @@ sub pandora_load_config {
|
|||||||
elsif ($parametro =~ m/^self_monitoring_interval\s+([0-9]*)/i) {
|
elsif ($parametro =~ m/^self_monitoring_interval\s+([0-9]*)/i) {
|
||||||
$pa_config->{'self_monitoring_interval'} = clean_blank($1);
|
$pa_config->{'self_monitoring_interval'} = clean_blank($1);
|
||||||
}
|
}
|
||||||
|
elsif ($parametro =~ m/^self_monitoring_agent_name\s+(.*)/i) {
|
||||||
|
$pa_config->{'self_monitoring_agent_name'} = clean_blank($1);
|
||||||
|
}
|
||||||
elsif ($parametro =~ m/^update_parent\s+([0-1])/i) {
|
elsif ($parametro =~ m/^update_parent\s+([0-1])/i) {
|
||||||
$pa_config->{'update_parent'} = clean_blank($1);
|
$pa_config->{'update_parent'} = clean_blank($1);
|
||||||
}
|
}
|
||||||
|
@ -6315,7 +6315,7 @@ sub pandora_self_monitoring ($$) {
|
|||||||
|
|
||||||
my $xml_output = "";
|
my $xml_output = "";
|
||||||
|
|
||||||
$xml_output = "<agent_data os_name='$OS' os_version='$OS_VERSION' version='" . $pa_config->{'version'} . "' description='" . $pa_config->{'rb_product_name'} . " Server version " . $pa_config->{'version'} . "' agent_name='pandora.internals' agent_alias='pandora.internals' interval='".$pa_config->{"self_monitoring_interval"}."' timestamp='".$timestamp."' >";
|
$xml_output = "<agent_data os_name='$OS' os_version='$OS_VERSION' version='" . $pa_config->{'version'} . "' description='" . $pa_config->{'rb_product_name'} . " Server version " . $pa_config->{'version'} . "' agent_name='" . $pa_config->{"self_monitoring_agent_name"} . "' agent_alias='" . $pa_config->{"self_monitoring_agent_name"} . "' interval='".$pa_config->{"self_monitoring_interval"}."' timestamp='".$timestamp."' >";
|
||||||
$xml_output .=" <module>";
|
$xml_output .=" <module>";
|
||||||
$xml_output .=" <name>Status</name>";
|
$xml_output .=" <name>Status</name>";
|
||||||
$xml_output .=" <type>generic_proc</type>";
|
$xml_output .=" <type>generic_proc</type>";
|
||||||
@ -6514,7 +6514,7 @@ sub pandora_self_monitoring ($$) {
|
|||||||
|
|
||||||
$xml_output .= "</agent_data>";
|
$xml_output .= "</agent_data>";
|
||||||
|
|
||||||
my $filename = $pa_config->{"incomingdir"}."/pandora.internals.self".$utimestamp.".data";
|
my $filename = $pa_config->{"incomingdir"}."/".$pa_config->{"self_monitoring_agent_name"}.".self".$utimestamp.".data";
|
||||||
open (XMLFILE, ">", $filename) or die "[FATAL] Could not open internal monitoring XML file for deploying monitorization at '$filename'";
|
open (XMLFILE, ">", $filename) or die "[FATAL] Could not open internal monitoring XML file for deploying monitorization at '$filename'";
|
||||||
print XMLFILE $xml_output;
|
print XMLFILE $xml_output;
|
||||||
close (XMLFILE);
|
close (XMLFILE);
|
||||||
@ -6539,7 +6539,7 @@ sub pandora_thread_monitoring ($$$) {
|
|||||||
# All trhead modules are "Status" module sons.
|
# All trhead modules are "Status" module sons.
|
||||||
$module_parent = 'Status';
|
$module_parent = 'Status';
|
||||||
|
|
||||||
$xml_output = "<agent_data os_name='$OS' os_version='$OS_VERSION' version='" . $pa_config->{'version'} . "' description='" . $pa_config->{'rb_product_name'} . " Server version " . $pa_config->{'version'} . "' agent_name='pandora.internals' agent_alias='pandora.internals' interval='".$pa_config->{"self_monitoring_interval"}."' timestamp='".$timestamp."' >";
|
$xml_output = "<agent_data os_name='$OS' os_version='$OS_VERSION' version='" . $pa_config->{'version'} . "' description='" . $pa_config->{'rb_product_name'} . " Server version " . $pa_config->{'version'} . "' agent_name='" . $pa_config->{'self_monitoring_agent_name'} . "' agent_alias='pandora.internals' interval='".$pa_config->{"self_monitoring_interval"}."' timestamp='".$timestamp."' >";
|
||||||
foreach my $server (@{$servers}) {
|
foreach my $server (@{$servers}) {
|
||||||
my $producer_stats = $server->getProducerStats();
|
my $producer_stats = $server->getProducerStats();
|
||||||
while (my ($tid, $stats) = each(%{$producer_stats})) {
|
while (my ($tid, $stats) = each(%{$producer_stats})) {
|
||||||
@ -6605,7 +6605,7 @@ sub pandora_thread_monitoring ($$$) {
|
|||||||
}
|
}
|
||||||
$xml_output .= "</agent_data>";
|
$xml_output .= "</agent_data>";
|
||||||
|
|
||||||
my $filename = $pa_config->{"incomingdir"}."/pandora.internals.threads.".$utimestamp.".data";
|
my $filename = $pa_config->{"incomingdir"}."/".$pa_config->{'self_monitoring_agent_name'}.".threads.".$utimestamp.".data";
|
||||||
open (XMLFILE, ">", $filename) or die "[FATAL] Could not write to the thread monitoring XML file '$filename'";
|
open (XMLFILE, ">", $filename) or die "[FATAL] Could not write to the thread monitoring XML file '$filename'";
|
||||||
print XMLFILE $xml_output;
|
print XMLFILE $xml_output;
|
||||||
close (XMLFILE);
|
close (XMLFILE);
|
||||||
|
@ -33,8 +33,8 @@ use base 'Exporter';
|
|||||||
our @ISA = qw(Exporter);
|
our @ISA = qw(Exporter);
|
||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.773.3";
|
my $pandora_version = "7.0NG.774";
|
||||||
my $pandora_build = "231031";
|
my $pandora_build = "231108";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
@ -2735,12 +2735,6 @@ sub get_user_agent {
|
|||||||
# Disable verify host certificate (only needed for self-signed cert)
|
# Disable verify host certificate (only needed for self-signed cert)
|
||||||
$ua->ssl_opts( 'verify_hostname' => 0 );
|
$ua->ssl_opts( 'verify_hostname' => 0 );
|
||||||
$ua->ssl_opts( 'SSL_verify_mode' => 0x00 );
|
$ua->ssl_opts( 'SSL_verify_mode' => 0x00 );
|
||||||
|
|
||||||
# Disable library extra checks
|
|
||||||
BEGIN {
|
|
||||||
$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL";
|
|
||||||
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if($@) {
|
if($@) {
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
%define __strip /bin/true
|
%define __strip /bin/true
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
#
|
#
|
||||||
%global __os_install_post %{nil}
|
%global __os_install_post %{nil}
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.773.3
|
%define version 7.0NG.774
|
||||||
%define release 231031
|
%define release 231108
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
# This code is licensed under GPL 2.0 license.
|
# This code is licensed under GPL 2.0 license.
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.773.3"
|
PI_VERSION="7.0NG.774"
|
||||||
PI_BUILD="231031"
|
PI_BUILD="231108"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
@ -38,7 +38,7 @@ use PandoraFMS::Config;
|
|||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.773.3 Build 231031";
|
my $version = "7.0NG.774 Build 231108";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||||||
Encode::Locale::decode_argv;
|
Encode::Locale::decode_argv;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.773.3 Build 231031";
|
my $version = "7.0NG.774 Build 231108";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user