Table of Contents
Installing
Console and Pandora FMS Server Installation
What operating systems does Pandora FMS run on?
Pandora FMS requires Linux for the server and the console. It is not officially supported on MS Windows® or any other operating system such as Solaris®, BSD or similar, although many of its components will work. There are advanced features that will not work or will give problems and it is impossible to ensure their operation.
Monitoring agents are supported for any platform, especially Microsoft Windows® (all versions from Windows NT4 to the latest Windows 11), different GNU/Linux distributions (Debian, RedHat, Fedora, Centos, Mint, SUSE, etc.), as well as Unix® (Solaris®, HPUX, AIX, BSD, etc.). There is also an agent for Android devices.
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 5.000 modules | MEDIUM: up to 15.000 modules | BIG*: up to 30.000 modules | Extra BIG*: up to 80.000 modules |
---|---|---|---|---|
CPU | 2 core at 2 GHz | 4 cores at 2,5 GHz | 6 cores at 3 GHz | 10 cores at 3 GHz |
RAM | 4 GB | 8 GB | 16 GB | 32 GB |
Hard drive | 7200 rpm | 15K rpm or SSD | SSD | SSD |
Disk Space | 40GB minimum 60GB recommended | 60GB minimum 150GB recommended | 120GB minimum 250GB recommended | 250GB minimum 400GB recommended |
* * For environments exceeding 80 thousand metrics, a distributed monitoring system using multiple nodes should be chosen.
(*) In the case of requiring higher performance per node, there is the possibility to deploy the database on another instance or even configure the node to connect to an xtradb database cluster.
In case you install Pandora FMS in a virtual environment, make sure to assign an independent disk with reserved space and high access speed. It is recommended to use SSD hard drives , due to their high impact on performance improvement.
If you need to store information older than one month, you will need to create a history database. For machine sizing refer to the hardware requirements in the table above.
Minimum software requirements
Software | Requirements | |
---|---|---|
Operating System | RedHat Enterprise (RHEL) 8 (recommended). Rocky Linux 8. RedHat Enterprise (RHEL) 7.X (Enterprise version only). CentOS 7.X. Ubuntu Server 22.04 (version 766 or later): in the Enterprise version only for stand alone nodes, Metaconsole environments must be fully installed on RHEL 8 / Rocky Linux 8 (recommended) or, failing that, RHEL 7 or CentOS 7. |
|
Windows Server (2003 or higher) SLES 11 SP1 or higher OpenSUSE 11.X or higher Debian 5, 6, 7 or higher Ubuntu Server 21 or earlier Ubuntu Desktop FreeBSD 9.X or higher Solaris 10/OpenSolaris | Pandora FMS does not give official support in these platforms | |
Permissions | Server Pandora FMS Server service must be executed with root permissions. 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 reading and executing 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 with root permissions 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 with administrator permissions. |
|
Console | PHP 8 → For Pandora FMS version 760 or later (Since version 766, PHP 8 by default). PHP 7.4 → For Pandora FMS from version 759 to 767. PHP 7.2 → For Pandora FMS from version 729 to 758. PHP 5 → For Pandora FMS version 728 or older. |
|
Browsers | Microsoft Edge® Opera web browser® Google Chrome® Mozilla Firefox® |
|
Mozilla Firefox® and Google Chrome® are recommended to make use of interactive graphs and network maps. |
For Pandora FMS (at server level) the term EL8 is used to name the set of recommended operating systems, which consists of Rocky Linux 8™, AlmaLinux 8® and RedHat 8®.
Database requisites
BBDD | Details |
---|---|
MySQL Standard | Version 5.7 by default, from version 760 onwards has support for MySQL version 8. For standard installations, a user with creating privileges in pandora DB is required. In case of not having this user, manual installation can be performed. |
Percona Server for MySQL | Percona Server for MySQL installation is recommended for large Pandora FMS environments where more than 4000 agents must be created. Version 5.7 by default, from version 760 onwards it has support for MySQL version 8. For standard installations, a user with creating privileges in pandora DB is required. In case of not having this user, it will be possible to carry out manual installation. |
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 (NG 761 and earlier). pandorawmic (NG 762 version or later). |
Binaries | The main dependencies are: Linux® 32 Bits Linux® 64 Bits Windows® 32 Bits Windows® 64 Bits Raspberry Pi OS |
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 |
Package Dependencies
Pandora FMS has a strong dependency on the 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.
Issues prior to Installation
MySQL
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 by systemd:
systemctl start mysql
Alternatively, you can use: /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.
Pandora FMS Installation Order
You are required to follow this sequence in order to install Pandora FMS properly:
- Install console
- 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. It is possible to indicate both where MySQL database is through the corresponding configuration file, although in Enterprise environments when carrying out a distributed installation you should take into account more factors for installation.
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.
Installing the Pandora FMS 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.
Enterprise Alternative Server packages
You can also choose to download and install the Enterprise version in a novel alternate package.
It is a set of binary files available in .tar.gz
and .rpm
format, it is a binary compilation different from the usual one.
It has as advantages the implementation of the encrypted connection to the MySQL® database as well as the option to use MS SQL Server®.
From the technical support section you can request access to this resource.
Online installation tool
If you have access to the Internet, it is recommended that you perform the installation online using this useful tool.
Monolith environment Pandora FMS (server/console/database)
This installation method is especially useful when the environment is hosted by cloud providers, although it is not exclusive to this type of environment.
The term “Cloud provider” (or simply “Cloud”) is used to describe the hosting of virtual machines, either exclusively or shared, in specialized providers with hardware, hypervisors and customer support web systems for configuration and administration.
For any of them you can install Pandora FMS Community edition. Red Hat (RHEL) 8.x is recommended as operating system, although it also has official compatibility with RockyLinux 8.x, AlmaLinux 8.x, Ubuntu Server 22.04 and Centos 7.x.
The minimum hardware requirements for this installation are: 1 core, 2 gigabytes RAM and 20 gigabytes free disk, preferably of type Solid State Drive (SSD).
These requirements are the minimum installation requirements, to properly size the monitoring environment we recommend going to the minimum hardware requirements section.
Requirements for the use of the online installation tool
- Internet access (specific URL's). In addition to these URLs, it is necessary to have access to the official repositories of the distribution used (RHEL / Rocky Linux / CentOS / Ubuntu).
- Have curl installed (it comes by default in most distributions)
- Be an administrator user root.
- Have a compatible OS.
- In the case of using RHEL 8, it will be necessary to be previously activated with a license and subscribed to the standard repositories.
To use the online installation tool, just access the command line as provided by your Cloud provider as root administrator user and run:
CentOS 7.x:
curl -sSL https://pfms.me/deploy-pandora | bash
RHEL 8.x and Rocky Linux 8.x:
curl -sSL https://pfms.me/deploy-pandora-el8 | bash
For Ubuntu Server 22.04:
curl -SsL https://pfms.me/deploy-pandora-ubuntu | bash
There is a similar online installation tool for the Pandora FMS Enterprise version that can be requested if you are already a user of this version through the support portal or through this link to get a free trial (demo).
In addition, an online installer is also available for Satellite server installation.
With this execution, the whole Pandora FMS stack will be installed, leaving a fully functional instance to start monitoring.
More information can be found in our video tutorial «Cloud installators (agents, server)».
Custom installation using the online installation tool
Although the above execution makes a complete installation environment, it is possible to define different modifiers through environment variable to customize the installation.
Custom parameters for RHEL 8.x and Rocky Linux 8.x
- TZ: Defines the time zone of the machine, default is
Europe/Madrid
. - DBHOST: The host of the database, default is
DBHOST=127.0.0.1
. - DBNAME: The name of the database to be created, default is
DBNAME=pandora
. - DBUSER: The user of the database to be created, default
DBUSER=pandora
. - DBPASS: The password for the user to be created, default
DBPASS=pandora
. - DBPORT: Port number of the database to be connected, default
DBPORT=3306
. - DBROOTPASS: Password for the root user of the database, default
DBROOTPASS=pandora
. - SKIP_PRECHECK: Skip the check if a previous pandora installation already exists, useful to create a new database and point the installation to this one; by default
SKIP_PRECHECK=0
. - SKIP_DATABASE_INSTALL: Skip the database installation, useful for when you already have a database installed, either local or remote and you use the credentials of this one to create the Pandora FMS database; by default
SKIP_DATABASE_INSTALL=0
. - SKIP_KERNEL_OPTIMIZATIONS: Skip the recommended kernel optimization, only for advanced users. Default
SKIP_KERNEL_OPTIMIZATIONS=0
. - MYVER: Defines the MySQL version to be installed, if 80 is defined, MySQL 8 will be installed. By default
MYVER=80
(deploys MySQL 8.0). - PHPVER: Defines the PHP version to install, by default
PHPVER=8
(deploys PHP 8). - PANDORA_SERVER_PACKAGE: Defines the URL of the RPM package of the Pandora FMS server you want to install. By default it is defined the last available version.
- PANDORA_CONSOLE_PACKAGE: Defines the URL of the RPM of the Pandora FMS Web Console you want to install. By default it is defined the last available version.
- PANDORA_AGENT_PACKAGE: Defines the URL of the RPM of the Pandora FMS Software agent you want to install. By default it is defined the last available version.
- PANDORA_BETA: If set to
1
the packages of the latest available beta version will be installed (only for test environments). By defaultPANDORA_BETA=0
(if specific packages are defined this option is ignored). - PANDORA_LTS: It installs the latest Long Term Support (LTS) version, a maximum stability version that incorporates major bug fixes. By default active (
PANDORA_LTS=1
), if set to zero it installs the latest Regular Rolling Release (RRR).
To use these environment variables just define them before executing the installation script, for example, in an installation in RHEL 8 with defined variables, execute the block:
env TZ='Europe/Madrid' \ DBHOST='127.0.0.1' \ DBNAME='pandora' \ DBUSER='pandora' \ DBPASS='pandora' \ DBPORT='3306' \ DBROOTPASS='pandora' \ MYVER=80 \ PHPVER=8 \ SKIP_PRECHECK=0 \ SKIP_DATABASE_INSTALL=0 \ SKIP_KERNEL_OPTIMIZATIONS=0 \ PANDORA_SERVER_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm" \ PANDORA_CONSOLE_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm" \ PANDORA_AGENT_PACKAGE="https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm" \ PANDORA_BETA=0 \ PANDORA_LTS=1 \ sh -c "$(curl -fsSL https://pfms.me/deploy-pandora-el8)"
Custom parameters for Ubuntu Server 22.04
- TZ: It defines the time zone of the machine, by default
Europe/Madrid
. - PHPVER: It defines the PHP version to install. By default
PHPVER=8
(installs PHP 8). - DBHOST: The host of the database, by default
DBHOST=127.0.0.1
. - DBNAME: The name of the database to be created, by default
DBNAME=pandora
. - DBUSER: The user of the database to be created, by default
DBUSER=pandora
. - DBPASS: The password for the user to be created, by default
DBPASS=pandora
. - DBPORT: Port number of the database to be connected, by default
DBPORT=3306
. - DBROOTPASS: Password for the database root user, by default
DBROOTPASS=pandora
. - SKIP_PRECHECK: Skip the check if a previous Pandora FMS installation already exists, useful to create a new database and point the installation to this one; by default
SKIP_PRECHECK=0
. - SKIP_DATABASE_INSTALL: Skip the database installation, useful for when you already have a database installed, either local or remote and you use its credentials to create the Pandora FMS database; by default
SKIP_DATABASE_INSTALL=0
. - SKIP_KERNEL_OPTIMIZATIONS: Skip the recommended kernel optimization, only for advanced users. Default
SKIP_KERNEL_OPTIMIZATIONS=0
. - POOL_SIZE: It specifies a memory value to be used, by default it is done automatically.
- PANDORA_BETA: If set to
1
, the packages of the latest beta version available will be installed (only for test environments). By defaultPANDORA_BETA=0
. - PANDORA_LTS: It installs the latest Long Term Support (LTS) version, a maximum stability version that incorporates major bug fixes. By default active (
PANDORA_LTS=1
), if set to zero it installs the latest Regular Rolling Release (RRR).
To use these environment variables just define them before executing the installation script, for example, in an installation in Ubuntu Server 22.04 with defined variables, execute the block:
env TZ='Europe/Madrid' \ DBHOST='127.0.0.1' \ DBNAME='pandora' \ DBUSER='pandora' \ DBPASS='pandora' \ DBPORT='3306' \ DBROOTPASS='pandora' \ PHPVER='8.0' \ SKIP_PRECHECK=0 \ SKIP_DATABASE_INSTALL=0 \ SKIP_KERNEL_OPTIMIZATIONS=0 \ PANDORA_BETA=0 \ PANDORA_LTS=1 \ bash -c "$(curl -SsL https://pfms.me/deploy-pandora-ubuntu)"
Installing Pandora FMS with an external database
NG 765 version or later.
In case you have a powerful exclusive server to host the database (DB) for Pandora FMS, there is another customization for the online installation.
First you must consider, roughly, how you should plan the installation so that both the PFMS server and your Web Console (PANDORA FMS SERVER+CONSOLE) connect to a remote database (DB):
- Connect to the server hosting the database engine, take exact note of its URL or its IP address (DBHOST).
- The default port number (DBPORT) is
3306
, please note it if you use a different one. - Create the database, write down exactly the name used (it is recommended to use
pandora
as DBNAME). - Create the user to be used to connect to the database (it is recommended to use
pandora
as DBUSER). - Assign a password for the user created in the previous step (DBPASS).
To comply with Pandora FMS Security Architecture, use a different password than the default one.
- Assign all permissions to the created database to the created user.
To comply with Pandora FMS Security Architecture, set limit the connection to the IP address or URL of the future PFMS server and to the created user. This will guarantee that, if the passwords are compromised, they will be useless if they are used from a device different from the PFMS server to be created.
- Once all of this is set, make a test connection through shellfrom the future PFMS server to the created database, this will ensure that there is verified communication and it is ready to work.
- The installation parameter that allows connecting to a remote database during online installation is SKIP_DATABASE_INSTALL and its value must be set to
1
. - Proceed to the actual installation with the online installation tool. A simplified example with default values is shown below (always remember to use a user password different from the default one).
env \ DBHOST='192.168.1.107' \ DBNAME='pandora' \ DBUSER='pandora' \ DBPASS='pandora' \ DBPORT='3306' \ SKIP_DATABASE_INSTALL=1 \ sh -c "$(curl -fsSL https://pfms.me/deploy-pandora-el8)"
Pandora FMS Software Agent online installation
To install only the Software Agent there is also a online installation tool through the BASH command, it supports Red Hat base OS (Fedora, Centos, etc.) and Debian (Ubuntu, Devuan, Lubuntu, etc.). More information can be found in our tutorial “How to deploy Pandora FMS agent in Cloud environments”.
For GNU/Linux
Requirements for the use of the online installation tool:
- Internet access.
- Have curl installed (it comes by default in most distributions).
- Be an administrator root user.
- Have a supported OS.
The script support a series of environment variables to customize the installation. Just one of it is mandatory: $PANDORA_SERVER_IP, so to perform a standard installation in one line just execute:
export PANDORA_SERVER_IP=<PandoraServer IP or FQDN> && curl -Ls https://pfms.me/agent-deploy | bash
This environment variables are used just for the installation process, they can be destroyed or changed after installation without altering Pandora FMS Software Agent performance.
Optionally, it is possible to use another env variables to customize the installation:
- $PANDORA_REMOTE_CONFIG: Configure the remote config setting -
0
by default (disabled). - $PANDORA_AGENT_NAME: Configure the agent name setting - autogenerated by default.
- $PANDORA_AGENT_ALIAS: Configure the agent alias setting - hostname by default.
- $PANDORA_GROUP: Configure the agent group setting -
Servers
by default. - $PANDORA_SECONDARY_GROUPS: Configure the agent secondary groups setting - Empty by default.
- $PANDORA_DEBUG: Configure the debug setting -
0
by default (disabled). - $TIMEZONE : Configure the system timezone.
- $PANDORA_AGENT_SSL: It allows to configure the encrypted communications between the Software Agent and the corresponding PFMS server. By default not enabled (
no
), to enable it useyes
(this will also install the software dependencies to encrypt such communications). Use single quotes to delimit the value, see example below:
env \ PANDORA_SERVER_IP='192.168.10.245' \ PANDORA_REMOTE_CONFIG=1 \ PANDORA_AGENT_NAME='pandora_agent_name' \ PANDORA_AGENT_ALIAS='pandora_AGENT_ALIAS' \ PANDORA_GROUP='Servers' \ PANDORA_SECONDARY_GROUPS='VMware,Web' \ PANDORA_AGENT_SSL='yes' \ curl -Ls https://pfms.me/agent-deploy | bash
Please note that in order to encrypt communications through the Tentacle protocol between software agents and their corresponding PFMS servers, SSL certificates and keys are required. Visit the “Communication Encryption” section in the Tentacle protocol technical reference.
For MS Windows
Requirements for the use of the online installation tool:
- Internet access.
- Have powershell installed.
Execute the following commands in a terminal window with Powershell and with administrator permissions:
Invoke-WebRequest -Uri https://firefly.pandorafms.com/pandorafms/latest/Windows/Pandora%20FMS%20Windows%20Agent%20v7.0NG.x86_64.exe -OutFile ${env:tmp}\pandora-agent-windows.exe; & ${env:tmp}\pandora-agent-windows.exe /S --ip [PANDORASERVER IP or NAME] --group [GROUPNAME] --remote_config 1
Afterwards:
NET START PandoraFMSAgent
Package installation
This section is referential as it saves time and effort when using the online installation tool. It is strongly recommended to use this option to install the PFMS server.
Instructions for:
- CentOS 7.
- Rocky Linux 8.
- Ubuntu Server 22.04 .
Repository configuration
Repository configuration on Rocky Linux 8
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-8.0 yum config-manager --set-enabled powertools
(Note: use PowerTools
or powertools
, as appropriate)
Repository configuration in CentOS 7
Configure yum and the necessary repositories. 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
Repository update in Ubuntu Server 22.04
Run as root user or use sudo su command:
add-apt-repository ppa:ondrej/php -y apt update apt install -y gawk sed grep
Database installation
Database installation on Rocky Linux 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 percona-release setup ps80 -y dnf install -y percona-server-server percona-xtrabackup-80
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 percona-release setup ps80 -y yum install -y percona-server-server percona-xtrabackup-80
Database installation on Ubuntu Server 22.04
Configuration of installation variables and environment configuration:
export DEBIAN_FRONTEND=noninteractive export NEEDRESTART_SUSPEND=1 PANDORA_CONSOLE=/var/www/html/pandora_console PANDORA_SERVER_CONF=/etc/pandora/pandora_server.conf PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf WORKDIR=/opt/pandora/deploy export TZ="Europe/Madrid" export PHPVER=8.0 export DBHOST=127.0.0.1 export DBNAME=pandora export DBUSER=pandora export DBPASS=pandora export DBPORT=3306 export DBROOTPASS=pandora export POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g")
Install MySQL server:
debconf-set-selections <<<$(echo -n "mysql-server mysql-server/root_password password $DBROOTPASS") debconf-set-selections <<<$(echo -n "mysql-server mysql-server/root_password_again password $DBROOTPASS") DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server
Dependency installation
Dependency installation on Rocky Linux 8
Console dependencies
Once with dnf and percona installed we can start to install all the necessary dependencies for the console:
dnf install -y \ php \ php-common \ postfix \ php-pecl-mcrypt \ php-cli \ php-gd \ php-mysqlnd \ php-ldap \ php-zip \ php-zlib \ php-snmp \ php-mbstring \ php-pecl-zip \ php-xmlrpc \ libxslt \ wget \ php-xml \ httpd \ 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-pecl-yaml \ openldap-clients \ libzstd \ chromium
- For NG 767 and earlier versions. Phantomjs is a special component used to generate PDF graphs dynamically. Install it through the command:
dnf install -y http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm
Server dependencies
Once console dependencies are installed, install those of the server:
dnf install -y \ vim \ fping \ perl-IO-Compress \ nmap \ expect \ sudo \ perl-Time-HiRes \ perl-Math-Complex \ libnsl \ net-snmp-utils \ 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, the following additional dependencies from different components must be installed from Pandora FMS public repository:
- For NG 761 and earlier versions:
dnf install -y https://firefly.artica.es/centos8/wmi-1.3.14-4.el7.art.x86_64.rpm
- For NG 762 and later versions the PandoraWMIC component:
dnf install -y https://firefly.artica.es/centos8/pandorawmic-1.0.0-1.x86_64.rpm
- In addition:
dnf install -y https://firefly.artica.es/centos8/perl-Net-Telnet-3.04-1.el8.noarch.rpm dnf install -y https://firefly.artica.es/centos7/xprobe2-0.3-12.2.x86_64.rpm
Although you see in the xprobe
installation link that the package is within CentOS 7 repository, it works properly in both versions.
After previous steps, disable SELINUX and the firewall.
setenforce 0 sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config systemctl disable firewalld --now
If you decide to use Security-Enhanced Linux (SELinux) with Pandora FMS, follow these instructions.
if necessary, add all Discovery dependencies for each section.
At this point you can continue with the configuration of the operating system and database by following this link
Dependency installation on CentOS 7
Console dependencies
Once with repositories and percona installed you may start installing all the necessary dependencies for the console executing the following command block:
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 \ openldap-clients \ libzstd \ chromium
- For NG 767 and earlier versions. Phantomjs is a special component used to generate PDF graphs dynamically. Install it from Pandora FMS servers through the command:
yum install -y https://firefly.pandorafms.com/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm
Although you see in the phantomjs
installation link that the package is within CentOS 8 repository, it works properly in both versions.
Server dependencies
To install all dependencies necessary for the server, execute the following commands:
yum install -y \ vim \ fping \ perl-IO-Compress \ nmap \ sudo \ perl-Time-HiRes \ nfdump \ net-snmp-utils \ 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 \ cpanminus
As of version 768 PFMS version, Thread::Semaphore
version 2,13 or higher is required for proper server operation, it is recommended to use the cpanm package manager to install a more recent and compatible version:
cpanm -i Thread::Semaphore
And finally install the following additional dependencies too from our public repository:
- For NG 761 and earlier versions:
yum install -y https://firefly.pandorafms.com/centos7/wmi-1.3.14-4.el7.art.x86_64.rpm
- For NG 762 and later versions the PandoraWMIC component:
yum install -y https://firefly.artica.es/centos7/pandorawmic-1.0.0-1.x86_64.rpm
- Also:
yum install -y https://firefly.pandorafms.com/centos7/xprobe2-0.3-12.2.x86_64.rpm
After previous steps, disable SELINUX and the firewall.
setenforce 0 sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config systemctl disable firewalld --now
If you decide to use Security-Enhanced Linux (SELinux) with Pandora FMS, follow these instructions.
Dependency installation on Ubuntu Server 22.04
Console dependencies
Once with repositories and MySQL installed we can start to install all the necessary dependencies for the console:
console_dependencies=" \ bzip2 \ ldap-utils \ postfix \ wget \ graphviz \ xfonts-75dpi \ xfonts-100dpi \ xfonts-ayu \ xfonts-intl-arabic \ xfonts-intl-asian \ xfonts-intl-phonetic \ xfonts-intl-japanese-big \ xfonts-intl-european \ xfonts-intl-chinese \ xfonts-intl-japanese \ xfonts-intl-chinese-big \ libzstd1 \ gir1.2-atk-1.0 \ libavahi-common-data \ cairo-perf-utils \ libfribidi-bin \ php$PHPVER-mcrypt \ php$PHPVER-gd \ php$PHPVER-curl \ php$PHPVER-mysql \ php$PHPVER-ldap \ php$PHPVER-fileinfo \ php$PHPVER-gettext \ php$PHPVER-snmp \ php$PHPVER-mbstring \ php$PHPVER-zip \ php$PHPVER-xmlrpc \ php$PHPVER-xml \ php$PHPVER-yaml \ libnet-telnet-perl \ chromium-browser \ snmp-mib-downloader " apt install -y $console_dependencies
- For NG 767 and earlier versions. Phantomjs is a special component used to generate PDF graphs dynamically. Install it through the command:
mkdir -p $WORKDIR cd $WORKDIR export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64" wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 tar xvjf $PHANTOM_JS.tar.bz2 mv $PHANTOM_JS/bin/phantomjs /usr/bin
Server dependencies
To install all dependencies necessary for the server execute the following commands:
server_dependencies=" \ make \ perl \ nmap \ fping \ sudo \ net-tools \ nfdump \ expect \ openssh-client \ postfix \ unzip \ xprobe \ coreutils \ libio-compress-perl \ libmoosex-role-timer-perl \ libdbd-mysql-perl \ libcrypt-mysql-perl \ libhttp-request-ascgi-perl \ liblwp-useragent-chicaching-perl \ liblwp-protocol-https-perl \ snmp \ libnetaddr-ip-perl \ libio-socket-ssl-perl \ libio-socket-socks-perl \ libio-socket-ip-perl \ libio-socket-inet6-perl \ libnet-telnet-perl \ libjson-perl \ libencode-perl \ libgeo-ip-perl \ openjdk-8-jdk \ arping " apt install -y $server_dependencies
And finally install the following additional dependencies too from our public repository:
wget 'https://firefly.artica.es/pandorafms/utils/bin/wmic' wget 'https://firefly.artica.es/pandorafms/utils/bin/pandorawmic' chmod +x pandorawmic wmic cp -a wmic /usr/bin/ cp -a pandorawmic /usr/bin/
Basic utilities:
apt install -y net-tools vim vim curl wget
Apache 2 and PHP-FPM:
apt update apt install -y software-properties-common apt-transport-https apt update apt install -y php$PHPVER-fpm php$PHPVER-common libapache2-mod-fcgid php$PHPVER-cli apache2 a2enmod proxy_fcgi setenvif && a2enconf php$PHPVER-fpm systemctl restart apache2
IPAM utilities:
ipam_dependencies=" \ xprobe \ libnetaddr-ip-perl \ coreutils \ libdbd-mysql-perl \ libxml-simple-perl \ libgeo-ip-perl \ libio-socket-inet6-perl \ libxml-twig-perl \ libnetaddr-ip-perl" apt install -y $ipam_dependencies
SNMP utilities:
cat> /etc/snmp/snmptrapd.conf <<EOF authCommunity log public disableAuthorization yes EOF
Pandora FMS optimization:
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 sysctl --system
Finally, deactivate AppArmor and UFW:
# Disabling apparmor and ufw systemctl stop ufw.service systemctl disable ufw systemctl stop apparmor systemctl disable apparmor
OS settings and database creation
OS settings and database creation on CentOS 7 and Rocky Linux 8
After this point the installation for CentOS 7 and RHEL / Rocky Linux 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
To configure Pandora FMS by packages, it will be necessary to define first the following variables that we will use in the following steps:
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
Then you may start configuring the database:
systemctl start mysqld mysql -uroot -p$(grep "temporary password" /var/log/mysqld.log | rev | cut -d' ' -f1 | rev)
echo """ SET PASSWORD FOR 'root'@'localhost' = 'Pandor4!'; UNINSTALL COMPONENT 'file://component_validate_password'; SET PASSWORD FOR 'root'@'localhost' = '$DBROOTPASS'; """ | mysql --connect-expired-password -uroot -p$MYSQL_PWD echo "create database $DBNAME" | mysql -u$DBROOTUSER -P$DBPORT -h$DBHOST 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
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 wait_timeout = 900 key_buffer_size=4M read_buffer_size=128K read_rnd_buffer_size=128K sort_buffer_size=128K join_buffer_size=4M sql_mode="" [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid EO_CONFIG_F
For MySQL version 8, and later versions, the MySQL development team has withdrawn support for query cache, for more information please visit the following web link:
https://dev.mysql.com/blog-archive/mysql-8-0-retiring-support-for-the-query-cache/ .
Once the changes have been saved, it will be necessary to restart the mysqld
service:
systemctl restart mysqld
Enable the services mysql
and apache
:
systemctl enable mysqld --now systemctl enable httpd --now
If you use RHEL / Rocky Linux 8, execute:
systemctl enable php-fpm --now
OS settings and database creation on Ubuntu Server 22.04
To configure Pandora FMS by packages, it will be necessary to define first the following variables that we will use in the following steps:
POOL_SIZE=$(grep -i total /proc/meminfo | head -1 | awk '{printf "%.2f \n", $(NF-1)*0.4/1024}' | sed "s/\\..*$/M/g") cat> /etc/mysql/my.cnf <<EOF_DB [mysqld] datadir=/var/lib/mysql 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 sql_mode="" log-error=/var/log/mysql/error.log [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid EOF_DB
Then you may start configuring the database:
systemctl restart mysql export MYSQL_PWD=$DBROOTPASS echo "CREATE USER \"$DBUSER\"@'%' IDENTIFIED BY \"$DBPASS\";" | mysql -uroot -P$DBPORT -h$DBHOST echo "ALTER USER \"$DBUSER\"@'%' IDENTIFIED WITH mysql_native_password BY \"$DBPASS\"" | mysql -uroot -P$DBPORT -h$DBHOST echo "GRANT ALL PRIVILEGES ON $DBNAME.* TO \"$DBUSER\"@'%'" | mysql -uroot -P$DBPORT -h$DBHOST export MYSQL_PWD=$DBPASS
Once the changes have been saved, it will be necessary to restart the mysql
service:
systemctl restart mysql
Pandora FMS console and server installation
Pandora FMS console and server installation on CentOS 7 and Rocky Linux 8
Once the environment is ready, it is time to install Pandora FMS. First, create a directory to store all data.
mkdir $HOME/pandora && cd $HOME/pandora
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.
In the OpenSource version:
wget https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm wget https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_console-7.0NG.noarch.rpm wget https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_server-7.0NG.noarch.rpm
After the packages are prepared, start the installation. In the case of the Enterprise console, you must have two more, the Enterprise console package and the Enterprise server package (which is a tarball file installed separate from RPM packages).
Package installation (after download):
yum install -y $HOME/pandora/pandorafms*.rpm
For Enterprise tarball, execute:
tar xvfz $HOME/pandora/pandorafms_server* && cd pandora_server && ./pandora_server_installer --install --ha; cd -
Once the process is finished, 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 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 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 = 800M/g" /etc/php.ini
cat> /var/www/html/index.html <<EOF_INDEX <meta HTTP-EQUIV="REFRESH" content="0; url=/pandora_console/"> EOF_INDEX
Install gotty utility:
wget 'https://pandorafms.com/library/wp-content/uploads/2019/11/gotty_linux_amd64.tar.gz' tar xvzf gotty_linux_amd64.tar.gz mv gotty /usr/bin/
If you use RHEL / Rocky Linux 8, execute in addition:
systemctl restart php-fpm 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, enable the ha
service (HA).
systemctl enable pandora_ha --now service tentacle_serverd start
In the Community version, pandora_ha
service does not exist, so execute the following commands to enable the server:
systemctl enable pandora_server --now systemctl start pandora_server service tentacle_serverd start
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
Configure logrotate:
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
chmod 0644 /etc/logrotate.d/pandora_server
Then you may go to the CentOS server IP and enter Pandora FMS console and check whether the service is running properly:
After carrying out these steps you 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.
If you are using EL8 (Enterprise Linux 8), apart from enabling the option in the general configuration, modify the file
/etc/php-fpm.d/www.conf
and comment out the following parameter with a semicolon:
;php_admin_value[error_log] = /var/log/php-fpm/www-error.log
Pandora FMS console and server installation on Ubuntu Server 22.04
Once the environment is ready, it is time to install Pandora FMS. First, create a directory to store all data.
cd $WORKDIR
It will be necessary to download the packages of the console, Enterprise console and Enterprise server from our repositories or with links provided by the support team.
In the OpenSource version:
PANDORA_CONSOLE_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_console-7.0NG.tar.gz" PANDORA_SERVER_PACKAGE="http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_server-7.0NG.tar.gz" curl -LSs --output pandorafms_console-7.0NG.tar.gz ${PANDORA_CONSOLE_PACKAGE} curl -LSs --output pandorafms_server-7.0NG.tar.gz ${PANDORA_SERVER_PACKAGE}
Package installation (after download):
tar xvzf pandorafms_console-7.0NG.tar.gz cp -Ra pandora_console /var/www/html/ rm -f $PANDORA_CONSOLE/*.spec useradd pandora tar xvzf pandorafms_server-7.0NG.tar.gz cd pandora_server ./pandora_server_installer --install cd $WORKDIR
Once the process is finished, create and populate the database:
echo "create database $DBNAME" | mysql -uroot -P$DBPORT -h$DBHOST mysql -u$DBUSER -P$DBPORT -h$DBHOST $DBNAME <$PANDORA_CONSOLE/pandoradb.sql mysql -u$DBUSER -P$DBPORT -h$DBHOST $DBNAME <$PANDORA_CONSOLE/pandoradb_data.sql
Then configure the 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/apache2/conf-enabled/pandora_security.conf <<EO_CONFIG_F <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> EO_CONFIG_F
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 cat> /etc/apache2/conf-available/ssl-params.conf <<EOF_PARAM SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache>= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache>= 2.4.11 SSLSessionTickets Off EOF_PARAM a2enmod ssl a2enmod headers a2enconf ssl-params a2ensite default-ssl a2enconf ssl-params apache2ctl configtest systemctl restart apache2 systemctl enable apache2 systemctl enable php$PHPVER-fpm
chmod 600 $PANDORA_CONSOLE/include/config.php chown www-data. $PANDORA_CONSOLE/include/config.php chown -R www-data. $PANDORA_CONSOLE mv $PANDORA_CONSOLE/install.php $PANDORA_CONSOLE/install.done
Then prepare the file php.ini:
ln -s /etc/php/$PHPVER/fpm/php.ini /etc/ sed --follow-symlinks -i -e "s/^max_input_time.*/max_input_time = -1/g" /etc/php.ini sed --follow-symlinks -i -e "s/^max_execution_time.*/max_execution_time = 0/g" /etc/php.ini sed --follow-symlinks -i -e "s/^upload_max_filesize.*/upload_max_filesize = 800M/g" /etc/php.ini sed --follow-symlinks -i -e "s/^memory_limit.*/memory_limit = 800M/g" /etc/php.ini sed --follow-symlinks -i -e "s/.*post_max_size =.*/post_max_size = 800M/" /etc/php.ini sed --follow-symlinks -i -e "s/^disable_functions/;disable_functions/" /etc/php.ini systemctl restart php$PHPVER-fpm
cat> /var/www/html/index.html <<EOF_INDEX <meta HTTP-EQUIV="REFRESH" content="0; url=/pandora_console/"> EOF_INDEX
Install gotty utility:
wget 'https://pandorafms.com/library/wp-content/uploads/2019/11/gotty_linux_amd64.tar.gz' tar xvzf gotty_linux_amd64.tar.gz mv gotty /usr/bin/
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 sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF
# Adding group www-data to pandora server conf. grep -q "group www-data" $PANDORA_SERVER_CONF || \ cat>> $PANDORA_SERVER_CONF <<EOF_G #Adding group www-data to assing remote-config permission correctly group www-data EOF_G
The following commands will be required to enable the server:
/etc/init.d/pandora_server restart systemctl enable pandora_server systemctl enable tentacle_serverd service tentacle_serverd start
Install and enable websocket:
mv /var/www/html/pandora_console/pandora_websocket_engine /etc/init.d/ chmod +x /etc/init.d/pandora_websocket_engine /etc/init.d/pandora_websocket_engine start systemctl enable pandora_websocket_engine
Enable cron
in console:
echo "* * * * * root wget -q -O - --no-check-certificate http://127.0.0.1/pandora_console/enterprise/cron.php>> $PANDORA_CONSOLE/log/cron.log">> /etc/crontab
Configure logrotate:
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
chmod 0644 /etc/logrotate.d/pandora_server
Then you may go to the Ubuntu Server IP and enter Pandora FMS console and check whether the service is running properly:
After carrying out these steps you 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.
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.
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
Installation under Docker
This resource is only intended for testing, learning and even pre-production environments.
We have an entry in the docker hub website explaining step by step how to build a Pandora FMS stack, now based on Rocky Linux™ 8, in the following link:
Installation is also possible 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 your system Docker and Docker Compose. Read the official installation documentation at:
https://docs.docker.com/get-docker/
Once installed, use the yaml
file from the official Pandora FMS 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
Wait a few seconds for the download and configuration of the environment. You may access Pandora FMS console from the URL:
http://127.0.0.1:8080/pandora_console
Use admin
as user and pandora
as password.
More information can be found in the video tutorial «How to install Pandora FMS in Docker».
Uninstalling Pandora FMS
Uninstalling Pandora FMS on CentOS or RHEL
Just execute the command:
yum remove pandorafms_console pandorafms_server
If you uninstall version 761 or later:
yum remove pandorawmic
See also uninstallation of PFMS software agent.
If you have installed MySQL and no longer need it, you can delete it in a similar way:
yum remove Percona-Server*
Custom Installation
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:
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
Server Installation
Once you have opened the server zip file named
pandorafms_server-7.0NG.7xx.tar.gz
or similar, follow the steps described below:
1. Acquire root privileges. You are the only one responsible for said key:
su -
2. Copy it to a directory where you can unzip the file (in this example /tmp
y used again) and execute:
tar xvzf pandorafms_server-7.0NG.7xx.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.
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. You are the only one responsible for that key:
su -
2. Copy it to the directory where you are unzipping files (/tmp
in this example) 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. Examples:
/usr/local/share/perl/5.10.0/PandoraFMS/
/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/
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.
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_enterprise-X.X.tar.gz
or similar, follow the steps mentioned bellow:
1. Acquire root privileges by entering:
su -
2. Copy it to a directory where you can unzip de file /tmp
and then execute:
tar xvzf pandorafms_console-X.Xtar.gz
3. Later, copy it to the directory in which your Pandora FMS open-source console is installed.
cp -R enterprise /var/www/html/pandora_console
4. 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
Enterprise Server Installation
We are working on a beta version that will include upgrades in the Enterprise server. From 738 version on, it is advised to use Pandora FMS Enterprise server version E7. Version E6 should only be used in case of compatibility issues.
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:
1. Acquire root privileges. You are the only one responsible for that key:
su -
2. Copy it to the directory where to unzip the files (/tmp
in this example) and execute:
tar xvzf pandorafms_server_enterprise-X.X.tar.gz cd pandora_server/ # ./pandora_server_installer --install
If 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
From version NG 754 onwards, additional options are available for manual startup and shutdown of High Availability (HA) environments.
Then, the Enterprise Servers will be shown as enabled.
Do not restart the server until Pandora FMS Enterprise license key installation is completed, otherwise the server will not start and your monitoring service will be interrupted.
Installing on a different path
To install the Pandora FMS Server on a different path use this 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
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.
./pandora_server_installer --install --no-root --destdir /opt/pandora
This user must have writing permissions on the path that is passed to destdir.
Pandora FMS Agent Installation
For online installation of Pandora FMS Software Agent go to “Pandora FMS Software Agent online installation”.
Please note that in order to encrypt communications via the Tentacle protocol between the software agents and their respective PFMS servers, SSL certificates and keys are required. Visit the “Communication Encryption” section in the Tentacle protocol technical reference.
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 and 8. Fedora 34. CentOS 6.x , 7 and 8. AlmaLinux. SLES 11 SP1 or later. OpenSUSE 11.x or later. Debian 5.x or later. Ubuntu 11 or later. Linux Mint. Elementary OS. Manjaro. HPUX B.11.11 or later, with Perl 5.8. AIX 4.3.3 or later, with Perl 5.8. AIX 7.1 and 7.2. BSD Systems (NetBSD, OpenBSD, FreeBSD), with Perl 5.8. MacOSX 10.6 or later. Solaris 8 or later, 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 10. Windows 11. Windows 2012. Windows server 2016. Windows server 2019. |
Pandora Android Agent 2.0 or above | Android 6 or above |
Pandora Embedded Agent 4.0 or above | Embedded devices, requires compiling |
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
- Configure logrotate:
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_agent
Installing the agent in CentOS 8 / Rocky Linux / AlmaLinux
Dependency installation:
yum install dnf-plugins-core -y yum config-manager --set-enabled powertools -y yum install -y perl-YAML-Tiny perl-Sys-Syslog unzip
If you are going to use the server_ssl option, install the following dependencies. Enter them in the terminal:
yum install perl-IO-Socket-SSL -y
Agent installation:
yum install -y https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm
Installing the agent in CentOS 7
Dependency installation:
yum install dnf-plugins-core -y yum install -y perl-YAML-Tiny perl-Sys-Syslog unzip
If you are going to use the server_ssl option, install the following dependencies. Enter them in the terminal:
yum install perl-IO-Socket-SSL -y
Agent installation:
yum install -y https://firefly.pandorafms.com/pandorafms/latest/RHEL_CentOS/pandorafms_agent_linux-7.0NG.noarch.rpm
Installing the agent in Ubuntu Server 22.04
Install the agent:
apt update apt install -y perl coreutils wget curl unzip procps python3 python3-pip wget http://firefly.artica.es/pandorafms/latest/Tarball/pandorafms_agent_linux-7.0NG.tar.gz tar xvzf pandorafms_agent_linux-7.0NG.tar.gz cd unix ./pandora_agent_installer --install cp -a tentacle_client /usr/local/bin/
Removethe unix
directory.
If you are going to use the server_ssl option, install the following dependencies. Enter them in the terminal:
apt install libio-socket-ssl-perl -y
Agent configuration:
sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF /etc/init.d/pandora_agent_daemon start systemctl enable pandora_agent_daemon
Installing the agent from tarball
This agent version is ready for installation on any Unix/Linux/macOS system.
The agent does not require compilation nor preparation, once the agent is downloaded in .tar.gz
format:
1. Acquire root privileges
su -
2. Copy it to /tmp
and execute:
tar xvzf pandorafms_agent_linux-7.0NG.tar.gz cd unix ./pandora_agent_installer --install
3. Start the agent manually:
/etc/init.d/pandora_agent_daemon start
Agent 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).
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.
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
.
Agent installation in NetBSD and FreeBSD
The file location and startup script structure are different from Linux.
The particulars of FreeBSD will be discussed later on.
To install the agent, download the agent tarball file and follow the instructions below:
1. Acquire root priviledges
su -
2. Copy downloaded file to /tmp
and when you are inside /tmp
execute:
tar xvzf pandorafms_agent_linux-7.0NG.tar.gz cd unix ./pandora_agent_installer --install
After installation, add the following line to /etc/rc.conf.
pandora_agent_enable="YES"
To enable Pandora FMS agent, these settings are needed, otherwise the process cannot be started.
If you want to start the agent manually, execute this:
/usr/local/etc/rc.d/pandora_agent start
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 GNU/Linux.
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 10®, remember that Pandora FMS works on any modern Microsoft® platform (2000 or higher). It also has 32 and 64 bit versions and from version 761 onwards it is digitally signed. If you execute Windows® as standard user, you will need administrator permissions; enter them when executing the installer.
Select language:
Follow the steps of the installer:
Acept Terms and Conditions and click Next:
Select the path where the Pandora FMS agent will be installed, by default it is installed in:
%ProgramFiles%\pandora_agent
, but you can change it by clicking on Browse…, and then Next:
Wait for the files to be copied.
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.
In the following window appears the option to enable the remote configuration. It is important to have it enabled with a
1
to have a copy of the agent in the Pandora FMS server and from there to be able to add, edit and delete local modules directly from the agent.
Start Pandora FMS agent service, otherwise you will have to do it manually, or it will start when Windows® restarts again.
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.
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:\PFMS_agent
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
- It corresponds to the token server_ip.
--group
- It corresponds to the token group.
--alias
- It corresponds to the token agent_alias.
--remote_config
For example, if you want to create an agent that belongs to the group Applications, with the name Mifunne and that points to the server with the IP 192.168.0.59, with remote configuration enabled, the command would be:
"Pandora FMS Windows Agent v7.0NG.VERSION-BUILD_ARCH.exe" /S --ip 192.168.0.59 --group Applications --alias Mifunne --remote_config 1
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:
"%ProgramFiles%\pandora_agent\uninst.exe" /S
Using PandoraAgent.exe from the command line
If you run
pandoraagent.exe --help
it will show you something similar to this:
C:\Users\Jimmy>"%ProgramFiles%\pandora_agent\pandoraagent.exe" --help Pandora agent for Windows v7.0NG.761 Build 220427 Usage: C:\Program Files\pandora_agent\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. C:\Users\Jimmy>
To install the service (if it is not installed), just 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.
To check whether it connects through SSH with Pandora FMS server:
C:\WINDOWS\system32>cd %PROGRAMFILES% C:\Program Files>cd pandora_agent C:\Program Files\pandora_agent>PandoraAgent.exe --test-ssh Public key file C:\Program Files\pandora_agent\key\id_dsa.pub exists. Private key file: C:\Program Files\pandora_agent\key\id_dsa exists. Connecting with munchkin.artica.es. Authentication successful. Host fingerprint: Created a blank XML file in C:\Program Files\pandora_agent\temp\ssh.test Remote copying C:\Program Files\pandora_agent\temp\ssh.test on server munchkin.artica.es at /var/spool/pandora/data_in/ssh.test Successfuly file copied to remote host Successfuly disconnected from remote host The SSH test was successful! C:\Program Files\pandora_agent>
If you want to uninstall it, the process is the same but using:
pandoraagent.exe --uninstall
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 features that will not work properly.