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

Tác giả Security+, T.Hai 28, 2024, 01:18:42 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

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


Zabbix là một phần mềm giám sát nguồn mở dành cho các công ty. Nó không chỉ giới hạn ở việc giám sát máy chủ mà còn có thể giám sát các thiết bị mạng, dịch vụ đám mây, máy ảo và bộ chứa, cơ sở dữ liệu và ứng dụng, cảm biến IoT, v.v. Công cụ giám sát nguồn mở Zabbix được xây dựng dựa trên bảo mật: Giao tiếp giữa các thành phần Zabbix được mã hóa bởi mặc định. Zabbix là nguồn mở 100% và có thể được sử dụng cả tại chỗ và trên đám mây. Nó cũng hỗ trợ giám sát phân tán và tính sẵn sàng cao.

Nhờ sự hỗ trợ rộng rãi từ các nhà cung cấp phần mềm và phần cứng, Zabbix có thể được tích hợp vào nhiều ứng dụng và dịch vụ. Ví dụ: việc tích hợp Zabbix với các dịch vụ đám mây như Google Cloud và Amazon Web Services hoặc tích hợp Zabbix với Prometheus và Grafana, v.v.

Thành phần chính của Zabbix (máy chủ và tác nhân) được viết bằng C, giao diện người dùng bằng PHP. Bạn có thể cài đặt Zabbix với các chương trình phụ trợ cơ sở dữ liệu khác nhau, bao gồm MySQL, PostgreSQL, TimescaleDB, Oracle và SQLite. Zabbix là một công cụ giám sát miễn phí được phát hành theo giấy phép GNU GPL v2.

Trong hướng dẫn này, bạn sẽ thiết lập Giải pháp giám sát doanh nghiệp Zabbix trên Máy chủ Rocky Linux. Bạn sẽ cài đặt Zabbix với PostgreSQL làm phụ trợ cơ sở dữ liệu và máy chủ web Apache2/httpd. Điều này sẽ cho phép bạn giám sát cơ sở hạ tầng máy chủ của mình bằng giải pháp miễn phí và cấp doanh nghiệp. Bạn có thể giám sát các máy ảo, Linux, Windows, các ứng dụng và dịch vụ, đám mây và cả các thiết bị mạng.

1. Điều kiện tiên quyết

Bạn sẽ cần các yêu cầu cơ sở hạ tầng sau cho hướng dẫn này:

  • Máy chủ Rocky Linux mới - Máy chủ này sẽ được sử dụng làm máy chủ Zabbix mà bạn cài đặt Giải pháp giám sát Zabbix trên đó.
  • Máy chủ Linux - Điều này sẽ được sử dụng làm ví dụ để giám sát máy chủ/máy Linux bằng Zabbix.
  • Bạn cũng sẽ cần quyền quản trị sudo trên tất cả các máy chủ này. Bạn có thể sử dụng người dùng "root" trực tiếp hoặc người dùng không phải root có thể chạy lệnh "sudo".

2. Cài đặt gói Zabbix

Trong bước đầu tiên này, bạn sẽ thiết lập kho lưu trữ Zabbix cho hệ thống Rocky Linux và cài đặt một số gói cơ bản của công cụ giám sát Zabbix. Kho lưu trữ Zabbix chính thức cung cấp kho lưu trữ cho một số bản phân phối Linux, bao gồm Rocky Linux, bản phân phối dựa trên CentOS/RHEL. Bạn cũng kích hoạt một số kho gói bổ sung như PHP 7.4 và cơ sở dữ liệu PostgreSQL.

Chạy lệnh sau để thêm kho lưu trữ Zabbix vào hệ thống Rocky Linux của bạn. Tại thời điểm viết bài, chúng tôi đang cài đặt phiên bản Zabbix 6.2 mới nhất. Bạn cũng có thể tải xuống phiên bản Zabbix khác từ trang tải xuống Zabbix chính thức.

Mã nguồn [Chọn]
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/8/x86_64/zabbix-release-6.2-1.el8.noarch.rpm
Tiếp theo, chạy lệnh dnf sau để kiểm tra và xác minh danh sách kho lưu trữ trên hệ thống Rocky Linux. Sau đó tạo bộ đệm siêu dữ liệu kho lưu trữ mới.

Bạn sẽ thấy kho Zabbix đã được thêm vào hệ thống Rocky Linux.

Mã nguồn [Chọn]
sudo dnf repolist
sudo dnf makecache


Zabbix yêu cầu các gói PHP được sử dụng cho giao diện người dùng Zabbix (bảng điều khiển người dùng). Tại thời điểm viết bài, PHP v8.0 chưa được hỗ trợ. Vì vậy, bạn cần thiết lập mô-đun kho lưu trữ PHP v7.4.

Thực hiện lệnh dnf sau để kích hoạt mô-đun kho lưu trữ PHP cho PHP v7.4. Nhập y khi được nhắc định cấu hình.

Mã nguồn [Chọn]
sudo dnf module enable php:7.4

Bây giờ hãy cài đặt Zabbix với một số gói phụ thuộc cho Ngăn xếp giám sát Zabbix bằng lệnh dnf sau. Nhập Y để xác nhận cài đặt và nhấn ENTER. Quá trình cài đặt Zabbix sẽ bắt đầu.

Mã nguồn [Chọn]
sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

3. Cài đặt máy chủ PostgreSQL

Zabbix hỗ trợ RDBMS như MariaDB/MySQL và PostgreSQL cho phần phụ trợ cơ sở dữ liệu. Trong ví dụ này, chúng tôi sẽ cài đặt Zabbix với PostgreSQL làm phần phụ trợ cơ sở dữ liệu. Vì vậy, bạn cài đặt máy chủ PostgreSQL và thiết lập cơ sở dữ liệu và người dùng cho Zabbix.

Phiên bản mới nhất của Zabbix yêu cầu ít nhất PostgreSQL v13. Thực hiện lệnh dnf sau để kích hoạt mô-đun kho lưu trữ PostgreSQL cho v13.

Nhập y để xác nhận và kích hoạt mô-đun kho lưu trữ "postgresql:13 ".

Mã nguồn [Chọn]
sudo dnf module enable postgresql:13

Cài đặt máy chủ PostgreSQL bằng lệnh sau. Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục.

Mã nguồn [Chọn]
sudo dnf install postgresql-server postgresql-contrib

Máy chủ PostgreSQL bây giờ sẽ được cài đặt trên máy tính của bạn. Bây giờ hãy thực hiện lệnh sau để khởi tạo cấu hình của máy chủ PostgreSQL.

Mã nguồn [Chọn]
sudo postgresql-setup --initdb
Bắt đầu và sau đó kích hoạt dịch vụ PostgreSQL bằng lệnh sau. Sau đó kiểm tra và xác minh dịch vụ PostgreSQL.


Bây giờ bạn sẽ thấy PostgreSQL đã được "kích hoạt " và được thực thi tự động khi hệ thống khởi động. Trạng thái hiện tại là "đang chạy".

Mã nguồn [Chọn]
sudo systemctl enable --now postgresql
sudo systemctl status postgresql


Để thiết lập PostgreSQL làm phụ trợ cơ sở dữ liệu cho Zabbix, bạn cần thiết lập xác thực chính xác cho người dùng cơ sở dữ liệu PostgreSQL. Bạn có thể thực hiện việc này bằng cách chỉnh sửa cấu hình PostgreSQL.

Chỉnh sửa tệp "/var/lib/pgsql/data/postgresql.conf " bằng lệnh sau.

Mã nguồn [Chọn]
sudo nano /var/lib/pgsql/data/postgresql.conf
Xóa ký tự nhận xét khỏi tùy chọn "password_encryption " và thay đổi giá trị thành "scram-sha-256 ". Tùy chọn này kích hoạt mã hóa mật khẩu cho tất cả người dùng PostgreSQL.

Mã nguồn [Chọn]
password_encryption = scram-sha-256
Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, chỉnh sửa cấu hình "/var/lib/pgsql/data/pg_hba.conf " bằng lệnh bên dưới. Sau đó kích hoạt phương thức xác thực cho người dùng PostgreSQL.

sudo nano /var/lib/pgsql/data/pg_hba.conf

Thay đổi xác thực cục bộ cho các kết nối cục bộ thành phương thức "scram-sha-256".

Mã nguồn [Chọn]
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

Lưu và đóng tập tin khi bạn hoàn tất.

Khởi động lại dịch vụ PostgreSQL để triển khai và áp dụng các thay đổi.

Mã nguồn [Chọn]
sudo systemctl restart postgresql
Bạn đã hoàn tất việc định cấu hình các phương thức xác thực máy chủ PostgreSQL bằng "scram-sha-256 ". Bây giờ bạn sẽ tạo người dùng PostgreSQL mới và cơ sở dữ liệu cho Zabbix.

Thực hiện lệnh sau để tạo người dùng PostgreSQL mới. Sau đây bạn sẽ được yêu cầu một số cấu hình:

  • Nhập tên của vai trò hoặc người dùng mới là "zabbix".
  • Nhập "n" để tắt siêu người dùng cho người dùng "zabbix" này.
  • Nhập "y" để cho phép người dùng này tạo cơ sở dữ liệu.
  • Nhập lại "n" để tắt đặc quyền tạo vai trò mới.

Mã nguồn [Chọn]
sudo -u postgres createuser --interactive
Tiếp theo, chạy lệnh sau để đăng nhập vào PostgreSQL shell với tư cách người dùng "zabbix" và kết nối với cơ sở dữ liệu mặc định "postgres".

Mã nguồn [Chọn]
sudo -u zabbix psql -U zabbix -d postgres
Thực hiện lệnh sau trong shell PostgreSQL để tạo cơ sở dữ liệu mới có tên "zabbix". Sau đó đặt mật khẩu cho người dùng "zabbix ". Trong ví dụ này, chúng tôi sử dụng mật khẩu "zabbixRocks ".

Mã nguồn [Chọn]
CREATE DATABASE zabbix;
ALTER USER zabbix WITH ENCRYPTED PASSWORD 'zabbixRocks';

Nhấn "Ctrl+d " hoặc chỉ cần nhập "\q " để thoát khỏi trình bao PostgreSQL và rời đi.


Bây giờ hãy chạy lệnh sau để đảm bảo rằng người dùng PostgreSQL mới "zabbix " có thể kết nối với cơ sở dữ liệu PostgreSQL "zabbix". Bạn sẽ được yêu cầu nhập mật khẩu cho "zabbix ", hãy nhập mật khẩu "zabbixRocks ".

Mã nguồn [Chọn]
sudo -u zabbix psql -U zabbix -d zabbix -h localhost
Nếu bạn đã đăng nhập vào shell PostgreSQL của cơ sở dữ liệu " zabbix ", hãy chạy lệnh sau để kiểm tra chi tiết kết nối của phiên hiện tại.

Bạn sẽ thấy rằng bạn được kết nối qua "zabbix " PostgreSQL với máy chủ PostgreSQL "localhost " và cơ sở dữ liệu "zabbix ".

Mã nguồn [Chọn]
\conninfo

4. Thiết lập Zabbix với cơ sở dữ liệu PostgreSQL

Sau khi bạn đã cài đặt máy chủ PostgreSQL và thiết lập cơ sở dữ liệu và người dùng mới. Bây giờ hãy thiết lập Zabbix với PostgreSQL làm phần phụ trợ cơ sở dữ liệu.

Thực hiện lệnh sau để nhập lược đồ cơ sở dữ liệu Zabbix vào cơ sở dữ liệu PostgreSQL "zabbix ".

Mã nguồn [Chọn]
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Tiếp theo, chỉnh sửa cấu hình máy chủ Zabbix "/etc/zabbix/zabbix_server.conf " bằng lệnh sau.

Mã nguồn [Chọn]
sudo nano /etc/zabbix/zabbix_server.conf
Xóa nhận xét trong dòng "DBPassword " và nhập mật khẩu cơ sở dữ liệu "zabbix" "zabbixRocks ".

Mã nguồn [Chọn]
DBPassword=zabbixRocks
Lưu và đóng tập tin khi bạn hoàn tất.

Trước khi khởi động lại dịch vụ Zabbix, bạn cần thiết lập cấu hình SELinux và các quy tắc tường lửa nâng cao.

Chạy lệnh sau để thiết lập SELinux cho Zabbix. Cấu hình này cho phép giao tiếp giữa giao diện người dùng Zabbix và máy chủ.

Mã nguồn [Chọn]
sudo setsebool -P httpd_can_connect_zabbix on
sudo setsebool -P httpd_can_network_connect_db on

Bây giờ thực hiện lệnh sau để thêm quy tắc tường lửa cho Zabbix. Dịch vụ HTTP dùng để truy cập giao diện người dùng Zabbix và cổng "10050/tcp" được tác nhân Zabbix sử dụng.

Mã nguồn [Chọn]
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload

Cuối cùng, thực hiện lệnh sau để khởi động và kích hoạt dịch vụ ngăn xếp Zabbix. Chúng bao gồm các dịch vụ zabbix-server, zabbix-agent, httpd, php-fpm và PostgreSQL.

Mã nguồn [Chọn]
sudo systemctl start zabbix-server zabbix-agent httpd php-fpm postgresql
sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm postgresql

5. Cài đặt giao diện web Zabbix

Mở trình duyệt web của bạn và gọi địa chỉ IP của máy chủ Zabbix theo sau là URL đường dẫn "/zabbix" (tức là:   Đăng nhập để xem liên kết). Bạn sẽ thấy trang chào mừng của công cụ giám sát Zabbix.

Chọn ngôn ngữ mặc định cho cài đặt Zabbix của bạn và nhấp vào "Bước tiếp theo ".


Bây giờ trình cài đặt web Zabbix sẽ thực hiện kiểm tra hệ thống để cài đặt Zabbix. Đảm bảo rằng trạng thái là "OK " và sau đó nhấp vào " Bước tiếp theo" để tiếp tục.


Đối với cấu hình cơ sở dữ liệu, chọn "PostgreSQL " làm loại cơ sở dữ liệu. Sau đó nhập tên cơ sở dữ liệu, người dùng cơ sở dữ liệu và mật khẩu. Bấm vào "Bước tiếp theo " để tiếp tục.

Nếu cấu hình cơ sở dữ liệu của bạn đúng, bạn sẽ thấy một trang mới. Tuy nhiên, nếu xảy ra lỗi, bạn nên kiểm tra chi tiết cơ sở dữ liệu của mình và kiểm tra tệp nhật ký Zabbix trong "/var/log/zabbix ". Ngoài ra, bạn cũng có thể kiểm tra nhật ký "auditd " nếu xảy ra lỗi liên quan đến SELinux.


Để định cấu hình giao diện web Zabbix, hãy nhập máy chủ Zabbix và chọn múi giờ. Sau đó bấm vào "Bước tiếp theo " một lần nữa.


Kiểm tra lại cấu hình cài đặt Zabbix của bạn. Khi bạn hoàn tất, hãy nhấp vào " Bước tiếp theo " để bắt đầu cài đặt giao diện web Zabbix.


Khi quá trình cài đặt Zabbix hoàn tất, bạn sẽ thấy thông báo như "Xin chúc mừng! Bạn đã cài đặt thành công giao diện Zabbix " trên màn hình của mình. Sau đó click vào "Finish " để hoàn tất quá trình cài đặt giao diện web.


Bây giờ bạn sẽ được chuyển hướng đến màn hình đăng nhập Zabbix. Nhập người dùng mặc định Zabbix "Quản trị viên " và mật khẩu "zabbix ". Sau đó nhấp vào "Đăng nhập " để đăng nhập vào bảng điều khiển quản trị Zabbix.


Bạn sẽ thấy bảng điều khiển quản trị Zabbix mặc định như trong ảnh chụp màn hình bên dưới.


Bạn đã hoàn tất việc cài đặt giao diện web Zabbix.

6. Thêm máy chủ Linux thông qua tác nhân Zabbix

Có một số phương pháp để thêm và giám sát máy chủ trong Zabbix. Bạn có thể giám sát máy chủ trên Zabbix thông qua Zabbix Agent, giao thức SNMP, IPMI và JMX. Trong ví dụ này, bạn sẽ giám sát máy chủ Linux thông qua tác nhân Zabbix.

Để cài đặt tác nhân Zabbix, bạn cần thêm kho lưu trữ Zabbix vào máy chủ Linux của mình.

Đối với bản phân phối Debian, hãy thêm kho lưu trữ Zabbix bằng lệnh bên dưới.

Mã nguồn [Chọn]
wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1+debian11_all.deb
sudo dpkg -i zabbix-release_6.2-1+debian11_all.deb
sudo apt update

Lệnh sau áp dụng nếu bạn muốn giám sát máy chủ Ubuntu Linux.

Mã nguồn [Chọn]
wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.2-1+ubuntu22.04_all.deb
sudo apt update

Đối với các bản phân phối dựa trên RHEL/CentOS, hãy thêm kho lưu trữ Zabbix bằng lệnh bên dưới.

Mã nguồn [Chọn]
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/8/x86_64/zabbix-release-6.2-1.el8.noarch.rpm
sudo dnf repolist
sudo dnf makecache

Cài đặt gói "zabbix-agent " bằng lệnh bên dưới. Sử dụng lệnh apt cho các hệ thống dựa trên Debian/Ubuntu hoặc lệnh dnf cho các bản phân phối dựa trên RHEL/CentOS.

Mã nguồn [Chọn]
sudo apt install zabbix-agent
Hoặc

Mã nguồn [Chọn]
sudo dnf install zabbix-agent
Khi quá trình cài đặt hoàn tất, hãy chỉnh sửa tệp cấu hình tác nhân Zabbix "/etc/zabbix/zabbix_agentd.conf " bằng lệnh bên dưới.

Mã nguồn [Chọn]
sudo nano /etc/zabbix/zabbix_agentd.conf
Bỏ ghi chú tùy chọn " Server " và "ServerActive " và nhập địa chỉ IP của máy chủ Zabbix.

Mã nguồn [Chọn]
Server=IP-ADDRESS-of-ZABBIX-SERVER
ServerActive=IP-ADDRESS-of-ZABBIX-SERVER

Thay đổi cấu hình "Tên máy chủ" cho máy chủ Linux của bạn và thay đổi "HostnameItem " thành "system.hostname ". Trong ví dụ này, máy chủ Linux sẽ sử dụng tên máy chủ "linux-host1 ".

Mã nguồn [Chọn]
Hostname=linux-host1
HostnameItem=system.hostname

Lưu và đóng tập tin khi bạn hoàn tất.

Bây giờ hãy khởi động dịch vụ "zabbix-agent " bằng lệnh systemctl sau.

Mã nguồn [Chọn]
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Bạn cũng phải mở cổng tác nhân Zabbix "10050/tcp" trên máy tính mục tiêu Linux. Đối với hệ thống Ubuntu/Debian, bạn có thể sử dụng lệnh ufw, đối với các bản phân phối dựa trên RHEL/CentOS, lệnh "firewall-cmd".

Mã nguồn [Chọn]
sudo ufw allow 10050/tcp
sudo ufw status

Hoặc

Mã nguồn [Chọn]
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload

Chuyển đến Bảng điều khiển quản trị Zabbix. Nhấp vào "Giám sát"> "Máy chủ"> "Tạo máy chủ ".


Nhập chi tiết cấu hình máy chủ như được mô tả bên dưới:

  • Tên máy chủ: Chúng tôi sử dụng tên máy chủ hệ thống linux-host1.
  • Mẫu: Chúng tôi sử dụng mẫu "Linux của Zabbix Agent".
  • Nhóm máy chủ: Phần này sẽ được gọi là "Máy chủ Linux".
  • Giao diện: Chúng tôi sẽ sử dụng "Tác nhân" với địa chỉ IP đích là "linux-host1" với địa chỉ IP "192.168.5.120" và cổng mặc định "10050".
  • Đã bật: Chọn hộp để kích hoạt máy chủ này.


Chuyển sang tab "Thẻ" và tạo thẻ mới. Trong ví dụ này, chúng tôi sẽ tạo thẻ mới "OS " với giá trị "RHEL ".


Nhấp vào "Thêm " để xác nhận và thêm máy chủ.

Sau đó, bạn có thể thấy rằng máy chủ "linux-host1 " đã được thêm vào giám sát Zabbix thông qua tác nhân Zabbix.

Trong phần "Tính khả dụng", bạn sẽ thấy trạng thái màu xanh lá cây "ZBX", có nghĩa là máy chủ đang chạy mà không gặp bất kỳ sự cố nào. Nếu xảy ra lỗi trên máy chủ của bạn, phần "Tính khả dụng" sẽ chuyển sang màu đỏ.


Dưới đây bạn có thể xem đồ họa hiện tại của máy chủ "linux-host1 ".


Trong hướng dẫn này, bạn đã học cách cài đặt và định cấu hình Giải pháp giám sát Zabbix với PostgreSQL làm chương trình phụ trợ cơ sở dữ liệu và Apache2/httpd làm máy chủ web trên Rocky Linux. Bạn cũng đã tìm hiểu cấu hình cơ bản của máy chủ PostgreSQL để thiết lập xác thực cho người dùng PostgreSQL. Cuối cùng, bạn đã tìm hiểu cách thêm và giám sát máy chủ Linux bằng Giải pháp giám sát Zabbix thông qua Tác nhân Zabbix.