Pandora: Documentation en: Installing

From Pandora FMS Wiki
Revision as of 16:53, 24 November 2020 by Jose.almendros (talk | contribs)
Jump to: navigation, search

Go back to Pandora FMS documentation index


Contents

1 Console and Pandora FMS Server Installation

1.1 Minimum hardware requirements

The requirements set out in this table are the minimum recommendations for different installations. These recommendations are calculated assuming that 80% of the modules have historical data and the average sampling time is 5 minutes. These recommendations are specified for an environment where they are installed in the same database server, server and console.

Hardware SMALL: up to 500 agents or 5000 modules MEDIUM: up to 2000 agents or 10000 modules BIG: For more than 4000 agents*
CPU 1 core at 2 GHz 2 cores at 2,5 GHz 4 cores at 3 GHz
RAM 4 GB 8 GB 16 GB
Hard drive 7200 rpm 15K rpm or SSD SSD
Disk Space 20GB minimum
40GB recommended
60GB minimum
120GB recommended
120GB minimum
250GB recommended

(*) In addition to the these recommendations, we recommend installing MySQL on a standalone server and installing Percona XTraDB instead of standard MySQL.



Template warning.png

In case you install Pandora FMS in a virtual environment, make sure to assign an independent disk with reserved space and high access speed.

 


Info.png

We strongly recommend the use of SSD disks, due to the high impact they have on performance improvement.

 


Info.png

A 25GB disk is recommended for a single-node database, server and console installation. If you are going to use functionalities such as log storage or want to save information that is more than one month old, you should create a history database

 


1.2 Minimum software requirements

Software Requirements
Operating System
  • RedHat Enterprise (RHEL) 7.X (Enterprise only)
  • RedHat Enterprise (RHEL) 8.X (Enterprise only)
  • CentOS 7.X (recommended)
  • CentOS 8.X
  • Windows Server (2003 or higher)
  • SLES 11 SP1 or higher
  • OpenSUSE 11.X or higher
  • Debian 5, 6, 7 or higher
  • Ubuntu 11 or higher
  • FreeBSD 9.X and 10.X
  • Solaris 10/OpenSolaris
Pandora FMS does not give official support in these platforms
Permissions
  • Server

Pandora FMS Server service must be executed as root permission. Execution as non-root user is possible, being a special and different procedure. Find out more information in this link.

  • Console

To be able to use the console from any web browser, Apache must have read and execute permissions on the console files.

Additionally, the config.php file must have the 600 permissions (read and write for administrator/root).

It is necessary to have writing permissions in the server directory: /var/spool/pandora/.

  • Agent

-Linux: The Pandora FMS Server Software Agent must be executed as root permission in order to have all the agent features available, although it is also possible to execute it with other permissions..

-Windows: Pandora FMS Server Software Agent must be executed as administrator permission.

Console
  • PHP 7.2 -> For Pandora FMS version 729 or higher.
  • PHP 5 -> For Pandora FMS version 728 or older.
Browsers
  • Microsoft Edge
  • Opera
  • Chrome
  • Firefox

Firefox and Chrome are recommended to make use of interactive graphs and network maps.

1.3 Database requisites

BBDD Details
MySQL Standard
  • Version 5.7
  • For standard installation, a user with creating privileges in the pandora DB is required. In case of not having this user, a manual installation can be performed.
Percona XTraDB

Percona XTraDB installation is recommended for large Pandora FMS environments where more than 4000 agents must be created.

  • Version 5.7
  • For standard installation, a user with creating privileges in the pandora DB is required. In case of not having this user, it will be possible to carry out manual installation.

1.4 Satellite Server Requirements

Satellite Details
Hardware

Similarly to Pandora FMS installation, the hardware requirements of the system that will host the satellite server will depend on the monitoring volume to be managed. For environments with less than 1000 agents, a minimum of 1 core at 2GHz and 1 GB of RAM is recommended.

Dependencies

The main dependencies are:

  • Fping
  • Nmap
  • Perl
  • wmic
Binaries

The main dependencies are:

  • Linux 32 Bits
  • Linux 64 Bits
  • Windows 32 Bits
  • Windows 64 Bits
  • Raspberry

1.5 Port requirements

Port Protocol Service/Process Descripction Address
80 TCP Pandora FMS Console IP management Browser -> Pandora FMS Console Server
80 TCP Pandora FMS Console (API Communication) Use of API/CLI feature Browser/Server that starts the query -> Pandora FMS Console Server
80 TCP Metaconsole Communication between Metaconsole and Nodes Metaconsole server -> Node Server Node Server -> Metaconsole server
162 UDP Pandora FMS Server Trap reception Trap generator device -> Pandora FMS Server
443 TCP Pandora FMS Console (API Communication) Use of API/CLI feature Browser/Server that starts the query -> Pandora FMS Console Server
443 TCP Metaconsole Communication between Metaconsole and Nodes Metaconsole server -> Node server Node server -> Metaconsole server
3306 TCP Pandora FMS Console and Server DB connection Pandora FMS Console Server -> Pandora FMS Database Server Pandora FMS Server -> Pandora FMS Database Server
3306 TCP Metaconsole Communication between Metaconsole and DB Nodes Metaconsole server -> DB Nodes Server Node Server -> Metaconsole BBDD Server
4444 TCP Pandora FMS Server Connection with Selenium GRID Pandora FMS Server -> Selenium Server
9995 UDP Pandora FMS Server Receiving Netflow probes nfcapd Server -> Pandora FMS Server
9200 TCP Pandora FMS Console and Server Log storage management with Elasticsearch Elasticsearch Server -> Pandora FMS Server
41121 TCP Pandora FMS Agents Tentacle Communication Software Agent Server Agent -> Pandora FMS Server
It is recommended to facilitate communication from Pandora FMS server and console to the whole network. For standard monitoring you should need minimum:
80 TCP Pandora FMS Server Web monitoring for WUX server Pandora FMS Server -> Server to monitor
161 UDP Pandora FMS Console and Server Monitoring via SNMP Polling Pandora FMS Server -> Server to monitor
443 TCP Pandora FMS Server Web monitoring for WUX server Pandora FMS Server -> Server to monitor
ICMP ICMP Console and Pandora FMS Server Web monitoring for WUX server Pandora FMS Server -> Server to monitor

1.6 Package Dependencies

Pandora FMS has a strong dependency on the GNU/Linux Operating System, but it also needs additional packages which, in many cases, are not installed by default. During the installation process, there is a detailed list of package dependencies for CentOS.

1.7 Issues prior to Installation

1.7.1 MySQL

Template warning.png

During the installation process of Pandora FMS in Centos 7 and 8 systems by packages it is already explained how to install and configure the database compatible with the server, so it is not necessary any previous installation before following the guide and you can skip this point

 


You will need to have MySQL Server installed BEFORE configuring Pandora FMS, since the next step after installing Pandora FMS packages, is to configure access to the databases. To do that, it must be operational. If you are installing the MySQL Server at the same time as Pandora FMS, remember that you need to set up the root user for MySQL. This can be easily done in two steps:

1. Start MySQL Server daemon:

/etc/init.d/mysql start

2. Configure the root password for MySQL root user:

mysqladmin password <password>

In <password>, type in the password for MySQL root user (which is different from the system's 'root' user). The system will ask for this password throughout the entire Pandora FMS installation process.

1.7.2 Pandora FMS Installation Order

You are required to follow this sequence in order to install Pandora FMS properly:

  1. Install console
  2. Install server

The reason for this is that MySQL database is configured during the initial configuration phase of the console installation. To ensure the correct working of the server, it is recommended to conduct the whole console installation process first.

It is also possible to host Pandora FMS Server and console in different machines, because the server can be configured to use a remote MySQL database by means of the server configuration file.

Regarding the agent: You may install it before or after installing the server and console, because the agent works independently and it may be installed on any machine.

1.7.3 Installing the Enterprise Version

The correct order for an Enterprise installation is as follows:

  • Install the open-source console.
  • Install the Enterprise Console.
  • Install the Enterprise Server.
  • When accessing the console, a box will appear requiring you to enter your Enterprise license code.

Validation of the license is only done in the console. Not in the server.

Details on how to correctly enter the license can be found in the following section: License Application v5.X window opens.

1.8 Installation using ISO or "Software appliance"

Download the CD image from the Download section of our website and burn the ISO image onto a DVD, or run the system from that file if you are using a virtualized system (XenServer, VMware, VirtualBox, etc). There are CD images for both 32- and 64-bit installations.

The following screen will be displayed at the beginning of the boot process. If you do not press any key, the process will automatically load the Live CD, or you can press any key, select the "Install Pandora FMS" option and press "enter" to start the installation.

Install 1.png

The graphic installer will lead you step by step throughout the whole installation process. This installer is a standard installation process used by CentOS, and it is available in different languages. It is a very easy process but special attention must be paid when entering the superuser password (root), and when asked about the hard drive partitioning:

Install 2.png]
Select the preferred language


Install 3.png

Select and configure all the necessary options to install, “Date & Time”, “Keyboard” and “Installation Destination”. Remember to activate the network interface, or else it will need to activated manually after installation.

Install 4.png Install 5.png
Activate the network interface and optionally change the hostname


When clicking the installation destination button, the partition process will start.

Install 6.png
Select the disk where the installation will be performed and click on done. Install 7.png

Select the partitioning, unless you have advanced knowledge use the option "Click here to create them automatically".


Install 8.png
Verify the created partitions and click on Done.
Install 9.png
Accept Changes.
Install 10.png
Click on Begin Installation.
Install 11.png
Here you can assign the root password and optionally create a user.

Now just wait until the process is finished and the system restarts automatically.

After removing the ISO image of the machine's startup so that the installer does not appear again, the recently installed CentOS system will be started and you will be able to use Pandora FMS with all the necessary dependencies for its correct operation.

1.9 Installing the ISO image using a USB Stick

To install the Pandora FMS appliance from a USB flash drive, follow these steps:

  • Download the Pandora FMS ISO image from the download section.
  • Download the program rufus to prepare your USB for the installation (https://rufus.akeo.ie/)
  • Insert the flash drive.
  • Start the program rufus.

Usb installation 1.PNG

  • Select the Pandora FMS ISO image.

Usb installation 2.PNG

  • Press START to start the creation of the Pandora FMS installation USB.

Usb installation 3.PNG

Usb installation 4.PNG

  • Your Pandora FMS installation USB device is ready

Usb installation 5.PNG


  • Connect the USB to the machine where you want to install Pandora FMS.
  • When starting the system, configure the BIOS to start first from USB.

The following screen should be displayed:

Usb installation 6.PNG

Select "Installing from USB stick" and continue the installation as described in the previous chapter.

1.10 Package installation for CentOS 7/8

To install Pandora FMS by packages in CentOS 8 and CentOs 7 it will be necessary first to define the following variables for any of both systems:

PANDORA_CONSOLE=/var/www/html/pandora_console
CONSOLE_PATH=/var/www/html/pandora_console
PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf
PANDORA_SERVER_BIN=/usr/bin/pandora_server
PANDORA_HA_BIN=/usr/bin/pandora_ha
PANDORA_TABLES_MIN=160
DBHOST=127.0.0.1
DBNAME=pandora
DBUSER=pandora
DBPASS=pandora
DBPORT=3306


1.10.1 Repositories configuration

1.10.1.1 Repositories configuration on CentOS 8

Once the variables are defined and to install the necessary packages, we will first configure dnf, to configure it it will be necessary to execute the following commands.

dnf install -y \
   epel-release \
   tar \
   dnf-utils \
   http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module reset php
dnf module install -y php:remi-7.3
yum config-manager --set-enabled PowerTools

1.10.1.2 Repositories configuration on CentOS 7

Once the variables are defined and to install the necessary packages, we will first configure yum, to configure it it will be necessary to execute the following commands:

yum install -y \
   tar \
   yum-utils \
   https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
   http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php73


1.10.2 Database installation

1.10.2.1 Database installation on CentOS 8

It will also be necessary to install a database percona using the following commands:


dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
dnf module disable -y mysql
rm -rf /etc/my.cnf
dnf install -y Percona-Server-server-57

1.10.2.2 Database installation on CentOS 7

It will also be necessary to install a database percona using the following commands:

yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
rm -rf /etc/my.cnf
yum install -y Percona-Server-server-57


1.10.3 Installation of dependencies

1.10.3.1 Installation of dependencies on CentOS 8

Once with dnf and percona installed we can start to install all the necessary dependencies for the console:


dnf install -y \
   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 \
   libcroco \
   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


With the console dependencies already installed it's time to install the server dependencies:


dnf install -y http://firefly.artica.es/centos8/wmi-1.3.14-4.el7.art.x86_64.rpm
dnf install -y \
   vim \
   fping \
   perl-IO-Compress \
   nmap \
   sudo \
   perl-Time-HiRes \
   perl-Math-Complex \
   libnsl \
   net-snmp-utils


In the Community version some extra dependencies will be needed:

dnf install -y  GeoIP \
GeoIP-GeoLite-data \
dwz \
efi-srpm-macros \
ghc-srpm-macros \
go-srpm-macros \
ocaml-srpm-macros \
openblas-srpm-macros \
perl \
perl-Algorithm-Diff \
perl-Archive-Tar \
perl-Archive-Zip \
perl-Attribute-Handlers \
perl-B-Debug \
perl-CPAN \
perl-CPAN-Meta \
perl-CPAN-Meta-Requirements \
perl-CPAN-Meta-YAML \
perl-Compress-Bzip2 \
perl-Config-Perl-V \
perl-DBD-MySQL \
perl-DBI \
perl-DB_File \
perl-Data-Dump \
perl-Data-OptList \
perl-Data-Section \
perl-Devel-PPPort \
perl-Devel-Peek \
perl-Devel-SelfStubber \
perl-Devel-Size \
perl-Digest-HMAC \
perl-Digest-SHA \
perl-Encode-Locale \
perl-Encode-devel \
perl-Env \
perl-ExtUtils-CBuilder \
perl-ExtUtils-Command \
perl-ExtUtils-Embed \
perl-ExtUtils-Install \
perl-ExtUtils-MM-Utils \
perl-ExtUtils-MakeMaker \
perl-ExtUtils-Manifest \
perl-ExtUtils-Miniperl \
perl-ExtUtils-ParseXS \
perl-File-Fetch \
perl-File-HomeDir \
perl-File-Listing \
perl-File-Which \
perl-Filter \
perl-Filter-Simple \
perl-Geo-IP \
perl-HTML-Parser \
perl-HTML-Tagset \
perl-HTML-Tree \
perl-HTTP-Cookies \
perl-HTTP-Date \
perl-HTTP-Message \
perl-HTTP-Negotiate \
perl-IO-HTML \
perl-IO-Socket-INET6 \
perl-IO-Zlib \
perl-IO-stringy \
perl-IPC-Cmd \
perl-IPC-SysV \
perl-IPC-System-Simple \
perl-JSON \
perl-JSON-PP \
perl-LWP-MediaTypes \
perl-Locale-Codes \
perl-Locale-Maketext \
perl-Locale-Maketext-Simple \
perl-MRO-Compat \
perl-Math-BigInt \
perl-Math-BigInt-FastCalc \
perl-Math-BigRat \
perl-Memoize \
perl-Module-Build \
perl-Module-CoreList \
perl-Module-CoreList-tools \
perl-Module-Load \
perl-Module-Load-Conditional \
perl-Module-Loaded \
perl-Module-Metadata \
perl-NTLM \
perl-Net-HTTP \
perl-Net-Ping \
perl-NetAddr-IP \
perl-Package-Generator \
perl-Params-Check \
perl-Params-Util \
perl-Perl-OSType \
perl-PerlIO-via-QuotedPrint \
perl-Pod-Checker \
perl-Pod-Html \
perl-Pod-Parser \
perl-SelfLoader \
perl-Socket6 \
perl-Software-License \
perl-Sub-Exporter \
perl-Sub-Install \
perl-Sys-Syslog \
perl-Test \
perl-Test-Harness \
perl-Test-Simple \
perl-Text-Balanced \
perl-Text-Diff \
perl-Text-Glob \
perl-Text-Template \
perl-Thread-Queue \
perl-Time-Piece \
perl-TimeDate \
perl-Try-Tiny \
perl-Unicode-Collate \
perl-WWW-RobotRules \
perl-XML-NamespaceSupport \
perl-XML-Parser \
perl-XML-SAX \
perl-XML-SAX-Base \
perl-XML-Simple \
perl-XML-Twig \
perl-autodie \
perl-bignum \
perl-devel \
perl-encoding \
perl-experimental \
perl-inc-latest \
perl-libnetcfg \
perl-libwww-perl \
perl-local-lib \
perl-open \
perl-perlfaq \
perl-srpm-macros \
perl-utils \
perl-version \
python-srpm-macros \
python3-pyparsing \
python3-rpm-macros \
qt5-srpm-macros \
redhat-rpm-config \
rust-srpm-macros \
systemtap-sdt-devel \
perl-TermReadKey \
perl \
perl-DBD-MySQL \
perl-DBI

After this, and only in the Community version, you will need to install the following package:

dnf install -y http://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm

And finally, for Discovery to detect your computer's operating system, you need xprobe2, which is not in the official RHEL repositories, however, you can find it on our Sourceforge download page in the "Tools and Dependencies" section [1].

At this point you can continue with the configuration of the operating system and database by following this link

1.10.3.2 Installation of dependencies on CentOS 7

Once with repositories and percona installed we can start to install all the necessary dependencies for the console:


yum install -y \
   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 \
   libcroco \
   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

With the console dependencies already installed it's time to install the server dependencies:

yum install -y \
   vim \
   fping \
   perl-IO-Compress \
   nmap \
   sudo \
   perl-Time-HiRes \
   nfdump \
   net-snmp-utils \
   http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/wmi-1.3.14-4.el7.art.x86_64.rpm

In the Community version some extra dependencies will be needed:

yum install -y epel-release \
    GeoIP \
    groff-base \
    initscripts \
    iproute \
    iptables \
    libmnl \
    libnetfilter_conntrack \
    libnfnetlink \
    libpcap \
    lm_sensors-libs \
    mailcap \
    make \
    mariadb-libs \
    net-snmp \
    net-snmp-agent-libs \
    net-snmp-libs \
    net-tools \
    nmap \
    nmap-ncat \
    openssl \
    perl \
    perl-Business-ISBN \
    perl-Business-ISBN-Data \
    perl-Carp \
    perl-Compress-Raw-Bzip2 \
    perl-Compress-Raw-Zlib \
    perl-DBD-MySQL \
    perl-DBI \
    perl-Data-Dumper \
    perl-Digest \
    perl-Digest-MD5 \
    perl-Encode \
    perl-Encode-Locale \
    perl-Exporter \
    perl-File-Listing \
    perl-File-Path \
    perl-File-Temp \
    perl-Filter \
    perl-Font-AFM \
    perl-Geo-IP \
    perl-Getopt-Long \
    perl-HTML-Format \
    perl-HTML-Parser \
    perl-HTML-Tagset \
    perl-HTML-Tree \
    perl-HTTP-Cookies \
    perl-HTTP-Daemon \
    perl-HTTP-Date \
    perl-HTTP-Message \
    perl-HTTP-Negotiate \
    perl-HTTP-Tiny \
    perl-IO-Compress \
    perl-IO-HTML \
    perl-IO-Socket-INET6 \
    perl-IO-Socket-IP \
    perl-IO-Socket-SSL \
    perl-IO-stringy \
    perl-JSON \
    perl-LWP-MediaTypes \
    perl-Mozilla-CA \
    perl-Net-Daemon \
    perl-Net-HTTP \
    perl-Net-LibIDN \
    perl-Net-SSLeay \
    perl-Net-Telnet \
    perl-NetAddr-IP \
    perl-PathTools \
    perl-PlRPC \
    perl-Pod-Escapes \
    perl-Pod-Perldoc \
    perl-Pod-Simple \
    perl-Pod-Usage \
    perl-Scalar-List-Utils \
    perl-Socket \
    perl-Socket6 \
    perl-Storable \
    perl-Sys-Syslog \
    perl-Text-ParseWords \
    perl-Time-HiRes \
    perl-Time-Local \
    perl-TimeDate \
    perl-URI \
    perl-WWW-RobotRules \
    perl-XML-NamespaceSupport \
    perl-XML-Parser \
    perl-XML-SAX \
    perl-XML-SAX-Base \
    perl-XML-Simple \
    perl-XML-Twig \
    perl-constant \
    perl-libs \
    perl-libwww-perl \
    perl-macros \
    perl-parent \
    perl-podlators \
    perl-threads \
    perl-threads-shared \
    sudo \
    systemd-sysv \
    sysvinit-tools \
    tcp_wrappers-libs

And finally, for Discovery to detect your computer's operating system, you need xprobe2, which is not in the official RHEL repositories, however, you can find it on our Sourceforge download page in the "Tools and Dependencies" section [2].





1.10.4 OS settings and database creation

Template warning.png

After this point the installation for CentOS 7 and CentOS 8 is common for both systems, if there is any step that is not common the operating system for which it is valid will be indicated in bold

 



After previous steps, we will disable SELINUX and the firewall.

setenforce 0
sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/sysconfig/selinux
systemctl disable firewalld --now

Then we can start configuring the database:

systemctl start mysqld
mysql -uroot -p$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Pandor4!');
UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('pandora');
quit
echo "create database $DBNAME" | mysql -uroot -ppandora -P$DBPORT -h$DBHOST
echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%' identified by \"$DBPASS\"" | mysql -uroot -ppandora -P$DBPORT -h$DBHOST

We will also generate the file my.cnf.


POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{print $(NF-1)*0.4/1024}' | sed s/\\..*$/M/g)
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 http://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 = 100
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
query_cache_type = 1
query_cache_size = 64M
query_cache_min_res_unit = 2k
query_cache_limit = 256K
sql_mode=""
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EO_CONFIG_F


Once the changes have been saved, it will be necessary to restart the mysqld service.

systemctl restart mysqld 

And we will enable the services mysql, apache and php.

systemctl enable mysqld --now
systemctl enable httpd --now
systemctl enable php-fpm --now #(Only on Centos8)

1.10.5 Pandora FMS console and server installation

With all the environment ready, it's time to install Pandora FMS. The first thing will be to create a directory to store all the data.

mkdir $HOME/pandora && cd $HOME/pandora

Template warning.png

It will be necessary to download the packages of the console, enterprise console and enterprise server from Sourceforge or the links provided by the support team.

 


With the packages already prepared, we can start the installation:

yum install -y $HOME/pandora/pandorafms*.rpm

Pandora server installation (only for the Enterprise version):

tar xvfz $HOME/pandora/pandorafms_server* && cd pandora_server && ./pandora_server_installer --install --ha; cd -

Once the process is finished, we will populate the database:

mysql -u$DBUSER -p$DBPASS -P$DBPORT -h$DBHOST $DBNAME < $PANDORA_CONSOLE/pandoradb.sql
mysql -u$DBUSER -p$DBPASS -P$DBPORT -h$DBHOST $DBNAME < $PANDORA_CONSOLE/pandoradb_data.sql

Then we will have to configure the console.

cat > $CONSOLE_PATH/include/config.php << EO_CONFIG_F
<?php
\$config["dbtype"] = "mysql";
\$config["dbname"]="$DBNAME";
\$config["dbuser"]="$DBUSER";
\$config["dbpass"]="$DBPASS";
\$config["dbhost"]="$DBHOST";
\$config["homedir"]="/var/www/html/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
<Directory "/var/www/html">
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
EO_CONFIG_F
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 
chmod 600 $CONSOLE_PATH/include/config.php	
chown apache. $CONSOLE_PATH/include/config.php
mv $CONSOLE_PATH/install.php $CONSOLE_PATH/install.done


Then we will prepare the file 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 = 500M/g" /etc/php.ini
cat > /var/www/html/index.html << EOF_INDEX
<meta HTTP-EQUIV="REFRESH" content="0; url=/pandora_console/">
EOF_INDEX
systemctl restart php-fpm #(Only on Centos8)
systemctl restart httpd

The server configuration file will be prepared.

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

In the Enterprise version we will also enable the service ha.

systemctl enable pandora_ha --now
service tentacle_serverd start


In the Community version, pandora_ha service doesn't exist, so we will need to execute the following commands to enable the server:

systemctl enable pandora_server --now
systemctl start pandora_server
service tentacle_serverd start


Phantomjs is a special component that is used to dynamically generate PDF graphics. We will install it using the command:

Info.png

Although you can see in the CentOS 7 installation link that the package is in the CentOS 8 repository, it works correctly in both versions.

 


CentOS 8: dnf install -y http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm
CentOS 7: yum install -y http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm

We will enable the cron of the console:

echo "* * * * * root wget -q -O - --no-check-certificate http://127.0.0.1/pandora_console/enterprise/cron.php >> /var/www/html/pandora_console/log/cron.log" >> /etc/crontab

Then you may go to the server ip and should enter the Pandora Console up and running:

Pandora login.png

With these steps we will have a basic installation of Pandora FMS. If necessary, all Discovery dependencies should be added for each section.

It is recommended to install the agent to automonitor the server.




1.10.6 License application

Pandora FMS Enterprise version is associated with an individual key for each installation. In order to use the Enterprise features and perform automatic updates of the console, it is necessary to enter the license number provided by Artica. From Pandora FMS version 748 on, the server is installed with a trial license valid for a maximum of 100 agents and one month of use.

If you want to expand this license, please contact your trusted commercial or fill in the following contact form

The Community version does not require any license for its use.

1.11 Installation by packages on RHEL 7/8

The installation of Pandora FMS on RHEL 7 and RHEL 8 systems is an Enterprise service. You can consult how to install on these systems by contacting your trusted commercial or by filling out the following contact form

1.12 Installation under Docker

We have an entry in the docker hub website explaining how to mount a Pandora FMS stack based on CentOS 8 step by step in the link: https://hub.docker.com/r/pandorafms/pandorafms-open-stack-el8

It is also possible to install through a yaml file, as a quick installation method. The following explains how to perform this deployment via docker-compose.

First, you need to have installed in the system docker and docker compose, installation documentation: https://docs.docker.com/get-docker/

Once installed, we will use the yaml file from the official PandoraFMS repository:

mkdir $HOME/pandorafms; cd $HOME/pandorafms
wget https://raw.githubusercontent.com/pandorafms/pandorafms/develop/extras/docker/centos8/docker-compose.yml
docker-compose -f $HOME/pandorafms/docker-compose.yml up

We wait a few seconds for the download and configuration of the environment. You can access to the PFMS console from the url http://127.0.0.1:8080/pandora_console using “admin” as user and “pandora” as password.


1.13 Uninstalling Pandora FMS

Just execute the command

yum remove pandorafms_console pandorafms_server

If MySQL is installed but it is no longer needed, it can also be deleted with the same command:

yum remove Percona-Server*

1.14 Custom Installation

1.14.1 Manual Installation from Sources under Linux / UNIX / MAC OS

It will be necessary to install all dependencies installed depending of the OS, and then download the files in "tarball" format (. tar. gz,. tgz or. tar. bz2) and unzip them. To do it, locate the latest version of Pandora FMS and download the files from here: https://sourceforge.net/projects/pandora/files/.


1.14.1.1 Console Installation

Once you have opened the console zip file, follow these steps:

1. Acquire root privileges by entering:

su -

2. Copy to '/tmp' and execute:

tar xvzf pandorafms_console-X.Y.tar.gz 
cd pandora_console
./pandora_console_install --install

1.14.1.2 Server Installation

Once you have opened the server zip file named 'pandorafms_server-3.0.0.tar.gz' or similar, follow the steps described below:

1. Acquire root privileges:

su - 

2. Copy it to '/tmp' and execute:

tar xvzf pandorafms_server-X.Y.tar.gz 
cd pandora_server
./pandora_server_installer --install

If you experience any dependency-related problems, fix them before attempting any installation. It might be possible to force the installation and ignore the problems with the dependencies, but Pandora FMS will not work properly in that case.

1.14.1.3 Server Manual Installation (from source code)

Alternatively to the general installation script, you can "compile" the Pandora FMS code through the Perl interpreter of your system. This process simply installs the minimum libraries and executables, but does not alter the boot script system, maintenance scripts, configuration or anything else that strictly concerns the application and its libraries. This process is recommended when the server code must be updated, but without overwriting its configuration.

To do it properly, unzip your server code to /tmp, as described in the previous step.

1. Acquire root privileges:

su - 

2. Copy it to '/tmp' and once there, execute:

tar xvzf pandorafms_server-X.Y.tar.gz 
cd pandora_server
perl Makefile.PL
make
make install

If any dependency is missing or there is another problem, the system will warn you. If you see a message similar to:

Warning: prerequisiete Mail::Sendmail 0 not found
Warning: prerequisiete Net::Traceroute::PurePerl 0 not found

It means that there are some Perl packages that Pandora FMS needs and that the system does not have them installed. Check the previous paragraphs to know how to install the necessary dependencies to be able to install Pandora FMS. However, you can temporarily ignore these warnings (that is why they are warnings and not errors) and force the installation. But you will surely have problems at one time or another since you are missing a component needed to function. However, if you know that the component that is not installed will not be used (e. g. traceroute is used exclusively for Pandora FMS Recon Server), you can continue without any problem.

After this process, these files are automatically copied:

/usr/local/bin/pandora_server
/usr/local/bin/pandora_exec

And several. pm files (Perl libraries) that Pandora FMS needs. Those. pm libraries are copied to different directories, depending on the version of your distribution and distribution. For example in Ubuntu 9.04 they are copied to:

/usr/local/share/perl/5.10.0/PandoraFMS/

In SUSE/SLES 11 they are copied to:

/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/

1.14.2 Installing the Enterprise Version

To install the Enterprise version of Pandora FMS, install the packages "Open" of the Console and Server, and then add the packages "Enterprise" of each one. In the case of the Console use one package or another, depending on the installed distribution.

1.14.2.1 Enterprise Console Installation

To install the Enterprise Console by using the source code:

Once you have opened the console and arrived at the location of the compressed file named 'pandorafms_console-X.X.tar.gz' or similar, follow the steps mentioned bellow:

1. Acquire root privileges by entering:

su -

2. Copy it to '/tmp' and then execute:

tar xvzf pandorafms_console-X.Xtar.gz 

Later, copy it to the directory in which your Pandora FMS open-source console is installed.

3. Just change the permissions in case the files are intended to get used by the web server user, e.g.:


chown -R apache /var/www/html/pandora_console/enterprise



1.14.2.2 Enterprise Server Installation

First, make sure the Open version of the server is installed. Then proceed to install the enterprise version in order to install the Enterprise Server.

Once you have the zip file with the server, named pandorafms_server_enterprise-X. X. tar. gz or similar, follow the steps mentioned below:

Template warning.png

We are working on a pilot version that will include upgrades in the Enterprise server. From 738 update on, it is advised to use Pandora FMS Enterprise server version E7. Version E6 should only be used in case of compatibility issues.

 



1. Acquire root privileges:

su - 

2. Copy it to '/tmp' and execute:

tar xvzf pandorafms_server_enterprise-X.X.tar.gz 
cd pandora_server/
# ./pandora_server_installer --install

If the Pandora FMS Server Binary is not contained in the default directory '/usr/bin', indicate the directory as follows:

# PREFIX=/usr/local ./pandora_server_installer --install

After installing, restart the server (/etc/init.d/pandora_server restart). Then, the Enterprise Servers will be shown as enabled.

Template warning.png

Do not restart the server until the Pandora FMS Enterprise license key installation is completed, otherwise the server will not start and your monitoring service will be interrupted.

 


Pandora server view.png

1.14.3 Installing on a different path

To install the Pandora FMS Server on a different path, specify it with the --destdir option:

./pandora_server_installer --install --destdir <path>

After the installation, configure the Pandora FMS server manually to run at startup and configure the database maintenance script, pandora_db, to run periodically. For example, on Linux (replace <destdir> with the actual path passed to --destdir):

ln -s <destdir>/etc/init.d/pandora_server /etc/init.d/
echo "\"<destdir>/usr/share/pandora_server/util/pandora_db\" \
\"<destdir>/etc/pandora/pandora_server.conf\" >/dev/null 2>&1" > /etc/cron.hourly/pandora_db


1.14.4 Installing with a non-privileged user

To install Pandora FMS server with a non-privileged user, launch the following command with the user you want to install: (this user must have writing permissions on the path that is passed to --destdir).

./pandora_server_installer --install --no-root --destdir /opt/pandora


2 Pandora FMS Agent Installation

2.1 Agent Requirements

The agent can run on any computer with the minimum required operating system, either of the following:

Component Operating System
Pandora Agent 4.0 or above
  • RedHat Enterprise (RHEL) 6.x
  • CentOS 6.x
  • SLES 11 SP1 or above
  • OpenSUSE 11.x or above
  • Debian 5.x or above.
  • Ubuntu 11 or above.
  • HPUX B.11.11 or above, with Perl 5.8.
  • AIX 4.3.3 or above, with Perl 5.8.
  • BSD Systems (NetBSD, OpenBSD, FreeBSD), with Perl 5.8.
  • MacOSX 10.6 or higher.
  • Solaris 8 or above, with Perl 5.8.
  • Windows NT4 (see special notes for this section).
  • Windows XP
  • Windows 2000
  • Windows 2003
  • Windows 2008
  • Windows 7
  • Windows 8
  • Windows 2012
Pandora Android Agent 2.0 or above
  • Android 6 or above
Pandora Embedded Agent 4.0 or above
  • Embedded devices, requires compiling



Info.png

There is a special agent for Windows NT, which is basically the Unix agent compiled for Windows, although performance is much lower than that of a native Windows agent and native API access features are not present.

 


In UNIX environments, the following must also be installed:

  • Perl 5.8 or above
  • It will be necessary to install the following dependencies:
perl-YAML-Tiny-1.73-2 
perl-Sys-Syslog 
unzip

2.2 Installing the agent from tarball

This agent version is ready for installation on any Unix/Linux/MAC OS system.

The agent does not require compilation nor preparation, once the agent is downloaded in. tar. gz format.

1. Acquire root privilges

su -

2. Copy it to /tmp and insidee /tmp execute:

tar xvzf pandorafms_X.Y_unix.tar.gz 
cd unix
./pandora_agent_installer --install

3. Start the agent manually:

/etc/init.d/pandora_agent_daemon start

2.3 Custom installation

The agent can be installed in a directory defined by the user in an "integral" way, this means that all the files of the agent will be put in that directory: logs, configuration files, binaries, man pages, etc.

To use that method, simply run it as the following example:

./pandora_agent_installer --install /opt/pandora

The only file that Pandora FMS will create outside this user-defined directory is the agent launcher in /etc/init. d/pandora_agent_daemon (or equivalent in other Unix systems), and the link in the directory of the system's boot level, for example /etc/rc. d/rc2. d/S90pandora_agent_daemon.

Moreover, the installation can be configured so that instead of running the agent with root user, it can run with another user. For example, for the agent to run with the Pandora FMS user, it would be:

./pandora_agent_installer --install /home/pandora pandora

When a custom user is specified, the agent must be installed in a custom location where the user has writing permissions (/home/pandora in the previous example).



Template warning.png

The user pandora is deactivated by default, you must enable it by entering a valid shell in /etc/passwd if you want to use it to run the agent with that user.

 


Template warning.png

For users with MAC OS X 10.11 or higher (The Captain or newer): Apple has added a new security layer on OS X. Some root privileges have disappeared. When installing the Pandora FMS Agent, it will appear as a restricted process. Only restricted processes that are signed by Apple can modify these files. However, you can disable this security system by booting into recovery mode and deactivating it on a terminal by doing: csrutil disable.

 


2.4 Agent installation in NetBSD and FreeBSD

Pandora FMS agent file does not exist for FreeBSD and NetBSD. You must install the Pandora FMS agent using the installer.

To install using the installer, read the following section carefully: "Manual installation from sources on Linux/Unix".

The file location and startup script structure are different from Linux.

The particulars of FreeBSD will be discussed later on.

After installation, add the following line to /etc/rc. conf.

pandora_agent_enable="YES"

To enable the Pandora FMS agent, these settings are needed, otherwise the process cannot be started.

In FreeBSD, most Pandora FMS agent files are installed in /usr/local.

Agent:

/usr/local/bin/pandora_agent

Boot Script :

/usr/local/etc/rc.d/pandora_agent

Configuration file:

/usr/local/etc/pandora/pandora_agent.conf

Plugins:

/usr/local/share/pandora_agent/plugins/*

Man pages:

/usr/local/man/man1/*

Other:

The data_in and log directories are the same as those of Linux.

2.5 Agent installation in Windows

The agent is delivered as an installer in executable format (. exe). The basic installation performs all the necessary steps and it is only necessary to accept all the options.

To install the Pandora FMS agent in Windows, you only need to download and run it. The installer will guide you through the necessary steps in the language you select. The following example shows the installation for Windows XP, remember that Pandora FMS works on any modern Microsoft platform (2000 or higher). It also has 32 and 64 bit versions.




Select language:

Pandora agent 3.0 RC3 install windows 01.png

Follow the steps:

Pandora agent 3.0 RC3 install windows 021.png

Acept Terms and Conditions and click on Next:

Pandora agent 3.0 RC3 install windows 031.png

Select the path where the Pandora FMS agent will be installed (by default it is installed in c: /program files/pandora_agent), but you can change it by clicking on Browse..., and then clicking on Next:

Pandora agent 3.0 RC3 install windows 041.png

Wait for the files to be copied.

Pandora agent 3.0 RC3 install windows 061.png

Configure the data for the agent as the IP address (or name) of the Pandora FMS server that will receive the agent data. In order to be able to change other parameters, such as the agent name (by default it takes the hostname value of the machine) or the path of the temporary files, you will have to manually edit the agent configuration.


Pandora agent 3.0 RC3 install windows 071.png

Pandora agent 3.0 RC3 install windows 072.png

Decide whether you want to start Pandora FMS agent service at the moment, otherwise you will have to do it manually, or it will start when Windows restarts again.

Pandora agent 3.0 RC3 install windows 081.png

The installation is finished. You can change the agent parameters in the file pandora_agent. conf or through the direct link in the PandoraFMS menu.

2.5.1 Unattended Windows Agent Installation

Starting with the agent's VERSION 5.1, the installer supports unattended mode. To perform the installation, simply run the following:

"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S

In case you want to install the agent in a different path than the default one:

"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S /D=C:\Agent_Pandora

You can also pass certain parameters so that they are written in the configuration file of the agent to be created. Thanks to these options, the deployment of Pandora FMS agents is much more customizable. The options per command line that are supported are the following:

  • --ip: Corresponds to the token server_ip.
  • --group: Corresponds to the tokengroup.
  • --alias: Corresponds to the tokenagent_alias.

For example, if you want to create an agent that belongs to the groupApplications, with the name Mifunne and that points to the server with the IP 192.168.0.59, the command would be:

"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S  --ip 192.168.0.59 --group Applications --alias Mifunne

2.5.2 Unattended Uninstallation

The uninstaller that is an executable named uninstall. exe in the Pandora FMS installation directory also enables the unattended uninstaller, to do it, run the uninstaller with the option /S .

For example, assuming that Pandora FMS is installed in the default path:

c:\program files\pandora_agent

You should execute:

“c:\program files\pandora_agent\uninst.exe” /S

2.5.3 Using PandoraAgent.exe from the command line

If you run pandoraagent.exe --help, it will show you something similar to this:

Pandora agent for Windows. Version 3.0(Build 091125)
Usage: PandoraAgent.exe [OPTION]

Available options are:
        --install:  Install the Pandora Agent service.
        --uninstall: Uninstall the Pandora Agent service.
        --test-ssh: Test the SSH Pandora Agent configuration.
        --test-ftp: Test the FTP Pandora Agent configuration.
        --process: Run the Pandora Agent as a user process instead of a service.


To install the service (if it is not installed), simply run the following inside the directory where the executable is located (usually c:/program files or equivalent).

pandoraagent.exe --install

This will prompt the service on the machine, based on the path where the. exe is located.

If you want to uninstall it, the process is the same but using:

pandoraagent.exe --uninstall

If you want to test an ftp or ssh connection from the command line, you can use the previous options.

2.5.4 Pandora FMS Windows Agent as a process

It possible, for debugging, testing and other unusual circumstances, execute the agent in "Process"mode. This is done by running it from the command line:

pandoraagent.exe --process

There are some limitations in the execution of the process mode, since Pandora FMS is meant to run as a service and under the user SYSTEM. If you run it with another user without privileges, there will be functionalities that will not work properly.

Go back to Pandora FMS documentation index