Cách cài đặt công cụ giám sát Zabbix trên CentOS 8

theanh

Administrator
Nhân viên
Zabbix là một công cụ giám sát mã nguồn mở dành cho các dịch vụ mạng, phần cứng mạng, máy chủ và ứng dụng. Được thiết kế để theo dõi và giám sát trạng thái của hệ thống và máy chủ của bạn. Zabbix cung cấp hỗ trợ cho nhiều hệ thống cơ sở dữ liệu - bao gồm MySQL, PostgreSQL, SQLite và IBM DB2 - để lưu trữ dữ liệu. Phần phụ trợ của Zabbix được viết bằng C và phần giao diện được viết bằng PHP.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách cài đặt và cấu hình hệ thống giám sát mã nguồn mở Zabbix 4.0 LTS trên hệ thống CentOS 8. Hướng dẫn này sẽ đề cập đến một số chủ đề, bao gồm cài đặt và cấu hình LAMP Stack cho cài đặt Zabbix của chúng tôi và cách thay đổi mật khẩu mặc định cho giao diện người dùng web quản trị Zabbix.

Điều kiện tiên quyết
  • Máy chủ CentOS 8
  • Quyền root
  • Kiến thức cơ bản về các lệnh Linux CentOS
Những gì chúng ta sẽ làm:
  • Cài đặt Apache Httpd
  • Cài đặt và cấu hình PHP
  • Cài đặt và cấu hình MariaDB
  • Cài đặt và cấu hình Zabbix 4.0 LTS
  • Cấu hình Firewalld
  • Cấu hình SELinux
  • Zabbix sau khi cài đặt
  • Thay đổi quản trị viên mặc định của Zabbix

Bước 1 - Cài đặt Apache Httpd​

Đối với hướng dẫn này, chúng ta sẽ sử dụng Apache/httpd cho máy chủ web của chúng tôi. Máy chủ Zabbix sẽ chạy dưới máy chủ web Apache.

Bạn có thể cài đặt gói Apache/httpd bằng lệnh dnf bên dưới.
Mã:
dnf install httpd
Sau khi cài đặt hoàn tất, hãy thêm dịch vụ httpd vào hệ thống khởi động và khởi động dịch vụ bằng các lệnh sau.
Mã:
systemctl enable httpd
systemctl start httpd
Bây giờ hãy kiểm tra dịch vụ httpd bằng lệnh netstat bên dưới và đảm bảo cổng HTTP '80' ở trạng thái 'LISTEN'.
Mã:
netstat -plntu
Dưới đây là kết quả.



Kết quả là dịch vụ httpd đã hoạt động trên cổng HTTP mặc định '80' trên máy chủ CentOS 8.

Bước 2 - Cài đặt PHP​

Sau khi cài đặt máy chủ web Apache/httpd, chúng ta sẽ cài đặt các gói PHP và các tiện ích mở rộng cần thiết cho quá trình cài đặt Zabbix. Chúng ta sẽ cài đặt và cấu hình PHP theo yêu cầu cài đặt Zabbix.

Cài đặt các gói PHP bằng lệnh dnf bên dưới.
Mã:
dnf install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath
Sau khi cài đặt hoàn tất, hãy cấu hình cấu hình PHP '/etc/php.ini' bằng trình soạn thảo vim.
Mã:
vim /etc/php.ini
Thay đổi các giá trị của cấu hình như hiển thị bên dưới.
Mã:
date.timezone = Asia/Jakarta
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
Lưu và đóng.

Bây giờ hãy khởi động lại dịch vụ Apache/httpd.
Mã:
systemctl restart httpd
Và quá trình cài đặt và cấu hình PHP trên máy chủ CentOS 8 đã hoàn tất.


Bước 3 - Cài đặt và cấu hình MariaDB​

Theo mặc định, Zabbix cung cấp hỗ trợ cho nhiều cơ sở dữ liệu để cài đặt, bao gồm MySQL, PostgreSQL, SQLite và cơ sở dữ liệu Oracle. Đối với hướng dẫn này, chúng ta sẽ sử dụng MariaDB làm cơ sở dữ liệu cho cài đặt Zabbix của mình.

Cài đặt mariadb-server bằng lệnh dnf bên dưới.
Mã:
dnf install mariadb-server
Sau khi cài đặt hoàn tất, hãy thêm dịch vụ MariaDB vào hệ thống khởi động và khởi động dịch vụ bằng lệnh sau.
Mã:
systemctl enable mariadb
systemctl start mariadb
Máy chủ MariaDB đã hoạt động.

Tiếp theo, chúng ta sẽ cấu hình mật khẩu gốc MariaDB. Chạy lệnh 'mysql_secure_installation' bên dưới để cấu hình mật khẩu gốc.
Mã:
mysql_secure_installation
Nhập mật khẩu gốc của bạn và nhấn Enter.
Mã:
Đặt mật khẩu gốc? [Y/n] Y
Không cho phép đăng nhập gốc từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Và mật khẩu gốc MariaDB đã được cấu hình.



Tiếp theo, chúng ta sẽ tạo một cơ sở dữ liệu và người dùng mới cho cài đặt Zabbix. Chúng ta sẽ tạo một cơ sở dữ liệu và người dùng mới có tên là 'zabbix' với mật khẩu 'hakase-labs@'.

Đăng nhập vào shell MariaDB/mysql bằng lệnh mysql bên dưới.
Mã:
mysql -u root -p
NHẬP MẬT KHẨU GỐC CỦA BẠN:
Và chạy các truy vấn MariaDB sau đây trên shell.
Mã:
tạo cơ sở dữ liệu zabbix; 
cấp tất cả các đặc quyền trên zabbix.* cho zabbix@'localhost' được xác định bởi 'hakase-labs@'; 
cấp tất cả các đặc quyền trên zabbix.* cho zabbix@'%' được xác định bởi 'hakase-labs@'; 
xóa các đặc quyền;
Và kết quả là cơ sở dữ liệu và người dùng mới để cài đặt Zabbix đã được tạo.


Bước 4 - Cài đặt và cấu hình Zabbix 4.0 LTS​

Trong bước này, chúng ta sẽ cài đặt Zabbix 4.0 LTS. Chúng tôi sẽ cài đặt phiên bản Zabbix LTS từ kho lưu trữ Zabbix chính thức.

- Thêm kho lưu trữ và cài đặt các gói​

Trước tiên, chúng ta cần thêm kho lưu trữ Zabbix 4.0 LTS vào hệ thống bằng lệnh rpm bên dưới.
Mã:
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
Sau đó, xóa bộ đệm gói hệ thống và kiểm tra tất cả kho lưu trữ có sẵn trên hệ thống.
Mã:
dnf clean all
dnf repolist
Bây giờ bạn sẽ nhận được kết quả như bên dưới.



Kết quả là kho lưu trữ Zabbix đã được thêm vào hệ thống CentOS 8.

Bây giờ hãy chạy Lệnh dnf bên dưới để cài đặt Zabbix Server và Agent.
Mã:
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Chờ quá trình cài đặt Zabbix hoàn tất.

Hình ảnh

- Nhập lược đồ cơ sở dữ liệu MySQL​

Sau khi quá trình cài đặt Zabbix hoàn tất, chúng ta sẽ nhập lược đồ cơ sở dữ liệu MariaDB cho Zabbix.

Đi tới thư mục '/usr/share/doc/zabbix-server-mysql' và giải nén lược đồ cơ sở dữ liệu.
Mã:
cd /usr/share/doc/zabbix-server-mysql
gunzip create.sql.gz
Bây giờ hãy nhập lược đồ cơ sở dữ liệu vào cơ sở dữ liệu 'zabbix' của chúng ta bằng lệnh MySQL bên dưới.
Mã:
mysql -u root -p zabbix < create.sql
Nhập mật khẩu gốc MariaDB của bạn và lược đồ cơ sở dữ liệu đã được nhập.


- Cấu hình Zabbix Server và Zabbix Agent​

Zabbix-server là quy trình trung tâm của hệ thống phần mềm Zabbix. Chúng ta sẽ cấu hình Zabbix-server bằng cách chỉnh sửa cấu hình '/etc/zabbix/zabbix_server.conf'.

Chỉnh sửa tệp cấu hình '/etc/zabbix/zabbix_server.conf' bằng trình soạn thảo vim.
Mã:
vim /etc/zabbix/zabbix_server.conf
Trên dòng cấu hình cơ sở dữ liệu, nhập cấu hình như bên dưới và thay đổi giá trị 'DBPassword' bằng mật khẩu cơ sở dữ liệu của riêng bạn.
Mã:
DBHost=localhost
DBPassword=hakase-labs@
Lưu và đóng.

Sau đó, thêm zabbix-server vào hệ thống khởi động.
Mã:
systemctl enable zabbix-server
Và cấu hình zabbix-server đã hoàn tất.

Tiếp theo, chúng tôi sẽ giới thiệu cho bạn cấu hình zabbix-agent. Zabbix-agent phải được cài đặt trên tất cả các máy sẽ được giám sát.

Chỉnh sửa cấu hình zabbix-agent '/etc/zabbix/zabbix_agentd.conf' bằng trình soạn thảo vim.
Mã:
vim /etc/zabbix/zabbix_agentd.conf
Bây giờ hãy thay đổi giá trị 'Server' và 'ServerActive' bằng địa chỉ IP của zabbix-server như bên dưới.
Mã:
Server=10.5.5.50
ServerActive=10.5.5.50
Lưu và đóng.

Bây giờ hãy thêm dịch vụ zabbix-agent vào hệ thống khởi động.
Mã:
systemctl enable zabbix-agent
Và cấu hình zabbix-agent đã hoàn tất.


Bước 5 - Cấu hình Firewalld​

Đối với cấu hình firewalld, chúng ta sẽ thêm các dịch vụ mới bao gồm HTTP, HTTPS và cổng được máy chủ và tác nhân Zabbix sử dụng.

Thêm các cổng HTTP, HTTP và Zabbix '10050-10051' vào firewalld bằng các lệnh sau.
Mã:
firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
Sau đó, tải lại firewalld và kiểm tra tất cả các dịch vụ và cổng khả dụng trên đó.
Mã:
firewall-cmd --reload
firewall-cmd --list-all
Và bạn sẽ thấy kết quả như bên dưới.



Kết quả là, các Cổng HTTP, HTTPS và Zabbix '10050-10051' đã được thêm vào tường lửa.

Bước 6 - Cấu hình SELinux​

Nếu bạn đang chạy Zabbix trên CentOS 8 với SELinux được bật, thì bạn phải thực hiện tất cả các lệnh trong phần này.

Cài đặt các tiện ích SELinux bằng lệnh dnf bên dưới.
Mã:
dnf install policycoreutils checkpolicy setroubleshoot-server
Sau khi cài đặt hoàn tất, hãy tạo một thư mục mới '~/zabbix-linux' và vào đó.
Mã:
mkdir -p ~/zabbix-selinux
cd ~/zabbix-selinux/
Bây giờ hãy tạo một tệp mô-đun chính sách SELinux mới 'zabbix_server_add.te' bằng trình soạn thảo vim.
Mã:
vim zabbix_server_add.te
Dán cấu hình sau.
Mã:
module zabbix_server_add 1.1;

require {
 type zabbix_var_run_t;
 type tmp_t;
 type zabbix_t;
 class sock_file { create unlink write };
 class unix_stream_socket connectto;
 class process setrlimit;
 class capabilities dac_override;
}

#============= zabbix_t ===============

#!!!! Avc này được phép trong chính sách hiện tại
allow zabbix_t self:process setrlimit;

#!!!! Avc này được phép trong chính sách hiện tại
allow zabbix_t self:unix_stream_socket connectto;

#!!!! Avc này được phép trong chính sách hiện tại
allow zabbix_t tmp_t:sock_file { create unlink write };

#!!!! Avc này được phép trong chính sách hiện tại
allow zabbix_t zabbix_var_run_t:sock_file { create unlink write };

#!!!! Avc này được phép trong chính sách hiện tại
allow zabbix_t self:capability dac_override;
Lưu và đóng.

Bây giờ hãy chuyển đổi 'zabbix_server_add.te' thành mô-đun chính sách bằng lệnh checkmodule bên dưới.
Mã:
checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
Bây giờ hãy biên dịch mô-đun chính sách 'zabbix_server_add.mod' bằng lệnh semodule_package.
Mã:
semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
Sau đó, hãy tải mô-đun chính sách đã biên dịch 'zabbix_server_add.pp' vào hệ thống.
Mã:
semodule -i zabbix_server_add.pp
Mô-đun chính sách tùy chỉnh cục bộ cho Zabbix đã được đã tải.



Tiếp theo, để cấu hình SELinux bổ sung. Chạy lệnh setsbool bên dưới.
Mã:
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_connect_zabbix 1
setsebool zabbix_can_network on
Và cấu hình SELinux cho Zabbix đã hoàn tất.

Bước 7 - Thiết lập ban đầu cho Zabbix​

Trước tiên, hãy khởi động zabbix-server bằng các lệnh sau.
Mã:
systemctl start zabbix-server
systemctl status zabbix-server
Bây giờ hãy khởi động dịch vụ zabbix-agent.
Mã:
systemctl start zabbix-agent
systemctl status zabbix-agent
Sau đó khởi động lại dịch vụ httpd.
Mã:
systemctl restart httpd
Tiếp theo, mở trình duyệt web của bạn và nhập địa chỉ IP của máy chủ như sau.


Và bạn sẽ nhận được tin nhắn chào mừng từ Zabbix.



Nhấp vào nút 'Bước tiếp theo'.

Bây giờ, Zabbix sẽ kiểm tra tất cả các yêu cầu hệ thống để cài đặt. Đảm bảo không có lỗi nào.



Nhấp vào nút 'Bước tiếp theo'.

Đối với thông tin cơ sở dữ liệu, hãy nhập tất cả các thiết lập cơ sở dữ liệu của bạn.



Và nhấp vào nút 'Bước tiếp theo'.

Bây giờ đến phần cấu hình chi tiết máy chủ Zabbix. Trên trường 'Host', nhập địa chỉ IP máy chủ của riêng bạn và thay đổi tên bằng tên miền hoặc tên máy chủ của riêng bạn.



Nhấp vào nút 'Bước tiếp theo' một lần nữa.

Đảm bảo tất cả các cấu hình đó là chính xác, sau đó nhấp vào "Nút tiếp theo" để cài đặt Zabbix.



Và khi quá trình cài đặt hoàn tất, bạn sẽ nhận được trang như hiển thị bên dưới.



Nhấp vào nút 'Hoàn tất' và bạn sẽ được chuyển hướng đến trang đăng nhập Zabbix.

Đăng nhập bằng người dùng mặc định 'admin' và mật khẩu 'zabbix'.



Và bạn sẽ nhận được bảng điều khiển Zabbix mặc định.



Và quá trình cài đặt Zabbix đã hoàn tất.

Bước 8 - Thay đổi mật khẩu quản trị viên mặc định​

Đối với bước cuối cùng này, chúng ta sẽ thay đổi mật khẩu quản trị viên mặc định cho zabbix.

Trên bảng điều khiển quản trị Zabbix, nhấp vào biểu tượng người dùng ở góc trên bên phải.



Nhấp vào nút 'Đổi mật khẩu' và nhập mật khẩu mới của bạn.



Bây giờ hãy nhấp vào nút 'cập nhật' và mật khẩu quản trị mặc định đã được thay đổi.

Và quá trình Cài đặt và Cấu hình Zabbix trên hệ thống CentOS 8 đã hoàn tất thành công.

Tham khảo​

 
Back
Bên trên