How to install PandoraFMS on CentOS 8?
Worldwide many IT infrastructures are running Linux on one of their servers. This opens the door to an endless number of different possibilities thanks to the many professional applications that support Linux natively. And if we are talking about such an important step as monitoring, then it is even more important to take advantage of it. So, in this post, I will show you how to install PandoraFMS on CentOS 8.
PandoraFMS is a web application that allows the monitoring of multiple operating systems. All this allows having the control of all your IT infrastructure without many problems.
Fortunately, PandoraFMS has a version for Linux and although it is not free it also has a community version that we can install to have the potential of PandoraFMS without any cost. This makes it ideal for small or educational projects.
Many of the features of PandoraFMS are focused on the new generation of monitoring. So it is an ideal solution for our times.
Let’s go for it.
Install PandoraFMS on CentOS 8
1.- Preparing the system
Before starting we have to prepare the system by installing the dependencies of both Pandora Console (graphic interface) and Pandora Sever
So, let’s go for it.
Open a terminal or SSH login and install these preliminary packages:
sudo dnf install epel-release tar dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
The above command enables the epel repository and also installs the package that enables the REMI repository.
Then, you have to install PHP 7.3 from the REMI repository. To do this, you have to run it:
sudo dnf module reset php
And:
sudo dnf module install php:remi-7.3
This will enable and install PHP from the REmi repository, but will also let us install other PHP related packages from this repository.
Now enable the Powertools software module
sudo yum config-manager --set-enabled PowerTools
The next step is to install all the important packages for our Pandora environment. This includes Apache web server, other PHP modules, MariaDB and more.
sudo dnf install mariadb-server 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 vim fping perl-IO-Compress nmap perl-Time-HiRes perl-Math-Complex libnsl net-snmp-utils
There is a dependency that is not present in the CentOS 8 repositories but we can install it with the following command:
sudo dnf install http://firefly.artica.es/centos8/wmi-1.3.14-4.el7.art.x86_64.rpm
Now is the time for more dependencies, specifically those of Pandora’s Perl modules. The command is long, but it is really nothing serious to install.
sudo dnf install 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
Then, another Perl related unit has to be installed that is not present in the official repositories:
sudo dnf install https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20CentOS%2C%20RHEL/perl-Net-Telnet-3.04-1.el8.noarch.rpm
Then, disable SELinux and the Firewall
sudo setenforce 0
sudo sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/sysconfig/selinux
sudo systemctl disable firewalld --now
Our system is ready, but we need to do the same with MariaDB
2.- Configuring MariaDB for PandoraFMS
We already installed MariaDB but remember that it is not initiated yet, so do this first.
sudo systemctl start mariadb
And then access the MariaDB shell:
sudo mysql -u root -p
Then modify the password of the root user.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Pandor4');
And exit.
exit;
Remember that you can change the password with the mysql_secure_installation script
Now you have to modify the file /etc/my.cnf
to add a parameter, open that file:
sudo nano /etc/my.cnf
And add the following:
[mysqld]
sql_mode=""
So, save the changes and exit the editor.
To apply the changes, you have to restart the MariaDB service.
sudo systemctl restart mariadb
3.- Download and install PandoraFMS on CentOS 8
Now we can start downloading PandoraFMS and first we have to download and install the Pandora Console package.
So, start the download:
cd /tmp
wget -c https://sourceforge.net/projects/pandora/files/Pandora%20FMS%207.0NG/749/RHEL_CentOS/pandorafms_console-7.0NG.749.noarch.rpm
And install it with the following command:
sudo rpm -ivh pandorafms_console-7.0NG.749.noarch.rpm Verifying… ################################# [100%] Preparing… ################################# [100%] Updating / installing… 1:pandorafms_console-7.0NG.749-2009################################# [100%] You can now start the Pandora FMS Websocket service by executing /etc/init.d/pandora_websocket_engine start Please, now, point your browser to http://your_IP_address/pandora_console/install.php and follow all the steps described on it.
Then, modify the Pandora_console configuration file to add the database parameters that we are going to use
sudo nano /var/www/html/pandora_console/include/config.php
$config["mysqli"] = true;
$config["dbname"]="Pandora";
$config["dbuser"]="root";
$config["dbpass"]="Pandor4";
$config["dbhost"]="localhost";
Of course, replace the values with your own. The value that if we have already defined is the root password. The rest we will define them in the installer.
Save the changes and close the file.
Now start the Apache service.
sudo systemctl start httpd
Now, we will do the installation of PandoraFMS.
4.- Download and install PandoraFMS on CentOS 8 (II)
Now open your favorite web browser and go to http://your_IP_address/pandora_console/install.php
to start the installation.
Click Next to continue.
You will now see the license terms.
Accept them to continue.
Next, the installer will verify the software dependencies.
Then you will have to define the database parameters. Remember that they have to be the same that you have defined in the configuration file.
If everything goes well, you will see the following screen.
Finally, you will see a message where you can see that everything has gone well. And you will see the user (admin) and the password of the user (pandora) by default
Now you can log in
And you will see the dashboard of Pandora console.
5.- Install Pandora Server on Ubuntu 20.04
We already have PandoraFMS console ready for battle, but now we need the server.
So, go back to the terminal and download it with the following command:
wget -c https://sourceforge.net/projects/pandora/files/Pandora%20FMS%207.0NG/749/RHEL_CentOS/pandorafms_server-7.0NG.749.noarch.rpm
And use DNF to install it without dependencies problem.
sudo dnf install pandorafms_server-7.0NG.749.noarch.rpm
Then, edit the Pandora_Server configuration file to add the database parameters:
sudo nano /etc/pandora/pandora_server.conf
dbname
dbpass
dbuser
Save the changes, close the editor, and start the services to apply the changes.
sudo systemctl start pandora_server
sudo systemctl start tentacle_serverd
Now, PandoraFMS is ready and only needs to add the agents.
Conclusion
PandoraFMS is a professional solution for monitoring in Linux. It has very good support for Linux which makes it ideal for these jobs.
On the other hand, the installation on CentOS 8 is not as complicated as it seems and gives us the possibility of having this great solution.
So, share this post and join our Telegram channel and our Facebook page. Also, buy us a coffee 😉