Cài đặt Cacti trên Ubuntu

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.

Cacti là một công cụ mã nguồn mở, giám sát mạng và tạo biểu đồ được viết bằng php/mysql. Nó sử dụng RRDTool để lưu trữ dữ liệu, tạo đồ thị, và thu thập các dữ liệu định kì thông qua NET-SNMP.
Hoạt động của Cacti. Hoạt động của Cacti gồm 3 tác vụ :
  • 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
Nhập cơ sở dữ liệu vào cactidb:

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>
Bật file cấu hình Cacti:
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!

Rate This Article