Contents
Cài đặt Cacti trên Ubuntu
Bài viết này sẽ hướng dẫn cách cài đặt Cacti trên Ubuntu.
- Truy hồi dữ liêu (data retrieval ) : Cacti truy hồi dữ liêu thông qua poller và sử dụng SNMP để truy hồi dữ liệu các thiết bị từ xa (Các thiêt bị này phải hỗ trợ SNMP).
- Lưu trữ dữ liệu (data storage) : sử dụng RRDTool để lưu trữ dữ liệu
- Hiển thị dữ liêu (data presentation) : Cacti sẽ sử dụng chức năng tạo đồ thị để thực thi báo cáo dựa trên dữ liệu chuỗi thời gian thu thập được từ các thiết bị ở xa.
Cài đặt Cacti trên Ubuntu
Với bài hướng dẫn này Cacti sẽ được tiến hành cài đặt trên VPS OS Ubuntu 20 LTS hoặc Server OS Ubuntu 20 LTS.
Cập nhật hệ thống
Để đảm bảo rằng tất cả các phụ thuộc của Cacti đều được cập nhật, hãy thực thi lệnh bên dưới:
apt-get update && apt-get upgrade
Trong quá trình cập nhật hệ thống chúng ta chờ từ 5 phút đến 15 phút.
Yêu cầu thiết yếu của quá trình cài đặt Cacti
VPS của chúng ta phải được cài đặt LAMP, nếu chưa cài đặt LAMP chúng ta thực hiện các lệnh sau để có thể cài đặt LAMP trên VPS của chúng ta:
Cài đặt apache2
Thực thi lệnh bên dưới để tiến hành cài đặt ‘apache2’ cho VPS:
apt install -y apache2
Sau khi cài đặt apache2 thành công thì chúng ta truy cập trình duyệt với dường dẫn: http://IP kết quả sẽ như sau:
Cài đặt MYSQL
Cài đặt MariaDB cho máy chủ LAMP, bằng cách thực thi lệnh bên dưới:
apt install -y mariadb-server mariadb-client
Tiến hành thiết lập MariaDB server bằng cách chạy lệnh bên dưới:
mysql_secure_installation
Sau khi đã cài đặt hoàn tất chúng ta tiến hành login vào MariaDB như sau:
mysql -u root -p
Tại đây sẽ yêu cầu password, chúng ta cần điền thông tin password trong quá trình cài đặt bên trên.
Cài đặt PHP
Tiến hành thực thi lệnh sau để có thể cài đặt PHP lên VPS của chúng ta:
apt install -y php
Vì các ứng dụng web dựa trên một số phần mở rộng PHP, chúng ta cần cài đặt các phần mở rộng phổ biến nhất bằng lệnh dưới đây:
sudo apt -y install php php-{mysql,curl,net-socket,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,snmp,mbstring,gmp,json,xml,common,ldap}
Thiết lập Cacti trên VPS
Tiến hành chỉnh sửa file php.ini thứ nhất tại “/etc/php/7.4/apache2/php.in”
vi /etc/php/7.4/apache2/php.ini
Thay đổi các dòng sau và đảm bảo bỏ ghi chú giá trị date.timezone. Và tiến hành chỉnh sử về date.timezone tại quốc gia chúng ta đang ở:
date.timezone = Asia/Ho_Chi_Minh
Sau đó chúng ta cần set up giá trị Ram giới hạn, và Maximum execution time:
max_execution_time = 300
memory_limit = 512M
Tiến hành chỉnh sửa file php.ini thứ hai tại “/etc/php/7.4/cli/php.ini”
vi /etc/php/7.4/cli/php.ini
Thay đổi các dòng sau và đảm bảo bỏ ghi chú giá trị date.timezone. Và tiến hành chỉnh sử về date.timezone tại quốc gia chúng ta đang ở:
date.timezone = Asia/Ho_Chi_Minh
Sau đó chúng ta cần set up giá trị Ram giới hạn, và Maximum execution time:
max_execution_time = 300
memory_limit = 512M
Khởi động lại dịch vụ Apache để áp dụng các thay đổi:
systemctl restart apache2
Thiết lập MariaDB Server
Tiến hành thực hiện chỉnh sửa file: /etc/mysql/mariadb.conf.d/50-server.cnf
vi /etc/mysql/mariadb.conf.d/50-server.cnf
Thực hiện sửa các dòng như bên dưới:
innodb_file_format=Barracuda
innodb_large_prefix=1
character-set-server=utf8mb4
innodb_doublewrite=ON
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=128M
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_buffer_pool_instances=9
Thực hiện comment đoạn sau để đảm bảo các vấn để cấu hình:
#collation-server = utf8mb4_general_ci
Thực hiện khởi động lại mariadb để tiến cập nhật lại các cấu hình vừa thay đổi:
systemctl restart mariadb
Tiến hành login vào Mariadb:
mysql -u root -p
Tạo cơ sở dữ liệu có tên cactidb:
CREATE DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Cấp tất cả các quyền của cơ sở dữ liệu đã tạo cho cactiuser:
GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY 'StrongPassword';
FLUSH PRIVILEGES;
Thoát khỏi Mariadb:
exit
Nhập dữ liệu múi giờ vào cơ sở dữ liệu MySQL:
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
Tiến hành login vào Mariadb:
mysql -u root -p
Cấp các đặc quyền bắt buộc trên múi giờ MySQL:
GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
FLUSH PRIVILEGES;
Thoát khỏi Mariadb:
exit
Cài đặt Cacti
Tải xuống phiên bản mới nhất của Cacti từ trang web chủ. Chúng ta có thể tải xuống bằng lệnh sau:
wget https://files.cacti.net/cacti/linux/cacti-latest.tar.gz
Giải nén file Cacti vừa tải về:
tar -zxvf cacti-latest.tar.gz
Di chuyển thư mục đã giải nén vào thư mục gốc Apache:
mv cacti-1* /var/www/html/cacti
mysql -u root -p cactidb < /var/www/html/cacti/cacti.sql
Thay đổi các dòng sau của file /var/www/html/cacti/include/config.php lưu và đóng file:
$database_type = 'mysql';
$database_default = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'StrongPassword';
$database_port = '3306';
Tạo file log:
touch /var/www/html/cacti/log/cacti.log
Đặt quyền sở hữu và quyền của thư mục cacti:
chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/
Thực hiện tạo một file Cacti cron:
vi /etc/cron.d/cacti
Tiến hành thêm dòng sau vào file:
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
Thiết lập Apache:
Tạo file cấu hình máy chủ Apache cho Cacti.
vi/etc/apache2/sites-available/cacti.conf
Thêm các dòng sau, lưu file:
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
Options +FollowSymLinks
AllowOverride None
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3>
Order Allow,Deny
Allow from all
</IfVersion>
AddType application/x-httpd-php .php
<IfModule mod_php.c>
php_flag magic_quotes_gpc Off
php_flag short_open_tag On
php_flag register_globals Off
php_flag register_argc_argv On
php_flag track_vars On
# this setting is necessary for some locales
php_value mbstring.func_overload 0
php_value include_path .
</IfModule>
DirectoryIndex index.php
</Directory>
a2ensite cacti
Khởi động lại dịch vụ Apache để áp dụng cấu hình.
systemctl restart apache2
Mở Cacti trong trình duyệt của chúng ta như sau: http://IP:cacti. Kết quả như sau:
Tiến hành đặt password admin:
Thực hiện các bước thiết lập lần lượt như hình bên dưới:
Chúng ta thu được kết quả như sau là hoàn tất quá trình setup:
Vậy là đã hoàn thành quá trình cài đặt Cacti trên VPS OS Ubuntu 20 LTS hoặc Server OS Ubuntu 20 LTS.
Chúc các bạn thành công!