Catatan Instalasi Cacti di Centos 7

Om Yufi dan Runi masih penasaran dengan cacti kan?..cacti tool adalah aplikasi open source web base monitoring dan grafik system monitoring. Langkah instal dan konfigurasi nya pun terbilang mudah, saya contoh kan pada catatan kali ini untuk OS Centos 7 dan Cacti versi 1.1, let’s start :

Persiapan awal :
1. menyiapkan Centos 7 64 bit fresh instal yang sudah bisa terhubung ke internet untuk proses yum.

2. aktifkan repo epel
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm

3. aktifkan repo lux
wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm
rpm -Uvh lux-*rpm

4. jalankan yum update

Instal paket yang dibutuhkan oleh cacti :
5. instal apache
yum install httpd httpd-devel

6. instal database
mariadb yang akan terpasang secara default pada centos 7 adalah versi 5.5, dikarenakan cacti v1.1 meminta mariadb dengan versi diatas 5.6 maka kita lakukan upgrade sql nya. pada tuts ini saya langsung mengupgrade ke mariadb 10.0 :

6a. buat repo untuk mariadb10
nano /etc/yum.repos.d/MariaDB10.repo
isikan teks berikut :

# MariaDB 10.0 CentOS repository list – created 2018-10-08 08:30 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
————-

6b. yum -y install MariaDB-server MariaDB-client

7. instal php
yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli

8. instal php-snmp
yum install php-snmp

9. instal net-snmp
yum install net-snmp-utils net-snmp-libs

10. instal rrdtool
yum install rrdtool

11. nyalakan service dan aktifkan pada saat boot
systemctl start httpd.service
systemctl start mysql
systemctl start snmpd.service

systemctl enable httpd.service
systemctl enable mysql
systemctl enable snmpd.service

12. instal cacti
yum install cacti cacti-spine

13. konfigurasi db untuk cacti

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
mysqladmin -u root password MySQL-PASSW0RD
mysql -u root -p
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ‘c4ct1’;
mysql> FLUSH privileges;
mysql> quit;

lanjutkan dengan konfigurasi time_zone pada db cacti mysql :
mysql -u root -p mysql
[mysql]> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
[mysql]> flush privileges;
[mysql]> exit

14. instal tabel cacti
rpm -ql cacti | grep cacti.sql

output :
/usr/share/doc/cacti-1.1.38/cacti.sql
import template tabel :
mysql -u cacti -p cacti < /usr/share/doc/cacti-1.1.38/cacti.sql

15. sesuaikan konfigurasi php
nano /etc/php/7.0/apache2/php.ini

tambahkan baris/aktifkan :
[CLI Server]
cli_server.color = On

[Date]
date.timezone = Asia/Jakarta

16. setting konfigurasi mysql di cacti
nano /etc/cacti/db.php

/* make sure these values reflect your actual database/host/user/password */
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “c4ct1”;
$database_port = “3306”;
$database_ssl = false;

17. konfigurasi httpd untuk cacti :
nano /etc/httpd/conf.d/cacti.conf
sesuaikan baris berikut :

Alias /cacti /usr/share/cacti

# httpd 2.4
# Require host localhost
Require all granted


systemctl restart httpd.service

18. sesuaikan cron untuk cacti
nano /etc/cron.d/cacti

*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

19. penyesuaian konfigurasi mysql di /etc/my.cnf

nano /etc/my.cnf


[mysql]
max_allowed_packet = 16M
default_character_set = utf8

[mysqldump]
max_allowed_packet = 16M

[mysqld]

max_allowed_packet = 16M
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
max_connections = 505
tmp_table_size = 64M
join_buffer_size = 64M
max_heap_table_size = 64M
innodb_buffer_pool_size = 256M
innodb_file_per_table = 1
innodb_doublewrite = 0
innodb_additional_mem_pool_size = 128M
innodb_lock_wait_timeout = 50
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16

[client-server]
!includedir /etc/my.cnf.d

20. buka browser dan akses http://ip-address-cacti/cacti/ dan lanjutkan proses inisiasi instalasi sampai finish via browser dan yakinkan seluruh cek list prasyarat yang diminta oleh cacti tidak ada yang berwarna merah.

21. pada sisi server yang akan di monitoring, lakukan langkah berikut :
yum -y install net-snmp net-snmp-utils
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
nano /etc/snmp/snmpd.conf

rocommunity public 192.168.100.196 #masukan-ip-server-cacti
rocommunity public 127.0.0.1
syslocation “Server Room LPSE”
syscontact admin@lpse.antahberantahkab.go.id

systemctl start snmpd
systemctl enable snmpd

22. login di http://ip-server-cacti/cacti/, lakukan penambahan device pada menu console, pilih template dan sesuaikan graph yang akan ditampilkan.

Selamat Mencoba ya Om Yufi dan Runi…
D.W.Y.O.R!

Referensi :
https://www.liquidweb.com/kb/how-to-install-and-configure-snmp-on-centos/
https://www.tecmint.com/install-cacti-network-monitoring-on-rhel-centos-6-3-5-8-and-fedora-17-12/
https://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
https://github.com/Cacti/cacti/issues/361
https://forums.cacti.net/viewtopic.php?f=2&t=58313