Cacti
Install
Prerequisites
- sudo apt update
Install Apache & MariaDB
- sudo apt install -y apache2 mariadb-server mariadb-client php-mysql libapache2-mod-php
Install PHP Extensions
- sudo apt install -y php-xml php-ldap php-mbstring php-gd php-gmp
Install Snmp
- sudo apt install -y snmp php-snmp rrdtool librrds-perl
Configuration
Database Tuning
- vi /etc/mysql/mariadb.conf.d/50-server.cnf
collation-server = utf8mb4_unicode_ci max_heap_table_size = 128M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_buffer_pool_size = 512M 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
Set Timezone
- vi /etc/php/7.2/apache2/php.ini
AND
- vi /etc/php/7.2/cli/php.ini
date.timezone = Europe/Berlin memory_limit = 512M max_execution_time = 60
Restart MariaDB
- sudo systemctl restart mariadb
Create Database
- sudo mysql -u root -p
- create database cacti;
- GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
- flush privileges;
- exit
Importmysql_test_data_tiemzone
- sudo mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Grant the permission to cactiuser
- sudo mysql -u root -p
- GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
- flush privileges;
- exit
Install cacti
- wget https://www.cacti.net/downloads/cacti-latest.tar.gz
- tar -zxvf cacti-latest.tar.gz
- sudo mv cacti-1* /opt/cacti
Import the default Cacti database
- sudo mysql -u root -p cacti < /opt/cacti/cacti.sql
Cacti Config
- vi /opt/cacti/include/config.php
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactipassword"; $database_port = "3306"; $database_ssl = false;
Edit the crontab file
- vi /etc/cron.d/cacti
*/5 * * * * www-data php /opt/cacti/poller.php > /dev/null 2>&1