Merge branch 'develop' into ent-12941-Tiempos-de-intervalo-1-min

This commit is contained in:
Pablo Aragon 2024-04-05 08:59:42 +02:00
commit 0d11040641
1853 changed files with 518006 additions and 162099 deletions

View File

@ -304,7 +304,6 @@ server_dependencies=" \
perl(Sys::Syslog) \
perl(DBI) \
perl(XML::Simple) \
perl(Geo::IP) \
perl(IO::Socket::INET6) \
perl(XML::Twig) \
expect \
@ -344,7 +343,6 @@ ipam_dependencies=" \
perl(Sys::Syslog) \
perl(DBI) \
perl(XML::Simple) \
perl(Geo::IP) \
perl(IO::Socket::INET6) \
perl(XML::Twig)"
execute_cmd "yum install -y $ipam_dependencies" "Installing IPAM Instant client"
@ -521,31 +519,15 @@ include (\$ownDir . "config_process.php");
EO_CONFIG_F
cat > /etc/httpd/conf.d/pandora.conf << EO_CONFIG_F
ServerTokens Prod
<Directory "/var/www/html">
Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
EO_CONFIG_F
# Add ws proxy options to apache.
cat >> /etc/httpd/conf.modules.d/00-proxy.conf << 'EO_HTTPD_MOD'
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
EO_HTTPD_MOD
cat >> /etc/httpd/conf.d/wstunnel.conf << 'EO_HTTPD_WSTUNNEL'
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass /ws ws://127.0.0.1:8080
ProxyPassReverse /ws ws://127.0.0.1:8080
EO_HTTPD_WSTUNNEL
# Temporal quitar htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/images/.htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/attachment/.htaccess
@ -692,16 +674,6 @@ EO_LRA
chmod 0644 /etc/logrotate.d/pandora_server
chmod 0644 /etc/logrotate.d/pandora_agent
# Add websocket engine start script.
mv /var/www/html/pandora_console/pandora_websocket_engine /etc/init.d/
chmod +x /etc/init.d/pandora_websocket_engine
# Start Websocket engine
/etc/init.d/pandora_websocket_engine start &>> $LOGFILE
# Configure websocket to be started at start.
systemctl enable pandora_websocket_engine &>> $LOGFILE
# Enable pandora ha service
systemctl enable pandora_server --now &>> $LOGFILE
execute_cmd "systemctl start pandora_server" "Starting Pandora FMS Server"

View File

@ -20,7 +20,7 @@ LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables
[ "$TZ" ] || TZ="Europe/Madrid"
[ "$MYVER" ] || MYVER=80
[ "$PHPVER" ] || PHPVER=8
[ "$PHPVER" ] || PHPVER=8.2
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
@ -49,6 +49,9 @@ cyan="\e[0;36m"
yellow="\e[33m"
reset="\e[0m"
#force lts to install php 8.0
[ "$PANDORA_LTS" -eq '1' ] && PHPVER=8.0
# Functions
execute_cmd () {
local cmd="$1"
@ -289,13 +292,13 @@ execute_cmd "dnf install -y wget" "Installing wget"
#Installing php
execute_cmd "dnf module reset -y php " "Disabling standard PHP module"
if [ "$PHPVER" -ne '8' ] ; then
execute_cmd "dnf module install -y php:remi-7.4" "Configuring PHP 7"
if [ "$PHPVER" == '8' ] ; then
PHPVER=8.0
fi
if [ "$PHPVER" -eq '8' ] ; then
execute_cmd "dnf module install -y php:remi-8.0" "Configuring PHP 8"
fi
execute_cmd "dnf module install -y php:remi-${PHPVER}" "Configuring PHP ${PHPVER}"
# Install percona Database
execute_cmd "dnf module disable -y mysql" "Disabiling mysql module"
@ -391,8 +394,8 @@ console_dependencies=" \
mod_ssl \
libzstd \
openldap-clients \
https://firefly.pandorafms.com/centos8/chromium-110.0.5481.177-1.el7.x86_64.rpm \
https://firefly.pandorafms.com/centos8/chromium-common-110.0.5481.177-1.el7.x86_64.rpm \
https://firefly.pandorafms.com/centos8/chromium-122.0.6261.128-1.el8.x86_64.rpm \
https://firefly.pandorafms.com/centos8/chromium-common-122.0.6261.128-1.el8.x86_64.rpm \
https://firefly.pandorafms.com/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm \
https://firefly.pandorafms.com/centos8/pandora_gotty-1.0-1.el8.x86_64.rpm \
https://firefly.pandorafms.com/centos8/pandorafms_made-0.1.0-1.el8.x86_64.rpm \
@ -414,7 +417,6 @@ server_dependencies=" \
perl(Sys::Syslog) \
perl(DBI) \
perl(XML::Simple) \
perl(Geo::IP) \
perl(IO::Socket::INET6) \
perl(XML::Twig) \
expect \
@ -454,7 +456,6 @@ ipam_dependencies=" \
perl(Sys::Syslog) \
perl(DBI) \
perl(XML::Simple) \
perl(Geo::IP) \
perl(IO::Socket::INET6) \
perl(XML::Twig)"
execute_cmd "dnf install -y $ipam_dependencies" "Installing IPAM Instant client"
@ -629,31 +630,15 @@ include (\$ownDir . "config_process.php");
EO_CONFIG_F
cat > /etc/httpd/conf.d/pandora.conf << EO_CONFIG_F
ServerTokens Prod
<Directory "/var/www/html">
Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
EO_CONFIG_F
# Add ws proxy options to apache.
cat >> /etc/httpd/conf.modules.d/00-proxy.conf << 'EO_HTTPD_MOD'
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
EO_HTTPD_MOD
cat >> /etc/httpd/conf.d/wstunnel.conf << 'EO_HTTPD_WSTUNNEL'
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass /ws ws://127.0.0.1:8080
ProxyPassReverse /ws ws://127.0.0.1:8080
EO_HTTPD_WSTUNNEL
# Temporal quitar htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/images/.htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/attachment/.htaccess
@ -811,16 +796,6 @@ EO_LRA
chmod 0644 /etc/logrotate.d/pandora_server
chmod 0644 /etc/logrotate.d/pandora_agent
# Add websocket engine start script.
mv /var/www/html/pandora_console/pandora_websocket_engine /etc/init.d/ &>> "$LOGFILE"
chmod +x /etc/init.d/pandora_websocket_engine
# Start Websocket engine
/etc/init.d/pandora_websocket_engine start &>> "$LOGFILE"
# Configure websocket to be started at start.
systemctl enable pandora_websocket_engine &>> "$LOGFILE"
# Enable pandora ha service
systemctl enable pandora_server --now &>> "$LOGFILE"
execute_cmd "/etc/init.d/pandora_server start" "Starting Pandora FMS Server"

View File

@ -0,0 +1,783 @@
#!/bin/bash
#######################################################
# PandoraFMS Community online installation script
#######################################################
## Tested versions ##
# Rockylinux 9.3
# RHEL 9.3
#Constants
PANDORA_CONSOLE=/var/www/html/pandora_console
PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf
S_VERSION='2024021301'
LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log"
# define default variables
[ "$TZ" ] || TZ="Europe/Madrid"
[ "$MYVER" ] || MYVER=80
[ "$PHPVER" ] || PHPVER=8
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
[ "$DBPASS" ] || DBPASS='Pandor4!'
[ "$DBPORT" ] || DBPORT=3306
[ "$DBROOTUSER" ] || DBROOTUSER=root
[ "$DBROOTPASS" ] || DBROOTPASS='Pandor4!'
[ "$SKIP_PRECHECK" ] || SKIP_PRECHECK=0
[ "$SKIP_DATABASE_INSTALL" ] || SKIP_DATABASE_INSTALL=0
[ "$SKIP_KERNEL_OPTIMIZATIONS" ] || SKIP_KERNEL_OPTIMIZATIONS=0
[ "$POOL_SIZE" ] || POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")
[ "$PANDORA_LTS" ] || PANDORA_LTS=1
[ "$PANDORA_BETA" ] || PANDORA_BETA=0
[ "$RHEL_CHECK_SUBSCRIPTION" ] || RHEL_CHECK_SUBSCRIPTION=1
#Check if possible to get os version
if [ ! -e /etc/os-release ]; then
echo ' > Imposible to determinate the OS version for this machine, please make sure you are intalling in a compatible OS'
echo ' > More info: https://pandorafms.com/manual/en/documentation/02_installation/01_installing#minimum_software_requirements'
exit -1
fi
# Ansi color code variables
red="\e[0;91m"
green="\e[0;92m"
cyan="\e[0;36m"
yellow="\e[33m"
reset="\e[0m"
# Functions
execute_cmd () {
local cmd="$1"
local msg="$2"
echo -e "${cyan}$msg...${reset}"
$cmd &>> "$LOGFILE"
if [ $? -ne 0 ]; then
echo -e "${red}Fail${reset}"
[ "$3" ] && echo "$3"
echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE"
rm -rf "$HOME"/pandora_deploy_tmp &>> "$LOGFILE"
exit 1
else
echo -e "\e[1A\e ${cyan}$msg...${reset} ${green}OK${reset}"
return 0
fi
}
check_cmd_status () {
if [ $? -ne 0 ]; then
echo -e "${red}Fail${reset}"
[ "$1" ] && echo "$1"
echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE"
rm -rf "$HOME"/pandora_deploy_tmp/*.rpm* &>> "$LOGFILE"
exit 1
else
echo -e "${green}OK${reset}"
return 0
fi
}
check_pre_pandora () {
echo -en "${cyan}Checking environment ... ${reset}"
rpm -qa | grep 'pandorafms_' | grep -v pandorafms_agent_* | grep -v "pandorawmic" | grep -v "pandorafms_made" &>> /dev/null && local fail=true
[ -d "$PANDORA_CONSOLE" ] && local fail=true
[ -f /usr/bin/pandora_server ] && local fail=true
if [ "$SKIP_DATABASE_INSTALL" -eq '0' ]; then
export MYSQL_PWD=$DBPASS
echo "use $DBNAME" | mysql -u$DBUSER -P$DBPORT -h$DBHOST &>> /dev/null && local fail=true
fi
[ ! $fail ]
check_cmd_status 'Error there is a current Pandora FMS installation on this node, please remove it to execute a clean install'
}
check_repo_connection () {
execute_cmd "ping -c 2 firefly.pandorafms.com" "Checking Community repo"
execute_cmd "ping -c 2 support.pandorafms.com" "Checking Enterprise repo"
}
check_root_permissions () {
echo -en "${cyan}Checking root account... ${reset}"
if [ "$(whoami)" != "root" ]; then
echo -e "${red}Fail${reset}"
echo "Please use a root account or sudo for installing Pandora FMS"
echo "Error installing Pandora FMS for detailed error please check log: $LOGFILE"
exit 1
else
echo -e "${green}OK${reset}"
fi
}
installing_docker () {
#Installing docker for debug
echo "Start installig docker" &>> "$LOGFILE"
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo &>> "$LOGFILE"
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin &>> "$LOGFILE"
systemctl disable --now docker &>> "$LOGFILE"
systemctl disable docker.socket --now &>> "$LOGFILE"
echo "End installig docker" &>> "$LOGFILE"
}
# Function to check if a password meets the MySQL secure password requirements
is_mysql_secure_password() {
local password=$1
# Check password length (at least 8 characters)
if [[ ${#password} -lt 8 ]]; then
echo "Password length should be at least 8 characters."
return 1
fi
# Check if password contains at least one uppercase letter
if [[ $password == ${password,,} ]]; then
echo "Password should contain at least one uppercase letter."
return 1
fi
# Check if password contains at least one lowercase letter
if [[ $password == ${password^^} ]]; then
echo "Password should contain at least one lowercase letter."
return 1
fi
# Check if password contains at least one digit
if ! [[ $password =~ [0-9] ]]; then
echo "Password should contain at least one digit."
return 1
fi
# Check if password contains at least one special character
if ! [[ $password =~ [[:punct:]] ]]; then
echo "Password should contain at least one special character."
return 1
fi
# Check if password is not a common pattern (e.g., "password", "123456")
local common_patterns=("password" "123456" "qwerty")
for pattern in "${common_patterns[@]}"; do
if [[ $password == *"$pattern"* ]]; then
echo "Password should not contain common patterns."
return 1
fi
done
# If all checks pass, the password is MySQL secure compliant
return 0
}
## Main
echo "Starting PandoraFMS Community deployment EL8 ver. $S_VERSION"
#check tools
if ! grep --version &>> $LOGFILE ; then echo 'Error grep is not detected on the system, grep tool is needed for installation.'; exit -1 ;fi
if ! sed --version &>> $LOGFILE ; then echo 'Error sed is not detected on the system, sed tool is needed for installation.'; exit -1 ;fi
if ! curl --version &>> $LOGFILE ; then echo 'Error curl is not detected on the system, curl tool is needed for installation.'; exit -1 ;fi
if ! ping -V &>> $LOGFILE ; then echo 'Error ping is not detected on the system, ping tool is needed for installation.'; exit -1 ;fi
# Centos Version
if [ ! "$(grep -Ei 'centos|rocky|Almalinux|Red Hat Enterprise' /etc/redhat-release)" ]; then
printf "\n ${red}Error this is not a Centos/Rocky/Almalinux Base system, this installer is compatible with RHEL/Almalinux/Centos/Rockylinux systems only${reset}\n"
exit 1
fi
echo -en "${cyan}Check Centos Version...${reset}"
[[ $(sed -nr 's/VERSION_ID+=\s*"([0-9]).*"$/\1/p' /etc/os-release) -eq '9' ]]
check_cmd_status 'Error OS version, RHEL/Almalinux/Centos/Rockylinux 8.x is expected'
#Detect OS
os_name=$(grep ^PRETTY_NAME= /etc/os-release | cut -d '=' -f2 | tr -d '"')
execute_cmd "echo $os_name" "OS detected: ${os_name}"
# initialice logfile
execute_cmd "echo 'Starting community deployment' > $LOGFILE" "All installer activity is logged on $LOGFILE"
echo "Community installer version: $S_VERSION" >> "$LOGFILE"
# Pre checks
# Root permisions
check_root_permissions
# Pre installed pandora
[ "$SKIP_PRECHECK" == 1 ] || check_pre_pandora
#advicing BETA PROGRAM
INSTALLING_VER="${green}RRR version enable using RRR PandoraFMS packages${reset}"
[ "$PANDORA_LTS" -ne '0' ] && INSTALLING_VER="${green}LTS version enable using LTS PandoraFMS packages${reset}"
[ "$PANDORA_BETA" -ne '0' ] && INSTALLING_VER="${red}BETA version enable using nightly PandoraFMS packages${reset}"
echo -e $INSTALLING_VER
# Connectivity
check_repo_connection
# Systemd
execute_cmd "systemctl status" "Checking SystemD" 'This is not a SystemD enable system, if tryng to use in a docker env please check: https://github.com/pandorafms/pandorafms/tree/develop/extras/docker/centos8'
# Check memomry greather or equal to 2G
execute_cmd "[ $(grep MemTotal /proc/meminfo | awk '{print $2}') -ge 1700000 ]" 'Checking memory (required: 2 GB)'
# Check disk size at least 10 Gb free space
execute_cmd "[ $(df -BM / | tail -1 | awk '{print $4}' | tr -d M) -gt 10000 ]" 'Checking Disk (required: 10 GB free min)'
# Setting timezone
rm -rf /etc/localtime &>> "$LOGFILE"
execute_cmd "timedatectl set-timezone $TZ" "Setting Timezone $TZ"
# Execute tools check
execute_cmd "awk --version" 'Checking needed tools: awk'
execute_cmd "grep --version" 'Checking needed tools: grep'
execute_cmd "sed --version" 'Checking needed tools: sed'
execute_cmd "dnf --version" 'Checking needed tools: dnf'
#Check mysql pass
execute_cmd "is_mysql_secure_password $DBROOTPASS" "Checking DBROOTPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
execute_cmd "is_mysql_secure_password $DBPASS" "Checking DBPASS password match policy" 'This password do not match minimum MySQL policy requirements, more info in: https://dev.mysql.com/doc/refman/8.0/en/validate-password.html'
# Creating working directory
rm -rf "$HOME"/pandora_deploy_tmp/*.rpm* &>> "$LOGFILE"
mkdir "$HOME"/pandora_deploy_tmp &>> "$LOGFILE"
execute_cmd "cd $HOME/pandora_deploy_tmp" "Moving to workspace: $HOME/pandora_deploy_tmp"
## Extra steps on redhat envs
if [ "$(grep -Ei 'Red Hat Enterprise' /etc/redhat-release)" ]; then
## In case REDHAT
if [ "$RHEL_CHECK_SUBSCRIPTION" -eq '1' ] ; then
# Check susbscription manager status:
echo -en "${cyan}Checking Red Hat Enterprise subscription... ${reset}"
subscription-manager list &>> "$LOGFILE"
subscription-manager status &>> "$LOGFILE"
check_cmd_status 'Error checking subscription status, make sure your server is activated and suscribed to Red Hat Enterprise repositories'
# Ckeck repolist
dnf repolist &>> "$LOGFILE"
echo -en "${cyan}Checking Red Hat Enterprise repolist... ${reset}"
dnf repolist | grep 'rhel-9-for-x86_64-baseos-rpms' &>> "$LOGFILE"
check_cmd_status 'Error checking repositories status, could try a subscription-manager attach command or contact sysadmin'
fi
#install extra repos
extra_repos=" \
tar \
dnf-utils \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm \
https://rpms.remirepo.net/enterprise/remi-release-9.rpm \
https://repo.percona.com/yum/percona-release-latest.noarch.rpm"
execute_cmd "dnf install -y $extra_repos" "Installing extra repositories"
execute_cmd "subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms" "Enabling subscription to codeready-builder"
else
# For alma/rocky/centos
extra_repos=" \
tar \
dnf-utils \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm \
https://rpms.remirepo.net/enterprise/remi-release-9.rpm \
https://repo.percona.com/yum/percona-release-latest.noarch.rpm"
execute_cmd "dnf install -y $extra_repos" "Installing extra repositories"
execute_cmd "dnf config-manager --enable crb" "Configuring crb"
fi
execute_cmd "installing_docker" "Installing Docker for debug"
#Installing wget
execute_cmd "dnf install -y wget" "Installing wget"
#Installing php
execute_cmd "dnf module reset -y php " "Disabling standard PHP module"
if [ "$PHPVER" -eq '8' ] ; then
PHPVER=8.2
fi
execute_cmd "dnf module install -y php:remi-$PHPVER" "Configuring PHP $PHPVER"
if [ "$MYVER" -eq '80' ] ; then
execute_cmd "percona-release setup ps80 -y" "Enabling mysql80 module"
execute_cmd "dnf install -y percona-server-server percona-xtrabackup-80" "Installing Percona Server 80"
fi
# Console dependencies
console_dependencies=" \
php \
postfix \
php-mcrypt \
php-cli \
php-gd \
php-curl \
php-session \
php-mysqlnd \
php-ldap \
php-zip \
php-zlib \
php-fileinfo \
php-gettext \
php-snmp \
php-mbstring \
php-pecl-zip \
php-xmlrpc \
libxslt \
wget \
php-xml \
httpd \
mod_php \
atk \
avahi-libs \
cairo \
cups-libs \
fribidi \
gd \
gdk-pixbuf2 \
ghostscript \
graphite2 \
graphviz \
gtk2 \
harfbuzz \
hicolor-icon-theme \
hwdata \
jasper-libs \
lcms2 \
libICE \
libSM \
libXaw \
libXcomposite \
libXcursor \
libXdamage \
libXext \
libXfixes \
libXft \
libXi \
libXinerama \
libXmu \
libXrandr \
libXrender \
libXt \
libXxf86vm \
libdrm \
libfontenc \
libglvnd \
libglvnd-egl \
libglvnd-glx \
libpciaccess \
librsvg2 \
libthai \
libtool-ltdl \
libwayland-client \
libwayland-server \
libxshmfence \
mesa-libEGL \
mesa-libGL \
mesa-libgbm \
mesa-libglapi \
pango \
pixman \
xorg-x11-fonts-75dpi \
xorg-x11-fonts-misc \
poppler-data \
php-yaml \
mod_ssl \
libzstd \
openldap-clients \
https://firefly.pandorafms.com/centos8/chromium-122.0.6261.128-1.el8.x86_64.rpm \
https://firefly.pandorafms.com/centos8/chromium-common-122.0.6261.128-1.el8.x86_64.rpm \
https://firefly.pandorafms.com/centos8/pandora_gotty-1.0-1.el8.x86_64.rpm \
https://firefly.pandorafms.com/centos8/pandorafms_made-0.1.0-1.el8.x86_64.rpm "
execute_cmd "dnf install -y $console_dependencies" "Installing Pandora FMS Console dependencies"
# Server dependencies
server_dependencies=" \
perl \
vim \
fping \
perl-IO-Compress \
nmap \
sudo \
perl-Time-HiRes \
nfdump \
net-snmp-utils \
perl(NetAddr::IP) \
perl(Sys::Syslog) \
perl(DBI) \
perl(XML::Simple) \
perl(IO::Socket::INET6) \
perl(XML::Twig) \
perl-JSON \
expect \
openssh-clients \
java \
bind-utils \
whois \
libnsl \
libxcrypt-compat \
https://firefly.pandorafms.com/pandorafms-el9/perl-Geo-IP-1.51-1.el9.x86_64.rpm \
https://firefly.pandorafms.com/centos8/pandorawmic-1.0.0-1.x86_64.rpm"
execute_cmd "dnf install -y $server_dependencies" "Installing Pandora FMS Server dependencies"
#ipam dependencies
ipam_dependencies=" \
perl(NetAddr::IP) \
perl(Sys::Syslog) \
perl(DBI) \
perl(XML::Simple) \
perl(IO::Socket::INET6) \
perl(XML::Twig)"
execute_cmd "dnf install -y $ipam_dependencies" "Installing IPAM Instant client"
# Disabling SELINUX and firewalld
setenforce 0 &>> "$LOGFILE"
sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config &>> "$LOGFILE"
systemctl disable firewalld --now &>> "$LOGFILE"
# Adding standar cnf for initial setup.
cat > /etc/my.cnf << EO_CONFIG_TMP
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EO_CONFIG_TMP
#Configuring Database
if [ "$SKIP_DATABASE_INSTALL" -eq '0' ] ; then
execute_cmd "systemctl start mysqld" "Starting database engine"
export MYSQL_PWD=$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
if [ "$MYVER" -eq '80' ] ; then
echo """
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = 'Pandor4!';
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = '$DBROOTPASS';
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"
fi
if [ "$MYVER" -ne '80' ] ; then
echo """
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('Pandor4!');
SET PASSWORD FOR '$DBROOTUSER'@'localhost' = PASSWORD('$DBROOTPASS');
""" | mysql --connect-expired-password -u$DBROOTUSER &>> "$LOGFILE"fi
fi
export MYSQL_PWD=$DBROOTPASS
echo -en "${cyan}Creating Pandora FMS database...${reset}"
echo "create database $DBNAME" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
check_cmd_status "Error creating database $DBNAME, is this an empty node? if you have a previus installation please contact with support."
echo "CREATE USER \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%'" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST
#Generating my.cnf
cat > /etc/my.cnf << EO_CONFIG_F
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-server=utf8
skip-character-set-client-handshake
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Mysql optimizations for Pandora FMS
# Please check the documentation in https://pandorafms.com for better results
max_allowed_packet = 64M
innodb_buffer_pool_size = $POOL_SIZE
innodb_lock_wait_timeout = 90
innodb_file_per_table
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_io_capacity = 300
thread_cache_size = 8
thread_stack = 256K
max_connections = 100
key_buffer_size=4M
read_buffer_size=128K
read_rnd_buffer_size=128K
sort_buffer_size=128K
join_buffer_size=4M
#skip-log-bin
sql_mode=""
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EO_CONFIG_F
execute_cmd "systemctl restart mysqld" "Configuring database engine"
execute_cmd "systemctl enable mysqld --now" "Enabling Database service"
fi
export MYSQL_PWD=$DBPASS
#Define packages
if [ "$PANDORA_LTS" -eq '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_server-7.0NG.noarch.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/LTS/pandorafms_console-7.0NG.noarch.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm"
elif [ "$PANDORA_LTS" -ne '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.x86_64.rpm"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.x86_64.rpm"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm"
fi
# if beta is enable
if [ "$PANDORA_BETA" -eq '1' ] ; then
PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_server-latest.x86_64.rpm"
PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandora_enterprise_nightlies/pandorafms_console-latest.x86_64.rpm"
PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux_bin-7.0NG.x86_64.rpm"
fi
# Downloading Pandora Packages
execute_cmd "curl -LSs --output pandorafms_server-7.0NG.noarch.rpm ${PANDORA_SERVER_PACKAGE}" "Downloading Pandora FMS Server community"
execute_cmd "curl -LSs --output pandorafms_console-7.0NG.noarch.rpm ${PANDORA_CONSOLE_PACKAGE}" "Downloading Pandora FMS Console community"
execute_cmd "curl -LSs --output pandorafms_agent_linux-7.0NG.noarch.rpm ${PANDORA_AGENT_PACKAGE}" "Downloading Pandora FMS Agent community"
# Install Pandora
execute_cmd "dnf install -y $HOME/pandora_deploy_tmp/pandorafms_console*.rpm $HOME/pandora_deploy_tmp/pandorafms_agent*.rpm" "Installing Pandora FMS packages"
execute_cmd "rpm -i --nodeps $HOME/pandora_deploy_tmp/pandorafms_server-7.0NG.noarch.rpm " "Installing Pandora FMS Server package"
# Enable Services
execute_cmd "systemctl enable httpd --now" "Enabling HTTPD service"
execute_cmd "systemctl enable php-fpm --now" "Enabling PHP-FPM service"
# Populate Database
echo -en "${cyan}Loading pandoradb.sql to $DBNAME database...${reset}"
mysql -u$DBUSER -P$DBPORT -h$DBHOST $DBNAME < $PANDORA_CONSOLE/pandoradb.sql &>> "$LOGFILE"
check_cmd_status 'Error Loading database schema'
echo -en "${cyan}Loading pandoradb_data.sql to $DBNAME database...${reset}"
mysql -u$DBUSER -P$DBPORT -h$DBHOST $DBNAME < $PANDORA_CONSOLE/pandoradb_data.sql &>> "$LOGFILE"
check_cmd_status 'Error Loading database schema data'
# Configure console
cat > $PANDORA_CONSOLE/include/config.php << EO_CONFIG_F
<?php
\$config["dbtype"] = "mysql";
\$config["dbname"]="$DBNAME";
\$config["dbuser"]="$DBUSER";
\$config["dbpass"]="$DBPASS";
\$config["dbhost"]="$DBHOST";
\$config["homedir"]="$PANDORA_CONSOLE";
\$config["homeurl"]="/pandora_console";
error_reporting(0);
\$ownDir = dirname(__FILE__) . '/';
include (\$ownDir . "config_process.php");
EO_CONFIG_F
cat > /etc/httpd/conf.d/pandora.conf << EO_CONFIG_F
ServerTokens Prod
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
EO_CONFIG_F
# Temporal quitar htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/images/.htaccess
sed -i -e "s/php_flag engine off//g" $PANDORA_CONSOLE/attachment/.htaccess
# Fixing console permissions
chmod 600 $PANDORA_CONSOLE/include/config.php
chown apache. $PANDORA_CONSOLE/include/config.php
mv $PANDORA_CONSOLE/install.php $PANDORA_CONSOLE/install.done &>> "$LOGFILE"
# Prepare php.ini
sed -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini
sed -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini
sed -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini
sed -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini
sed -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini
#adding 900s to httpd timeout and 300 to ProxyTimeout
echo 'TimeOut 900' > /etc/httpd/conf.d/timeout.conf
echo 'ProxyTimeout 300' >> /etc/httpd/conf.d/timeout.conf
cat > /var/www/html/index.html << EOF_INDEX
<meta HTTP-EQUIV="REFRESH" content="0; url=/pandora_console/">
EOF_INDEX
execute_cmd "systemctl restart httpd" "Restarting httpd after configuration"
execute_cmd "systemctl restart php-fpm" "Restarting php-fpm after configuration"
# prepare snmptrapd
cat > /etc/snmp/snmptrapd.conf << EOF
authCommunity log public
disableAuthorization yes
EOF
# Prepare Server conf
sed -i -e "s/^dbhost.*/dbhost $DBHOST/g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbname.*/dbname $DBNAME/g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbuser.*/dbuser $DBUSER/g" $PANDORA_SERVER_CONF
sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF
sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF
sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF
#check fping
fping_bin=$(which fping)
execute_cmd "[ $fping_bin ]" "Check fping location: $fping_bin"
if [ "$fping_bin" != "" ]; then
sed -i -e "s|^fping.*|fping $fping_bin|g" $PANDORA_SERVER_CONF
fi
# Enable agent remote config
sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF
# Kernel optimization
if [ "$SKIP_KERNEL_OPTIMIZATIONS" -eq '0' ] ; then
old_sysctl_file=$(cat /etc/sysctl.conf)
cat >> /etc/sysctl.conf <<EO_KO
# Pandora FMS Optimization
# default=5
net.ipv4.tcp_syn_retries = 3
# default=5
net.ipv4.tcp_synack_retries = 3
# default=1024
net.ipv4.tcp_max_syn_backlog = 65536
# default=124928
net.core.wmem_max = 8388608
# default=131071
net.core.rmem_max = 8388608
# default = 128
net.core.somaxconn = 1024
# default = 20480
net.core.optmem_max = 81920
EO_KO
echo -en "${cyan}Applying Kernel optimization... ${reset}"
sysctl --system &>> $LOGFILE
if [ $? -ne 0 ]; then
echo -e "${red}Fail${reset}"
echo -e "${yellow}Your kernel could not be optimized, you may be running this script in a virtualized environment with no support for accessing the kernel.${reset}"
echo -e "${yellow}This system can be used for testing but is not recommended for a production environment.${reset}"
echo "$old_sysctl_file" > old_sysctl_file
else
echo -e "${green}OK${reset}"
fi
fi
# Fix pandora_server.{log,error} permissions to allow Console check them
chown pandora:apache /var/log/pandora
chmod g+s /var/log/pandora
cat > /etc/logrotate.d/pandora_server <<EO_LR
/var/log/pandora/pandora_server.log
/var/log/pandora/web_socket.log
/var/log/pandora/pandora_server.error {
su root apache
weekly
missingok
size 300000
rotate 3
maxage 90
compress
notifempty
copytruncate
create 660 pandora apache
}
/var/log/pandora/pandora_snmptrap.log {
su root apache
weekly
missingok
size 500000
rotate 1
maxage 30
notifempty
copytruncate
create 660 pandora apache
}
EO_LR
cat > /etc/logrotate.d/pandora_agent <<EO_LRA
/var/log/pandora/pandora_agent.log {
su root apache
weekly
missingok
size 300000
rotate 3
maxage 90
compress
notifempty
copytruncate
}
EO_LRA
chmod 0644 /etc/logrotate.d/pandora_server
chmod 0644 /etc/logrotate.d/pandora_agent
# Enable pandora ha service
systemctl enable pandora_server --now &>> "$LOGFILE"
execute_cmd "/etc/init.d/pandora_server start" "Starting Pandora FMS Server"
# starting tentacle server
systemctl enable tentacle_serverd &>> "$LOGFILE"
execute_cmd "service tentacle_serverd start" "Starting Tentacle Server"
# Enabling console cron
execute_cmd "echo \"* * * * * root wget -q -O - --no-check-certificate --load-cookies /tmp/cron-session-cookies --save-cookies /tmp/cron-session-cookies --keep-session-cookies http://127.0.0.1/pandora_console/cron.php >> $PANDORA_CONSOLE/log/cron.log\" >> /etc/crontab" "Enabling Pandora FMS Console cron"
echo "* * * * * root wget -q -O - --no-check-certificate --load-cookies /tmp/cron-session-cookies --save-cookies /tmp/cron-session-cookies --keep-session-cookies http://127.0.0.1/pandora_console/cron.php >> $PANDORA_CONSOLE/log/cron.log" >> /etc/crontab
## Enabling agent
systemctl enable pandora_agent_daemon &>> "$LOGFILE"
execute_cmd "systemctl start pandora_agent_daemon" "Starting Pandora FMS Agent"
# Enable postfix
systemctl enable postfix --now &>> "$LOGFILE"
#SSH banner
[ "$(curl -s ifconfig.me)" ] && ipplublic=$(curl -s ifconfig.me)
cat > /etc/issue.net << EOF_banner
Welcome to Pandora FMS appliance on RHEL/Rocky Linux 8
------------------------------------------
Go to Public http://$ipplublic/pandora_console to login web console
$(ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v "172.17.0.1" | awk '{print $2}' | awk -F '/' '{print "Go to Local http://"$1"/pandora_console to login web console"}')
You can find more information at http://pandorafms.com
EOF_banner
rm -f /etc/issue
ln -s /etc/issue.net /etc/issue
echo 'Banner /etc/issue.net' >> /etc/ssh/sshd_config
# Remove temporary files
execute_cmd "echo done" "Pandora FMS Community installed"
cd
execute_cmd "rm -rf $HOME/pandora_deploy_tmp" "Removing temporary files"
# Print nice finish message
GREEN='\033[01;32m'
NONE='\033[0m'
printf " -> Go to Public ${green}http://"$ipplublic"/pandora_console${reset} to manage this server"
ip addr | grep -w "inet" | grep -v "127.0.0.1" | grep -v -e "172.1[0-9].0.1" | awk '{print $2}' | awk -v g=$GREEN -v n=$NONE -F '/' '{printf "\n -> Go to Local "g"http://"$1"/pandora_console"n" to manage this server \n -> Use these credentials to log in Pandora Console "g"[ User: admin / Password: pandora ]"n" \n"}'

View File

@ -23,7 +23,7 @@ rm -f $LOGFILE &> /dev/null # remove last log before start
# define default variables
[ "$TZ" ] || TZ="Europe/Madrid"
[ "$PHPVER" ] || PHPVER=8.0
[ "$PHPVER" ] || PHPVER=8.2
[ "$DBHOST" ] || DBHOST=127.0.0.1
[ "$DBNAME" ] || DBNAME=pandora
[ "$DBUSER" ] || DBUSER=pandora
@ -50,6 +50,10 @@ green="\e[0;92m"
cyan="\e[0;36m"
reset="\e[0m"
#force lts to install php 8.0
[ "$PANDORA_LTS" -eq '1' ] && PHPVER=8.0
# Functions
execute_cmd () {
@ -367,7 +371,7 @@ ln -s /usr/bin/fping /usr/sbin/fping &>> "$LOGFILE"
# Chrome
rm -f /usr/bin/chromium-browser &>> "$LOGFILE"
CHROME_VERSION=google-chrome-stable_110.0.5481.177-1_amd64.deb
CHROME_VERSION=google-chrome-stable_122.0.6261.128-1_amd64.deb
execute_cmd "wget https://dl.google.com/linux/deb/pool/main/g/google-chrome-stable/${CHROME_VERSION}" "Downloading google chrome"
execute_cmd "apt install -y ./${CHROME_VERSION}" "Intalling google chrome"
execute_cmd "ln -s /usr/bin/google-chrome /usr/bin/chromium-browser" "Creating /usr/bin/chromium-browser Symlink"
@ -526,7 +530,7 @@ if [ "$PANDORA_LTS" -eq '1' ] ; then
elif [ "$PANDORA_LTS" -ne '1' ] ; then
[ "$PANDORA_SERVER_PACKAGE" ] || PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_server-7.0NG.tar.gz"
[ "$PANDORA_CONSOLE_PACKAGE" ] || PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_console-7.0NG.tar.gz"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE=" https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.x86_64.tar.gz"
[ "$PANDORA_AGENT_PACKAGE" ] || PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.x86_64.tar.gz"
fi
if [ "$PANDORA_BETA" -eq '1' ] ; then
@ -597,6 +601,7 @@ EOF_PARAM
a2enmod ssl &>> "$LOGFILE"
a2enmod headers &>> "$LOGFILE"
a2enmod rewrite &>> "$LOGFILE"
a2enconf ssl-params &>> "$LOGFILE"
a2ensite default-ssl &>> "$LOGFILE"
a2enconf ssl-params &>> "$LOGFILE"
@ -636,24 +641,14 @@ EO_CONFIG_F
#Enable allow Override
cat > /etc/apache2/conf-enabled/pandora_security.conf << EO_CONFIG_F
ServerTokens Prod
<Directory "/var/www/html">
Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
EO_CONFIG_F
#Enable quickshell proxy
cat >> /etc/apache2/mods-enabled/00-proxy.conf << 'EO_HTTPD_WSTUNNEL'
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
ProxyPass /ws ws://127.0.0.1:8080
ProxyPassReverse /ws ws://127.0.0.1:8080
EO_HTTPD_WSTUNNEL
# Fixing console permissions
chmod 600 $PANDORA_CONSOLE/include/config.php &>> "$LOGFILE"
chown -R www-data:www-data $PANDORA_CONSOLE &>> "$LOGFILE"
@ -808,16 +803,6 @@ EO_LRA
chmod 0644 /etc/logrotate.d/pandora_server
chmod 0644 /etc/logrotate.d/pandora_agent
# Add websocket engine start script.
mv /var/www/html/pandora_console/pandora_websocket_engine /etc/init.d/ &>> "$LOGFILE"
chmod +x /etc/init.d/pandora_websocket_engine
# Start Websocket engine
/etc/init.d/pandora_websocket_engine start &>> "$LOGFILE"
# Configure websocket to be started at start.
systemctl enable pandora_websocket_engine &>> "$LOGFILE"
# Enable pandora ha service
execute_cmd "/etc/init.d/pandora_server start" "Starting Pandora FMS Server"
systemctl enable pandora_server &>> "$LOGFILE"
@ -850,6 +835,11 @@ systemctl enable postfix --now &>> "$LOGFILE"
systemctl disable --now snmptrapd &>> "$LOGFILE"
systemctl disable --now snmptrapd.socket &>> "$LOGFILE"
# Adding legacy to openssl
sed -i '/default = default_sect/a legacy = legacy_sect' /etc/ssl/openssl.cnf
sed -i 's/# activate = 1/activate = 1/' /etc/ssl/openssl.cnf
sed -i '/activate = 1/a [legacy_sect]\nactivate = 1' /etc/ssl/openssl.cnf
#SSH banner
[ "$(curl -s ifconfig.me)" ] && ipplublic=$(curl -s ifconfig.me)

View File

@ -116,7 +116,6 @@ RUN dnf install -y --setopt=tsflags=nodocs \
"perl(Sys::Syslog)" \
"perl(DBI)" \
"perl(XML::Simple)" \
"perl(Geo::IP)" \
"perl(IO::Socket::INET6)" \
"perl(XML::Twig)" \
expect \
@ -135,7 +134,7 @@ RUN dnf install -y http://firefly.artica.es/centos8/perl-Crypt-OpenSSL-AES-0.02-
# Instant client Oracle
RUN dnf install -y https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm https://download.oracle.com/otn_software/linux/instantclient/19800/oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm
# Install IPAM dependencies
RUN dnf install -y "perl(NetAddr::IP)" "perl(Sys::Syslog)" "perl(DBI)" "perl(XML::Simple)" "perl(Geo::IP)" "perl(IO::Socket::INET6)" "perl(XML::Twig)" "perl(DBD::mysql)" --setopt=tsflags=nodocs
RUN dnf install -y "perl(NetAddr::IP)" "perl(Sys::Syslog)" "perl(DBI)" "perl(XML::Simple)" "perl(IO::Socket::INET6)" "perl(XML::Twig)" "perl(DBD::mysql)" --setopt=tsflags=nodocs
EXPOSE 80 443 41121 162/udp

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.775-240223
Version: 7.0NG.776-240405
Architecture: all
Priority: optional
Section: admin

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.775
%define release 240223
%define version 7.0NG.776
%define release 240405
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -4,8 +4,8 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.775
%define release 240223
%define version 7.0NG.776
%define release 240405
%define debug_package %{nil}
Summary: Pandora FMS Linux agent, binary version

View File

@ -4,8 +4,8 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.775
%define release 240223
%define version 7.0NG.776
%define release 240405
%define debug_package %{nil}
Summary: Pandora FMS Linux agent, binary version

View File

@ -4,8 +4,8 @@
%global __os_install_post %{nil}
%define name pandorafms_agent_linux_bin
%define source_name pandorafms_agent_linux
%define version 7.0NG.775
%define release 240223
%define version 7.0NG.776
%define release 240405
Summary: Pandora FMS Linux agent, binary version
Name: %{name}

View File

@ -3,8 +3,8 @@
#
%global __os_install_post %{nil}
%define name pandorafms_agent_linux
%define version 7.0NG.775
%define release 240223
%define version 7.0NG.776
%define release 240405
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

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

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2023 Pandora FMS
# Version 7.0NG.775
# Version 7.0NG.776
# This program is Free Software, you can redistribute it and/or modify it
# under the terms of the GNU General Public Licence as published by the Free Software
# Foundation; either version 2 of the Licence or any later version
@ -180,20 +180,20 @@ module_group Networking
module_end
# Get logs from System source.
module_begin
module_name Eventlog_System
module_type log
module_logevent
module_source System
module_end
# module_begin
# module_name Eventlog_System
# module_type log
# module_logevent
# module_source System
# module_end
# Get logs from Security source.
module_begin
module_name Eventlog_Security
module_type log
module_logevent
module_source Security
module_end
# module_begin
# module_name Eventlog_Security
# module_type log
# module_logevent
# module_source Security
# module_end
# Example plugin to retrieve drive usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df_percent_used.vbs"
@ -526,7 +526,8 @@ module_plugin "%PROGRAMFILES%\Pandora_Agent\util\autodiscover.exe" --default
# Hardening plugin for security compliance analysis.
#module_begin
#module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_hardening.exe -t 150"
#module_plugin "%PROGRAMFILES%\Pandora_Agent\util\pandora_hardening.exe" -t 150
#module_wait_timeout 5
#module_absoluteinterval 7d
#module_end

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:db207ef67053764be7e9b42cd04ea5509cc2a023548aab1c037745ca277b68a3
size 4858753
oid sha256:520619d823dd5396cc90de59e745d9ab3872d25d85358c9abb4890987b5f5426
size 4859595

View File

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

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.775 Build 240223")
#define PANDORA_VERSION ("7.0NG.776 Build 240405")
string pandora_path;
string pandora_dir;
@ -53,6 +53,9 @@ Key_Value::parseLine (string str) {
string trimmedstr;
trimmedstr = trim (str);
if (trimmedstr == "") {
return;
}
/* Check if the string has " */
pos = trimmedstr.find ("\"");

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Pandora FMS"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.775(Build 240223))"
VALUE "ProductVersion", "(7.0NG.776(Build 240405))"
VALUE "FileVersion", "1.0.0.0"
END
END

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.775-240223
Version: 7.0NG.776-240405
Architecture: all
Priority: optional
Section: admin

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -0,0 +1,16 @@
html {
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
margin: 0;
background: #fafafa;
}

View File

@ -0,0 +1,29 @@
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Pandora FMS: API documentation</title>
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" />
<link rel="stylesheet" type="text/css" href="index.css" />
<link
rel="icon"
type="image/png"
href="./favicon-32x32.png"
sizes="32x32"
/>
<link
rel="icon"
type="image/png"
href="./favicon-16x16.png"
sizes="16x16"
/>
</head>
<body>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js" charset="UTF-8"></script>
<script src="./swagger-ui-standalone-preset.js" charset="UTF-8"></script>
<script src="./swagger-initializer.js" charset="UTF-8"></script>
</body>
</html>

View File

@ -0,0 +1,96 @@
ramda: 361.78 KB (5.92%)
ramda-adjunct: 257.62 KB (4.21%)
lodash: 253.56 KB (4.15%)
autolinker: 203.32 KB (3.33%)
@swagger-api/apidom-ns-openapi-3-0: 201.95 KB (3.30%)
swagger-client: 172.85 KB (2.83%)
cookie: 5.16 KB (2.98%)
is-plain-object: 758 B (0.428%)
<self>: 166.96 KB (96.6%)
@swagger-api/apidom-ns-openapi-3-1: 153.37 KB (2.51%)
immutable: 139.01 KB (2.27%)
react-dom: 129.98 KB (2.13%)
remarkable: 125.56 KB (2.05%)
highlight.js: 111.85 KB (1.83%)
js-yaml: 105.01 KB (1.72%)
readable-stream: 96.66 KB (1.58%)
@swagger-api/apidom-reference: 90.42 KB (1.48%)
core-js-pure: 82.79 KB (1.35%)
dompurify: 63.43 KB (1.04%)
minim: 57.35 KB (0.938%)
buffer: 56.99 KB (0.932%)
@swagger-api/apidom-ns-json-schema-draft-4: 54.24 KB (0.887%)
@swagger-api/apidom-core: 50.31 KB (0.823%)
@swagger-api/apidom-ast: 47.25 KB (0.773%)
react-syntax-highlighter: 40.15 KB (0.657%)
react-redux: 36.88 KB (0.603%)
fast-json-patch: 31.89 KB (0.522%)
qs: 26.61 KB (0.435%)
reselect: 21.43 KB (0.350%)
short-unique-id: 18.88 KB (0.309%)
sha.js: 18.57 KB (0.304%)
object-inspect: 18.44 KB (0.302%)
redux: 16.37 KB (0.268%)
url-parse: 16.23 KB (0.266%)
tslib: 15.87 KB (0.260%)
events: 14.54 KB (0.238%)
get-intrinsic: 13.01 KB (0.213%)
zenscroll: 12.31 KB (0.201%)
react-debounce-input: 11.95 KB (0.195%)
react-immutable-proptypes: 11.82 KB (0.193%)
ret: 10.82 KB (0.177%)
lodash.debounce: 10.53 KB (0.172%)
unraw: 9.9 KB (0.162%)
string_decoder: 9.24 KB (0.151%)
xml: 7.39 KB (0.121%)
react-copy-to-clipboard: 7.33 KB (0.120%)
traverse: 7.15 KB (0.117%)
react: 6.94 KB (0.113%)
@swagger-api/apidom-json-pointer: 6.39 KB (0.105%)
randexp: 6.15 KB (0.101%)
react-immutable-pure-component: 6.01 KB (0.0982%)
redux-immutable: 5.43 KB (0.0889%)
process: 5.29 KB (0.0865%)
drange: 4.8 KB (0.0786%)
lowlight: 4.42 KB (0.0724%)
scheduler: 4.33 KB (0.0708%)
@babel/runtime: 4.23 KB (0.0691%)
deep-extend: 4.19 KB (0.0686%)
deepmerge: 3.95 KB (0.0647%)
base64-js: 3.84 KB (0.0628%)
stream-browserify: 3.76 KB (0.0615%)
@swagger-api/apidom-error: 3.36 KB (0.0549%)
side-channel: 3.31 KB (0.0542%)
copy-to-clipboard: 3.29 KB (0.0537%)
format: 3.26 KB (0.0533%)
stampit: 3.16 KB (0.0516%)
css.escape: 3.08 KB (0.0504%)
serialize-error: 2.93 KB (0.0479%)
define-data-property: 2.77 KB (0.0453%)
prop-types: 2.6 KB (0.0425%)
querystringify: 2.5 KB (0.0410%)
xml-but-prettier: 2.17 KB (0.0354%)
has-symbols: 2.13 KB (0.0348%)
function-bind: 2.12 KB (0.0346%)
ieee754: 2.1 KB (0.0344%)
@braintree/sanitize-url: 1.98 KB (0.0324%)
safe-buffer: 1.63 KB (0.0267%)
call-bind: 1.59 KB (0.0260%)
util-deprecate: 1.58 KB (0.0258%)
randombytes: 1.54 KB (0.0252%)
js-file-download: 1.52 KB (0.0248%)
classnames: 1.49 KB (0.0244%)
use-sync-external-store: 1.28 KB (0.0210%)
repeat-string: 1.18 KB (0.0194%)
set-function-length: 1.14 KB (0.0187%)
@babel/runtime-corejs3: 878 B (0.0140%)
has-property-descriptors: 817 B (0.0130%)
toggle-selection: 780 B (0.0125%)
inherits: 753 B (0.0120%)
requires-port: 753 B (0.0120%)
fault: 691 B (0.0110%)
gopd: 263 B (0.00420%)
hasown: 234 B (0.00374%)
has-proto: 197 B (0.00315%)
object-inspect|.: 15 B (0.000240%)
<self>: 2.72 MB (45.5%)

View File

@ -0,0 +1,14 @@
readable-stream: 96.66 KB (6.16%)
buffer: 56.99 KB (3.63%)
sha.js: 18.57 KB (1.18%)
events: 14.54 KB (0.926%)
string_decoder: 9.24 KB (0.589%)
xml: 7.39 KB (0.471%)
process: 5.29 KB (0.337%)
deep-extend: 4.19 KB (0.267%)
stream-browserify: 3.76 KB (0.239%)
safe-buffer: 1.63 KB (0.104%)
util-deprecate: 1.58 KB (0.100%)
randombytes: 1.54 KB (0.0981%)
inherits: 753 B (0.0468%)
<self>: 1.32 MB (85.9%)

View File

@ -0,0 +1,96 @@
ramda: 361.78 KB (5.92%)
ramda-adjunct: 257.62 KB (4.21%)
lodash: 253.56 KB (4.15%)
autolinker: 203.32 KB (3.33%)
@swagger-api/apidom-ns-openapi-3-0: 201.95 KB (3.30%)
swagger-client: 172.85 KB (2.83%)
cookie: 5.16 KB (2.98%)
is-plain-object: 758 B (0.428%)
<self>: 166.96 KB (96.6%)
@swagger-api/apidom-ns-openapi-3-1: 153.37 KB (2.51%)
immutable: 139.01 KB (2.27%)
react-dom: 129.98 KB (2.13%)
remarkable: 125.56 KB (2.05%)
highlight.js: 111.85 KB (1.83%)
js-yaml: 105.01 KB (1.72%)
readable-stream: 96.66 KB (1.58%)
@swagger-api/apidom-reference: 90.42 KB (1.48%)
core-js-pure: 82.79 KB (1.35%)
dompurify: 63.43 KB (1.04%)
minim: 57.35 KB (0.938%)
buffer: 56.99 KB (0.932%)
@swagger-api/apidom-ns-json-schema-draft-4: 54.24 KB (0.887%)
@swagger-api/apidom-core: 50.31 KB (0.823%)
@swagger-api/apidom-ast: 47.25 KB (0.773%)
react-syntax-highlighter: 40.15 KB (0.657%)
react-redux: 36.88 KB (0.603%)
fast-json-patch: 31.89 KB (0.522%)
qs: 26.61 KB (0.435%)
reselect: 21.43 KB (0.350%)
short-unique-id: 18.88 KB (0.309%)
sha.js: 18.57 KB (0.304%)
object-inspect: 18.44 KB (0.302%)
redux: 16.37 KB (0.268%)
url-parse: 16.23 KB (0.266%)
tslib: 15.87 KB (0.260%)
events: 14.54 KB (0.238%)
get-intrinsic: 13.01 KB (0.213%)
zenscroll: 12.31 KB (0.201%)
react-debounce-input: 11.95 KB (0.195%)
react-immutable-proptypes: 11.82 KB (0.193%)
ret: 10.82 KB (0.177%)
lodash.debounce: 10.53 KB (0.172%)
unraw: 9.9 KB (0.162%)
string_decoder: 9.24 KB (0.151%)
xml: 7.39 KB (0.121%)
react-copy-to-clipboard: 7.33 KB (0.120%)
traverse: 7.15 KB (0.117%)
react: 6.94 KB (0.113%)
@swagger-api/apidom-json-pointer: 6.39 KB (0.105%)
randexp: 6.15 KB (0.101%)
react-immutable-pure-component: 6.01 KB (0.0982%)
redux-immutable: 5.43 KB (0.0889%)
process: 5.29 KB (0.0865%)
drange: 4.8 KB (0.0786%)
lowlight: 4.42 KB (0.0724%)
scheduler: 4.33 KB (0.0708%)
@babel/runtime: 4.23 KB (0.0691%)
deep-extend: 4.19 KB (0.0686%)
deepmerge: 3.95 KB (0.0647%)
base64-js: 3.84 KB (0.0628%)
stream-browserify: 3.76 KB (0.0615%)
@swagger-api/apidom-error: 3.36 KB (0.0549%)
side-channel: 3.31 KB (0.0542%)
copy-to-clipboard: 3.29 KB (0.0537%)
format: 3.26 KB (0.0533%)
stampit: 3.16 KB (0.0516%)
css.escape: 3.08 KB (0.0504%)
serialize-error: 2.93 KB (0.0479%)
define-data-property: 2.77 KB (0.0453%)
prop-types: 2.6 KB (0.0425%)
querystringify: 2.5 KB (0.0410%)
xml-but-prettier: 2.17 KB (0.0354%)
has-symbols: 2.13 KB (0.0348%)
function-bind: 2.12 KB (0.0346%)
ieee754: 2.1 KB (0.0344%)
@braintree/sanitize-url: 1.98 KB (0.0324%)
safe-buffer: 1.63 KB (0.0267%)
call-bind: 1.59 KB (0.0260%)
util-deprecate: 1.58 KB (0.0258%)
randombytes: 1.54 KB (0.0252%)
js-file-download: 1.52 KB (0.0248%)
classnames: 1.49 KB (0.0244%)
use-sync-external-store: 1.28 KB (0.0210%)
repeat-string: 1.18 KB (0.0194%)
set-function-length: 1.14 KB (0.0187%)
@babel/runtime-corejs3: 878 B (0.0140%)
has-property-descriptors: 817 B (0.0130%)
toggle-selection: 780 B (0.0125%)
inherits: 753 B (0.0120%)
requires-port: 753 B (0.0120%)
fault: 691 B (0.0110%)
gopd: 263 B (0.00420%)
hasown: 234 B (0.00374%)
has-proto: 197 B (0.00315%)
object-inspect|.: 15 B (0.000240%)
<self>: 2.72 MB (45.5%)

View File

@ -0,0 +1,95 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Swagger UI: OAuth2 Redirect</title>
</head>
<body>
<script>
"use strict";
function run() {
var oauth2 = window.opener.swaggerUIRedirectOauth2;
var sentState = oauth2.state;
var redirectUrl = oauth2.redirectUrl;
var isValid, qp, arr;
if (/code|token|error/.test(window.location.hash)) {
qp = window.location.hash.substring(1).replace("?", "&");
} else {
qp = location.search.substring(1);
}
arr = qp.split("&");
arr.forEach(function(v, i, _arr) {
_arr[i] = '"' + v.replace("=", '":"') + '"';
});
qp = qp
? JSON.parse("{" + arr.join() + "}", function(key, value) {
return key === "" ? value : decodeURIComponent(value);
})
: {};
isValid = qp.state === sentState;
if (
(oauth2.auth.schema.get("flow") === "accessCode" ||
oauth2.auth.schema.get("flow") === "authorizationCode" ||
oauth2.auth.schema.get("flow") === "authorization_code") &&
!oauth2.auth.code
) {
if (!isValid) {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "warning",
message:
"Authorization may be unsafe, passed state was changed in server. The passed state wasn't returned from auth server."
});
}
if (qp.code) {
delete oauth2.state;
oauth2.auth.code = qp.code;
oauth2.callback({ auth: oauth2.auth, redirectUrl: redirectUrl });
} else {
let oauthErrorMsg;
if (qp.error) {
oauthErrorMsg =
"[" +
qp.error +
"]: " +
(qp.error_description
? qp.error_description + ". "
: "no accessCode received from the server. ") +
(qp.error_uri ? "More info: " + qp.error_uri : "");
}
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message:
oauthErrorMsg ||
"[Authorization failed]: no accessCode received from the server."
});
}
} else {
oauth2.callback({
auth: oauth2.auth,
token: qp,
isValid: isValid,
redirectUrl: redirectUrl
});
}
window.close();
}
if (document.readyState !== "loading") {
run();
} else {
document.addEventListener("DOMContentLoaded", function() {
run();
});
}
</script>
</body>
</html>

View File

@ -0,0 +1,41 @@
window.onload = function() {
//<editor-fold desc="Changeable Configuration Block">
const UrlMutatorPlugin = system => ({
rootInjects: {
setServer: server => {
const jsonSpec = system.getState().toJSON().spec.json;
const endpoint = window.location.pathname.replace(
"/api/documentation/",
""
);
const servers = [
{
url: endpoint + jsonSpec.servers[0].url,
description: "Pandora Fms Api"
}
];
const newJsonSpec = Object.assign({}, jsonSpec, { servers });
return system.specActions.updateJsonSpec(newJsonSpec);
}
}
});
// the following lines will be replaced by docker/configurator, when it runs in a docker-container
const ui = SwaggerUIBundle({
url: "../v2/swagger.json",
dom_id: "#swagger-ui",
docExpansion: "none",
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl, UrlMutatorPlugin],
layout: "StandaloneLayout",
onComplete: () => {
window.ui.setServer();
}
});
window.ui = ui;
//</editor-fold>
};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,120 @@
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/*!
* @description Recursive object extending
* @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
* @license MIT
*
* The MIT License (MIT)
*
* Copyright (c) 2013-2018 Viacheslav Lotsmanov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*!
* cookie
* Copyright(c) 2012-2014 Roman Shtylman
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
/*!
* https://github.com/Starcounter-Jack/JSON-Patch
* (c) 2017-2021 Joachim Wester
* MIT license
*/
/*!
* https://github.com/Starcounter-Jack/JSON-Patch
* (c) 2017-2022 Joachim Wester
* MIT licensed
*/
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* repeat-string <https://github.com/jonschlinkert/repeat-string>
*
* Copyright (c) 2014-2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*! @license DOMPurify 3.0.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.8/LICENSE */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* use-sync-external-store-with-selector.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
/*!
* @description Recursive object extending
* @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
* @license MIT
*
* The MIT License (MIT)
*
* Copyright (c) 2013-2018 Viacheslav Lotsmanov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,120 @@
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/*!
* @description Recursive object extending
* @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
* @license MIT
*
* The MIT License (MIT)
*
* Copyright (c) 2013-2018 Viacheslav Lotsmanov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*!
* cookie
* Copyright(c) 2012-2014 Roman Shtylman
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
/*!
* https://github.com/Starcounter-Jack/JSON-Patch
* (c) 2017-2021 Joachim Wester
* MIT license
*/
/*!
* https://github.com/Starcounter-Jack/JSON-Patch
* (c) 2017-2022 Joachim Wester
* MIT licensed
*/
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* repeat-string <https://github.com/jonschlinkert/repeat-string>
*
* Copyright (c) 2014-2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
/*! @license DOMPurify 3.0.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.8/LICENSE */
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/**
* @license React
* use-sync-external-store-with-selector.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,22 @@
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<meta http-equiv="REFRESH" content="0; url=documentation" />

View File

@ -0,0 +1,5 @@
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>

View File

@ -0,0 +1,25 @@
<?php
use DI\ContainerBuilder;
use Slim\App;
require_once __DIR__.'/includeDependencies.php';
$containerBuilder = new ContainerBuilder();
// Add DI container definitions.
$containerBuilder->addDefinitions(__DIR__.'/container.php');
// Create DI container instance.
$container = $containerBuilder->build();
// Create Slim App instance.
$app = $container->get(App::class);
// Set attachment directory.
$config['attachment_directory'] = __DIR__.'/../../../attachment';
// Register routes.
(require __DIR__.'/routes.php')($app);
return $app;

View File

@ -0,0 +1,62 @@
<?php
use PandoraFMS\Modules\Authentication\Repositories\TokenRepository;
use PandoraFMS\Modules\Authentication\Repositories\TokenRepositoryMySQL;
use PandoraFMS\Modules\Events\Repositories\EventRepository;
use PandoraFMS\Modules\Events\Repositories\EventRepositoryMySQL;
use PandoraFMS\Modules\Groups\Repositories\GroupRepository;
use PandoraFMS\Modules\Groups\Repositories\GroupRepositoryMySQL;
use PandoraFMS\Modules\PandoraITSM\Inventories\Repositories\PandoraITSMInventoryRepository;
use PandoraFMS\Modules\PandoraITSM\Inventories\Repositories\PandoraITSMInventoryRepositoryMySQL;
use PandoraFMS\Modules\Shared\Repositories\Repository;
use PandoraFMS\Modules\Shared\Repositories\RepositoryMySQL;
use PandoraFMS\Modules\Users\Repositories\UserRepository;
use PandoraFMS\Modules\Users\Repositories\UserRepositoryMySQL;
use Psr\Container\ContainerInterface;
use Slim\App;
use Slim\Factory\AppFactory;
return [
'settings' => function () {
return include __DIR__.'/settings.php';
},
App::class => function (ContainerInterface $container) {
AppFactory::setContainer($container);
$app = AppFactory::create();
$basePath = rtrim(
preg_replace(
'/(.*)public\/.*/',
'$1',
$_SERVER['SCRIPT_NAME']
),
'/'
);
$app->setBasePath($basePath);
// Register middleware.
(include __DIR__.'/middleware.php')($app, $container);
return $app;
},
Repository::class => function (ContainerInterface $container) {
return $container->get(RepositoryMySQL::class);
},
TokenRepository::class => function (ContainerInterface $container) {
return $container->get(TokenRepositoryMySQL::class);
},
UserRepository::class => function (ContainerInterface $container) {
return $container->get(UserRepositoryMySQL::class);
},
GroupRepository::class => function (ContainerInterface $container) {
return $container->get(GroupRepositoryMySQL::class);
},
EventRepository::class => function (ContainerInterface $container) {
return $container->get(EventRepositoryMySQL::class);
},
PandoraITSMInventoryRepository::class => function (ContainerInterface $container) {
return $container->get(PandoraITSMInventoryRepositoryMySQL::class);
},
];

View File

@ -0,0 +1,20 @@
<?php
require_once __DIR__.'/../../../vendor/autoload.php';
$exclude = ['tests'];
$pattern = '*.php';
$openapi = \OpenApi\Generator::scan(
\OpenApi\Util::finder(
[
__DIR__.'/..',
__DIR__.'/../../../include/lib/Modules',
],
$exclude,
$pattern
)
);
header('Content-Type: application/json');
file_put_contents(__DIR__.'/../public/swagger.json', $openapi->toJson());

View File

@ -0,0 +1,4 @@
<?php
require_once __DIR__.'/../../../vendor/autoload.php';
require_once __DIR__.'/../../../include/config.php';

View File

@ -0,0 +1,15 @@
<?php
global $config;
ob_start();
if (file_exists($config['homedir'].'/'.ENTERPRISE_DIR.'/load_enterprise.php') === true) {
$config['return_api_mode'] = true;
include_once $config['homedir'].'/'.ENTERPRISE_DIR.'/load_enterprise.php';
include_once $config['homedir'].'/'.ENTERPRISE_DIR.'/include/functions_login.php';
}
$error = ob_get_clean();
if (empty($error) === false) {
throw new Exception($error);
}

View File

@ -0,0 +1,99 @@
<?php
use PandoraFMS\Modules\Shared\Enums\HttpCodesEnum;
use PandoraFMS\Modules\Shared\Middlewares\AclListMiddleware;
use PandoraFMS\Modules\Shared\Middlewares\UserTokenMiddleware;
use Psr\Container\ContainerInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Psr\Log\LoggerInterface;
use Slim\App;
return function (App $app, ContainerInterface $container) {
// Parse json, form data and xml.
$app->addBodyParsingMiddleware();
// Add the Slim built-in routing middleware.
$app->addRoutingMiddleware();
// Authenticate Integria.
$beforeMiddleware = function (
Request $request,
RequestHandler $handler
) use (
$app,
$container
) {
$ipOrigin = $_SERVER['REMOTE_ADDR'];
$aclListMiddleware = $container->get(AclListMiddleware::class);
if ($aclListMiddleware->check($ipOrigin) === false) {
$response = $app->getResponseFactory()->createResponse();
$response->getBody()->write(
json_encode(['error' => __('IP %s is not in ACL list', $ipOrigin)])
);
$errorCode = HttpCodesEnum::UNAUTHORIZED;
$newResponse = $response->withStatus($errorCode);
return $newResponse;
}
$userTokenMiddleware = $container->get(UserTokenMiddleware::class);
if ($userTokenMiddleware->check($request) === false) {
$response = $app->getResponseFactory()->createResponse();
$response->getBody()->write(
json_encode(['error' => __('You need to be authenticated to perform this action')])
);
$errorCode = HttpCodesEnum::UNAUTHORIZED;
$newResponse = $response->withStatus($errorCode);
return $newResponse;
}
try {
include_once __DIR__.'/includeEnterpriseDependencies.php';
} catch (\Throwable $th) {
$response = $app->getResponseFactory()->createResponse();
$response->getBody()->write(
json_encode(['error' => __('Invalid License')])
);
$errorCode = HttpCodesEnum::UNAUTHORIZED;
$newResponse = $response->withStatus($errorCode);
return $newResponse;
}
$response = $handler->handle($request);
return $response;
};
$app->add($beforeMiddleware);
// Handle exceptions.
// Define Custom Error Handler.
$customErrorHandler = function (
Request $request,
Throwable $exception,
bool $displayErrorDetails,
bool $logErrors,
bool $logErrorDetails,
?LoggerInterface $logger=null
) use ($app) {
$logger?->error($exception->getMessage());
$response = $app->getResponseFactory()->createResponse();
$response->getBody()->write(
json_encode(['error' => $exception->getMessage()])
);
$errorCode = 500;
if (empty($exception->getCode()) === false) {
$errorCode = $exception->getCode();
}
$newResponse = $response->withStatus($errorCode);
return $newResponse;
};
// Add Error Middleware.
$errorMiddleware = $app->addErrorMiddleware(true, true, true);
$errorMiddleware->setDefaultErrorHandler($customErrorHandler);
};

View File

@ -0,0 +1,13 @@
<?php
use Slim\App;
return function (App $app) {
(include __DIR__.'/../../../include/lib/Modules/Authentication/routes.php')($app);
(include __DIR__.'/../../../include/lib/Modules/Events/routes.php')($app);
(include __DIR__.'/../../../include/lib/Modules/Groups/routes.php')($app);
(include __DIR__.'/../../../include/lib/Modules/Profiles/routes.php')($app);
(include __DIR__.'/../../../include/lib/Modules/Tags/routes.php')($app);
(include __DIR__.'/../../../include/lib/Modules/Users/routes.php')($app);
(include __DIR__.'/../../../include/lib/Modules/PandoraITSM/routes.php')($app);
};

View File

@ -0,0 +1,10 @@
<?php
require __DIR__.'/../../../include/config.php';
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', $config['homedir'].'/log/console.log');
return [];

View File

@ -0,0 +1,7 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

View File

@ -0,0 +1,3 @@
<?php
(require __DIR__.'/../config/bootstrap.php')->run();

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@
],
"config": {
"platform": {
"php": "8.0.2"
"php": "8.2"
}
},
"require": {
@ -18,7 +18,17 @@
"amphp/parallel-functions": "^1.0",
"chrome-php/chrome": "^1.8.1",
"artica/phpchartjs": "^1.0",
"tinymce/tinymce": "^6.4"
"tinymce/tinymce": "^6.4",
"slim/slim": "4.*",
"slim/psr7": "^1.6",
"nyholm/psr7": "^1.8",
"nyholm/psr7-server": "^1.1",
"guzzlehttp/psr7": "^2",
"laminas/laminas-diactoros": "^3.2",
"php-di/php-di": "^7.0",
"zircote/swagger-php": "^4.8",
"doctrine/annotations": "^2.0",
"ramsey/uuid": "^4.7"
},
"repositories": {
"phpchartjs": {

File diff suppressed because it is too large Load Diff

View File

@ -299,7 +299,7 @@ function agents_modules_load_js()
*
* @return void
*/
function mainAgentsModules()
function mainAgentsModules($params=[], $post_data=[])
{
global $config;
@ -352,29 +352,39 @@ function mainAgentsModules()
$updated_time = $updated_info;
$modulegroup = get_parameter('modulegroup', 0);
if ($post_data === []) {
$show_type = (int) get_parameter('show_type', 0);
$group_id = (int) get_parameter('group_id', 0);
$recursion = get_parameter('recursion', 0);
$modulegroup = get_parameter('modulegroup', 0);
if (get_parameter('modulegroup') != null) {
$agents_id = (array) get_parameter('id_agents2', null);
}
$selection_a_m = (int) get_parameter('selection_agent_module');
$modules_selected = (array) get_parameter('module', 0);
} else {
$show_type = (int) ($post_data['show_type'] ?? 0);
$group_id = (int) ($post_data['group_id'] ?? 0);
$recursion = ($post_data['recursion'] ?? 0);
$modulegroup = ($post_data['modulegroup'] ?? 0);
if ($modulegroup !== 0) {
$agents_id = (array) ($post_data['id_agents2'] ?? []);
}
$selection_a_m = ($post_data['selection_agent_module'] ?? '');
$modules_selected = ($post_data['module'] ?? []);
}
$refr = (int) get_parameter('refresh', 0);
// By default 30 seconds.
$recursion = get_parameter('recursion', 0);
$group_id = (int) get_parameter('group_id', 0);
$offset = (int) get_parameter('offset', 0);
$hor_offset = (int) get_parameter('hor_offset', 0);
$block = $config['block_size'];
if (intval($block) > 15) {
$block = '15';
}
if (get_parameter('modulegroup') != null) {
$agents_id = (array) get_parameter('id_agents2', null);
}
$selection_a_m = (int) get_parameter('selection_agent_module');
$modules_selected = (array) get_parameter('module', 0);
$block = (string) ($params['block_size'] ?? $hor_offset);
$update_item = (string) get_parameter('edit_item', '');
$save_serialize = (int) get_parameter('save_serialize', 0);
$full_modules_selected = explode(';', get_parameter('full_modules_selected', 0));
$full_agents_id = explode(';', get_parameter('full_agents_id', 0));
$show_type = (int) get_parameter('show_type', 0);
// In full screen there is no pagination neither filters.
if (( ($config['pure'] == 0 && $save_serialize) && $update_item == '' ) || ( ($config['pure'] == 1 && $save_serialize == 0) && $update_item == '' )) {
@ -572,6 +582,7 @@ function mainAgentsModules()
*/
if ($config['pure'] == 0) {
include_once 'include/class/HTML.class.php';
// Header.
ui_print_standard_header(
__('Agents/Modules'),
@ -895,7 +906,9 @@ function mainAgentsModules()
return;
}
echo '<table cellpadding="4" cellspacing="4" border="0" class="info_table mrgn_btn_20px" id="agents_modules_table">';
echo '<div id="div-agents-modules-table">';
echo '<div id="agents-modules-spinner" class="spinner-fixed"><span></span><span></span><span></span><span></span></div>';
echo '<table cellpadding="4" cellspacing="4" border="0" class="info_table mrgn_btn_20px invisible" id="agents_modules_table">';
echo '<tr>';
@ -1084,6 +1097,7 @@ function mainAgentsModules()
}
echo '</table>';
echo '</div>';
if ($show_type === 0) {
$show_legend = "<div class='legend_white'>";
@ -1114,4 +1128,66 @@ function mainAgentsModules()
extensions_add_operation_menu_option(__('Agents/Modules view'), 'estado', 'agents_modules/icon_menu.png', 'v1r1', 'view');
extensions_add_main_function('mainAgentsModules');
$pure = (int) get_parameter('pure', 0);
$hor_offset = (int) get_parameter('hor_offset', 0);
$offset = (int) get_parameter('offset', 0);
$sec2 = get_parameter('sec2');
if ($pure !== 0) {
extensions_add_main_function('mainAgentsModules');
if ($sec2 === 'extensions/agents_modules') {
echo '<script>
$(document).ready(function () {
$("#agents-modules-spinner").hide();
$("#agents_modules_table").show();
});
</script>';
}
}
if ($pure === 0) {
if (is_ajax()) {
$params = [];
$post_data = get_parameter('post_data', []);
$items_offset = get_parameter('items_offset', 15);
$params['block_size'] = $items_offset;
$params['offset'] = $offset;
$params['hor_offset'] = $hor_offset;
mainAgentsModules($params, $post_data);
return;
}
if ($sec2 === 'extensions/agents_modules') {
echo '<script>
$(document).ready(function () {
// Calc items per page.
const mainWidth = $("#page #main").width();
const itemsOffset = Math.floor((mainWidth - 240) / 46);
$.ajax({
url: "ajax.php",
data: {
page: "extensions/agents_modules",
post_data: '.json_encode($_POST).',
items_offset: itemsOffset,
offset: '.$offset.',
hor_offset: '.$hor_offset.',
},
dataType: "html",
success: function (data) {
$("#page > #main").html(data);
$("#agents-modules-spinner").hide();
$("#agents_modules_table").show();
menuActionButtonResizing();
},
error: function (error) {
console.error(error);
}
});
});
</script>';
}
}

View File

@ -196,6 +196,15 @@ function pandora_realtime_graphs()
[
'class' => 'action-buttons',
'content' => html_print_submit_button(
__('Filter'),
'filterbutton',
false,
[
'icon' => 'search',
'mode' => 'mini',
],
true
).html_print_submit_button(
__('Clear graph'),
'srcbutton',
false,

View File

@ -160,10 +160,6 @@
return +(Math.round(num + "e+2") + "e-2");
}
$("#graph").change(function() {
$("form#realgraph").submit();
});
$("#refresh").change(function() {
refresh = parseInt($("#refresh").val());
resetDataPooling();

View File

@ -1738,3 +1738,14 @@ extensions/files_repo/sql/files_repo.sql
extensions/files_repo
extensions/resource_exportation.php
extensions/resource_registration.php
enterprise/include/class/Aws.cloud.php
enterprise/include/class/Azure.cloud.php
enterprise/include/class/DB2.app.php
enterprise/include/class/Google.cloud.php
enterprise/include/class/MicrosoftSQLServer.app.php
enterprise/include/class/MySQL.app.php
enterprise/include/class/Oracle.app.php
enterprise/include/class/SAP.app.php
enterprise/include/class/VMware.app.php
enterprise/include/class/DatabaseHA.class.php
enterprise/godmode/servers/HA_cluster.php

View File

@ -1,65 +1,83 @@
[dashboard_data]
[prd_data]
type="dashboard"
name="Demo dashboard"
group="Demo dashboard"
[dashboard_items]
[tdashboard]
title[1]="Groups status"
type[1]="system_group_status"
x[1]="0"
y[1]="0"
width[1]="5"
height[1]="4"
id[14]="14"
name[14]="Demo&#x20;dashboard"
id_user[14]=""
id_group[14]="0"
active[14]="0"
cells[14]="7"
cells_slideshow[14]="0"
date_range[14]="0"
date_from[14]="0"
date_to[14]="0"
title[2]="Network map"
type[2]="network_map"
x[2]="5"
y[2]="0"
width[2]="7"
height[2]="6"
map_name[2]="Demo sunburst network map"
[twidget_dashboard]
title[3]="Module histogram"
type[3]="graph_module_histogram"
x[3]="0"
y[3]="4"
width[3]="5"
height[3]="2"
agent_name[3]="demo-global-agent-1"
module[3]="Host Alive"
interval[3]="86400"
id[55]="55"
position[55]="{\"x\":\"0\",\"y\":\"0\",\"width\":\"5\",\"height\":\"4\"}"
options[55]="{\"title\":\"Groups&#x20;status\",\"background\":\"#ffffff\",\"groupId\":[\"0\"],\"status\":[\"4,1,0,2\"],\"sunburst\":false}"
order[55]="0"
id_dashboard[55]="14"
id_widget[55]="{\"twidget\":{\"unique_name\":\"system_group_status\"}}"
prop_width[55]="5"
prop_height[55]="4"
title[4]="List of latest events"
type[4]="events_list"
x[4]="0"
y[4]="6"
width[4]="12"
height[4]="5"
id[56]="56"
position[56]="{\"x\":\"5\",\"y\":\"0\",\"width\":\"7\",\"height\":\"6\"}"
options[56]="{\"title\":\"Network&#x20;map\",\"background\":\"#ffffff\",\"networkmapId\":{\"tmap\":{\"name\":\"Demo&#x20;sunburst&#x20;network&#x20;map\"}},\"xOffset\":\"0\",\"yOffset\":\"0\",\"zoomLevel\":0.5}"
order[56]="1"
id_dashboard[56]="14"
id_widget[56]="{\"twidget\":{\"unique_name\":\"network_map\"}}"
prop_width[56]="7"
prop_height[56]="6"
title[5]="Top N events by agent"
type[5]="top_n_events_by_group"
x[5]="6"
y[5]="11"
width[5]="6"
height[5]="8"
id[57]="57"
position[57]="{\"x\":\"0\",\"y\":\"4\",\"width\":\"5\",\"height\":\"2\"}"
options[57]="{\"title\":\"Module&#x20;histogram\",\"background\":\"#ffffff\",\"id_group\":\"\",\"label\":\"\",\"agentId\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}},\"metaconsoleId\":\"0\",\"moduleId\":\"{\\"tagente_modulo\\":{\\"nombre\\":\\"Host&#x20;Alive\\",\\"id_agente\\":{\\"tagente\\":{\\"nombre\\":\\"demo-global-agent-1\\"}}}}\",\"period\":\"86400\",\"sizeLabel\":\"30\"}"
order[57]="2"
id_dashboard[57]="14"
id_widget[57]="{\"twidget\":{\"unique_name\":\"graph_module_histogram\"}}"
prop_width[57]="5"
prop_height[57]="2"
title[6]="Top N of agent modules"
type[6]="top_n"
x[6]="0"
y[6]="11"
width[6]="6"
height[6]="4"
agent_name[6]="cisco-.*"
module[6]=".*ifOutOctets"
interval[6]="86400"
id[58]="58"
position[58]="{\"x\":\"0\",\"y\":\"6\",\"width\":\"12\",\"height\":\"5\"}"
options[58]="{\"title\":\"List&#x20;of&#x20;latest&#x20;events\",\"background\":\"#ffffff\",\"eventType\":0,\"maxHours\":8,\"limit\":20,\"eventStatus\":-1,\"severity\":-1,\"groupId\":[\"\"],\"tagsId\":[\"\"],\"groupRecursion\":0,\"customFilter\":-1,\"columns_events_widget\":[\"mini_severity,evento,estado,agent_name,timestamp\",\"\"]}"
order[58]="3"
id_dashboard[58]="14"
id_widget[58]="{\"twidget\":{\"unique_name\":\"events_list\"}}"
prop_width[58]="12"
prop_height[58]="5"
id[59]="59"
position[59]="{\"x\":\"6\",\"y\":\"11\",\"width\":\"6\",\"height\":\"8\"}"
options[59]="{\"title\":\"Top&#x20;N&#x20;events&#x20;by&#x20;agent\",\"background\":\"#ffffff\",\"amountShow\":10,\"maxHours\":8,\"groupId\":[\"0\"],\"legendPosition\":\"bottom\",\"show_total_data\":0}"
order[59]="5"
id_dashboard[59]="14"
id_widget[59]="{\"twidget\":{\"unique_name\":\"top_n_events_by_group\"}}"
prop_width[59]="6"
prop_height[59]="8"
id[60]="60"
position[60]="{\"x\":\"0\",\"y\":\"11\",\"width\":\"6\",\"height\":\"4\"}"
options[60]="{\"title\":\"Top&#x20;N&#x20;of&#x20;agent&#x20;modules\",\"background\":\"#ffffff\",\"agent\":\"cisco-.*\",\"module\":\".*ifOutOctets\",\"period\":\"86400\",\"quantity\":\"10\",\"order\":\"2\",\"display\":\"0\",\"type_graph\":\"bar_vertical\",\"legend\":\"agent_module\"}"
order[60]="4"
id_dashboard[60]="14"
id_widget[60]="{\"twidget\":{\"unique_name\":\"top_n\"}}"
prop_width[60]="6"
prop_height[60]="4"
id[61]="61"
position[61]="{\"x\":\"0\",\"y\":\"15\",\"width\":\"6\",\"height\":\"4\"}"
options[61]="{\"title\":\"Top&#x20;N&#x20;of&#x20;agent&#x20;modules\",\"background\":\"#ffffff\",\"agent\":\"cisco-.*\",\"module\":\".*ifInOctets\",\"period\":\"86400\",\"quantity\":\"10\",\"order\":\"2\",\"display\":\"0\",\"type_graph\":\"bar_vertical\",\"legend\":\"agent_module\"}"
order[61]="6"
id_dashboard[61]="14"
id_widget[61]="{\"twidget\":{\"unique_name\":\"top_n\"}}"
prop_width[61]="6"
prop_height[61]="4"
title[7]="Top N of agent modules"
type[7]="top_n"
x[7]="0"
y[7]="15"
width[7]="6"
height[7]="4"
agent_name[7]="cisco-.*"
module[7]=".*ifInOctets"
interval[7]="86400"

View File

@ -1,16 +1,40 @@
[gis_data]
[prd_data]
type="gis_map"
name="Demo GIS map"
group="Demo servers"
zoom_level="6"
initial_latitude="40"
initial_longitude="-3"
initial_altitude="0"
default_latitude="40"
default_longitude="-3"
default_altitude="0"
[gis_layers]
[tgis_map]
id_tgis_map[2]="2"
map_name[2]="Demo&#x20;GIS&#x20;map"
initial_longitude[2]="-3"
initial_latitude[2]="40"
initial_altitude[2]="0"
zoom_level[2]="6"
map_background[2]=""
default_longitude[2]="-3"
default_latitude[2]="40"
default_altitude[2]="0"
group_id[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
default_map[2]="0"
[tgis_map_layer]
id_tmap_layer[2]="2"
layer_name[2]="Demo&#x20;servers"
view_layer[2]="1"
layer_stack_order[2]="0"
tgis_map_id_tgis_map[2]="2"
tgrupo_id_grupo[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
[tgis_map_layer_groups]
[tgis_map_layer_has_tagente]
[tgis_map_has_tgis_map_con]
tgis_map_id_tgis_map[2-1]="2"
tgis_map_con_id_tmap_con[2-1]="{\"tgis_map_connection\":{\"conection_name\":\"OpenStreetMap (MapQuest Open)\"}}"
modification_time[2-1]="2024-02-07 18:23:27"
default_map_connection[2-1]="0"
name[1]="Demo servers"
group[1]="Demo servers"

View File

@ -1,21 +1,59 @@
[graph_data]
[prd_data]
type="custom_graph"
name="Linux CPU Load"
group="Demo servers"
description="This is a demo custom graph for linux agents CPU Load"
type="s_area"
periodicity="86400"
[graph_items]
[tgraph]
agent_name[1]="linux-1"
module[1]="CPU Load"
id_graph[1]="1"
id_user[1]=""
name[1]="Linux&#x20;CPU&#x20;Load"
description[1]="This&#x20;is&#x20;a&#x20;demo&#x20;custom&#x20;graph&#x20;for&#x20;linux&#x20;agents&#x20;CPU&#x20;Load"
period[1]="86400"
width[1]="0"
height[1]="0"
private[1]="0"
events[1]="0"
stacked[1]="1"
id_group[1]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
id_graph_template[1]="0"
percentil[1]="0"
summatory_series[1]="0"
average_series[1]="0"
modules_series[1]="0"
fullscale[1]="0"
agent_name[2]="linux-2"
module[2]="CPU Load"
[tgraph_source]
agent_name[3]="linux-3"
module[3]="CPU Load"
id_gs[1]="1"
id_graph[1]="1"
id_server[1]="0"
id_agent_module[1]="{\"tagente_modulo\":{\"nombre\":\"CPU&#x20;Load\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-1\"}}}}"
weight[1]="1"
label[1]=""
field_order[1]="0"
id_gs[2]="2"
id_graph[2]="1"
id_server[2]="0"
id_agent_module[2]="{\"tagente_modulo\":{\"nombre\":\"CPU&#x20;Load\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-2\"}}}}"
weight[2]="1"
label[2]=""
field_order[2]="0"
id_gs[3]="3"
id_graph[3]="1"
id_server[3]="0"
id_agent_module[3]="{\"tagente_modulo\":{\"nombre\":\"CPU&#x20;Load\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-3\"}}}}"
weight[3]="1"
label[3]=""
field_order[3]="0"
id_gs[4]="4"
id_graph[4]="1"
id_server[4]="0"
id_agent_module[4]="{\"tagente_modulo\":{\"nombre\":\"CPU&#x20;Load\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-4\"}}}}"
weight[4]="1"
label[4]=""
field_order[4]="0"
agent_name[4]="linux-4"
module[4]="CPU Load"

View File

@ -1,21 +1,59 @@
[graph_data]
[prd_data]
type="custom_graph"
name="Linux Disk Usage"
group="Demo servers"
description="This is a demo custom graph for linux agents Disk Usage"
type="line"
periodicity="86400"
[graph_items]
[tgraph]
agent_name[1]="linux-1"
module[1]="Disk Usage"
id_graph[2]="2"
id_user[2]=""
name[2]="Linux&#x20;Disk&#x20;Usage"
description[2]="This&#x20;is&#x20;a&#x20;demo&#x20;custom&#x20;graph&#x20;for&#x20;linux&#x20;agents&#x20;Disk&#x20;Usage"
period[2]="86400"
width[2]="0"
height[2]="0"
private[2]="0"
events[2]="0"
stacked[2]="2"
id_group[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
id_graph_template[2]="0"
percentil[2]="0"
summatory_series[2]="0"
average_series[2]="0"
modules_series[2]="0"
fullscale[2]="0"
agent_name[2]="linux-2"
module[2]="Disk Usage"
[tgraph_source]
agent_name[3]="linux-3"
module[3]="Disk Usage"
id_gs[5]="5"
id_graph[5]="2"
id_server[5]="0"
id_agent_module[5]="{\"tagente_modulo\":{\"nombre\":\"Disk&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-1\"}}}}"
weight[5]="1"
label[5]=""
field_order[5]="0"
id_gs[6]="6"
id_graph[6]="2"
id_server[6]="0"
id_agent_module[6]="{\"tagente_modulo\":{\"nombre\":\"Disk&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-2\"}}}}"
weight[6]="1"
label[6]=""
field_order[6]="0"
id_gs[7]="7"
id_graph[7]="2"
id_server[7]="0"
id_agent_module[7]="{\"tagente_modulo\":{\"nombre\":\"Disk&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-3\"}}}}"
weight[7]="1"
label[7]=""
field_order[7]="0"
id_gs[8]="8"
id_graph[8]="2"
id_server[8]="0"
id_agent_module[8]="{\"tagente_modulo\":{\"nombre\":\"Disk&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-4\"}}}}"
weight[8]="1"
label[8]=""
field_order[8]="0"
agent_name[4]="linux-4"
module[4]="Disk Usage"

View File

@ -1,27 +1,75 @@
[graph_data]
[prd_data]
type="custom_graph"
name="Network Usage"
group="Demo servers"
description="This is a demo custom graph for linux and windows agents Network Usage"
type="s_area"
periodicity="86400"
[graph_items]
[tgraph]
agent_name[1]="linux-1"
module[1]="Network Usage"
id_graph[3]="3"
id_user[3]=""
name[3]="Network&#x20;Usage"
description[3]="This&#x20;is&#x20;a&#x20;demo&#x20;custom&#x20;graph&#x20;for&#x20;linux&#x20;and&#x20;windows&#x20;agents&#x20;Network&#x20;Usage"
period[3]="86400"
width[3]="0"
height[3]="0"
private[3]="0"
events[3]="0"
stacked[3]="1"
id_group[3]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
id_graph_template[3]="0"
percentil[3]="0"
summatory_series[3]="0"
average_series[3]="0"
modules_series[3]="0"
fullscale[3]="0"
agent_name[2]="linux-2"
module[2]="Network Usage"
[tgraph_source]
agent_name[3]="linux-3"
module[3]="Network Usage"
id_gs[9]="9"
id_graph[9]="3"
id_server[9]="0"
id_agent_module[9]="{\"tagente_modulo\":{\"nombre\":\"Network&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-1\"}}}}"
weight[9]="1"
label[9]=""
field_order[9]="0"
agent_name[4]="linux-4"
module[4]="Network Usage"
id_gs[10]="10"
id_graph[10]="3"
id_server[10]="0"
id_agent_module[10]="{\"tagente_modulo\":{\"nombre\":\"Network&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-2\"}}}}"
weight[10]="1"
label[10]=""
field_order[10]="0"
agent_name[5]="windows-1"
module[5]="Network Usage"
id_gs[11]="11"
id_graph[11]="3"
id_server[11]="0"
id_agent_module[11]="{\"tagente_modulo\":{\"nombre\":\"Network&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-3\"}}}}"
weight[11]="1"
label[11]=""
field_order[11]="0"
id_gs[12]="12"
id_graph[12]="3"
id_server[12]="0"
id_agent_module[12]="{\"tagente_modulo\":{\"nombre\":\"Network&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-4\"}}}}"
weight[12]="1"
label[12]=""
field_order[12]="0"
id_gs[13]="13"
id_graph[13]="3"
id_server[13]="0"
id_agent_module[13]="{\"tagente_modulo\":{\"nombre\":\"Network&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"windows-1\"}}}}"
weight[13]="1"
label[13]=""
field_order[13]="0"
id_gs[14]="14"
id_graph[14]="3"
id_server[14]="0"
id_agent_module[14]="{\"tagente_modulo\":{\"nombre\":\"Network&#x20;Usage\",\"id_agente\":{\"tagente\":{\"nombre\":\"windows-2\"}}}}"
weight[14]="1"
label[14]=""
field_order[14]="0"
agent_name[6]="windows-2"
module[6]="Network Usage"

View File

@ -1,143 +1,670 @@
[map_data]
[prd_data]
type="network_map"
name="Demo network map"
group="Demo network"
description="This is a demo network map"
node_radius="40"
generation_method="circular"
[map_items]
[tmap]
agent_name[1]="cisco-1"
id[2]="2"
id_group[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;network\"}}"
id_user[2]=""
type[2]="0"
subtype[2]="0"
name[2]="Demo&#x20;network&#x20;map"
description[2]="This&#x20;is&#x20;a&#x20;demo&#x20;network&#x20;map"
height[2]="0"
width[2]="0"
center_x[2]="0"
center_y[2]="0"
background[2]=""
background_options[2]="0"
source_period[2]="0"
source[2]="0"
source_data[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;network\"}}"
generation_method[2]="0"
generated[2]="0"
filter[2]="{\"dont_show_subgroups\":0,\"node_radius\":\"40\",\"x_offs\":0,\"y_offs\":0,\"z_dash\":\"0.5\",\"node_sep\":\"0.25\",\"rank_sep\":\"0.25\",\"mindist\":1,\"kval\":\"0.3\"}"
id_group_map[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;network\"}}"
refresh_time[2]="300"
[titem]
id[1]="1"
id_map[1]="2"
x[1]="854"
y[1]="221"
z[1]="0"
deleted[1]="0"
type[1]="0"
refresh[1]="0"
source[1]="0"
source_data[1]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
options[1]=""
style[1]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/cisco@os.svg\",\"width\":null,\"height\":null,\"label\":\"cisco-1\"}"
agent_name[2]="freebsd-1"
id[2]="2"
id_map[2]="2"
x[2]="1184"
y[2]="-25"
parent[2]="1"
z[2]="0"
deleted[2]="0"
type[2]="0"
refresh[2]="0"
source[2]="0"
source_data[2]="{\"tagente\":{\"nombre\":\"freebsd-1\"}}"
options[2]=""
style[2]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/freebsd@os.svg\",\"width\":null,\"height\":null,\"label\":\"freebsd-1\"}"
agent_name[3]="macos-1"
id[3]="3"
id_map[3]="2"
x[3]="1268"
y[3]="235"
parent[3]="1"
z[3]="0"
deleted[3]="0"
type[3]="0"
refresh[3]="0"
source[3]="0"
source_data[3]="{\"tagente\":{\"nombre\":\"macos-1\"}}"
options[3]=""
style[3]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/apple@os.svg\",\"width\":null,\"height\":null,\"label\":\"macos-1\"}"
agent_name[4]="windows-1"
id[4]="4"
id_map[4]="2"
x[4]="528"
y[4]="-37"
parent[4]="1"
z[4]="0"
deleted[4]="0"
type[4]="0"
refresh[4]="0"
source[4]="0"
source_data[4]="{\"tagente\":{\"nombre\":\"windows-1\"}}"
options[4]=""
style[4]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/windows@os.svg\",\"width\":null,\"height\":null,\"label\":\"windows-1\"}"
agent_name[5]="windows-2"
id[5]="5"
id_map[5]="2"
x[5]="514"
y[5]="389"
parent[5]="1"
z[5]="0"
deleted[5]="0"
type[5]="0"
refresh[5]="0"
source[5]="0"
source_data[5]="{\"tagente\":{\"nombre\":\"windows-2\"}}"
options[5]=""
style[5]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/windows@os.svg\",\"width\":null,\"height\":null,\"label\":\"windows-2\"}"
agent_name[6]="linux-1"
id[6]="6"
id_map[6]="2"
x[6]="342"
y[6]="-273"
parent[6]="4"
z[6]="0"
deleted[6]="0"
type[6]="0"
refresh[6]="0"
source[6]="0"
source_data[6]="{\"tagente\":{\"nombre\":\"linux-1\"}}"
options[6]=""
style[6]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-1\"}"
agent_name[7]="linux-2"
id[7]="7"
id_map[7]="2"
x[7]="240"
y[7]="-7"
parent[7]="4"
z[7]="0"
deleted[7]="0"
type[7]="0"
refresh[7]="0"
source[7]="0"
source_data[7]="{\"tagente\":{\"nombre\":\"linux-2\"}}"
options[7]=""
style[7]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-2\"}"
agent_name[8]="linux-3"
id[8]="8"
id_map[8]="2"
x[8]="214"
y[8]="275"
parent[8]="5"
z[8]="0"
deleted[8]="0"
type[8]="0"
refresh[8]="0"
source[8]="0"
source_data[8]="{\"tagente\":{\"nombre\":\"linux-3\"}}"
options[8]=""
style[8]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-3\"}"
agent_name[9]="linux-4"
id[9]="9"
id_map[9]="2"
x[9]="226"
y[9]="595"
parent[9]="5"
z[9]="0"
deleted[9]="0"
type[9]="0"
refresh[9]="0"
source[9]="0"
source_data[9]="{\"tagente\":{\"nombre\":\"linux-4\"}}"
options[9]=""
style[9]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-4\"}"
agent_name[10]="cisco-2"
id[10]="10"
id_map[10]="2"
x[10]="1036"
y[10]="711"
parent[10]="1"
z[10]="0"
deleted[10]="0"
type[10]="0"
refresh[10]="0"
source[10]="0"
source_data[10]="{\"tagente\":{\"nombre\":\"cisco-2\"}}"
options[10]=""
style[10]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/cisco@os.svg\",\"width\":null,\"height\":null,\"label\":\"cisco-2\"}"
agent_name[11]="freebsd-2"
id[11]="11"
id_map[11]="2"
x[11]="892"
y[11]="-47"
parent[11]="1"
z[11]="0"
deleted[11]="0"
type[11]="0"
refresh[11]="0"
source[11]="0"
source_data[11]="{\"tagente\":{\"nombre\":\"freebsd-2\"}}"
options[11]=""
style[11]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/freebsd@os.svg\",\"width\":null,\"height\":null,\"label\":\"freebsd-2\"}"
agent_name[12]="macos-2"
id[12]="12"
id_map[12]="2"
x[12]="1150"
y[12]="409"
parent[12]="1"
z[12]="0"
deleted[12]="0"
type[12]="0"
refresh[12]="0"
source[12]="0"
source_data[12]="{\"tagente\":{\"nombre\":\"macos-2\"}}"
options[12]=""
style[12]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/apple@os.svg\",\"width\":null,\"height\":null,\"label\":\"macos-2\"}"
agent_name[13]="windows-3"
id[13]="13"
id_map[13]="2"
x[13]="686"
y[13]="875"
parent[13]="10"
z[13]="0"
deleted[13]="0"
type[13]="0"
refresh[13]="0"
source[13]="0"
source_data[13]="{\"tagente\":{\"nombre\":\"windows-3\"}}"
options[13]=""
style[13]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/windows@os.svg\",\"width\":null,\"height\":null,\"label\":\"windows-3\"}"
agent_name[14]="windows-4"
id[14]="14"
id_map[14]="2"
x[14]="1452"
y[14]="847"
parent[14]="10"
z[14]="0"
deleted[14]="0"
type[14]="0"
refresh[14]="0"
source[14]="0"
source_data[14]="{\"tagente\":{\"nombre\":\"windows-4\"}}"
options[14]=""
style[14]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/windows@os.svg\",\"width\":null,\"height\":null,\"label\":\"windows-4\"}"
agent_name[15]="linux-5"
id[15]="15"
id_map[15]="2"
x[15]="314"
y[15]="845"
parent[15]="13"
z[15]="0"
deleted[15]="0"
type[15]="0"
refresh[15]="0"
source[15]="0"
source_data[15]="{\"tagente\":{\"nombre\":\"linux-5\"}}"
options[15]=""
style[15]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-5\"}"
agent_name[16]="linux-6"
id[16]="16"
id_map[16]="2"
x[16]="474"
y[16]="1043"
parent[16]="13"
z[16]="0"
deleted[16]="0"
type[16]="0"
refresh[16]="0"
source[16]="0"
source_data[16]="{\"tagente\":{\"nombre\":\"linux-6\"}}"
options[16]=""
style[16]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-6\"}"
agent_name[17]="linux-7"
id[17]="17"
id_map[17]="2"
x[17]="1812"
y[17]="1011"
parent[17]="14"
z[17]="0"
deleted[17]="0"
type[17]="0"
refresh[17]="0"
source[17]="0"
source_data[17]="{\"tagente\":{\"nombre\":\"linux-7\"}}"
options[17]=""
style[17]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-7\"}"
agent_name[18]="linux-8"
id[18]="18"
id_map[18]="2"
x[18]="1828"
y[18]="723"
parent[18]="14"
z[18]="0"
deleted[18]="0"
type[18]="0"
refresh[18]="0"
source[18]="0"
source_data[18]="{\"tagente\":{\"nombre\":\"linux-8\"}}"
options[18]=""
style[18]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-8\"}"
agent_name[19]="cisco-3"
id[19]="19"
id_map[19]="2"
x[19]="1824"
y[19]="285"
parent[19]="3"
z[19]="0"
deleted[19]="0"
type[19]="0"
refresh[19]="0"
source[19]="0"
source_data[19]="{\"tagente\":{\"nombre\":\"cisco-3\"}}"
options[19]=""
style[19]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/cisco@os.svg\",\"width\":null,\"height\":null,\"label\":\"cisco-3\"}"
agent_name[20]="freebsd-3"
id[20]="20"
id_map[20]="2"
x[20]="-82"
y[20]="583"
parent[20]="9"
z[20]="0"
deleted[20]="0"
type[20]="0"
refresh[20]="0"
source[20]="0"
source_data[20]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
options[20]=""
style[20]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/freebsd@os.svg\",\"width\":null,\"height\":null,\"label\":\"freebsd-3\"}"
agent_name[21]="macos-3"
id[21]="21"
id_map[21]="2"
x[21]="-140"
y[21]="299"
parent[21]="20"
z[21]="0"
deleted[21]="0"
type[21]="0"
refresh[21]="0"
source[21]="0"
source_data[21]="{\"tagente\":{\"nombre\":\"macos-3\"}}"
options[21]=""
style[21]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/apple@os.svg\",\"width\":null,\"height\":null,\"label\":\"macos-3\"}"
agent_name[22]="windows-5"
id[22]="22"
id_map[22]="2"
x[22]="-390"
y[22]="385"
parent[22]="20"
z[22]="0"
deleted[22]="0"
type[22]="0"
refresh[22]="0"
source[22]="0"
source_data[22]="{\"tagente\":{\"nombre\":\"windows-5\"}}"
options[22]=""
style[22]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/windows@os.svg\",\"width\":null,\"height\":null,\"label\":\"windows-5\"}"
agent_name[23]="windows-6"
id[23]="23"
id_map[23]="2"
x[23]="-470"
y[23]="671"
parent[23]="20"
z[23]="0"
deleted[23]="0"
type[23]="0"
refresh[23]="0"
source[23]="0"
source_data[23]="{\"tagente\":{\"nombre\":\"windows-6\"}}"
options[23]=""
style[23]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/windows@os.svg\",\"width\":null,\"height\":null,\"label\":\"windows-6\"}"
agent_name[24]="linux-9"
id[24]="24"
id_map[24]="2"
x[24]="-296"
y[24]="899"
parent[24]="20"
z[24]="0"
deleted[24]="0"
type[24]="0"
refresh[24]="0"
source[24]="0"
source_data[24]="{\"tagente\":{\"nombre\":\"linux-9\"}}"
options[24]=""
style[24]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-9\"}"
agent_name[25]="linux-10"
id[25]="25"
id_map[25]="2"
x[25]="-25"
y[25]="961"
parent[25]="20"
z[25]="0"
deleted[25]="0"
type[25]="0"
refresh[25]="0"
source[25]="0"
source_data[25]="{\"tagente\":{\"nombre\":\"linux-10\"}}"
options[25]=""
style[25]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-10\"}"
agent_name[26]="linux-11"
id[26]="26"
id_map[26]="2"
x[26]="1683"
y[26]="13"
parent[26]="19"
z[26]="0"
deleted[26]="0"
type[26]="0"
refresh[26]="0"
source[26]="0"
source_data[26]="{\"tagente\":{\"nombre\":\"linux-11\"}}"
options[26]=""
style[26]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-11\"}"
agent_name[27]="linux-12"
id[27]="27"
id_map[27]="2"
x[27]="2135"
y[27]="51"
parent[27]="19"
z[27]="0"
deleted[27]="0"
type[27]="0"
refresh[27]="0"
source[27]="0"
source_data[27]="{\"tagente\":{\"nombre\":\"linux-12\"}}"
options[27]=""
style[27]="{\"shape\":\"circle\",\"image\":\"images\/networkmap\/linux@os.svg\",\"width\":null,\"height\":null,\"label\":\"linux-12\"}"
[trel_item]
id[1]="1"
id_parent[1]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[1]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-1\"}},\"x\":\"1184\",\"y\":\"-25\",\"z\":\"0\"}}"
id_map[1]="2"
id_parent_source_data[1]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[1]="{\"tagente\":{\"nombre\":\"freebsd-1\"}}"
parent_type[1]="0"
child_type[1]="0"
id_item[1]="0"
deleted[1]="0"
id[2]="2"
id_parent[2]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[2]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"macos-1\"}},\"x\":\"1268\",\"y\":\"235\",\"z\":\"0\"}}"
id_map[2]="2"
id_parent_source_data[2]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[2]="{\"tagente\":{\"nombre\":\"macos-1\"}}"
parent_type[2]="0"
child_type[2]="0"
id_item[2]="0"
deleted[2]="0"
id[3]="3"
id_parent[3]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[3]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-1\"}},\"x\":\"528\",\"y\":\"-37\",\"z\":\"0\"}}"
id_map[3]="2"
id_parent_source_data[3]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[3]="{\"tagente\":{\"nombre\":\"windows-1\"}}"
parent_type[3]="0"
child_type[3]="0"
id_item[3]="0"
deleted[3]="0"
id[4]="4"
id_parent[4]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[4]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-2\"}},\"x\":\"514\",\"y\":\"389\",\"z\":\"0\"}}"
id_map[4]="2"
id_parent_source_data[4]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[4]="{\"tagente\":{\"nombre\":\"windows-2\"}}"
parent_type[4]="0"
child_type[4]="0"
id_item[4]="0"
deleted[4]="0"
id[5]="5"
id_parent[5]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-1\"}},\"x\":\"528\",\"y\":\"-37\",\"z\":\"0\"}}"
id_child[5]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-1\"}},\"x\":\"342\",\"y\":\"-273\",\"z\":\"0\"}}"
id_map[5]="2"
id_parent_source_data[5]="{\"tagente\":{\"nombre\":\"windows-1\"}}"
id_child_source_data[5]="{\"tagente\":{\"nombre\":\"linux-1\"}}"
parent_type[5]="0"
child_type[5]="0"
id_item[5]="0"
deleted[5]="0"
id[6]="6"
id_parent[6]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-1\"}},\"x\":\"528\",\"y\":\"-37\",\"z\":\"0\"}}"
id_child[6]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-2\"}},\"x\":\"240\",\"y\":\"-7\",\"z\":\"0\"}}"
id_map[6]="2"
id_parent_source_data[6]="{\"tagente\":{\"nombre\":\"windows-1\"}}"
id_child_source_data[6]="{\"tagente\":{\"nombre\":\"linux-2\"}}"
parent_type[6]="0"
child_type[6]="0"
id_item[6]="0"
deleted[6]="0"
id[7]="7"
id_parent[7]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-2\"}},\"x\":\"514\",\"y\":\"389\",\"z\":\"0\"}}"
id_child[7]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-3\"}},\"x\":\"214\",\"y\":\"275\",\"z\":\"0\"}}"
id_map[7]="2"
id_parent_source_data[7]="{\"tagente\":{\"nombre\":\"windows-2\"}}"
id_child_source_data[7]="{\"tagente\":{\"nombre\":\"linux-3\"}}"
parent_type[7]="0"
child_type[7]="0"
id_item[7]="0"
deleted[7]="0"
id[8]="8"
id_parent[8]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-2\"}},\"x\":\"514\",\"y\":\"389\",\"z\":\"0\"}}"
id_child[8]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-4\"}},\"x\":\"226\",\"y\":\"595\",\"z\":\"0\"}}"
id_map[8]="2"
id_parent_source_data[8]="{\"tagente\":{\"nombre\":\"windows-2\"}}"
id_child_source_data[8]="{\"tagente\":{\"nombre\":\"linux-4\"}}"
parent_type[8]="0"
child_type[8]="0"
id_item[8]="0"
deleted[8]="0"
id[9]="9"
id_parent[9]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[9]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-2\"}},\"x\":\"1036\",\"y\":\"711\",\"z\":\"0\"}}"
id_map[9]="2"
id_parent_source_data[9]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[9]="{\"tagente\":{\"nombre\":\"cisco-2\"}}"
parent_type[9]="0"
child_type[9]="0"
id_item[9]="0"
deleted[9]="0"
id[10]="10"
id_parent[10]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[10]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-2\"}},\"x\":\"892\",\"y\":\"-47\",\"z\":\"0\"}}"
id_map[10]="2"
id_parent_source_data[10]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[10]="{\"tagente\":{\"nombre\":\"freebsd-2\"}}"
parent_type[10]="0"
child_type[10]="0"
id_item[10]="0"
deleted[10]="0"
id[11]="11"
id_parent[11]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-1\"}},\"x\":\"854\",\"y\":\"221\",\"z\":\"0\"}}"
id_child[11]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"macos-2\"}},\"x\":\"1150\",\"y\":\"409\",\"z\":\"0\"}}"
id_map[11]="2"
id_parent_source_data[11]="{\"tagente\":{\"nombre\":\"cisco-1\"}}"
id_child_source_data[11]="{\"tagente\":{\"nombre\":\"macos-2\"}}"
parent_type[11]="0"
child_type[11]="0"
id_item[11]="0"
deleted[11]="0"
id[12]="12"
id_parent[12]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-2\"}},\"x\":\"1036\",\"y\":\"711\",\"z\":\"0\"}}"
id_child[12]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-3\"}},\"x\":\"686\",\"y\":\"875\",\"z\":\"0\"}}"
id_map[12]="2"
id_parent_source_data[12]="{\"tagente\":{\"nombre\":\"cisco-2\"}}"
id_child_source_data[12]="{\"tagente\":{\"nombre\":\"windows-3\"}}"
parent_type[12]="0"
child_type[12]="0"
id_item[12]="0"
deleted[12]="0"
id[13]="13"
id_parent[13]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-2\"}},\"x\":\"1036\",\"y\":\"711\",\"z\":\"0\"}}"
id_child[13]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-4\"}},\"x\":\"1452\",\"y\":\"847\",\"z\":\"0\"}}"
id_map[13]="2"
id_parent_source_data[13]="{\"tagente\":{\"nombre\":\"cisco-2\"}}"
id_child_source_data[13]="{\"tagente\":{\"nombre\":\"windows-4\"}}"
parent_type[13]="0"
child_type[13]="0"
id_item[13]="0"
deleted[13]="0"
id[14]="14"
id_parent[14]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-3\"}},\"x\":\"686\",\"y\":\"875\",\"z\":\"0\"}}"
id_child[14]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-5\"}},\"x\":\"314\",\"y\":\"845\",\"z\":\"0\"}}"
id_map[14]="2"
id_parent_source_data[14]="{\"tagente\":{\"nombre\":\"windows-3\"}}"
id_child_source_data[14]="{\"tagente\":{\"nombre\":\"linux-5\"}}"
parent_type[14]="0"
child_type[14]="0"
id_item[14]="0"
deleted[14]="0"
id[15]="15"
id_parent[15]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-3\"}},\"x\":\"686\",\"y\":\"875\",\"z\":\"0\"}}"
id_child[15]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-6\"}},\"x\":\"474\",\"y\":\"1043\",\"z\":\"0\"}}"
id_map[15]="2"
id_parent_source_data[15]="{\"tagente\":{\"nombre\":\"windows-3\"}}"
id_child_source_data[15]="{\"tagente\":{\"nombre\":\"linux-6\"}}"
parent_type[15]="0"
child_type[15]="0"
id_item[15]="0"
deleted[15]="0"
id[16]="16"
id_parent[16]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-4\"}},\"x\":\"1452\",\"y\":\"847\",\"z\":\"0\"}}"
id_child[16]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-7\"}},\"x\":\"1812\",\"y\":\"1011\",\"z\":\"0\"}}"
id_map[16]="2"
id_parent_source_data[16]="{\"tagente\":{\"nombre\":\"windows-4\"}}"
id_child_source_data[16]="{\"tagente\":{\"nombre\":\"linux-7\"}}"
parent_type[16]="0"
child_type[16]="0"
id_item[16]="0"
deleted[16]="0"
id[17]="17"
id_parent[17]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-4\"}},\"x\":\"1452\",\"y\":\"847\",\"z\":\"0\"}}"
id_child[17]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-8\"}},\"x\":\"1828\",\"y\":\"723\",\"z\":\"0\"}}"
id_map[17]="2"
id_parent_source_data[17]="{\"tagente\":{\"nombre\":\"windows-4\"}}"
id_child_source_data[17]="{\"tagente\":{\"nombre\":\"linux-8\"}}"
parent_type[17]="0"
child_type[17]="0"
id_item[17]="0"
deleted[17]="0"
id[18]="18"
id_parent[18]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"macos-1\"}},\"x\":\"1268\",\"y\":\"235\",\"z\":\"0\"}}"
id_child[18]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-3\"}},\"x\":\"1824\",\"y\":\"285\",\"z\":\"0\"}}"
id_map[18]="2"
id_parent_source_data[18]="{\"tagente\":{\"nombre\":\"macos-1\"}}"
id_child_source_data[18]="{\"tagente\":{\"nombre\":\"cisco-3\"}}"
parent_type[18]="0"
child_type[18]="0"
id_item[18]="0"
deleted[18]="0"
id[19]="19"
id_parent[19]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-4\"}},\"x\":\"226\",\"y\":\"595\",\"z\":\"0\"}}"
id_child[19]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-3\"}},\"x\":\"-82\",\"y\":\"583\",\"z\":\"0\"}}"
id_map[19]="2"
id_parent_source_data[19]="{\"tagente\":{\"nombre\":\"linux-4\"}}"
id_child_source_data[19]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
parent_type[19]="0"
child_type[19]="0"
id_item[19]="0"
deleted[19]="0"
id[20]="20"
id_parent[20]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-3\"}},\"x\":\"-82\",\"y\":\"583\",\"z\":\"0\"}}"
id_child[20]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"macos-3\"}},\"x\":\"-140\",\"y\":\"299\",\"z\":\"0\"}}"
id_map[20]="2"
id_parent_source_data[20]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
id_child_source_data[20]="{\"tagente\":{\"nombre\":\"macos-3\"}}"
parent_type[20]="0"
child_type[20]="0"
id_item[20]="0"
deleted[20]="0"
id[21]="21"
id_parent[21]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-3\"}},\"x\":\"-82\",\"y\":\"583\",\"z\":\"0\"}}"
id_child[21]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-5\"}},\"x\":\"-390\",\"y\":\"385\",\"z\":\"0\"}}"
id_map[21]="2"
id_parent_source_data[21]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
id_child_source_data[21]="{\"tagente\":{\"nombre\":\"windows-5\"}}"
parent_type[21]="0"
child_type[21]="0"
id_item[21]="0"
deleted[21]="0"
id[22]="22"
id_parent[22]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-3\"}},\"x\":\"-82\",\"y\":\"583\",\"z\":\"0\"}}"
id_child[22]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"windows-6\"}},\"x\":\"-470\",\"y\":\"671\",\"z\":\"0\"}}"
id_map[22]="2"
id_parent_source_data[22]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
id_child_source_data[22]="{\"tagente\":{\"nombre\":\"windows-6\"}}"
parent_type[22]="0"
child_type[22]="0"
id_item[22]="0"
deleted[22]="0"
id[23]="23"
id_parent[23]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-3\"}},\"x\":\"-82\",\"y\":\"583\",\"z\":\"0\"}}"
id_child[23]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-9\"}},\"x\":\"-296\",\"y\":\"899\",\"z\":\"0\"}}"
id_map[23]="2"
id_parent_source_data[23]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
id_child_source_data[23]="{\"tagente\":{\"nombre\":\"linux-9\"}}"
parent_type[23]="0"
child_type[23]="0"
id_item[23]="0"
deleted[23]="0"
id[24]="24"
id_parent[24]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"freebsd-3\"}},\"x\":\"-82\",\"y\":\"583\",\"z\":\"0\"}}"
id_child[24]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-10\"}},\"x\":\"-25\",\"y\":\"961\",\"z\":\"0\"}}"
id_map[24]="2"
id_parent_source_data[24]="{\"tagente\":{\"nombre\":\"freebsd-3\"}}"
id_child_source_data[24]="{\"tagente\":{\"nombre\":\"linux-10\"}}"
parent_type[24]="0"
child_type[24]="0"
id_item[24]="0"
deleted[24]="0"
id[25]="25"
id_parent[25]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-3\"}},\"x\":\"1824\",\"y\":\"285\",\"z\":\"0\"}}"
id_child[25]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-11\"}},\"x\":\"1683\",\"y\":\"13\",\"z\":\"0\"}}"
id_map[25]="2"
id_parent_source_data[25]="{\"tagente\":{\"nombre\":\"cisco-3\"}}"
id_child_source_data[25]="{\"tagente\":{\"nombre\":\"linux-11\"}}"
parent_type[25]="0"
child_type[25]="0"
id_item[25]="0"
deleted[25]="0"
id[26]="26"
id_parent[26]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"cisco-3\"}},\"x\":\"1824\",\"y\":\"285\",\"z\":\"0\"}}"
id_child[26]="{\"titem\":{\"id_map\":\"2\",\"type\":\"0\",\"source_data\":{\"tagente\":{\"nombre\":\"linux-12\"}},\"x\":\"2135\",\"y\":\"51\",\"z\":\"0\"}}"
id_map[26]="2"
id_parent_source_data[26]="{\"tagente\":{\"nombre\":\"cisco-3\"}}"
id_child_source_data[26]="{\"tagente\":{\"nombre\":\"linux-12\"}}"
parent_type[26]="0"
child_type[26]="0"
id_item[26]="0"
deleted[26]="0"

View File

@ -1,9 +1,33 @@
[map_data]
[prd_data]
type="network_map"
name="Demo sunburst network map"
group="Demo servers"
description="This is a demo sunburst network map"
node_radius="40"
generation_method="radial_dynamic"
[map_items]
[tmap]
id[3]="3"
id_group[3]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
id_user[3]=""
type[3]="0"
subtype[3]="0"
name[3]="Demo&#x20;sunburst&#x20;network&#x20;map"
description[3]="This&#x20;is&#x20;a&#x20;demo&#x20;sunburst&#x20;network&#x20;map"
height[3]="0"
width[3]="0"
center_x[3]="0"
center_y[3]="0"
background[3]=""
background_options[3]="0"
source_period[3]="0"
source[3]="0"
source_data[3]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
generation_method[3]="6"
generated[3]="0"
filter[3]="{\"dont_show_subgroups\":0,\"node_radius\":\"40\",\"x_offs\":0,\"y_offs\":0,\"z_dash\":\"0.5\",\"node_sep\":\"0.25\",\"rank_sep\":\"0.25\",\"mindist\":1,\"kval\":\"0.3\"}"
id_group_map[3]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;servers\"}}"
refresh_time[3]="300"
[titem]
[trel_item]

File diff suppressed because it is too large Load Diff

View File

@ -1,26 +1,92 @@
[service_data]
[prd_data]
type="service"
name="MySQL service"
group="Demo services"
description="This is a demo service for MySQL"
mode="smart"
critical="50"
warning="30"
[service_items]
[tservice]
type[1]="module"
agent_name[1]="linux-1"
module[1]="Service mysqld"
id[1]="1"
name[1]="MySQL&#x20;service"
description[1]="This&#x20;is&#x20;a&#x20;demo&#x20;service&#x20;for&#x20;MySQL"
id_group[1]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;services\"}}"
critical[1]="50"
warning[1]="30"
unknown_as_critical[1]="0"
service_interval[1]="0"
service_value[1]="0"
status[1]="0"
utimestamp[1]="0"
auto_calculate[1]="1"
id_agent_module[1]="{\"tagente_modulo\":{\"nombre\":\"MySQL&#x20;service_service\",\"id_agente\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}}}}"
sla_interval[1]="0"
sla_id_module[1]="{\"tagente_modulo\":{\"nombre\":\"MySQL&#x20;service_SLA_service\",\"id_agente\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}}}}"
sla_value_id_module[1]="{\"tagente_modulo\":{\"nombre\":\"MySQL&#x20;service_SLA_Value_service\",\"id_agente\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}}}}"
sla_limit[1]="100"
id_template_alert_warning[1]="0"
id_template_alert_critical[1]="0"
id_template_alert_unknown[1]="0"
id_template_alert_critical_sla[1]="0"
quiet[1]="0"
cps[1]="0"
cascade_protection[1]="0"
evaluate_sla[1]="0"
is_favourite[1]="0"
enable_sunburst[1]="0"
asynchronous[1]="0"
enable_horizontal_tree[1]="0"
rca[1]=""
type[2]="module"
agent_name[2]="linux-2"
module[2]="Service mysqld"
[tservice_element]
type[3]="module"
agent_name[3]="linux-3"
module[3]="Service mysqld"
id[1]="1"
id_service[1]="1"
weight_ok[1]="0"
weight_warning[1]="0"
weight_critical[1]="0"
weight_unknown[1]="0"
description[1]=""
id_agente_modulo[1]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;mysqld\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-1\"}}}}"
id_agent[1]="{\"tagente\":{\"nombre\":\"linux-1\"}}"
id_service_child[1]="0"
id_server_meta[1]="0"
rules[1]=""
id[2]="2"
id_service[2]="1"
weight_ok[2]="0"
weight_warning[2]="0"
weight_critical[2]="0"
weight_unknown[2]="0"
description[2]=""
id_agente_modulo[2]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;mysqld\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-2\"}}}}"
id_agent[2]="{\"tagente\":{\"nombre\":\"linux-2\"}}"
id_service_child[2]="0"
id_server_meta[2]="0"
rules[2]=""
id[3]="3"
id_service[3]="1"
weight_ok[3]="0"
weight_warning[3]="0"
weight_critical[3]="0"
weight_unknown[3]="0"
description[3]=""
id_agente_modulo[3]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;mysqld\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-3\"}}}}"
id_agent[3]="{\"tagente\":{\"nombre\":\"linux-3\"}}"
id_service_child[3]="0"
id_server_meta[3]="0"
rules[3]=""
id[4]="4"
id_service[4]="1"
weight_ok[4]="0"
weight_warning[4]="0"
weight_critical[4]="0"
weight_unknown[4]="0"
description[4]=""
id_agente_modulo[4]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;mysqld\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-4\"}}}}"
id_agent[4]="{\"tagente\":{\"nombre\":\"linux-4\"}}"
id_service_child[4]="0"
id_server_meta[4]="0"
rules[4]=""
type[4]="module"
agent_name[4]="linux-4"
module[4]="Service mysqld"

View File

@ -1,26 +1,92 @@
[service_data]
[prd_data]
type="service"
name="HTTP service"
group="Demo services"
description="This is a demo service for HTTP"
mode="smart"
critical="50"
warning="30"
[service_items]
[tservice]
type[1]="module"
agent_name[1]="linux-1"
module[1]="Service httpd"
id[2]="2"
name[2]="HTTP&#x20;service"
description[2]="This&#x20;is&#x20;a&#x20;demo&#x20;service&#x20;for&#x20;HTTP"
id_group[2]="{\"tgrupo\":{\"nombre\":\"Demo&#x20;services\"}}"
critical[2]="50"
warning[2]="30"
unknown_as_critical[2]="0"
service_interval[2]="0"
service_value[2]="0"
status[2]="0"
utimestamp[2]="0"
auto_calculate[2]="1"
id_agent_module[2]="{\"tagente_modulo\":{\"nombre\":\"HTTP&#x20;service_service\",\"id_agente\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}}}}"
sla_interval[2]="0"
sla_id_module[2]="{\"tagente_modulo\":{\"nombre\":\"HTTP&#x20;service_SLA_service\",\"id_agente\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}}}}"
sla_value_id_module[2]="{\"tagente_modulo\":{\"nombre\":\"HTTP&#x20;service_SLA_Value_service\",\"id_agente\":{\"tagente\":{\"nombre\":\"demo-global-agent-1\"}}}}"
sla_limit[2]="100"
id_template_alert_warning[2]="0"
id_template_alert_critical[2]="0"
id_template_alert_unknown[2]="0"
id_template_alert_critical_sla[2]="0"
quiet[2]="0"
cps[2]="0"
cascade_protection[2]="0"
evaluate_sla[2]="0"
is_favourite[2]="0"
enable_sunburst[2]="0"
asynchronous[2]="0"
enable_horizontal_tree[2]="0"
rca[2]=""
type[2]="module"
agent_name[2]="linux-2"
module[2]="Service httpd"
[tservice_element]
type[3]="module"
agent_name[3]="linux-3"
module[3]="Service httpd"
id[5]="5"
id_service[5]="2"
weight_ok[5]="0"
weight_warning[5]="0"
weight_critical[5]="0"
weight_unknown[5]="0"
description[5]=""
id_agente_modulo[5]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;httpd\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-1\"}}}}"
id_agent[5]="{\"tagente\":{\"nombre\":\"linux-1\"}}"
id_service_child[5]="0"
id_server_meta[5]="0"
rules[5]=""
id[6]="6"
id_service[6]="2"
weight_ok[6]="0"
weight_warning[6]="0"
weight_critical[6]="0"
weight_unknown[6]="0"
description[6]=""
id_agente_modulo[6]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;httpd\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-2\"}}}}"
id_agent[6]="{\"tagente\":{\"nombre\":\"linux-2\"}}"
id_service_child[6]="0"
id_server_meta[6]="0"
rules[6]=""
id[7]="7"
id_service[7]="2"
weight_ok[7]="0"
weight_warning[7]="0"
weight_critical[7]="0"
weight_unknown[7]="0"
description[7]=""
id_agente_modulo[7]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;httpd\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-3\"}}}}"
id_agent[7]="{\"tagente\":{\"nombre\":\"linux-3\"}}"
id_service_child[7]="0"
id_server_meta[7]="0"
rules[7]=""
id[8]="8"
id_service[8]="2"
weight_ok[8]="0"
weight_warning[8]="0"
weight_critical[8]="0"
weight_unknown[8]="0"
description[8]=""
id_agente_modulo[8]="{\"tagente_modulo\":{\"nombre\":\"Service&#x20;httpd\",\"id_agente\":{\"tagente\":{\"nombre\":\"linux-4\"}}}}"
id_agent[8]="{\"tagente\":{\"nombre\":\"linux-4\"}}"
id_service_child[8]="0"
id_server_meta[8]="0"
rules[8]=""
type[4]="module"
agent_name[4]="linux-4"
module[4]="Service httpd"

Some files were not shown because too many files have changed in this diff Show More