Observium merupakan tools network monitoring yang mendukung berbagai jenis perangkat. Tak hanya perangkat jaringan, ia juga dapat digunakan untuk memantau server dan aplikasi didalam nya seperty MySQL, Apache, Nginx, dan lain nya. Observium menyediakan versi Open-Source (Community) yang dapat digunakan gratis oleh siapa saja.
Observium sendiri ditulis dengan menggunakan bahasa PHP, dan sedikit Python pada bagian pooler nya. Fungsi grafik nya dapat menampilkan data sesuai dengan rentang waktu yang kita inginkan. Selain melakukan monitoring, ia juga dapat mengirimkan peringatan (Alert) ketika terjadi masalah pada devices, misalnya saja tiba – tiba offline atau Hardisk nya akan penuh.
Artikel ini akan menjelaskan bagaimana melakukan instalasi dan konfigurasi Observium untuk monitoring server. OS yang digunakan adalah ubuntu 18.04 Server.
Requirements
Observium merupakan tools yang berbasis web jadi membutuhkan sebuah webserver dan database untuk menjalankan nya. Adapun kebutuhan detail nya adalah sebagai berikut:
Package | Minimum Version |
Apache | 2.1 |
fping | 3.8+ |
MySQL | 5.1+ |
Net-SNMP | 5.4+ |
RRDtool | 1.3+ |
PHP | 7.1+ |
Installation
Seluruh dependency yang diperlukan dapat di install dengan perintah berikut:
sudo apt-get install libapache2-mod-php7.2 php7.2-cli php7.2-mysql php7.2-mysqli php7.2-gd php7.2-json php-pear snmp snmpd fping mysql-server mysql-client python-mysqldb rrdtool subversion whois mtr-tiny graphviz imagemagick apache2
Setelah terinstall, download dan extract file Observium community edition, perintah dibawah ini akan menginstall nya pada folder /opt/observium
cd /opt wget http://www.observium.org/observium-community-latest.tar.gz tar -zxvf observium-community-latest.tar.gz
Configuration
MySQL Databases
Observium membutuhkan database, buatlah sebuah database melalui phpmyadmin atau anda dapat membuatnya dengan perintah dibawah ini:
mysql -u root -p -e "CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'passwordObservium';"
Perintah tersebut akan membuat database dan user dengan nama observium.
Setelah anda memiliki database, anda dapat memasang konfigurasi tersebut pada file config.php
cd observium cp config.php.default config.php nano config.php
masukan konfigurasi database anda pada file tersebut, kurang lebih seperti dibawah ini:
$config['db_user'] = 'observium'; $config['db_pass'] = 'passwordObservium'; $config['db_name'] = 'observium';
Simpan kemudian jalankan perintah dibawah ini agar database tersebut ter-Inisialisasi dengan schema default nya:
./discovery.php -u
Kemudian Buat folder rrd dan logs
mkdir logs mkdir rrd chown www-data:www-data logs chown www-data:www-data rrd
Buat User Admin
Observium tidak membuat user default ketika melakukan inisialisasi database. Perintah dibawah ini akan membuat user dengan hak akses admin (10)
./adduser.php username passwordUser 10
Apache
Untuk saat ini observium belum dapat berjalan dengan baik bila diinstall pada subfolder, jadi perlu di buatkan sebuah VirtualHost untuk mengaksesnya. Pada artikel ini saya akan mengedit vhost default apache, ketik perintah dibawah ini untuk mengedit file vhost:
nano /etc/apache2/sites-enabled/000-default.conf
Kemudian tambahkan baris seperti dibawah ini di dalam <VirtualHost>
<Directory /opt/observium/html> DirectoryIndex index.php Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory>
Simpan dan aktifkan module apache rewrite jika belum
a2enmod rewrite
Restart apache
service apache2 restart
Jika tidak ada error, cobalah akses melalui web browser, dan pastikan anda dapat login dengan user yang telah dibuat.
Cronjob
Cronjob diperlukan agar observium mengambil informasi perangkat secara otomatis setiap waktu. buat sebuah file cron khusus:
nano /etc/cron.d/observium
Kemudian tambahkan baris berikut:
# 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/poller-wrapper.py >> /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
SNMPD
SNMP (Simple Network Management Protocol) merupakan protocol yang digunakan untuk manajemen perangkat jaringan, salah satu fungsinya adalah mengambil informasi/status dari perangkat pada jaringan. Observium memanfaat SNMP untuk melakukan monitoring, informasi seperti traffic, cpu usage, dan ram usage didapat dari SNMP.
Pada linux, package yang menyediakan fungsi sebagai SNMP Server adalah snmpd. Package snmpd ini perlu anda install pada setiap server yang ingin dimonitor.
Install snmpd
sudo apt-get install snmp snmpd
Edit konfigurasi snmpd
sudo nano /etc/snmpd/snmpd.conf
Contoh file konfigurasi yang mengizinkan semua OID hanya untuk localhost
# Listen di semua interface protocol UDP port 161 agentAddress udp:161 # Only allow Localhost # sec.name source community com2sec readonly localhost public # name sec.model sec.name group Jomblo v1 readonly group Jomblo v2c readonly group Jomblo usm readonly # target incl/excl subtree view all included .1 # name context model level prefix read write notify (unused) access Jomblo "" any noauth exact all none none # Device Location syslocation Rahasia # System Contact syscontact Kadekjayak kadekjayak@emailsaya # Accurate Uptime for Observium extend uptime /bin/cat /proc/uptime
Simpan kemudian restart snmpd dengan perintah berikut
sudo service snmpd restart
Cek snmpd berjalan dengan perintah snmpwalk
snmpwalk -v2c -c public localhost
jika anda melihat banyak output dengan angka – angka berarti snmpd anda sudah berjalan.
Add Devices
Masuk ke Halaman Observium, pilih menu Devices -> Add Devices dan tambahkan informasi snmp pada halaman yang disediakan.

Grafik akan mulai muncul setelah 5 sampai 10 menit…
Sampai disini konfigurasi observium sudah selesai dan dapat memonitor server anda, artikel selanjutnya saya akan menjelaskan bagaimana membuat Alert agar mendapat notifikasi ketika device tersebut down.
Monitoring part Hardware server kondisi healty atau critical dengan ip idrac atau ilo menggunakan observium apakah bisa?, sebagai contoh memory, storage, fan error/failed