Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Trong hướng dẫn này, bạn sẽ biết được cách cài đặt Zabbix trên CentOS 7 và cấu hình ở hai máy. Một máy sẽ được cấu hình làm máy chủ, và máy khác sẽ là máy khách mà bạn sẽ giám sát. Máy chủ sẽ sử dụng cơ sở dữ liệu MySQL để ghi dữ liệu giám sát và sử dụng Apache để phục vụ giao diện web.

Giải thích Zabbix là gì?

Zabbix là phần mềm giám sát mã nguồn mở dành cho mạng và ứng dụng. Nó cung cấp giám sát thời gian thực của hàng ngàn chỉ số được thu thập từ máy chủ, máy ảo, thiết bị mạng và ứng dụng web. Những chỉ số này có thể giúp bạn xác định tình trạng hiện tại của hạ tầng CNTT và phát hiện vấn đề về các phần cứng hoặc phần mềm trước khi khách hàng phàn nàn. 

Thông tin hữu ích được lưu trữ trong cơ sở dữ liệu để bạn có thể phân tích dữ liệu theo thời gian và cải thiện chất lượng dịch vụ hoặc lên kế hoạch nâng cấp thiết bị.

Zabbix sử dụng một số tùy chọn để thu thập chỉ số, bao gồm giám sát không cần đặt Agent của các dịch vụ người dùng và kiến trúc client-server. Để thu thập chỉ số máy chủ, nó sử dụng một Agent nhỏ trên máy khách được giám sát để thu thập dữ liệu và gửi nó đến máy chủ Zabbix. 

Zabbix hỗ trợ giao tiếp được mã hóa giữa máy chủ và các client kết nối, do đó dữ liệu của bạn được bảo vệ khi đi qua các mạng không an toàn.

Máy chủ Zabbix lưu trữ dữ liệu của nó trong một cơ sở dữ liệu quan hệ được hỗ trợ bởi MySQL, PostgreSQL hoặc Oracle. Bạn cũng có thể lưu trữ dữ liệu lịch sử trong cơ sở dữ liệu NoSQL như Elasticsearch và TimescaleDB. Zabbix cung cấp giao diện web để bạn có thể xem dữ liệu và cấu hình các thiết lập hệ thống.

Điều kiện bắt buộc để cài đặt Zabbix trên CentOS 7

Để làm theo hướng dẫn này, bạn cần:

  • Hai máy chủ CentOS 7 đã được cài đặt bao gồm một người dùng không phải root có đặc quyền sudo và một tường lửa. Trên một máy chủ, bạn sẽ cài đặt Zabbix, máy chủ này sẽ được gọi là máy chủ Zabbix. Nó sẽ giám sát máy chủ CentOS thứ hai của bạn, máy chủ thứ hai này sẽ được gọi là máy chủ CentOS thứ hai.
  • Máy chủ Zabbix cần cài đặt Apache, MySQL và PHP. 

Lưu ý: CentOS sử dụng MariaDB thay vì MySQL, nhưng điều này sẽ không gây ra bất kỳ vấn đề nào khi làm theo hướng dẫn này.

Ngoài ra, vì bạn sẽ sử dụng máy chủ Zabbix để truy cập thông tin quan trọng về cơ sở hạ tầng mà bạn không muốn người dùng không được phép truy cập, điều quan trọng là bạn duy trì tính bảo mật cho máy chủ bằng cách cài đặt chứng chỉ TLS/SSL. Điều này là tùy chọn nhưng rất được khuyến khích. 

Các bước thực hiện cấu hình và cài đặt Zabbix trên CentOS 7

Bước 1 - Cài đặt Zabbix Server

Đầu tiên, bạn cần cài đặt Zabbix trên CentOS 7 ở máy chủ mà đã được cài đặt MySQL, Apache và PHP. Đăng nhập vào máy này với tư cách người dùng không phải root:

$ ssh sammy@zabbix_server_ip_address

Zabbix không có sẵn trong trình quản lý gói mặc định, vì vậy hãy cài đặt gói cấu hình kho lưu trữ bằng cách sử dụng kho lưu trữ chính thức của Zabbix cho CentOS. Hướng dẫn này sẽ sử dụng phiên bản 4.2 của Zabbix:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

Bạn sẽ thấy đầu ra như sau:

Output
Retrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.WXsYNB: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-4.2-1.el7         ################################# [100%]

Xóa tất cả các mục cho các kho lưu trữ hiện được kích hoạt khỏi bộ nhớ cache:

sudo yum clean all

Sau đó, cài đặt Zabbix server và giao diện web với hỗ trợ cơ sở dữ liệu MySQL:

sudo yum install zabbix-server-mysql zabbix-web-mysql

Trong quá trình cài đặt, bạn sẽ được hỏi về việc nhập một khóa GPG. Khóa này sẽ xác minh tính xác thực của gói bạn đang cài đặt. Để cho phép quá trình cài đặt hoàn thành, hãy chấp nhận khóa GPG bằng cách nhập "y" và nhấn ENTER khi được nhắc nhở.

Ngoài ra, cài đặt Zabbix agent, cho phép bạn thu thập dữ liệu về trạng thái của chính máy chủ Zabbix.

sudo yum install zabbix-agent

Trước khi bạn có thể sử dụng Zabbix, bạn cần thiết lập một cơ sở dữ liệu để lưu trữ dữ liệu mà máy chủ Zabbix sẽ thu thập từ các agent. Bạn có thể làm điều này trong bước tiếp theo.

Bước 2 - Cấu hình cơ sở dữ liệu MySQL cho Zabbix

Trong bước 2 “Cài đặt Zabbix trên CentOS 7” bạn cần tạo một cơ sở dữ liệu MySQL mới và điền vào một số thông tin cơ bản để làm cho nó phù hợp với Zabbix. Bạn cũng sẽ tạo một người dùng cụ thể cho cơ sở dữ liệu này để Zabbix không đăng nhập vào MySQL bằng tài khoản root.

Đăng nhập vào MySQL với tư cách người dùng root bằng mật khẩu root mà bạn đã thiết lập trong quá trình cài đặt MySQL server:

$ mysql -uroot -p

Tạo cơ sở dữ liệu Zabbix với hỗ trợ ký tự UTF-8:

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Tiếp theo, tạo một người dùng mà máy chủ Zabbix sẽ sử dụng, cấp quyền truy cập cho người dùng vào cơ sở dữ liệu mới và đặt mật khẩu cho người dùng:

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'your_zabbix_mysql_password';

Sau đó, áp dụng các quyền mới này:

MariaDB [(none)]> flush privileges;

Điều đó đã xử lý người dùng và cơ sở dữ liệu. Thoát khỏi giao diện điều khiển cơ sở dữ liệu:

MariaDB [(none)]> quit;

Tiếp theo, nhập lược đồ và dữ liệu ban đầu. Quá trình cài đặt Zabbix đã cung cấp cho bạn một tệp tin để thiết lập điều này.

Chạy lệnh sau để thiết lập cấu trúc và nhập dữ liệu vào cơ sở dữ liệu zabbix. Sử dụng zcat vì dữ liệu trong tệp tin đã được nén.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Nhập mật khẩu cho người dùng MySQL của Zabbix mà bạn đã cấu hình khi được nhắc.

Lệnh này sẽ không xuất ra bất kỳ lỗi nào nếu thành công. Nếu bạn thấy thông báo lỗi ERROR 1045 (28000): Access denied for user zabbix@'localhost' (using password: YES) thì hãy đảm bảo bạn đã sử dụng mật khẩu cho người dùng zabbix và không phải người dùng root.

Để máy chủ Zabbix sử dụng cơ sở dữ liệu này, bạn cần đặt mật khẩu cơ sở dữ liệu trong tệp cấu hình máy chủ Zabbix. Mở tệp cấu hình trong trình soạn thảo văn bản ưa thích của bạn. Trong hướng dẫn này, bạn có thể sử dụng lệnh vi:

sudo vi /etc/zabbix/zabbix_server.conf

Tìm phần sau trong tệp tin:

...
### Option: DBPassword                           
#       Database password. Ignored for SQLite.   
#       Comment this line if no password is used.
#                                                
# Mandatory: no                                  
# Default:                                       
# DBPassword=
...

Các comment trong tệp tin này giải thích cách kết nối vào cơ sở dữ liệu. Bạn cần đặt giá trị DBPassword trong tệp tin bằng mật khẩu của người dùng cơ sở dữ liệu của bạn. Nhập chế độ chèn bằng cách nhấn phím i, bỏ dấu chú thích của DBPassword= và thêm mật khẩu của bạn để cấu hình cơ sở dữ liệu:

...
# Mandatory: no                                  
# Default
DBPassword=your_zabbix_mysql_password
...

Khi bạn hoàn thành, nhấn ESC để thoát khỏi chế độ chèn, sau đó gõ :wq và ENTER để lưu và thoát khỏi tệp tin.

Điều đó đã xử lý cấu hình máy chủ Zabbix. Tiếp theo, bạn sẽ thực hiện một số điều chỉnh cho cài đặt PHP để giao diện web Zabbix hoạt động một cách chính xác.

Bước 3 - Cấu hình PHP cho Zabbix

Giao diện web Zabbix được viết bằng PHP và yêu cầu một số thiết lập đặc biệt trên máy chủ PHP. Quá trình cài đặt Zabbix đã tạo ra một tệp cấu hình Apache chứa các thiết lập này. Bạn cần thực hiện một thay đổi nhỏ trong tệp này, vì vậy hãy mở nó bằng lệnh sau:

sudo vi /etc/httpd/conf.d/zabbix.conf

Tệp tin chứa các thiết lập PHP đáp ứng yêu cầu cần thiết cho giao diện web Zabbix. Tuy nhiên, thiết lập múi giờ được chú thích mặc định. Để đảm bảo Zabbix sử dụng thời gian chính xác, bạn cần đặt múi giờ phù hợp.

...
<IfModule mod_php5.c>
    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    php_value max_input_vars 10000
    php_value always_populate_raw_post_data -1
    # php_value date.timezone Europe/Riga
</IfModule>

Bỏ dấu chú thích của dòng timezone, được đánh dấu trong khối mã trước đó và thay đổi thành múi giờ của bạn. Bạn có thể sử dụng danh sách các múi giờ được hỗ trợ để tìm múi giờ phù hợp cho bạn. Sau đó, lưu và đóng tệp tin.

Bây giờ hãy khởi động lại Apache để áp dụng các thiết lập mới này:

sudo systemctl restart httpd

Ghi chú: Nếu SELinux đang chạy ở chế độ enforcing, bạn cần đặt nó vào chế độ permissive bằng lệnh sudo setenforce 0 để cho phép Zabbix agent hoạt động tự do.

Bây giờ bạn có thể khởi động Zabbix server và agent:

sudo systemctl start zabbix-server 
sudo systemctl start zabbix-agent 

Sau đó, kiểm tra xem máy chủ Zabbix có hoạt động đúng không:

sudo systemctl status zabbix-server

Bạn sẽ thấy trạng thái sau đây:

Output
 ● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-05-03 05:57:29 UTC; 2s ago
  Process: 4461 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
  ...

Cuối cùng, kích hoạt máy chủ và agent để khởi động cùng với hệ thống:

$ sudo systemctl enable zabbix-server
$ sudo systemctl enable zabbix-agent

Máy chủ đã được cài đặt và kết nối với cơ sở dữ liệu. Tiếp theo, cài đặt giao diện web.

Ghi chú: Như đã đề cập trong phần “Điều kiện bắt buộc để cài đặt Zabbix trên CentOS 7” thì nên bật SSL/TLS trên máy chủ của bạn. Sau khi nhận được chứng chỉ SSL/TLS, bạn có thể quay lại và hoàn thành hướng dẫn này.

Bước 4 - Cấu hình các thiết lập cho giao diện web Zabbix

Giao diện web cho phép bạn xem báo cáo và thêm các máy chủ mà bạn muốn giám sát, nhưng nó cần một số thiết lập ban đầu trước khi sử dụng. Khởi chạy trình duyệt của bạn và truy cập vào địa chỉ http://zabbix_server_name/zabbix/. Trên màn hình đầu tiên, bạn sẽ thấy thông báo chào mừng. Nhấp vào bước tiếp theo để tiếp tục.

Trên màn hình tiếp theo, bạn sẽ thấy bảng liệt kê tất cả các yêu cầu tiên quyết để chạy Zabbix.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Bảng liệt kê tất cả các yêu cầu tiên quyết để chạy Zabbix

Tất cả các giá trị trong bảng này phải là OK, vì vậy hãy xác nhận rằng chúng đã đúng. Hãy đảm bảo cuộn xuống và xem tất cả các yêu cầu tiên quyết. Sau khi xác nhận rằng mọi thứ đã sẵn sàng, nhấp vào bước tiếp theo để tiếp tục.

Màn hình tiếp theo yêu cầu thông tin kết nối cơ sở dữ liệu.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Yêu cầu thông tin kết nối cơ sở dữ liệu

Bạn đã thông báo cho máy chủ Zabbix về cơ sở dữ liệu của bạn nhưng giao diện web Zabbix cũng cần truy cập vào cơ sở dữ liệu để quản lý các máy chủ và đọc dữ liệu. Do đó, nhập các thông tin đăng nhập MySQL mà bạn đã cấu hình ở Bước 2 và nhấp vào bước tiếp theo để tiếp tục. Trên màn hình tiếp theo, bạn có thể để các tùy chọn ở giá trị mặc định của chúng.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Có thể tùy chọn ở giá trị mặc định của chúng

Tên là tùy chọn, nó được sử dụng trong giao diện web để phân biệt một máy chủ khỏi các máy chủ khác trong trường hợp bạn có nhiều máy chủ giám sát. Nhấp vào bước tiếp theo để tiếp tục.

Màn hình tiếp theo sẽ hiển thị tổng kết trước cài đặt để bạn có thể xác nhận mọi thứ đều chính xác.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Cài đặt Zabbix trên CentOS 7: Xác nhận các thông tin cần thiết

Nhấp vào bước tiếp theo để tiếp tục đến màn hình cuối cùng.

Cài đặt giao diện web đã hoàn tất. Quá trình này tạo ra tệp cấu hình /etc/zabbix/web/zabbix.conf.php mà bạn có thể sao lưu và sử dụng trong tương lai. Nhấp vào hoàn thành để tiếp tục đến màn hình đăng nhập. Người dùng mặc định là Admin và mật khẩu là zabbix. Trước khi đăng nhập, hãy cài đặt Zabbix agent trên máy chủ CentOS thứ hai của bạn.

Bước 5 - Cài đặt và cấu hình Zabbix Agent

Bây giờ bạn cần cấu hình phần mềm agent sẽ gửi dữ liệu giám sát đến máy chủ Zabbix.

Đăng nhập vào máy chủ CentOS thứ hai:

$ ssh sammy@second_centos_server_ip_address

Tiếp theo, tương tự như trên máy chủ Zabbix, chạy lệnh sau để cài đặt gói cấu hình kho lưu trữ:

$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

Tiếp theo, xóa bộ nhớ cache của yum:

$ sudo yum clean all

Tiếp đến, cài đặt Zabbix agent:

$ sudo yum install zabbix-agent

Trong quá trình cài đặt, bạn sẽ được hỏi về việc nhập một GPG key. Xác nhận nó để hoàn tất quá trình cài đặt.

Trong khi Zabbix hỗ trợ mã hóa dựa trên chứng chỉ, việc thiết lập một cơ quan chứng chỉ vượt quá phạm vi của hướng dẫn này. Thay vào đó, hướng dẫn này sẽ sử dụng các khóa chia sẻ trước (PSK) để bảo mật kết nối giữa máy chủ và agent.

Đầu tiên, tạo một PSK:

$ sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

Hiển thị khóa để bạn có thể sao chép nó vào một nơi nào đó. Bạn sẽ cần nó để cấu hình máy chủ.

$ cat /etc/zabbix/zabbix_agentd.psk

Khóa sẽ có dạng như sau:

Output
a4374c8c3b55de472225dbf96aa7cd3ce6a34abc95d0eb2a601d954ee0cd4410

Bây giờ hãy chỉnh sửa cài đặt của Zabbix agent để thiết lập kết nối an toàn với máy chủ Zabbix. Mở tệp cấu hình agent trong trình soạn thảo văn bản của bạn:

$ sudo vi /etc/zabbix/zabbix_agentd.conf

Mỗi cài đặt trong tệp này được mô tả chi tiết qua các comment thông tin trong suốt tệp, nhưng bạn chỉ cần chỉnh sửa một số trong số chúng.

Đầu tiên, bạn cần chỉnh sửa địa chỉ IP của máy chủ Zabbix. Tìm đoạn mã sau:

...
### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=

Server=127.0.0.1
...

Thay đổi giá trị mặc định thành địa chỉ IP của máy chủ Zabbix của bạn:

...
# Mandatory: no
# Default:
# Server=

Server=zabbix_server_ip_address
...

Tiếp theo, tìm đoạn mã cấu hình kết nối an toàn với máy chủ Zabbix và bật hỗ trợ khóa chia sẻ trước. Tìm đoạn mã TLSConnect, có dạng như sau:

...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSConnect=unencrypted
...

Sau đó, bỏ comment dòng TLSConnect= và thay unencrypted bằng psk để cấu hình hỗ trợ khóa chia sẻ trước:

...
TLSConnect=psk
...

Tiếp theo, tìm đoạn mã TLSAccept, có dạng như sau:

...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSAccept=unencrypted
...

Cấu hình các kết nối đến để hỗ trợ khóa chia sẻ trước bằng cách bỏ comment dòng TLSAccept= và thêm psk:

...
TLSAccept=psk
...

Tiếp theo, tìm đoạn mã TLSPSKIdentity, có dạng như sau:

...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=
...

Chọn một tên duy nhất để xác định khóa chia sẻ trước của bạn bằng cách bỏ comment dòng TLSPSKIdentity= và thêm mã được làm nổi bật:

...
TLSPSKIdentity=PSK 001
...

Bạn sẽ sử dụng đây làm PSK ID khi thêm máy chủ của bạn thông qua giao diện web Zabbix. Sau đó, đặt tùy chọn trỏ đến khóa chia sẻ trước đã tạo trước đó. Tìm tùy chọn TLSPSKFile:

...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=
...

Bỏ comment dòng TLSPSKFile= và thêm đoạn văn bản này để trỏ Zabbix agent đến tệp PSK mà bạn đã tạo:

...
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...

Lưu và đóng file. Bây giờ bạn có thể khởi động Zabbix agent và cấu hình nó để tự động khởi động cùng hệ thống:

$ sudo systemctl start zabbix-agent
$ sudo systemctl enable zabbix-agent

Để chắc chắn, kiểm tra xem Zabbix agent đang hoạt động bình thường hay không:

$ sudo systemctl status zabbix-agent

Bạn sẽ thấy trạng thái sau đây, cho biết agent đang hoạt động:

Output
 ● zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-05-03 06:25:06 UTC; 28s ago
  ...

Agent sẽ lắng nghe trên cổng 10050 để nhận kết nối từ máy chủ. Để cấu hình quyền truy cập từ địa chỉ IP hoặc mạng con cụ thể, bạn có thể sử dụng tính năng rich rule của firewalld:

$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="zabbix_server_ip_address/32" port protocol="tcp" port="10050" accept'

Rich rules cho phép bạn tạo ra các luật firewalld phức tạp và tùy chỉnh hơn để có sự kiểm soát tốt hơn trên tường lửa của bạn. Trong lệnh này, bạn đang thêm một luật cho phép lưu lượng ipv4 từ nguồn mà bạn đã đặt là địa chỉ IP của máy chủ Zabbix tới cổng 10050 của máy chủ CentOS thứ hai.

Sau đó, tải lại firewalld để kích hoạt luật mới:

$ sudo firewall-cmd --reload

Agent của bạn hiện đã sẵn sàng để chấp nhận kết nối và gửi dữ liệu đến máy chủ Zabbix. Tuy nhiên, để sử dụng nó, bạn phải liên kết từ bảng điều khiển web của máy chủ. Trong bước tiếp theo, bạn sẽ hoàn tất cấu hình.

Bước 6 - Thêm máy chủ mới vào Zabbix Server

Việc cài đặt một agent trên máy chủ mà bạn muốn giám sát chỉ là một nửa của quá trình. Mỗi máy chủ bạn muốn giám sát cần được đăng ký trên máy chủ Zabbix, điều này bạn có thể thực hiện thông qua giao diện web.

Đăng nhập vào giao diện web của máy chủ Zabbix bằng cách truy cập vào địa chỉ http://zabbix_server_name/zabbix/.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Cài đặt Zabbix trên CentOS 7: Đăng nhập vào giao diện web của máy chủ Zabbix

Khi bạn đã đăng nhập, nhấp vào mục cấu hình (Configuration) và sau đó chọn Máy chủ (Hosts) trên thanh điều hướng đầu trang. Sau đó, nhấp vào nút tạo máy chủ (Create host) ở góc trên bên phải của màn hình. Nó sẽ mở trang cấu hình máy chủ.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Cài đặt Zabbix trên CentOS 7: Mở trang cấu hình máy chủ

Điều chỉnh tên máy chủ (Host name) và địa chỉ IP (IP address) để phản ánh tên máy chủ và địa chỉ IP của máy chủ CentOS thứ hai của bạn, sau đó thêm máy chủ vào một nhóm. Bạn có thể chọn một nhóm hiện có, ví dụ như Linux servers hoặc tạo một nhóm mới. Máy chủ có thể thuộc nhiều nhóm. Để làm điều này, nhập tên của một nhóm hiện có hoặc nhóm mới trong trường nhóm (Groups) và chọn giá trị mong muốn từ danh sách đề xuất.

Sau khi đã thêm nhóm, nhấp vào tab Templates.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Gõ "Template OS Linux" vào ô tìm kiếm

Gõ "Template OS Linux" vào ô tìm kiếm (Search), sau đó nhấp vào nút thêm (Add) ngay dưới thanh tìm kiếm để thêm mẫu này vào máy chủ.

Tiếp theo, điều hướng đến tab mã hóa (Encryption). Chọn PSK cho cả kết nối đến máy chủ (Connections to host) và kết nối từ máy chủ (Connections from host), bỏ chọn No encryption cho kết nối từ máy chủ (Connections from host). Sau đó, đặt PSK identity thành PSK 001, đó là giá trị của cài đặt TLSPSKIdentity trong Zabbix agent bạn đã cấu hình trước đó. Tiếp theo, đặt giá trị PSK là khóa mà bạn đã tạo cho Zabbix agent. Đây là khóa được lưu trữ trong tập tin /etc/zabbix/zabbix_agentd.psk trên máy chủ agent.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Đặt giá trị PSK là khóa đã tạo cho Zabbix agent

Cuối cùng, nhấp vào nút thêm (Add) ở dưới cùng của biểu mẫu để tạo máy chủ. Bạn sẽ thấy máy chủ mới của mình trong danh sách. Chờ trong một phút và tải lại trang để xem nhãn màu xanh lá cây, cho thấy mọi thứ đang hoạt động tốt và kết nối được mã hóa.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Cài đặt Zabbix trên CentOS 7: Tạo máy chủ

Nếu bạn có các máy chủ bổ sung mà bạn cần giám sát, đăng nhập vào mỗi máy chủ, cài đặt Zabbix agent, tạo PSK, cấu hình agent và thêm máy chủ vào giao diện web theo các bước tương tự như bạn đã thực hiện để thêm máy chủ đầu tiên của bạn.

Zabbix server hiện đang giám sát máy chủ CentOS thứ hai của bạn. Bây giờ, cấu hình thông báo qua email để nhận thông báo về các vấn đề.

Bước 7 - Cấu hình thông báo qua email

Zabbix hỗ trợ tự động nhiều loại thông báo: email, Jabber, SMS,... Bạn cũng có thể sử dụng các phương pháp thông báo thay thế như Telegram hoặc Slack. Phương pháp giao tiếp đơn giản nhất là thông qua email và hướng dẫn này sẽ cấu hình thông báo qua email.

Nhấp vào Administration (Quản trị), sau đó chọn Media types (Các loại phương tiện truyền thông) trên thanh điều hướng trên cùng. Bạn sẽ thấy danh sách các loại phương tiện truyền thông. Nhấp vào Email.

Điều chỉnh các tùy chọn SMTP theo các thiết lập được cung cấp bởi dịch vụ email của bạn. Hướng dẫn này sử dụng khả năng SMTP của Gmail để thiết lập thông báo qua email.

Lưu ý: Nếu bạn sử dụng xác minh 2 bước với Gmail, bạn cần tạo một mật khẩu ứng dụng cho Zabbix. Bạn không cần nhớ nó, bạn chỉ cần nhập mật khẩu ứng dụng một lần trong quá trình cài đặt. Bạn sẽ tìm thấy hướng dẫn về cách tạo mật khẩu này trong trung tâm trợ giúp của Google.

Bạn cũng có thể chọn định dạng tin nhắn - html hoặc văn bản thuần. Cuối cùng, nhấp vào nút Update (Cập nhật) ở cuối biểu mẫu để cập nhật các tham số email.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Cập nhật các tham số email

Bây giờ, tạo một người dùng mới. Nhấp vào Administration (Quản trị), sau đó chọn Users (Người dùng) trên thanh điều hướng trên cùng. Bạn sẽ thấy danh sách người dùng. Sau đó, nhấp vào nút Create user (Tạo người dùng) ở góc trên bên phải màn hình. Nó sẽ mở trang cấu hình người dùng.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Trang cấu hình người dùng

Nhập tên người dùng mới vào trường Alias và thiết lập mật khẩu mới. Tiếp theo, thêm người dùng vào nhóm quản trị viên. Nhập Zabbix administrators vào trường Groups và chọn từ danh sách đề xuất.

Sau khi đã thêm nhóm, nhấp vào tab Media và nhấp vào liên kết Add dưới chân trang. Bạn sẽ thấy một cửa sổ pop-up.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Nhập địa chỉ email vào trường Send to

Nhập địa chỉ email của bạn vào trường Send to. Bạn có thể để các tùy chọn khác với giá trị mặc định. Nhấp vào nút Add ở dưới cùng để gửi.

Tiếp theo, di chuyển đến tab Permissions. Chọn Zabbix Super Admin từ menu thả xuống User type. Cuối cùng, nhấp vào nút Add ở dưới cùng của biểu mẫu để tạo người dùng.

Bây giờ bạn cần kích hoạt thông báo. Nhấp vào tab Configuration, sau đó chọn Actions trong thanh điều hướng trên cùng. Bạn sẽ thấy một hành động được cấu hình trước, chịu trách nhiệm gửi thông báo cho tất cả các quản trị viên Zabbix. Bạn có thể xem và thay đổi cài đặt bằng cách nhấp vào tên hành động đó. Đối với mục đích của hướng dẫn này, hãy sử dụng các tham số mặc định. Để kích hoạt hành động, nhấp vào liên kết Disabled màu đỏ trong cột Status.

Bây giờ bạn đã sẵn sàng nhận thông báo. Trong bước tiếp theo, bạn sẽ tạo một thông báo để kiểm tra thiết lập thông báo của mình.

Bước 8 - Tạo một thông báo kiểm tra

Trong bước này, bạn sẽ tạo một thông báo kiểm tra để đảm bảo mọi thứ đã kết nối. Mặc định, Zabbix theo dõi lượng không gian đĩa trống trên máy chủ của bạn. Nó tự động phát hiện tất cả các đĩa và thêm các kiểm tra tương ứng. Việc khám phá này được thực hiện mỗi giờ, vì vậy bạn cần đợi một chút để thông báo được kích hoạt.

Tạo một tệp tạm thời đủ lớn để kích hoạt thông báo sử dụng hệ thống tệp của Zabbix. Để làm điều này, đăng nhập vào máy chủ CentOS thứ hai của bạn nếu bạn chưa kết nối.

$ ssh sammy@second_centos_server_ip_address

Tiếp theo, xác định xem bạn có bao nhiêu không gian trống trên máy chủ. Bạn có thể sử dụng lệnh df để tìm hiểu:

$ df -h

Lệnh df sẽ báo cáo việc sử dụng không gian đĩa của hệ thống tập tin của bạn và tùy chọn -h sẽ làm cho đầu ra dễ đọc. Bạn sẽ thấy kết quả tương tự như sau:

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  958M   25G   4% /

Trong trường hợp này, không gian trống là 25GB. Không gian trống của bạn có thể khác nhau.

Sử dụng lệnh fallocate, cho phép bạn cấp phát hoặc giải phóng không gian cho một tập tin, để tạo một tập tin chiếm hơn 80% không gian đĩa khả dụng. Điều này đủ để kích hoạt cảnh báo:

$ fallocate -l 20G /tmp/temp.img

Sau khoảng một giờ, Zabbix sẽ kích hoạt một cảnh báo về lượng không gian đĩa trống và thực hiện hành động bạn đã cấu hình, gửi tin nhắn thông báo. Bạn có thể kiểm tra hộp thư đến của mình để xem tin nhắn từ máy chủ Zabbix. Bạn sẽ thấy một tin nhắn như sau:

Problem started at 10:49:25 on 2019.05.03
Problem name: Free disk space is less than 20% on volume /
Host: Second Centos Server
Severity: Warning

Original problem ID: 34

Bạn cũng có thể di chuyển đến tab Monitoring, sau đó chọn Dashboard để xem thông báo và mô tả của nó.

Hướng dẫn cách cấu hình và cài đặt Zabbix trên CentOS 7

Cài đặt Zabbix trên CentOS 7: Tạo một thông báo kiểm tra

Bây giờ khi bạn đã biết cảnh báo đang hoạt động, hãy xóa tệp tạm thời bạn đã tạo để giành lại không gian đĩa của bạn:

$ rm -f /tmp/temp.img

Sau một phút, Zabbix sẽ gửi thông báo phục hồi và cảnh báo sẽ biến mất khỏi trang tổng quan chính.

Trong hướng dẫn “cài đặt Zabbix trên CentOS 7”, bạn đã thiết lập một giải pháp giám sát đơn giản và an toàn để giúp bạn theo dõi trạng thái của các máy chủ của mình. Bây giờ nó có thể cảnh báo bạn về các vấn đề và bạn có cơ hội phân tích các quy trình diễn ra trong cơ sở hạ tầng công nghệ thông tin của bạn.

Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:

https://kdata.vn/cloud-vps

👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất