FedoraRHEL Based

How To Install Observium on Fedora 43

Install Observium on Fedora 43

Network monitoring is critical for maintaining reliable IT infrastructure. Observium stands out as a powerful, open-source network monitoring platform that automates device discovery and provides comprehensive visibility into your network’s health. This guide walks you through installing Observium on Fedora 43, from initial setup to monitoring your first device.

Whether you’re managing a small office network or enterprise infrastructure, Observium offers auto-discovery capabilities, SNMP monitoring, and an intuitive web interface that simplifies network administration. By following these step-by-step instructions, you’ll have a fully functional monitoring system ready to track routers, switches, servers, and other network devices.

What is Observium?

Observium is a comprehensive network monitoring platform designed to deliver powerful monitoring capabilities combined with an elegant user interface. The platform automatically discovers network devices using protocols like SNMP, CDP, LLDP, and FDP, eliminating manual configuration overhead.

Key Features and Benefits

The platform supports thousands of device types across multiple vendors. It monitors network performance, bandwidth utilization, and system health in real-time. Traffic accounting features enable billing and capacity planning, while threshold-based alerting notifies administrators of potential issues before they become critical.

The web-based dashboard provides intuitive graphs and reports. System administrators gain insights into historical performance trends through RRD-based data storage. The platform’s auto-discovery functionality significantly reduces deployment time compared to manual device configuration.

Prerequisites and System Requirements

Proper planning ensures smooth installation. Understanding hardware and software requirements prevents performance issues later.

Hardware Requirements

A minimum dual-core processor is required, though quad-core CPUs deliver better performance for larger networks. RAM requirements scale with network size—allocate at least 4GB for small deployments and 16GB or more for enterprise environments. Storage needs depend on data retention policies; plan for adequate disk space to store RRD files, which grow over time.

Software Requirements

Fedora 43 must be installed and updated before proceeding. Root or sudo privileges are essential for system configuration. The installation requires Apache 2.4 or higher, PHP 8.1 or newer, MariaDB or MySQL database server, and RRDtool 1.7 or later. Network connectivity is necessary for downloading packages and monitoring remote devices.

Before You Begin

Create system backups to safeguard existing data. Configure a static IP address or fully qualified domain name for consistent access. Review firewall policies to ensure HTTP (port 80) and HTTPS (port 443) traffic can reach your server.

Step 1: Update System and Install Dependencies

Fresh system updates provide security patches and compatibility improvements. This foundational step prevents conflicts during installation.

Update Fedora 43 System

Open a terminal and execute the update command. This refreshes package repositories and installs available updates:

sudo dnf update -y

System updates may require a reboot, especially when kernel updates are installed. Restart your server if prompted to ensure all updates take effect properly.

Install Required Packages

Observium depends on numerous packages for full functionality. Install Apache web server, MariaDB database, PHP with extensions, network tools, and version control utilities using DNF:

sudo dnf install -y httpd mariadb-server php php-mysqlnd php-gd php-posix php-ldap php-mbstring php-snmp php-process php-xml php-cli fping net-snmp net-snmp-utils rrdtool subversion git cronie ImageMagick nmap-ncat

PHP version 8.1 or higher is recommended for optimal performance. Modern PHP versions offer significant speed improvements and security enhancements over legacy releases.

Optional Packages

Virtual machine monitoring requires additional libraries. Install libvirt if you plan to monitor virtualization platforms:

sudo dnf install -y libvirt

These optional components extend Observium’s monitoring capabilities beyond traditional network devices.

Step 2: Configure MariaDB Database

Database configuration establishes the foundation for storing monitoring data. Proper security configuration protects sensitive network information.

Start and Enable MariaDB Service

Launch the database service and configure it to start automatically at boot:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Verify the service is running correctly:

sudo systemctl status mariadb

Active status confirms the database server is operational.

Secure MariaDB Installation

Run the security script to harden your database installation:

sudo mysql_secure_installation

The wizard prompts for several security decisions. Set a strong root password when prompted. Remove anonymous user accounts to prevent unauthorized access. Disable remote root login to restrict administrative access to localhost. Delete the test database as it serves no production purpose. Reload privilege tables to apply changes immediately.

Create Observium Database and User

Access the MariaDB shell as root:

sudo mysql -u root -p

Create a dedicated database and user account for Observium:

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'observiumuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON observium.* TO 'observiumuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Replace ‘StrongPassword123!’ with a secure password. Document these credentials—you’ll need them during Observium configuration.

Step 3: Download and Install Observium

Installing Observium involves downloading the software and preparing the directory structure.

Navigate to Installation Directory

The /opt directory is standard for third-party applications:

cd /opt

This location keeps Observium separate from system packages, simplifying management and updates.

Download Observium

Two editions are available: Community Edition and Subscription Edition. The Community Edition releases biannually and is free to use. For the Community Edition, download the latest release:

sudo wget http://www.observium.org/observium-community-latest.tar.gz
sudo tar zxvf observium-community-latest.tar.gz

Subscription Edition users with valid licenses can use SVN for automated updates:

sudo svn checkout http://svn.observium.org/svn/observium/trunk /opt/observium

The SVN method simplifies future updates and provides access to rapid bug fixes.

Set Up Directory Structure

Navigate to the installation directory:

cd /opt/observium

Create directories for logs and RRD data files:

sudo mkdir -p rrd logs

These directories store performance metrics and application logs essential for monitoring operations.

Step 4: Configure Observium

Configuration connects Observium to your database and defines operational parameters.

Create Configuration File

Copy the default configuration template:

sudo cp config.php.default config.php

Edit the configuration file using your preferred text editor:

sudo nano config.php

Database Configuration

Update database connection settings to match the credentials created earlier:

$config['db_extension'] = 'mysqli';
$config['db_host'] = 'localhost';
$config['db_user'] = 'observiumuser';
$config['db_pass'] = 'StrongPassword123!';
$config['db_name'] = 'observium';

Ensure these values precisely match your MariaDB configuration.

Additional Configuration Options

Configure the base URL for web access:

$config['base_url'] = "/";

Set administrator email for notifications:

$config['email']['default'] = 'admin@yourdomain.com';

Configure fping location for RHEL-based systems:

$config['fping'] = "/usr/sbin/fping";

Save and close the configuration file.

Initialize Database Schema

Install the database schema using the discovery script:

sudo ./discovery.php -u

This command creates necessary tables and initializes the database structure. Some SQL revision errors during this process are normal and can be ignored.

Create your administrative user account:

sudo ./adduser.php admin password 10

Replace ‘password’ with a secure password. The level ’10’ grants full administrative privileges.

Step 5: Configure Apache Web Server

Apache serves the Observium web interface. Proper configuration ensures reliable access and security.

Create Apache Virtual Host

Create a new configuration file for Observium:

sudo nano /etc/httpd/conf.d/observium.conf

Add the following virtual host configuration:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /opt/observium/html/
    ServerName observium.example.com
    
    <Directory "/opt/observium/html/">
        AllowOverride All
        Options FollowSymLinks MultiViews
        Require all granted
    </Directory>
    
    ErrorLog /var/log/httpd/observium-error-log
    CustomLog /var/log/httpd/observium-access-log combined
</VirtualHost>

Replace ‘observium.example.com’ with your server’s hostname or IP address.

Set File Permissions

Configure ownership for Apache access:

sudo chown -R apache:apache /opt/observium

Set access control lists for logs and RRD directories:

sudo setfacl -d -m group:apache:rwx /opt/observium/rrd /opt/observium/logs
sudo setfacl -R -m group:apache:rwx /opt/observium/rrd /opt/observium/logs

Correct permissions prevent “permission denied” errors in the web interface.

Enable and Start Apache

Start the web server and enable automatic startup:

sudo systemctl start httpd
sudo systemctl enable httpd

Restart Apache to apply configuration changes:

sudo systemctl restart httpd

Check service status to confirm successful startup:

sudo systemctl status httpd

Step 6: Configure Cron Jobs for Automated Monitoring

Automated polling and discovery maintain up-to-date network information.

Understanding Observium Cron Jobs

Observium requires several scheduled tasks. Discovery scripts detect new devices and update existing ones. Poller scripts collect performance metrics at regular intervals. Alert scripts evaluate thresholds and send notifications.

Create Cron Configuration

Create a cron file with monitoring schedules:

sudo nano /etc/cron.d/observium

Add the following cron jobs:

33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py >> /dev/null 2>&1
*/5 * * * * root /opt/observium/alerts.php >> /dev/null 2>&1

The discovery-all job runs every six hours, updating all monitored devices. New device discovery executes every five minutes, quickly adding recently deployed equipment. The poller wrapper collects metrics every five minutes. Alert checking runs at five-minute intervals to ensure timely notifications.

Performance can be improved by adjusting poller threads based on your hardware. Monitor poller execution time at ‘/pollerlog/’ in your web interface. Ideally, the complete poller cycle should finish close to 300 seconds.

Step 7: Configure Firewall Rules

Firewall configuration permits web interface access while maintaining security.

Open Required Ports

Allow HTTP traffic through the firewall:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

If monitoring devices via SNMP from this server, open the SNMP port:

sudo firewall-cmd --permanent --add-port=161/udp

Reload firewall rules to activate changes:

sudo firewall-cmd --reload

SELinux Considerations

Fedora enforces SELinux by default. For testing purposes, set SELinux to permissive mode:

sudo setenforce 0

Make the change permanent by editing the SELinux configuration:

sudo nano /etc/selinux/config

Change the SELINUX directive to permissive:

SELINUX=permissive

Production environments should properly configure SELinux contexts rather than disabling enforcement.

Step 8: Access Observium Web Interface

The web interface provides centralized monitoring and management capabilities.

First Login

Open your web browser and navigate to your server’s address:

http://your-server-ip/

Or if you configured a domain name:

http://observium.example.com/

Log in using the administrative credentials created earlier. The default username is ‘admin’ with the password you specified during setup.

Install Observium on Fedora 43

Web Interface Overview

The dashboard displays an overview of monitored devices and network status. Navigation menus provide access to device lists, graphs, alerts, and system settings. Initially, the interface appears empty until you add monitoring targets.

Step 9: Add Your First Device

Populating Observium with devices enables actual network monitoring.

Configuring SNMP on Target Devices

Before adding devices to Observium, ensure SNMP is configured on target systems. For Linux servers, install and configure net-snmp:

sudo dnf install -y net-snmp

Edit the SNMP daemon configuration:

sudo nano /etc/snmp/snmpd.conf

Add a basic SNMPv2 community string:

rocommunity public

Start and enable the SNMP daemon:

sudo systemctl start snmpd
sudo systemctl enable snmpd

For enhanced security, use SNMPv3 with authentication and encryption.

Adding Devices Manually

In the Observium web interface, click “Devices” then “Add Device”. Enter the device hostname or IP address. Specify the SNMP community string (default is ‘public’ for SNMPv2). Select the appropriate SNMP version.

For SNMPv3, provide authentication credentials including username, authentication protocol, authentication password, privacy protocol, and privacy password.

Using Command-Line Device Addition

Alternatively, add devices via command line:

sudo ./add_device.php hostname community_string v2c

For SNMPv3 with authentication:

sudo ./add_device.php hostname v3 authPriv username authpassword privpassword

Initial Discovery and Polling

After adding a device, run manual discovery:

sudo ./discovery.php -h hostname

Execute an initial poll to collect data:

sudo ./poller.php -h hostname

The web interface displays discovered information within minutes. Graphs populate after several polling cycles collect sufficient historical data.

Post-Installation Configuration

Fine-tuning enhances monitoring effectiveness and system reliability.

Email Notifications

Configure SMTP settings in config.php for alert delivery. Test email functionality by triggering a test alert. Create alert contacts and define notification rules through the web interface.

User Management

Add additional user accounts for team members. Assign appropriate permission levels—level 10 for administrators, level 5 for read-write users, level 1 for read-only access. Implement role-based access control in multi-user environments.

Performance Tuning

Adjust polling intervals based on network size and requirements. For large deployments, increase parallel poller processes. Monitor storage I/O to prevent disk bottlenecks that slow the web interface. Review poller performance logs regularly at ‘/pollerlog/’.

Database optimization improves query performance. Consider enabling SNMP max-rep globally for faster bulk queries:

$config['snmp']['max-rep'] = true;

Troubleshooting Common Issues

Identifying and resolving problems ensures continuous monitoring coverage.

Web Interface Not Loading

Check Apache service status if the interface fails to load:

sudo systemctl status httpd

Review Apache error logs for diagnostic information:

sudo tail -f /var/log/httpd/observium-error-log

Verify file permissions allow Apache to read Observium files. SELinux policies may block access—review audit logs for denials.

Database Connection Errors

“DB Error 2002: Connection refused” indicates database connectivity problems. Verify MariaDB is running:

sudo systemctl status mariadb

Confirm database credentials in config.php match your MariaDB configuration. Memory constraints can cause database crashes—monitor system resources and allocate additional RAM if needed.

Missing Data in Graphs

Insufficient poller processes cause incomplete data collection. Increase poller threads in your cron configuration. Storage I/O bottlenecks prevent timely RRD updates—monitor disk performance. Verify cron jobs execute correctly by checking ‘/var/log/cron’.

Network connectivity issues prevent device polling. Test SNMP access manually using snmpwalk:

snmpwalk -v2c -c public hostname

SNMP Issues

Incorrect community strings prevent device discovery. Verify SNMP configuration on target devices. Firewall rules may block SNMP traffic—ensure UDP port 161 is accessible. Test basic SNMP functionality before troubleshooting Observium specifically.

Security Best Practices

Protecting your monitoring infrastructure safeguards sensitive network information.

Hardening Your Installation

Change default administrative passwords immediately after installation. Use complex passwords combining uppercase, lowercase, numbers, and special characters. Implement HTTPS using SSL/TLS certificates to encrypt web traffic. Free certificates from Let’s Encrypt provide strong encryption at no cost.

Apply system security updates regularly. Subscribe to security mailing lists for Fedora and Observium to stay informed of vulnerabilities.

Access Control

Restrict web interface access by IP address using Apache configuration. Implement Apache authentication for an additional security layer. Limit SNMP access through firewall rules allowing only necessary source addresses.

Database Security

Disable remote MySQL/MariaDB access if not required. Bind the database server to localhost only. Perform regular database backups to prevent data loss. Use strong, unique passwords for all database accounts.

Monitoring and Logging

Enable detailed logging for security events and authentication attempts. Review logs regularly for suspicious activities and unauthorized access attempts. Configure alerts for failed login attempts and unusual system behavior.

Congratulations! You have successfully installed -. Thanks for using this tutorial for installing the Observium monitoring tool on your Fedora 43 Linux system. For additional help or useful information, we recommend you check the official Observium website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button