Monitoring dengan Cacti dan Nagios (Part 1)


Overview

Beberapa hal yang menyebabkan monitoring wajib dilakukan untuk sebuah network :

  • Untuk monitoring performance dari jaringan kita
  • Mengetahui status (up/down) service dari host yang kita monitor secara realtime dengan system allert/alarm
  • Media log dari service sehingga segala aktivitas host yang dimonitor akan tercatat

Masih banyak keuntungan dari monitoring ini, kalau buat saya sebagai admin, tentu memudahkan dalam management network dan service setiap host yang diurus sehingga laporan kejadian host / service down dapat diterima langsung.

Dalam management jaringan, ada beberapa hal yang mesti difahami terlebih dahulu yaitu pemahaman tentang Monitoring Manager dan Monitoring Agent. Untuk layanan yang berbasis Internet Protokol, digunakan Simple Network Management Protocol (SNMP) yang merupakan protokol untuk membawa data informasi yang diperlukan oleh manager dari agen.

Hal yang paling penting adalah justru data yang ingin dimonitor apa saja. Beberapa macam monitoring dilakukan terhadap :

  1. Interface Port (untuk monitoring penggunaan resource dan trafic)
  2. Process (untuk monitoring service seperti web, ftp, ssh, email, dll)
  3. Latency (mengukur kehandalan dari jaringan)
  4. Physical Devices (hardisk dan memory)

Network Manager

Network Manager berfungsi sebagai media yang mengumpulkan (trap) semua informasi dari setiap host, informasi yang dikumpulkan berasal dari Management Information Base (MIB) dari setiap host. Network Manager sering juga disebut dengan Network Monitoring System (NMS) server. Server ini akan menyimpan semua informasi ke dalam bentuk database. Database ini bisa kita olah menjadi sebuah User Interface, biasa nya dalam bentuk aplikasi web.

Monitoring Agent

Monitoring agent ini bertugas untuk mengambil seluruh informasi MIB dari host yang disimpan kemudian mengirimkan nya ke manager. Untuk IP network, digunakan SNMP daemon sebagai agent untuk dikirmkan dalam bentuk UDP packet ke manager melalui protokol snmp.

1 ilustrasi manager dan host agent

Sekian dulu saja kuliah singkat nya. Mendingan langsung ke tutorial nya sahaja deh

Tutorial

Dalam tutorial ini hal yang harus disiapkan:

  1. NMS Server     : Untuk diinstall manager cacti
  2. Host        : Untuk dimonitor

Spesifikasi manager :

  • Operating System : Debian Lenny
  • Memory : 1 GB
  • Hardisk : 80 GB

Persiapan Server

Setting Repository, proxy, dan environment server

edit /etc/apt/source.list tambahkan list di bawah

monitoring-server# nano /etc/apt/source.list

deb http://kebo.vlsm.org/debian/ lenny main

deb-src http://kebo.vlsm.org/debian/ lenny main

deb http://volatile.debian.org/debian-volatile lenny/volatile main

deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Jika berada di belakang proxy, setting proxy apt

monitoring-server# nano /etc/apt/apt.conf

Acquire::http::Proxy “http://user:passwd@server-proxy:port/”;

Update dan upgrade repository dan sistem

monitoring-server# apt-get update

……………

monitoring-server# apt-get upgrade

Install Cacti

Sebelum menginstall cacti, diperlukan web server. Web server dapat diinstall saat instalasi debian, atau dengan menginstall lewat repository. (jika sudah ada web server, skip)

monitoring-server# apt-get install apache2 mysql-server mysql-client php5 php5-mysql php-common

Pastikan service nya berjalan setelah instalasi. Edit database root mysql password

monitoring-server# mysqladmin –u root –p password ‘<password>’

Enter password: <kosong>

Buatlah database cacti di mysql

Monitoring-server# mysql –u root –p

Enter password: <password>

mysql> create database cacti;

Query OK, 1 row affected (0.00 sec)

mysql> quit;

Untuk menginstall cacti, diperlukan beberapa dependency. Karena saya malas menginstall dependency satu-satu, yasudah install cacti lewat repository (untuk itu kenapa dipilih linux debian, atau ubuntu)

monitoring-server# apt-get install cacti

Semua dependency akan diinstall yaitu snmp, net-snmp, rrdtools, dll (saya juga kurang paham karena banyak sekali)

Setting database dengan user dan database yang telah ditentukan sebelumnya.

Jika semua telah berhasil dikonfigurasi dan diinstall, maka web manager kita telah siap digunakan. Karena saya ingin membuat cacti manager dengan yang paling update, maka setting default vhost apache agar saat kita buka alamat web kita langsung terbuka halaman cacti manager.

Buat directory untuk cacti

monitoring-server# mkdir /home/cacti

monitoring-server# nano /etc/apache2/sites-enabled/000-default

DocumentRoot /home/cacti/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /home/cacti/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

monitoring-server# apache2ctl restart

Download cacti terbaru dari http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz

monitoring-server# wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz

Masukan ke folder /home/cacti/ ekstract file tersebut

monitoring-server# cp cacti-0.8.7g.tar.gz /home/cacti/

monitoring-server# tar –xzvf cacti-0.8.7g.tar.gz

monitoring-server# mv –f /home/cacti/ cacti-0.8.7g/* /home/cacti/

Buat database mysql baru untuk cacti manager yang baru, kemudian import database cacti yang baru ke database tersebut.

monitoring-server# mysql –u root –p

Enter password:

mysql> create database monitoring;

mysql> exit;

bye

monitoring-server# cd /home/cacti/

monitoring-server# mysql –u root –p monitoring < cacti.sql

Enter password:

Edit konfigurasi database cacti :

monitoring-server# nano /home/irham/include/config.php

$database_type = “mysql”;

$database_default = “monitoring”;

$database_hostname = “localhost”;

$database_username = “root”;

$database_password = “rootpassword”;

$database_port = “3306″;

Akses server kita dengan browser, masuk ke http://servernms/ akan keluar halaman:

Klik Next >>

Pilin New Install, klik Next >>

Pastikan semua OK: FILE FOUND, jika belum ada ERROR, silakan install kekurangan nya. Misal rrdtool error, install rrd tool melalui apt kemudian konfigurasi path nya. Jika selesai dan OK, klik Finish

Akan ada tampilan di atas, silakan login dengan :

User : admin
Password : admin

Ganti dengan password baru, setelas selesai, klik save, akan masuk tampilan manager cacti (default)

Cacti selesai terinstall. Silakan konfigurasi setting sesuai dengan kebutuhan.

Setting Poller

Poller berfungsi untuk menggenerate data dari host yang dimonitoring oleh manager. Poller bisa menggunakan php poller atau dengan menggunakan spine, untuk performa yang baik, gunakan cacti-spine sebagai poller. Install dan konfigurasi cacti-poller

monitoring-server# apt-get install cacti-spine

monitoring-server# nano /etc/cacti/spine.conf

DB_Host localhost

DB_Database monitoring

DB_User root

DB_Pass <passwordmysql>

Konfigurasi di web cacti, pilih Settings -> Poller, Pilih Spine pada poller type. Biarkan yang lain nya default.

Jika tidak ingin menggunakan spine, buatlah cron sebagai berikut :

monitoring-server# nano /etc/crontab

*/5 * * * * root php /home/cacti/poller.php > /dev/null 2>&1

Pilih poller type cmd di web cacti.

Install Plugin

Untuk memudahkan instalasi plugin, terlebih dahulu install plugin architecture. Plugin ini berfungsi untuk management plugin yang akan diinstall di cacti.

Download Plugin architecture, ekstract kemudian patch

monitoring-server# wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz

monitoring-server# tar –xzvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz

monitoring-server# mv cacti-plugin-arch/* /home/cacti/

monitoring-server# cd /home/cacti/

monitoring-server# patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff

monitoring-server# mysql –u root –p monitoring < pa.sql

Enter password:

Pada web cacti, pilih User Management -> klik admin, check Plugin Management untuk mengaktifkan fitur Plugin Management

Setelah disave, maka akan keluar menu Plugin Management di sub menu Configuration

Install plugin yang akan dibutuhkan.

Untuk menambahkan plugin di cacti, kita tinggal memasukkan plugin tersebut ke directory plugins. Masuk ke folder plugins

monitoring-server# cd /home/cacti/plugins/

Di dalam tutorial ini akan diinstall beberapa plugin yang akan digunakan.

  1. Weathermap (Untuk monitoring pemakaian bandwith dalam bentuk map) – http://www.network-weathermap.com/files/php-weathermap-0.97a.zip
  2. Thold (Threshold, untuk memberikan peringatan jika pemakaian service melebihi batas treshold yang ditentukan, misalnya pemakaian bandwidth 80MB – 90MB) – http://cactiusers.org/downloads/thold.tar.gz
  3. Reportit (Reporting pemakaian service dalam bentuk table dan grafik serta reporting ke dalam csv) – https://sourceforge.net/project/showfiles.php?group_id=201406

Download plugin ke /home/cacti/plugins, extract kemudian aktifkan melalui Plugin Management di cacti web.

Install Reportit

Download reportit dari https://sourceforge.net/project/showfiles.php?group_id=201406

Masukan ke folder /home/cacti/plugins/

monitoring-server# tar –xzvf reportit_v073.tar.gz

Aktifkan Reportit lewat web cacti

Jika berhasil terinstall akan terdatap menu Report Configurations, dan
Link Reports di top menu.

Untuk Plugin yang lainnya, silakan ikuti seperti langkah-langkah di atas.

Segitu dulu sahaja. Next :

  • Konfigurasi SNMP di host
  • Konfigurasi Host di Cacti
  • Graph Management
  • Instalasi dan konfigurasi Nagios

13 thoughts on “Monitoring dengan Cacti dan Nagios (Part 1)

  1. kang kalo “Pada web cacti, pilih User Management -> klik admin, check Plugin Management untuk mengaktifkan fitur Plugin Management” seharusnya kan ada fitur Plugin Management , sedangkan mesin cacti saya tidak ada menu Plugin Management , padahal saya sudah install plugin architecture , adakah tambahan konfigurasi lagi untuk memunculkan fitur Plugin Management ?

  2. Pingback: OSS/BSS/Cisco Monitoring using CACTI : -Hanya Sekedar Kutipan -

  3. kang mau nanya :
    “Poller berfungsi untuk menggenerate data dari host yang dimonitoring oleh manager. ”
    pengertian dari manager itu apa ? Apakah manager itu Network Manager ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s