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 :
- 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.
- 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.
- 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
pastikan semua service berjalan.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