Cacti - Instalasi dan Konfigurasi Monitoring Traffic Menggunakan Cacti di Ubuntu Server

Pada artikel ini saya akan melakukan instalasi dan konfigurasi cacti pada sistem operasi Ubuntu Server 22.04

Arman Dwi Pangestu

30 Agustus 20231 menit baca

Pendahuluan

Cacti adalah salah satu perangkat lunak atau software untuk pemantauan atau monitoring traffic jaringan yang cukup populer dan sering digunakan oleh system administrator untuk memantau dan mengelola kinerja jaringan.

Dengan menggunakan cacti, Anda dapat dengan mudah mengumpulkan data statistik yang relevan dan menghasilkan grafik yang informatif, memungkinkan Anda untuk mengambil keputusan yang lebih baik terkait dengan infrastruktur jaringan Anda.

Dalam artikel ini, Saya akan membahas langkah-langkah instalasi cacti pada Ubuntu Server 22.04

Persiapan

Untuk melakukan instalasi cacti, Anda perlu menyiapkan sistem operasi nya terlebih dahulu, disini Saya menggunakan sistem operasi Ubuntu Server 22.04. Anda bisa memilih menggunakan distro lain dari turunan debian, misalnya debian itu sendiri.

Update Repository dan Upgrade Package

Untuk melakukan update repository dan upgrade package, jalankan perintah berikut ini:

sudo apt update && sudo apt upgrade -y

Ubuntu Update dan Upgrade

Mengatur Jam atau Timezone

Penting sekali mengatur jam agar sesuai dengan jam realtime, karena hal tersebut akan berpengaruh ke tanggal dan jam yang akan muncul di cacti

Untuk mengatur jam atau timezone ke indonesia, jalankan perintah berikut ini:

sudo timedatectl set-timezone Asia/Jakarta

Untuk melihat dan memastikan bahwa jam atau timezone sudah berubah, jalankan perintah berikut ini:

date

atau

timedatectl

Ubuntu Timezone

Install Package Pendukung Cacti

Untuk menginstall cacti server, kita perlu paket atau package pendukung atau dependencies yang perlu di install, untuk menginstall nya jalankan perintah berikut ini:

sudo apt install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y

Dependency Cacti

Install LAMP Stack

Cacti berjalan pada Webserver, Database dan PHP, jadi kita perlu menginstall LAMP Stack (Linux, Apache, MariaDB, PHP). Untuk menginstall nya jalankan perintah berikut ini:

sudo apt install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp php-intl -y

Ubuntu LAMP Stack

Konfigurasi PHP

Setelah LAMP Stack terinstal, langkah selanjutnya adalah melakukan konfigurasi PHP disisi webserver apache nya, untuk mengubah konfigurasi apache nya jalankan perintah berikut ini:

sudo vim /etc/php/8.1/apache2/php.ini

Cari konfigurasi berikut ini:

...
max_execution_time = 30
...
memory_limit = 128M
...
;date.timezone =

Menjadi seperti berikut

...
max_execution_time = 60
...
memory_limit = 512M
...
date.timezone = Asia/Jakarta

Setelah konfigurasi diatas disimpan, selanjutnya kita perlu mengubah konfigurasi PHP disisi CLI nya, untuk mengubah nya jalankan perintah berikut ini:

sudo vim /etc/php/8.1/cli/php.ini

Lakukan hal yang sama seperti konfigurasi PHP disisi webserver apache, cari konfigurasi berikut ini:

...
max_execution_time = 30
...
memory_limit = -1
...
;date.timezone =

Menjadi seperti berikut

max_execution_time = 60
...
memory_limit = 512M
...
date.timezone = Asia/Jakarta

Setelah konfigurasi selesai, lakukan restart service apache untuk menerapkan konfigurasi terbaru, untuk me-restart service nya jalankah perintah berikut ini:

sudo systemctl restart apache2

Untuk memastikan apakah service apache nya berjalan atau running, gunakan perintah berikut ini:

sudo systemctl status apache2

Apache Service

Konfigurasi MariaDB

Cacti menggunakan MariaDB sebagai database nya, oleh karena itu kita perlu melakukan konfigurasi mariadb nya agar cacti dapat berjalan lebih baik, untuk melakukan konfigurasi nya, gunakan perintah berikut ini:

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Cari konfigurasi berikut ini:

collation-server            = utf8mb4_general_ci
...
#innodb_buffer_pool_size    = 8G

Menjadi seperti berikut

Catatan: Jika konfigurasi berikut tidak ada, cukup tambahkan saja konfigurasi nya

collation-server            = utf8mb4_unicode_ci
max_heap_table_size         = 128M
tmp_table_size              = 64M
join_buffer_size            = 1M
...
innodb_file_format          = Barracuda
innodb_large_prefix         = 1
innodb_buffer_pool_size     = 1G
innodb_flush_log_at_timeout = 3
innodb_read_io_threads      = 32
innodb_write_io_threads     = 16
innodb_io_capacity          = 5000
innodb_io_capacity_max      = 10000
innodb_doublewrite          = OFF
sort_buffer_size            = 1M

MariaDB Konfigurasi

Setelah konfigurasi tersimpan, selanjutnya restart service mariadb menggunakan perintah berikut ini

sudo systemctl restart mariadb

Untuk memastikan apakah service nya sudah berjalan atau belum, gunakan perintah berikut ini:

sudo systemctl restart mariadb

MariaDB Service

Membuat Database dan User Untuk Cacti

Untuk membuat database dan user untuk cacti, kita perlu login terlebih dahulu ke dalam MariaDB, untuk login nya gunakan perintah berikut ini

sudo mysql

Jika berhasil maka format prompt atau PS1 nya akan menjadi seperti berikut:

MariaDB [(none)] >

MariaDB Login

Setelah berhasil login ke dalam database, jalankan perintah berikut ini untuk membuat database dan user cacti:

CREATE DATABASE cacti;

Catatan: 'cacti'@'localhost' dan 'password' bisa disesuaikan dengan yang anda inginkan, namun wajib kalian ingat nantinya, karena akan digunakan pada konfigurasi cacti.

GRANT ALL PRIVILEGES ON `cacti`.* TO 'cacti'@'localhost' IDENTIFIED BY 'password';

MariaDB Cacti

Selanjutnya kita flush privileges, lalu keluar dari database

FLUSH PRIVILEGES;
exit;

Import Timezone Data Ke Database

Untuk melakukan import timezone data ke dalam database, gunakan perintah berikut ini:

sudo mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql

Setelah itu berikan cacti user untuk akses database timezone

sudo mysql
GRANT SELECT ON `mysql`.time_zone_name TO 'cacti'@'localhost';
FLUSH PRIVILEGES;
exit;

MariaDB Timezone

Install Cacti

Cacti versi terbaru bisa di download melalui situs resmi nya disini www.cacti.net/info/downloads

untuk mendownload versi terbaru nya, jalankan perintah berikut ini:

Catatan: cacti-latest.tar.gz disesuaikan dengan versi yang didapat dari situs resmi nya, misalkan cacti-1.2.25.tar.gz

wget https://www.cacti.net/downloads/cacti-latest.tar.gz --no-check-certificate

Download Cacti

Extract Package Cacti

Setelah cacti berhasil di download, kita perlu melakukan extract menggunakan tar, untuk meng-extract jalankah perintah berikut ini:

Catatan: Sesuaikan dengan nama versi kalian

tar -zxvf cacti-latest.tar.gz

Extract Cacti

Setup Skema dan Koneksi Database Cacti

Setelah cacti berhasil di extract, langkah selanjutnya adalah membuat folder di lokasi atau PATH /var/www/html untuk membuatnya jalankan perintah berikut ini:

sudo mkdir /var/www/html/cacti

Setelah folder diatas berhasil dibuat, selanjutnya copy atau salin isian folder cacti yang sudah di extract ke folder /var/www/html/cacti menggunakan perintah berikut ini:

sudo cp -R cacti-latest/* /var/www/html/cacti

Selanjutnya import skema database cacti kedalam mariadb menggunakan perintah berikut ini:

sudo mysql cacti < /var/www/html/cacti/cacti.sql

Setup Cacti

Setelah melakukan import skema database, sekarang edit file konfigurasi cacti untuk koneksi ke dalam database, menggunakan perintah berikut ini:

sudo vim /var/www/html/cacti/include/config.php

Catatan: Sesuaikan nama database, user dan password yang telah di setup sebelumnya (saat membuat database dan user) di MariaDB

...
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'password';
$database_port     = '3306';
...

Setup Log Untuk cacti

Setelah konfigurasi database selesai dilakukan, langkah selanjutnya adalah membuat log file untuk menampung log dari aplikasi cacti, sehingga ketika terdapat error, kita bisa membaca nya melalui log file tersebut untuk mencari penyebabnya. Untuk membuatnya jalankan perintah berikut ini:

sudo touch /var/www/html/cacti/log/cacti.log

Setup Permission dan Ownership Folder Cacti

Setelah file log tersebut dibuat, langkah selanjutnya adalah melakukan perubahan permission dan ownership untuk folder cacti ke webserver

sudo chown -R www-data:www-data /var/www/html/cacti && sudo chmod -R 775 /var/www/html/cacti

Permission Cacti

Setup Cron Scheduler Cacti Poller

Selanjutnya, buat sebuah cron scheduler untuk cacti poller

sudo vim /etc/cron.d/cacti

Catatan: Cron scheduler dibawah ini akan menjalankan cacti poller setiap 5 menit sekali

*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

Mengakses dan Setup Cacti

Setelah konfigurasi di sisi server selesai, selanjutnya kita akan melakukan instalasi cacti melalui web browser dengan cara mengakses webserver nya, kalian bisa masukan pada bagian URL di web browser dengan format http://<ip_address_server>/cacti

Catatan: Default user dan password login cacti adalah

  • Username: admin
  • Password: admin

Login Cacti

Ganti Default Password

Setelah pertama kali masuk, akan langsung di tawarkan untuk mengganti password default, maka disini anda bisa mengganti nya dengan yang anda inginkan

Password Cacti

License Agreement

Click tombol Save, maka akan dialihkan atau dipindahkan ke halaman license agreement seperti dibawah ini

License Cacti

Ceklis Accept GPL License Agreement dan click tombol Begin untuk pergi ke menu Pre-Installation Checks

Pre Installation Checks

Jika kalian mengikuti konfigurasi diatas hasilnya akan hijau semua.

Pre-Installation Cacti

Installation Type

Click tombol Next untuk pergi ke menu Installation Type

Installation Type Cacti

Directory Permission Checks

Click tombol Next untuk pengecekan hak akses folder

Directory Permission Checks Cacti

Critical Binary Locations and Versions

Click tombol Next untuk pengecekan dependencies

Critical Binary Locations and Versions Cacti

Input Validation Whitelist Protection

Click tombol Next akan muncul peringatan yang berkaitan dengan security

Input Validation Whitelist Protection Cacti

Default Profile

Click tombol Next akan muncul konfigurasi default seperti cron interval dan automation network, disini Saya non-aktifkan fitur automation network nya

Default Profile Cacti

Template Setup

Click tombol Next akan muncul template setup yang bisa di install, disini saya pilih semua

Template Setup Cacti

Server Collation

Click tombol Next untuk pengecekan status database

Server Collation Cacti

Confirm Installation

Click tombol Next untuk melakukan konfirmasi instalasi

Confirm Installation Cacti

Installing Cacti Server

Click tombol Next untuk memulai penginstalan cacti, tunggu hingga proses instalasi selesai

Installing Cacti Server

Click tombol Get Started untuk masuk ke halaman admin cacti

Get Started

Dashboard Cacti

Tampilan cacti awal atau dashboard untuk admin

Dashboard Admin

Sampai disini proses instalasi cacti sudah selesai, namun disini saya akan menambahkan tutorial atau langkah-langkah mengganti poller dari cmd.php menjadi spine

Install Poller Spine Untuk Cacti

Spine adalah pengganti poller berkecepatan tinggi untuk cmd.php. Ini hampir 100% kompatibel dengan prosesor cmd.php lama dan memberikan banyak fleksibilitas, kecepatan dan konkurensi dibandingkan dengan cmd.php.

Spine dapat mengurangi waktu berkumpulnya perangkat Anda. Jika Server Cacti Anda memiliki banyak perangkat untuk dipantau dan terkadang Anda menemukan batas waktu poller di cacti.log Anda. Memasang dan menggunakan spine adalah jawaban yang baik untuk mengatasi masalah ini. Sederhana dan bermanfaat.

Catatan: Anda dapat dengan mudah menginstal nya dengan perintah

sudo apt install cacti-spine

tetapi Anda tidak akan mendapatkan versi terbaru dari spine. Jadi, disini Saya akan menggunakan versi stabil terbaru dari situs cacti dan meng-compile nya sendiri.

Download Spine

Untuk mendownload nya anda bisa pergi ke situs resmi dari cacti disini www.cacti.net/info/downloads. Pada halaman tersebut terdapat tombol download untuk spine, Anda hanya perlu melakukan copy link address nya

Download Spine

Setelah anda copy link address nya, jalankan perintah berikut:

Catatan: Ganti latest dengan versi terbaru atau terakhir

wget https://files.cacti.net/spine/cacti-spine-latest.tar.gz --no-check-certificate

Maka sekarang akan muncul file bernama cacti-spine-latest.tar.gz

Wget Spine

Install Dependencies Software Untuk Compile Spine

Untuk menginstal dependencies software nya, jalankan perintah berikut:

sudo apt install build-essential autoconf automake dos2unix gzip help2man m4 make wget libtool libsnmp-dev libmariadb-dev libmariadb-dev -y

Install Dependencies Spine

Extract dan Install Spine

Extract spine ke directory saat ini dan masuk kedalam directory spine mengggunakan perintah berikut ini:

tar -zxvf cacti-spine-latest.tar.gz

Extract Spine

cd cacti-spine-latest/

Move Directory Spine

Perintah berikut ini mengasumsikan lokasi default instalation untuk cacti di /usr/local/spine. Jika Anda memilih untuk menggunakan prefix lain, pastikan Anda memperbarui perintah sesuai dengan kebutuhan untuk PATH yang baru.

Jalankan proses bootstrap untuk membuat script konfigurasi secara otomatis.

sudo ./bootstrap

Bootstrap Spine

Jalankan proses configure untuk mendeteksi apa yang tersedia di sistem

sudo ./configure

Configure Spine

Build dan install spine

sudo make
sudo make install

Build dan Install Spine

Pastikan spine berjalan dengan baik dengan mengecek nya menggunakan perintah berikut ini:

Catatan: Jangan khawatir dengan pesan error FATAL: Unable to read configuration file! (Spine init). Ini muncul karena Saya tidak menyertakan file konfigurasi ke perintah. Pada langkah ini hanya ingin tes spine saja yang bisa dijalankan

/usr/local/spine/bin/spine -R -S -V 3

Test Spine

Konfigurasi Spine

Buat file konfigurasi spine dan edit koneksi ke database kemudian simpan

sudo cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
sudo vim /usr/local/spine/etc/spine.conf

Config Spine

DB_Host       localhost
DB_Database   cacti
DB_User       cactiuser # masukan username database anda
DB_Pass       yourpassword # masukan passsword database anda
DB_Port       3306
#DB_UseSSL    0
#DB_SSL_Key
#DB_SSL_Cert
#DB_SSL_CA
Cacti_Log     /var/www/html/cacti/log/cacti.log # uncomment baris berikut

Perbarui Konfigurasi Web Cacti

Login kedalam cacti, kemudian pergi ke menu Configuration > Settings

Settings Cacti

Perbarui pengaturan PATH cacti pada bagian binary dan file konfigurasi spine

Spine Binary File Location: /usr/local/spine/bin/spine
Spine Config File Path: /usr/local/spine/etc/spine.conf

PATH Spine

Perbarui Cacti Poller pada bagian Poller Type ubah dari cmd.php menjadi spine

Poller Type

Untuk memastikan spine berjalan dengan baik, Buka menu Log dan periksa method poller nya. Maka seharusnya akan berubah yang sebelumnya dari cmd.php menjadi spine.

Log Poller