Install Observium on Ubuntu 22.04
Introduction to Observium
Observium is a powerful network monitoring platform that provides real-time insights into network health and performance. Designed for ease of use, it automatically discovers devices, collects performance metrics, and generates alerts for potential issues. In this blog post, we will explore Observium in detail, covering its features, installation process, core functionalities, and more.
Overview of Observium as a Network Monitoring Platform
Observium is an auto discovering SNMP-based network monitoring platform that supports a wide range of network hardware and operating systems, including Cisco, Windows, Linux, and many others. It offers a comprehensive view of network infrastructure, making it invaluable for network administrators seeking to optimize performance and minimize downtime.
Key features and benefits
Observium is a robust network monitoring platform that offers a range of features designed to enhance the management and performance of network infrastructures.
Automatic Device Discovery: Observium automatically detects devices on the network without requiring manual input, simplifying the setup process for administrators. This feature supports various discovery protocols, making it easy to monitor a diverse range of devices.
Real-Time Monitoring: The platform continuously collects data from monitored devices, providing real-time insights into network performance. Administrators can view metrics such as bandwidth utilization, CPU and memory usage, and overall device status through an intuitive dashboard.
Scalability: Observium is designed to scale with your infrastructure, accommodating both small and large networks. Its flexibility allows it to support an extensive range of devices and protocols, making it suitable for dynamic environments.
Alerting and Notifications: The system includes robust alerting capabilities that notify administrators of critical events. Customizable alert rules can be configured to send notifications via email, SMS, or other channels, ensuring timely responses to potential issues.
Data Visualization: The platform generates detailed graphs and charts for devices and interfaces, facilitating easy identification of trends, anomalies, and bottlenecks in network performance.
Licensing options (Community Edition vs. Professional Edition)
Observium offers two primary licensing options: the Community Edition and the Professional Edition. Each version caters to different user needs and organizational requirements.
Community Edition
Cost: Free and open-source, making it accessible for individuals, small businesses, and non-critical deployments.
Key Features: It automatically detects devices on the network without manual input. It continuously collects and displays performance metrics such as bandwidth utilization, CPU load, and device status. It supports a wide range of devices and can scale with your network infrastructure. It can be configure for the alerts notification to administrators of critical issues via email or SMS. Observium community edition receives updates on a 6 to 12-monthly release cycle. It is best suited for small, non-critical deployments, home use, or evaluation purposes.
Users can access community forums, documentation, and plugins for assistance.
Professional Edition
Observium Professional Edition offers subscription-based, intended for organizations that require additional features and support.
Key Features:
Observium professional edition includes all features from the Community Edition plus additional functionalities tailored for enterprise environments. It offers dedicated support services, including email and live chat assistance. The subscribers receive priority consideration for new feature requests. It is designed to handle larger environments with more complex monitoring needs. Professional edition provides a certain amount of support hours per subscription period. It provides rapid access to daily security patches, bug fixes, and new features through an SVN-based release mechanism.
Observium Installation
System Requirements for Observium
Observium is a network monitoring platform primarily designed for Linux environments. Below are the detailed software and hardware requirements necessary for optimal performance.
Software Requirements
Observium supports various Linux distributions, with a strong recommendation for the latest versions of Debian or Ubuntu. Other compatible distributions include RHEL and CentOS.
Hardware Requirements The hardware requirements for Observium vary based on the number of devices and ports being monitored.
Base Hardware Requirements
RAM: A minimum of 512MB is recommended for small installations (e.g., on a Raspberry Pi). Larger installations will require more memory based on the number of devices.
CPU:
Web Server: Single-threaded performance is crucial; higher clock rates improve page generation speed.
Poller: Pollers can run in parallel; aim for about 2 pollers per core.
Storage:
Each device or port may require approximately 3 MB per port and 5-50 MB per host, depending on the OS and number of ports.
SSDs are highly recommended due to their superior I/O throughput compared to traditional HDDs.
For monitoring around 5,000 ports, an estimate of 8 GB of storage may be required.
A single 7200 RPM drive can handle the I/O for about 5,000 ports, but using SSDs or RAID configurations can significantly boost performance.
Update the System
sudo apt update
sudo apt upgrade -y
Install Required Dependencies
sudo apt install snmpd libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-json php7.4-bcmath php7.4-mbstring php7.4-curl php7.4-common php7.4-xml curl -y
Install and Configure MySQL
sudo apt install mariadb-server -y
sudo mysql_secure_installation
Then log in to MySQL to create a database and user for Observium
sudo mysql -u root -p
Inside the MySQL shell
CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON observium.* TO ‘observium’@’localhost’ IDENTIFIED BY ‘password’;
FLUSH PRIVILEGES;
EXIT;
Install Observium
Download the latest Observium CE (Community Edition) from the official website.
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
sudo mv observium /opt/observium
Configure Apache Web Server
Create a new configuration file for Observium
sudo nano /etc/apache2/sites-available/observium.conf
Add the following content
<VirtualHost *:80>
DocumentRoot /opt/observium/html/
ServerName your-server-ip
<Directory “/opt/observium/html/”>
AllowOverride All
Options FollowSymLinks
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/observium_error.log
CustomLog ${APACHE_LOG_DIR}/observium_access.log combined <VirtualHost>
Enable the configuration and restart Apache
sudo a2ensite observium.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
Configure Observium
Navigate to the Observium directory
cd /opt/observium
cp config.php.default config.php
nano config.php
Modify the database settings with your details
$config[‘db_host’] = ‘localhost’;
$config[‘db_user’] = ‘observium’;
$config[‘db_pass’] = ‘password’;
$config[‘db_name’] = ‘observium’;
Initialize the Database
/opt/observium/discovery.php -u
Add a User for Observium
Create Admin user
/opt/observium/adduser.php admin password 10
Set Up Cron Jobs
sudo nano /etc/cron.d/observium
Add the following lines to automate polling
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
Access the Web Interface
Open a web browser and visit
http://your-server-ip