How to Install PandoraFMS Server on CentOS 7 / RHEL 7 – Monitoring Solution for your Infrastructure

How to Install PandoraFMS Server on CentOS 7 / RHEL 7 – Monitoring Solution for your Infrastructure

Pandora FMS is a flexible monitoring solution for your servers, networks, virtual infrastructure, and applications. It is a Free software and released under GNU General Public License.

Pandora FMS is highly scalable, and it is very well suitable for complex, dynamic and larger environments.

Pandora FMS can be used to monitor the status and performance of servers, databases, web servers, applications and network hardware systems such as firewalls or routers.

Pandora FMS uses WMI, SNMP, TCP, UDP, ICMP, HTTP protocols and server agents to collect performance metrics. Also, it uses TCP/IP stack for monitoring the hardware systems such as load balancers, router, printer or switches.

You might be interested in,

READInstall and Configure Nagios 4.3 on CentOS 7 / Ubuntu 16.04 / Debian 8

READInstall Icinga2 on Ubuntu 16.04 / 14.04, Debian, and Mint

READInstall How To Install Zabbix Server 3.2 on CentOS 7 / Ubuntu 16.04 / Debian 8

READNetdata – A Real Time Performance Monitoring Tool for Linux

Components of Pandora FMS:

Pandora Server:

Pandora Server is a bundle of twelve different servers, which are in charge of collecting and processing data ex. The data server processes the information sent by the agents where as The network server executes the remote monitoring tasks.

Pandora server is also responsible for inserting the gathered data into Pandora’s database and generate monitoring alerts. Pandora server can be installed on Linux and Windows operating system.

Web console:

Web console allows users to operate and manage the monitoring system. It is developed on PHP and depends on backend database and a web server. You can setup web console Linux, Solaris, Windows and AIX operating systems.

Agents:

Agents are used for collecting the performance metrics from client servers. The agent supports almost all platforms including Microsoft, AIX, Solaris, Linux, IPSO, Mac OS or FreeBSD and also SAP.

Database:

The database holds data’s gathered by agents, configuration defined by administrator, incidents, events, audit info, etc. It supports MySQL and Oracle as a database server.

System requirements:

Systems requiremensts are depends on number of monitoring agents.

Up to 500 agents – 3GB of RAM, a 2.5GHz single-core CPU and a Hard drive with 7200 RPM.

Up to 2.000 agents – 6GB of RAM, a dual core 2.5GHz CPU and a Hard drive with 10000 RPM or more.

For more than 4.000 agents – 12GB of RAM, a 3GHz quad-core CPU and a Hard drive with 15000 RPM or more.

Environment:

In this tutorial, we use two systems for demonstration, as mentioned below.

HostName IP Address OS Purpose
server.itzgeek.local 192.168.1.10 CentOS 7 Pandora Server & Pandora Console
client.itzgeek.local 192.168.1.20 CentOS 7 Client server running Pandora Agent

Install MariaDB:

Let’s install MariaDB database server on Pandora server.

yum -y install mariadb-server

Start MariaDb service using the following command.

systemctl start mariadb

Enable MariaDB to start automatically on system start-up.

systemctl enable mariadb

Since this is a new DB setup, so we will run mysql_secure_installation command to secure MySQL instance.

For Pandora installation, you must have the password of the MySQL root user.

Install Pandora Console:

You need to configure Pandora FMS repository for the Pandora server and console installation. Create a .repo file under /etc/yum.repos.d/ directory.

vi /etc/yum.repos.d/pandorafms.repo

Use the following repository information.

[artica_pandorafms]
name=CentOS6 - PandoraFMS official repo
baseurl=http://firefly.artica.es/centos7
gpgcheck=0
enabled=1

Now, install Pandora console using YUM command.

yum -y install pandorafms_console

Since Pandora console works on top of Apache web server, you need to start Apache service. Also, enable the auto start of service during system boot.

systemctl start httpd
systemctl enable httpd

Firewall:

Add allow rules in the firewall to allow HTTPD port 80 accessible by external machines.

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

SELinux:

Pandora console will write configurations to disk at the time of console setup. SELinux may block the writing of files, so you need to allow it in SELinux.

yum install -y policycoreutils-python
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/pandora_console/include'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/pandora_console/attachment'
restorecon '/var/www/html/pandora_console/include'
restorecon '/var/www/html/pandora_console/attachment'

Setup Pandora Console:

Now, let us begin the console installation via the web browser. Open up a web browser and point to

http://your.ip.add.ress/pandora_console
Install PandoraFMS Server on CentOS 7 - PandoraFMS Installation Wizard
Install PandoraFMS Server on CentOS 7 – PandoraFMS Installation Wizard

Click Next.

Accept the license agreement.

Install PandoraFMS Server on CentOS 7 - Pandora License Agreement
Install PandoraFMS Server on CentOS 7 – Pandora License Agreement

The installer now checks for required dependencies.

Install PandoraFMS Server on CentOS 7 - Checking for dependencies
Install PandoraFMS Server on CentOS 7 – Checking for dependencies

Enter the root password of MySQL.

Install PandoraFMS Server on CentOS 7 - PandoraFMS DB Setup
Install PandoraFMS Server on CentOS 7 – PandoraFMS DB Setup

The console will create the database for Pandora server. Note down the password as you may need it later during the Pandora Server configuration.

Install PandoraFMS Server on CentOS 7 - PandoraFMS DB Password
Install PandoraFMS Server on CentOS 7 – PandoraFMS DB Password

Click Next.

Pandora console is complete, now. Remove the install.php file from the pandora_console directory.

rm -rf /var/www/html/pandora_console/install.php
Install PandoraFMS Server on CentOS 7 - Installation Complete
Install PandoraFMS Server on CentOS 7 – Installation Complete

Login to Pandora Console:

http://your.ip.add.ress/pandora_console

The default user is admin and password is pandora. Please change it as soon as you log in.

Install PandoraFMS Server on CentOS 7 - PandoraFMS Login Page
Install PandoraFMS Server on CentOS 7 – PandoraFMS Login Page

Select the language, time zone, and enter an email address for receiving alerts.

Install PandoraFMS Server on CentOS 7 - Post Configuration
Install PandoraFMS Server on CentOS 7 – Post Configuration

Click Finish.

Install PandoraFMS Server on CentOS 7 - Newsletter
Install PandoraFMS Server on CentOS 7 – Newsletter

Dashboard:

Install PandoraFMS Server on CentOS 7 - PandoraFMS Dashboard
Install PandoraFMS Server on CentOS 7 – PandoraFMS Dashboard

Install Pandora Server:

Install dependencies before installing the Pandora server.

rpm -ivh https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20CentOS%2C%20RHEL/wmic-4.0.0tp4-0.x86_64.rpm/download
rpm -ivh https://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20CentOS%2C%20RHEL/xprobe2-0.3-12.2.x86_64.rpm/download

Now, install the Pandora server using the following command.

yum -y install pandorafms_server

Add the generated password during console installation into pandora_server.conf file.

vi /etc/pandora/pandora_server.conf

FROM:

dbpass pandora

TO:

dbpass vcgujhlw

Start the Pandora server.

service pandora_server start

Output:

Pandora FMS Server 7.0NG.709 Build 170728 Copyright (c) 2004-2015 ArticaST
This program is OpenSource, licensed under the terms of GPL License version 2.
You can download latest versions and documentation at http://www.pandorafms.org

 [*] Backgrounding Pandora FMS Server process.

Pandora Server is now running with PID 4656

Also, start the tentacle server.

service tentacle_serverd start

Auto-start both service on system boot.

chkconfig pandora_server on
chkconfig tentacle_serverd on

Pandora agents use tentacle protocol for sending data to Pandora server. On the Pandora server, tentacle server runs on port 41121. So, we need to make tentacle port accessible for Pandora agent through a firewall.

firewall-cmd --zone=public --add-port=41121/tcp --permanent
firewall-cmd --reload

Go to Pandora Console –> Server –> Manager servers.

Install PandoraFMS Server on CentOS 7 - Pandora Server
Install PandoraFMS Server on CentOS 7 – Pandora Server

You should see your server listed over there. The same server repeated multiple times here to represent different roles like data server, network server, etc.

Install PandoraFMS Server on CentOS 7 - Pandora Servers List
Install PandoraFMS Server on CentOS 7 – Pandora Servers List

Install Pandora Agent:

Perform below steps on the server you wish to monitor using Pandora FMS. Download the latest version of Pandora agent.

curl -O https://netix.dl.sourceforge.net/project/pandora/Pandora%20FMS%207.0NG/709/RHEL_CentOS/pandorafms_agent_unix-7.0NG.709-1.noarch.rpm

Install Pandora agent using the following command.

yum localinstall pandorafms_agent_unix-7.0NG.709-1.noarch.rpm

Add Pandora server IP in the client configuration file.

vi /etc/pandora/pandora_agent.conf

Mention your Pandora server IP here.

server_ip 192.168.1.10

Start/Restart the agent.

service pandora_agent_daemon start

Monitor the server:

Go back to the Pandora console. You can now see the client added to agents list.

Install PandoraFMS Server on CentOS 7 - Pandora Agents List
Install PandoraFMS Server on CentOS 7 – Pandora Agents List

Click on the agent to see the overview of the particular agent.

Install PandoraFMS Server on CentOS 7 - Agent Overview
Install PandoraFMS Server on CentOS 7 – Agent Overview

Scroll further down and click on the graph:

Network Usage:

Install PandoraFMS Server on CentOS 7 - Network Usage Graph
Install PandoraFMS Server on CentOS 7 – Network Usage Graph

Used Memory:

Install PandoraFMS Server on CentOS 7 - Used Memory Graph
Install PandoraFMS Server on CentOS 7 – Used Memory Graph

That’s All.

Leave a Reply

Your email address will not be published. Required fields are marked *