Setup Observium untuk Monitoring Server

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:

PackageMinimum Version
Apache2.1
fping3.8+
MySQL5.1+
Net-SNMP5.4+
RRDtool1.3+
PHP7.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 [email protected]

# 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.

Halaman Add Devices

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.

Kadek Jayak
Seorang Web Developer di Denpasar Bali. Nulis blog hanya sekedar iseng dan berbagi pengalaman.
%d blogger menyukai ini: