Monitoring Tools

How to Install Observium on Ubuntu 20.04

In this article, we’ll explain how to install Observium on Ubuntu 20.04.

Observium is an auto-discovering network monitoring platform supporting a wide range of hardware platforms and operating systems including Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, F5, Brocade, Citrix Netscaler, NetApp and many more. Being a PHP-based platform, it offers an easy-to-use web interface to allow you to monitor the network devices.


  • Installed Ubuntu 20.04 dedicated server or KVM VPS.
  • A root user access or normal user with administrative privileges.

Install Observium on Ubuntu

1. Keep the server updated

# apt update -y

2. Install PHP and Dependencies

# apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-json php7.4-bcmath php7.4-mbstring php7.4-opcache php7.4-curl php-apcu php-pear snmp fping rrdtool whois mysql-server mysql-client subversion mtr-tiny ipmitool graphviz imagemagick apache2 python3-mysqldb python3-pymysql python-is-python3 -y

3. Create the MySQL database and user

Run following commands to create database and user also grant privileges to the user.

# mysql -u root -p

<mysql root password>


GRANT ALL PRIVILEGES ON observium.* TO ‘observium’@’localhost’ IDENTIFIED BY ‘<db password>’;



4. Download, Install, and Configure Observium

Download Observium

First, create a directory for Observium to live in:

# mkdir -p /opt/observium && cd /opt

Change the permissions of the directory.

# chown -R observium:observium /opt/observium/

# chmod -R 775 /opt/observium/

Here we are installing Observium community edition.

# wget

Extract it using following command:

# tar zxvf observium-community-latest.tar.gz

Configure Observium

Change into the new install directory:

# cd observium

Copy the default configuration file and edit it for your system:

# cp config.php.default config.php

Edit the file for your system.

# vim config.php

Modify the file as shown bellow:

$config[‘db_user’] = ‘observium’;
$config[‘db_pass’] = ‘<db password>’;

Save and exit.

Create required directories

Create the directory Observium will store its logs in:

# mkdir /opt/observium/{rrd,logs}

Insert the default MySQL database schema.

# ./discovery.php -u

5. Configure Apache

Remove the default Apache configuration file.

# rm -rf /etc/apache2/sites-enabled/000-default.conf && rm -rf /etc/apache2/sites-available/000-default.conf

Create new Apache configuration file for Observium

# vim /etc/apache2/sites-available/observium.conf

Add following content:

    ServerAdmin [email protected]
    DocumentRoot /opt/observium/html

        SetHandler application/x-httpd-php

        Options FollowSymLinks
        AllowOverride None

        DirectoryIndex index.php
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted

    ErrorLog  ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog  ${APACHE_LOG_DIR}/access.log combined
    ServerSignature On

Save and exit.

Create symbolic link to enable the configuration file using following command:

# ln -s /etc/apache2/sites-available/observium.conf /etc/apache2/sites-enabled/observium.conf

Restart the Apache service

# systemctl restart apache2

Disable mpm_event module.

# a2dismod mpm_event

Enable mpm_prefork module.

# a2enmod mpm_prefork

Enable mod_rewrite.

# a2enmod rewrite

Restart the Apache service.

# apache2ctl restart

6. Create Admin Account

Add and initial user with level of 10 for admin. Modify the AdminPassword value with your own secure password.

# ./adduser.php admin [email protected] 10

Create a new file /etc/cron.d/observium to add cron jobs.

# nano /etc/cron.d/observium

Add the following contents:

# Run a complete discovery of all devices once every 6 hours
33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1

# Run automated discovery of newly added devices every 5 minutes
*/5 *     * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1

# Run multithreaded poller wrapper every 5 minutes
*/5 *     * * *   root    /opt/observium/ >> /dev/null 2>&1

# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1

# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1

That’s it we have successfully installed and configured Observium on Ubuntu 20.04

Now, navigate to your browser and access Observium web interface using server IP. and login with the admin user and password we have created earlier.

In this article, we have explained how to install Observium on Ubuntu 20.04.

Related Articles