Cacti adalah salah satu software yang digunakan untuk keperluan monitoring yang banyak digunakan saat ini. Cacti menyimpan semua data/informasi yang diperlukan untuk membuat grafik dan mengumpulkannya dengan database MySQL. Untuk menjalankan cacti diperlukan software pendukung seperti MySQL, PHP, RRDTool, net-snmp, dan sebuah webserver yang support PHP seperti Apache atau IIS.

Cacti salah satu aplikasi open source yang menrupakan solusi  pembuatan grafik network yang lengkap yang didesign untuk memanfaatkan kemampuan fungsi RRDTool sebagai  peyimpanan data dan pembuatan grafik. Cacti menyediakan pengumpulan data yang cepat, pola grafik advanced, metoda perolehan multiple data, dan fitur pengelolaan user. Semuanya dikemas secara intuitif, sebuah interface yang mudah digunakan  mudah dipahami untuk local area network hingga network yang kompleks dengan ratusan device. Dengan menggunakan cacti kita dapat memonitor trafik yang mengalir pada sebuah server.

            Cacti dapat kita gambarkan sebagai :

  1. Data Retrieval

Hal pertama yang dilakukan oleh Cacti adalah mengumpulkan data. Data dikumpulkan dengan Poller yang dieksekusi oleh Operating System. Interval pengumpulan data atau dengan kata lain eksekusi Poller dapat kita atur melalui fasilatas penjadwalan yang tersedia di Operating System seperti crontab.

  1. Data Storage

Data yang telah dikumpulkan oleh Poller, selanjutnya akan disimpan secara teratur di bawah /rra. Untuk proses ini, cacti menggunakan Round Robin Database (RRD) dimana data akan ditata dalam urutan waktu (time-series). Data yang dapat berupa trafik jaringan, suhu mesin, server load average, mounting load dan lainnya berbentuk file berekstensi .rra dan selanjutnya siap dipresentasikan dalam bentuk grafik.

  1. Data Presentation

Keutamaan penggunaan RRDtool adalah fungsi grafiknya. Data-data yang tertata dalam /rra akan di presentasikan dalam grafik dan ditampilkan oleh webserver yang kita gunakan. Cacti juga menyediakan halaman pengaturan grafik untuk memudahkan kita memanajemen gambar-gambar yang ingin kita tampilkan serta cara menampilkannya.

Persyaratan Cacti :

Untuk menerapkan sistem monitoring cacti ini, perlu diperhatikan untuk menginstal paket berikut :

  • RRDTool
  • httpd/apache
  • php
  • php-mysql
  • php-snmp
  • mysql
  • mysql-server
  • net-snmp

Jika salah satu atau lebih paket dalam daftar diatas belum ada, maka terlebih dahulu harus menginstal/menambahkan paket tersebut. Dalam beberapa kasus yang saya alami, instalasi paket2 diatas akan sedikit merepotkan, berkaitan dengan dependensi paket-paketnya.

Instalasi Cacti :

Dalam hal instalasi ini akan terdapat beberapa perbedaan tergantung dari pada sitem yang kita gunakan. Perlu diketahui, pada tutorial kali ini saya menggunakan CentOS 6.6 dalam penginstalannya. Berikut adalah proses instalasinya:

Install Apache

# yum install httpd httpd-devel

Install MySQL

# yum install mysql mysql-server

Install PHP

# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli

Install PHP-SNMP

# yum install php-snmp

Install NET-SNMP

# yum install net-snmp-utils net-snmp-libs

Install RRDTool

# yum install rrdtool

Starting Apache, MySQL and SNMP Services

[root@Latihan ~]# service httpd start
[root@Latihan ~]# service mysqld start
[root@Latihan ~]# service snmpd start

Install Cacti on RHEL / CentOS / Fedora

# yum install cacti

*note: jangan lupa masukan terlebih dahulu epel repository

Set MySQL Password

[root@Latihan ~]# mysqladmin -u root password YOUR-PASSWORD-HERE

Create MySQL Cacti Database

[root@Latihan ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'tecmint';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye

Install Cacti Tables to MySQL

# rpm -ql cacti | grep cacti.sql
[root@Latihan ~]# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
Enter password:

Configure MySQL settings for Cacti

# vi /etc/cacti/db.php

edited
/* pastikan semua sesuai dengan data yang anda masukan pada installasi cacti */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "your-password-here";
$database_port = "3306";
$database_ssl = false;

Configuring Firewall for Cacti

[root@Latihan ~]# iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
[root@Latihan ~]# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
[root@Latihan ~]# service iptables save

Configuring Apache Server for Cacti Installation

Alias /cacti    /usr/share/cacti
 
<Directory /usr/share/cacti/>
        Order Deny,Allow
        Deny from all
        Allow from 172.16.16.0/20
</Directory>

or latest version of Apache (ex: Apache 2.4)

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
                # httpd 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
                # httpd 2.2
                Order deny,allow
                Deny from all
                Allow from all
        </IfModule>
</Directory>

dan kemudian
[root@Latihan ~]# service httpd restart

Setting Cron for Cacti

# vi /etc/cron.d/cacti

hilangkan tanda comment "#".
#*/5 * * * *    cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Running Cacti Installer Setup

Cacti Installer Screen

pastikan semua service berjalan.

Cacti Installation
untuk meng'enable plugin thold, pertama download file plugins thold.tgz dan setting.tgz
http://docs.cacti.net/plugins. kemudian extrac kedalam /usr/share/cacti/plugins
setelah extract plugins thold.tgz dan setting.tgz, install plugins tersebut pada pilihan
plugin management.


dan setelah install plugin thold dan setting, anda dapat menggunakan plugin tersebut.
semoga tutorial ini berguna bagi anda, terima kasih :D