Hướng dẫn cài đặt Zabbix 5.0 trên Ubuntu

Mở đầu

Như chia sẻ đến các bạn trong bài viết trước đó, Zabbix là một giải pháp giám sát hạ tầng (mã nguồn mở) cấp độ doanh nghiệp (high-level enterprise) cực kỳ mạnh mẽ và phổ biến. Chính vì vậy đội ngũ phát triển của Zabbix thường xuyên bổ xung thêm nhiều tính năng, template và hỗ trợ nhiều service mới trong các bản cập nhật để bắt kịp tốc độ “sinh sôi” SaaS của những “ông lớn” công nghệ.

Tuy nhiên, với một đòn đau từ Red Hat (ngưng hỗ trợ CentOS 7 đến hết 30/6/2024 và CentOS 8 đến hết năm 2021) nhằm mục đích ép một lượng lớn người dùng chuyển sang bản OS trên nền tảng cloud (bản quyền).

Rất may mắn là nhà Zabbix vẫn tiếp tục hỗ trợ “đứa con” của mình song hành cùng sự phát triển của Ubuntu. Do đó, trong nội dung bài viết này, mình sẽ hướng dẫn triển khai Zabbix 5.0 trên Ubuntu 20.04 để các bạn có phương án chuyển đổi cho hệ thống giám sát hiện tại.

Bước 1 – Cài đặt LEMP Stack (Nginx Web Server, PHP 7.4 , PHP-FPM và MariaDB)

1. Giao diện web của Zabbix Server 5.0 yêu cầu hoạt động trên nền Web Server (mình chọn Nginx), PHP, PHP-FPM và MySQL/MariaDB. Do đó, đầu tiên, bạn cần phải cài đặt Nginx, PHP 7.4, PHP7.4-FPM và MariaDB 10.x cho hệ thống. Chi tiết bạn có thể xem lại hướng dẫn cài đặt LEMP Stack trên Ubuntu của mình trước đó.

Bước 2 – Cài đặt Zabbix server, Zabbix PHP frontend và Zabbix Agent

2. Để cài đặt Zabbix server 5.0 và Zabbix PHP frontend và Zabbix Agent, bạn cần tải về và kích hoạt Zabbix repositories trên hệ thống bằng cách sử dụng lần lượt những lệnh bên dưới:

https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bfocal_all.deb
dpkg -i zabbix-release_5.0-1+focal_all.deb
apt update

3. Tiếp theo, bạn thực thi lệnh sau để cài đặt Zabbix server và Zabbix PHP frontend:

apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-agent

Sử dụng lần lượt các lệnh bên dưới để đảm bảo các package cần thiết đã được cài đặt thành công:

zabbix_server -v

ls -la /usr/share/zabbix/

Bước 3 – Tạo database lưu trữ dữ liệu Zabbix server

4. Bạn cần tạo một RDBMS database để lưu trữ dữ liệu của Zabbix. Truy cập vào MySQL/MariaDB. khởi tạo một Zabbix database và gán quyền quản lý database cho một user bằng cách thực thi lần lượt những lệnh sau:

# mysql -u root -p
MariaDB [(none)]> create database zabbixdb character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbixdb.* to 'zabbixuser'@'localhost' identified by 'your_password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

Bước 4 – Cấu hình Zabbix Server và Agent

5. Trước khi cấu hình server, đầu tiên, bạn phải import cấu trúc của Zabbix database (đã khởi tạo trước đó) vào MySQL/MariadDB bằng lệnh như sau:

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbixuser zabbixdb -p

6. Trong bước tiếp theo, bạn mở file cấu hình chính để thiết lập Zabbix server bằng lệnh:

# vi  /etc/zabbix/zabbix_server.conf

Tìm và điều chỉnh các giá trị kết nối database như DBHost, DBName, DBUser  DBPassword trong file zabbix_server.conf tương tự như hình ảnh bên dưới.

 

Lưu ý: thay đổi giá trị các biến phù hợp với thiết lập database bạn đã khởi tạo ở bước 3. 

7. Cuối cùng, khởi động lại Zabbix Server để các thiết lập mới được áp dụng.

# systemct restart zabbix-server

8. Phần kế tiếp, bạn mở file cấu hình chính của Zabbix agent bằng lệnh:

# vi  /etc/zabbix/zabbix_agentd.conf

Tìm và điều chỉnh các giá trị Server và ListenPort trong file zabbix_agentd.conf tương tự như hình ảnh bên dưới.

9. Bạn cần khởi động lại Zabbix Agent để các thiết lập mới thay đổi có tác dụng.

# systemctl restart zabbix-agent

Bước 5 – Cài đặt và cấu hình giao diện Web của Zabbix

Tới bước này, bạn đã có thể cài đặt giao diện web của Zabbix Server 5.0 để thuận tiện hơn trong quán trình giám sát hệ thống.

10. Đầu tiên, bạn cần tạo một virtual host để Nginx có thể hosting Zabbix với một domain. Tạo một file /etc/nginx/sites-available/zabbix.conf với nội dung sau:

server {
    listen       80;
    server_name  zabbix.domain.local;

    #charset koi8-r;
    access_log  /var/log/nginx/zabbix.domain.local.access.log;
    error_log  /var/log/nginx/zabbix.domain.local.error.log;

    location / {
        root   /usr/share/zabbix/;
        index  index.php index.html index.htm;
     # include the "?$args" part so non-default permalinks doesn't break when using query string
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        root   /usr/share/zabbix/;
        fastcgi_index  index.php;
        # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        include        fastcgi_params;
    }
}

11. Kế đến, tạo một symbolic link từ /etc/nginx/sites-available/zabbix.conf tới /etc/nginx/sites-enable/zabbix.conf

ln -s /etc/nginx/sites-available/zabbix.conf /etc/nginx/sites-enabled/

12. Khởi động lại Nginx

systemctl restart nginx

13. Mở trình duyệt web và truy cập đường dẫn http://<ten-mien-cua-ban> để bắt đầu cài đặt Zabbix Server Frontend (với <ten-mien-cua-ban> là tên miền bạn đặt cho Zabbix Web UI).

Trong giao diện đầu tiên, bạn nhấn Next để chuyển sang bước kế tiếp.

14. Sau khi hệ thống nhận diện và xác nhận tất cả các giá trị PHP đã đủ điều kiện cài đặt, nhấn Next để đi tiếp.

15. Trên màn hình “Configure DB connection“, bạn điền chính xác các giá trị để kết nối đến Zabbix database và nhấn Next.

16. Tại giao diện “Zabbix server details“, bạn khai báo các trường thông tin sau:

  • Hostlocalhost hoặc IP của Zabbix server
  • Port: 10051
  • Name: Tên hiển thị trên giao diện web của Zabbix Server

Nhấn Next để di chuyển sang mục tiếp theo.

17. Đến bước này, bạn cần kiểm tra kỹ lại bản tóm tắt các thông số đã thiết lập trước khi nhấn “Next step” để hệ thống bắt đầu quá trình cài đặt.

18. Sau khi tiến trình cài đặt hoàn thành, bạn chọn vào “Finish” để thoát trình cài đặt Zabbix frontend.

19. Sau cùng, để đăng nhập vào giao diện web quản trị của Zabbix Server, bạn mở trình duyệt và truy cập đường dẫn sau (với IP-server là địa chỉ IP máy chủ Zabbix của bạn):

http://ten-mien-cua-ban
Username: Admin
Password: zabbix

19. Sau khi đăng nhập thành công, trình duyệt sẽ chuyển đển giao diện chính của Zabbix Frontend như hình bên dưới:

Lời kết

Như vậy là mình đã hoàn thành bài viết chi tiết các bước để cài đặt Zabbix Server 5.0 trên nền tảng Ubuntu 20.04. Nếu có bất kỳ thắc mắc hoặc góp ý về nội dung bài viết, các bạn có thể để lại phản hồi ngay bên dưới.

Trong bài viết sau cùng chủ để Zabbix, mình sẽ tiếp tục hướng dẫn cách thức giám sát những service quan trọng trong hệ thống. Các bạn nhớ theo dõi nhé!

 

Giới thiệu Hiệp Phạm 113 bài viết
Hiệp hiện đang là thành viên nhóm tác giả của HIEPSHARING.COM. Thích tìm hiểu, nghiên cứu Ethical Hacking, SysAdmin, DevOps và những công nghệ mới. Phương châm sống của mình: "Chỉ cần bản thân không bỏ cuộc, chậm chút cũng không sao."

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*