PandoraFMS Linux: Complete Network Monitoring Platform Guide

PandoraFMS is a comprehensive, open-source network monitoring platform that provides complete visibility into your IT infrastructure. This powerful monitoring solution runs natively on Linux systems and offers enterprise-grade features for monitoring networks, servers, applications, and services in real-time.

What is PandoraFMS?

PandoraFMS (Flexible Monitoring System) is a monitoring software that allows you to watch over your entire IT infrastructure from a single centralized console. It combines network monitoring, server monitoring, application monitoring, and log analysis into one unified platform.

Key Features of PandoraFMS

  • Multi-platform Support: Monitors Windows, Linux, Unix, and network devices
  • Scalable Architecture: Handles from small networks to enterprise environments
  • Real-time Monitoring: Instant alerts and notifications
  • Web-based Interface: Accessible from any web browser
  • SNMP Support: Complete SNMP v1, v2c, and v3 monitoring
  • Custom Plugins: Extensible with custom monitoring scripts

System Requirements for Linux Installation

Before installing PandoraFMS, ensure your Linux system meets the following requirements:

Minimum Hardware Requirements

CPU: Dual-core 2.4 GHz processor
RAM: 4 GB minimum (8 GB recommended)
Storage: 20 GB free disk space
Network: Ethernet connection

Software Requirements

  • Linux distribution (CentOS 7/8, Ubuntu 18.04+, RHEL 7/8)
  • Apache web server 2.4+
  • MySQL 5.7+ or MariaDB 10.2+
  • PHP 7.2+ with required modules
  • Perl 5.10+ with DBI modules

Installing PandoraFMS on Linux

Let’s walk through the installation process step by step for Ubuntu and CentOS systems.

Ubuntu Installation

First, update your system and install required dependencies:

sudo apt update && sudo apt upgrade -y
sudo apt install wget curl software-properties-common -y

Add the PandoraFMS repository:

cd /tmp
wget https://firefly.pandorafms.org/pandorafms/utils/installer/pandora_install.sh
chmod +x pandora_install.sh
sudo ./pandora_install.sh

The installer will automatically configure all required components including Apache, MySQL, and PHP dependencies.

CentOS/RHEL Installation

For CentOS systems, first install the EPEL repository:

sudo yum install epel-release -y
sudo yum update -y

Download and run the PandoraFMS installer:

cd /tmp
curl -O https://firefly.pandorafms.org/pandorafms/utils/installer/pandora_install_centos.sh
chmod +x pandora_install_centos.sh
sudo ./pandora_install_centos.sh

Manual Installation from Source

For advanced users who prefer manual installation:

wget https://github.com/pandorafms/pandorafms/releases/download/v760/pandorafms_console-760.tar.gz
tar -xzf pandorafms_console-760.tar.gz
sudo mv pandora_console /var/www/html/
sudo chown -R www-data:www-data /var/www/html/pandora_console

Initial Configuration

Database Setup

Create the PandoraFMS database and user:

mysql -u root -p
CREATE DATABASE pandora;
CREATE USER 'pandora'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON pandora.* TO 'pandora'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Web Interface Configuration

Access the web installer by navigating to http://your-server-ip/pandora_console in your browser. The installation wizard will guide you through:

  1. Database connection settings
  2. Administrator account creation
  3. Initial system configuration
  4. License agreement acceptance

Configuration Files

Key configuration files and their locations:

# Main server configuration
/etc/pandora/pandora_server.conf

# Agent configuration
/etc/pandora/pandora_agent.conf

# Web console configuration
/var/www/html/pandora_console/include/config.php

Setting Up PandoraFMS Agents

PandoraFMS agents collect data from monitored systems and send it to the central server.

Installing Linux Agent

cd /tmp
wget https://firefly.pandorafms.org/pandorafms/utils/agent/pandorafms_agent_linux-7.0NG.tar.gz
tar -xzf pandorafms_agent_linux-7.0NG.tar.gz
cd unix
sudo ./pandora_agent_installer --install

Agent Configuration

Edit the agent configuration file:

sudo nano /etc/pandora/pandora_agent.conf

Key configuration parameters:

# Server IP address
server_ip 192.168.1.100

# Agent name
agent_name web-server-01

# Group assignment
group Servers

# Monitoring interval (seconds)
interval 300

# Enable debug mode
debug 1

Start the agent service:

sudo systemctl enable pandora_agent_daemon
sudo systemctl start pandora_agent_daemon
sudo systemctl status pandora_agent_daemon

Network Monitoring Configuration

SNMP Monitoring Setup

Configure SNMP monitoring for network devices:

  1. Navigate to Administration → Manage Agents → Create Agent
  2. Select SNMP as the agent type
  3. Configure SNMP parameters:
SNMP Version: v2c
Community: public
Port: 161
Timeout: 5 seconds

Network Discovery

Use PandoraFMS network discovery to automatically detect devices:

# CLI network discovery
/usr/share/pandora_server/util/recon_scripts/nmap-recon.sh 192.168.1.0/24

Creating Network Modules

Example configuration for monitoring network interface traffic:

module_begin
module_name Interface_eth0_in
module_type generic_data_inc
module_snmp_community public
module_snmp_agent 192.168.1.1
module_snmp_oid 1.3.6.1.2.1.2.2.1.10.2
module_unit bytes/sec
module_description Incoming traffic on eth0
module_end

Advanced Monitoring Features

Custom Plugin Development

Create custom monitoring scripts for specialized requirements:

#!/bin/bash
# Custom disk usage plugin

DISK_USAGE=$(df -h / | awk 'NR==2{print $5}' | cut -d'%' -f1)

echo ""
echo "Custom_Disk_Usage"
echo "generic_data"
echo "$DISK_USAGE"
echo "Root partition usage percentage"
echo ""

Alert Configuration

Set up intelligent alerting based on thresholds:

  1. Go to Alerts → Alert Templates
  2. Create a new template with conditions:
    • Warning: Value > 80
    • Critical: Value > 95
    • Recovery: Value < 75
  3. Configure notification methods (Email, SMS, Slack)

Performance Optimization

Optimize PandoraFMS performance for large environments:

# Increase MySQL performance
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

# Add these optimizations
innodb_buffer_pool_size = 2G
query_cache_size = 256M
tmp_table_size = 256M
max_heap_table_size = 256M

Monitoring Dashboard Creation

Custom Dashboard Design

Create comprehensive monitoring dashboards:

  1. Navigate to Dashboards → Dashboard Builder
  2. Add widgets for:
    • System status overview
    • Network traffic graphs
    • Critical alerts summary
    • Top processes by resource usage
  3. Configure auto-refresh intervals
  4. Set user permissions and sharing options

Reporting and Analytics

Generate automated reports for management:

# CLI report generation
/usr/share/pandora_server/util/pandora_report.pl \
  --config /etc/pandora/pandora_server.conf \
  --report_id 1 \
  --output_dir /tmp/reports/

Troubleshooting Common Issues

Agent Connection Problems

Debug agent connectivity issues:

# Check agent logs
sudo tail -f /var/log/pandora/pandora_agent.log

# Test server connectivity
telnet your-server-ip 41121

# Verify configuration
sudo pandora_agent --test-config

Performance Issues

Monitor system resources and optimize:

# Check system resources
htop
iostat -x 1
netstat -tuln | grep :41121

# Optimize database
mysqlcheck -u pandora -p --optimize --all-databases

Web Interface Issues

Common web console troubleshooting:

# Check Apache error logs
sudo tail -f /var/log/apache2/error.log

# Verify PHP configuration
php -m | grep -E "(mysql|gd|curl|xml)"

# Check file permissions
sudo chown -R www-data:www-data /var/www/html/pandora_console

Security Best Practices

Securing PandoraFMS Installation

  • Database Security: Use strong passwords and restrict database access
  • SSL/TLS: Configure HTTPS for web interface access
  • Firewall Rules: Limit access to monitoring ports (41121, 162)
  • User Management: Implement role-based access control
  • Regular Updates: Keep PandoraFMS and system components updated

Network Security Configuration

# Configure firewall rules
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 41121/tcp
sudo ufw allow from 192.168.1.0/24 to any port 162

Integration with Other Tools

API Usage

Integrate PandoraFMS with external systems using the API:

curl -X POST \
  "http://your-server/pandora_console/include/api.php" \
  -d "op=get&op2=all_agents&return_type=json&apipass=your_api_password"

Third-party Integrations

  • Grafana: Create advanced visualization dashboards
  • Elasticsearch: Enhanced log analysis and search
  • Nagios: Import existing Nagios configurations
  • Zabbix: Migrate from Zabbix monitoring setups

Conclusion

PandoraFMS provides a robust, scalable solution for comprehensive network and system monitoring on Linux platforms. With its extensive feature set, flexible configuration options, and strong community support, it serves as an excellent choice for organizations seeking professional-grade monitoring capabilities without licensing costs.

The platform’s ability to monitor diverse environments, combined with its powerful alerting system and customizable dashboards, makes it suitable for everything from small business networks to large enterprise infrastructures. Regular maintenance, security updates, and proper configuration optimization ensure optimal performance and reliability.

By following this comprehensive guide, you’ll have a fully functional PandoraFMS installation capable of monitoring your entire IT infrastructure effectively. Remember to regularly review and update your monitoring configurations as your network grows and evolves.