Thứ ba, 30/06/2020 | 00:00 GMT+7

Cách cài đặt và cấu hình Zabbix để giám sát an toàn server từ xa trên Ubuntu 20.04

Zabbix là phần mềm giám sát open-souce cho các mạng và ứng dụng. Nó cung cấp khả năng giám sát thời gian thực của hàng nghìn chỉ số được thu thập từ server , máy ảo, thiết bị mạng và ứng dụng web. Các chỉ số này có thể giúp bạn xác định tình trạng hiện tại của cơ sở hạ tầng CNTT và phát hiện các vấn đề với các thành phần 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 database để bạn có thể phân tích dữ liệu theo thời gian và cải thiện chất lượng của các dịch vụ được cung cấp hoặc lên kế hoạch nâng cấp thiết bị của bạn .

Zabbix sử dụng một số tùy chọn để thu thập số liệu, bao gồm giám sát không cần tác nhân của các dịch vụ user và kiến trúc client - server . Để thu thập số liệu server , nó sử dụng một tác nhân nhỏ trên client được giám sát để thu thập dữ liệu và gửi đến server Zabbix. Zabbix hỗ trợ giao tiếp được mã hóa giữa server và các client được kết nối, vì vậy dữ liệu được bảo vệ trong khi truyền qua các mạng không an toàn.

Server Zabbix lưu trữ dữ liệu của nó trong database quan hệ được cung cấp bởi MySQL hoặc PostgreSQL . Bạn cũng có thể lưu trữ dữ liệu lịch sử trong database NoSQL như ElasticsearchTimescaleDB . Zabbix cung cấp giao diện web để bạn có thể xem dữ liệu và cấu hình cài đặt hệ thống.

Trong hướng dẫn này, bạn sẽ cấu hình Zabbix trên hai máy Ubuntu 20.04. Một cái sẽ được cấu hình làm server Zabbix và cái kia làm client mà bạn sẽ giám sát. Server Zabbix sẽ sử dụng database MySQL để ghi dữ liệu giám sát và sử dụng Nginx để phục vụ giao diện web.

Yêu cầu

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

  • Hai server Ubuntu 20.04 được cài đặt theo Hướng dẫn cài đặt server ban đầu cho Ubuntu 20.04 , bao gồm user không phải root có quyền sudo và firewall được cấu hình bằng ufw . Trên một server , bạn sẽ cài đặt Zabbix; hướng dẫn này sẽ gọi đây là server Zabbix . Nó sẽ giám sát server thứ hai của bạn; server thứ hai này sẽ được gọi là server Ubuntu thứ hai .

  • Server sẽ chạy server Zabbix cần được cài đặt Nginx, MySQL và PHP. Làm theo các Bước 1–3 của hướng dẫn LEMP Ubuntu 20.04 của ta để cấu hình những thứ đó trên server Zabbix của bạn.

  • Tên domain đã đăng ký. Hướng dẫn này sẽ sử dụng your_domain xuyên suốt. Bạn có thể mua một domain từ Namecheap , nhận một domain miễn phí với Freenom hoặc sử dụng công ty đăng ký domain mà bạn chọn.

  • Cả hai bản ghi DNS sau được cài đặt cho server Zabbix của bạn. Nếu bạn đang sử dụng DigitalOcean, vui lòng xem tài liệu DNS của ta để biết chi tiết về cách thêm chúng.

    • Bản ghi A với your_domain trỏ đến địa chỉ IP công cộng của server Zabbix của bạn.
    • Một bản ghi A với www. your_domain trỏ đến địa chỉ IP công cộng của server Zabbix của bạn.

Ngoài ra, vì Server Zabbix được sử dụng để truy cập thông tin có giá trị về cơ sở hạ tầng của bạn mà bạn không muốn user lạ truy cập, điều quan trọng là bạn phải giữ an toàn cho server của bạn bằng cách cài đặt certificate TLS / SSL. Đây là tùy chọn nhưng được khuyến khích mạnh mẽ. Nếu bạn muốn bảo mật server của bạn , hãy làm theo hướng dẫn Hãy mã hóa trên Ubuntu 20.04 sau Bước 3 của hướng dẫn này.

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

Trước tiên, bạn cần cài đặt Zabbix trên server mà bạn đã cài đặt MySQL, Nginx và PHP. Đăng nhập vào máy này với quyền là user không phải root của bạn:

  • ssh sammy@zabbix_server_ip_address

Zabbix có sẵn trong trình quản lý gói của Ubuntu, nhưng nó đã lỗi thời, vì vậy hãy sử dụng kho lưu trữ Zabbix chính thức để cài đặt version ổn định mới nhất. Download và cài đặt gói cấu hình repository :

  • wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
  • sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

Bạn sẽ thấy kết quả sau:

Output
Selecting previously unselected package zabbix-release. (Reading database ... 64058 files and directories currently installed.) Preparing to unpack zabbix-release_5.0-1+focal_all.deb ... Unpacking zabbix-release (1:5.0-1+focal) ... Setting up zabbix-release (1:5.0-1+focal) ...

Cập nhật index gói để bao gồm repository mới:

  • sudo apt update

Sau đó cài đặt server Zabbix và giao diện user web với hỗ trợ database MySQL:

  • sudo apt install zabbix-server-mysql zabbix-frontend-php

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

  • sudo apt install zabbix-agent

Trước khi có thể sử dụng Zabbix, bạn phải cài đặt database để lưu giữ dữ liệu mà server Zabbix sẽ thu thập từ các tác nhân của nó. Bạn có thể thực hiện việc này trong bước tiếp theo.

Bước 2 - Cấu hình Database MySQL cho Zabbix

Bạn cần tạo một database MySQL mới và điền vào nó một số thông tin cơ bản để làm cho nó phù hợp với Zabbix. Bạn cũng cần tạo một user cụ thể cho database này để Zabbix không đăng nhập vào MySQL bằng account root .

Đăng nhập vào MySQL với quyền user gốc :

  • sudo mysql

Tạo database Zabbix với hỗ trợ ký tự UTF-8:

  • create database zabbix character set utf8 collate utf8_bin;

Sau đó, tạo một user mà server Zabbix sẽ sử dụng, cấp cho nó quyền truy cập vào database mới và đặt password cho user :

  • create user zabbix@localhost identified by 'your_zabbix_mysql_password';
  • grant all privileges on zabbix.* to zabbix@localhost;

Điều đó sẽ chăm sóc user và database . Thoát ra khỏi console database .

  • quit;

Tiếp theo, bạn phải nhập schemas và dữ liệu ban đầu. Cài đặt Zabbix đã cung cấp cho bạn một file cài đặt điều này.

Chạy lệnh sau để cài đặt schemas và nhập dữ liệu vào database zabbix . Sử dụng zcat vì dữ liệu trong file được nén:

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

Nhập password cho user MySQL zabbix mà bạn đã cấu hình khi được yêu cầu .

Lệnh này có thể mất một hoặc hai phút để thực thi. Nếu bạn thấy 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 đúng password cho user zabbix .

Để server Zabbix sử dụng database này, bạn cần đặt password database trong file cấu hình server Zabbix. Mở file cấu hình trong editor bạn muốn . Hướng dẫn này sẽ sử dụng nano :

  • sudo nano /etc/zabbix/zabbix_server.conf

Tìm phần sau của file :

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

Những comment này trong file giải thích cách kết nối với database . Bạn cần đặt giá trị DBPassword trong file thành password cho user database của bạn. Thêm dòng này sau những comment đó để cấu hình database :

/etc/zabbix/zabbix_server.conf
... DBPassword=your_zabbix_mysql_password ... 

Lưu và đóng zabbix_server.conf bằng cách nhấn CTRL+X , tiếp theo là Y rồi ENTER nếu bạn đang sử dụng nano .

Đến đây bạn đã cấu hình server Zabbix để kết nối với database . Tiếp theo, bạn sẽ cấu hình web server Nginx để phục vụ giao diện user Zabbix.

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

Để cấu hình Nginx tự động, hãy cài đặt gói cấu hình tự động:

  • sudo apt install zabbix-nginx-conf

Kết quả là bạn sẽ nhận được file cấu hình /etc/zabbix/nginx.conf , cũng như một liên kết đến file trong folder cấu hình Nginx /etc/nginx/conf.d/zabbix.conf .

Tiếp theo, bạn cần áp dụng các thay đổi đối với file này. Mở file cấu hình:

  • sudo nano /etc/zabbix/nginx.conf

Tệp chứa cấu hình khối server Nginx được tạo tự động. Nó chứa hai dòng xác định tên server và cổng nó đang nghe:

/etc/zabbix/nginx.conf
server { #        listen          80; #        server_name     example.com; ... 

Bỏ ghi chú hai dòng và thay thế example.com bằng domain của bạn. Cài đặt của bạn sẽ giống như sau:

/etc/zabbix/nginx.conf
server {         listen          80;         server_name     your_domain; ... 

Lưu và đóng file . Tiếp theo, hãy kiểm tra đảm bảo rằng không có lỗi cú pháp nào trong các file Nginx nào của bạn và reload cấu hình:

  • sudo nginx -t
  • sudo nginx -s reload

Như vậy, Nginx đã được cài đặt để phục vụ giao diện user Zabbix, bạn sẽ thực hiện một số sửa đổi đối với cài đặt PHP của bạn để giao diện web Zabbix hoạt động bình thường.

Lưu ý: Như đã đề cập trong phần Yêu cầu , bạn nên bật SSL / TLS trên server của bạn . Nếu bạn muốn làm điều này, hãy làm theo hướng dẫn Mã hóa Ubuntu 20.04 của ta trước khi bạn chuyển sang Bước 4 để lấy certificate SSL miễn phí cho Nginx. Quá trình này sẽ tự động phát hiện khối server Zabbix của bạn và cấu hình nó cho HTTPS. Sau khi có certificate 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 PHP cho Zabbix

Giao diện web Zabbix được viết bằng PHP và yêu cầu một số cài đặt server PHP đặc biệt. Quá trình cài đặt Zabbix đã tạo file cấu hình PHP-FPM có chứa các cài đặt này. Nó nằm trong folder /etc/zabbix và được tải tự động bằng PHP-FPM. Bạn cần thực hiện một thay đổi nhỏ đối với file này, vì vậy hãy mở file bằng cách sau:

  • sudo nano /etc/zabbix/php-fpm.conf

Tệp chứa các cài đặt PHP đáp ứng các yêu cầu cần thiết cho giao diện web Zabbix. Tuy nhiên, cài đặt múi giờ được comment theo 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ờ thích hợp:

/etc/zabbix/php-fpm.conf
... 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[date.timezone] = Europe/Riga 

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

Bây giờ khởi động lại PHP-FPM để áp dụng các cài đặt mới này:

  • sudo systemctl restart php7.4-fpm.service

Đến đây bạn có thể khởi động server Zabbix:

  • sudo systemctl start zabbix-server

Sau đó, kiểm tra xem server Zabbix có đang chạy đúng cách hay không:

  • sudo systemctl status zabbix-server

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

Output
● zabbix-server.service - Zabbix Server Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2020-06-12 05:59:32 UTC; 36s ago Process: 27026 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) ...

Cuối cùng, kích hoạt server khởi động tại thời điểm khởi động:

  • sudo systemctl enable zabbix-server

Server được cài đặt và kết nối với database . Tiếp theo, cài đặt giao diện user web.

Bước 5 - Cấu hình cài đặt cho giao diện web Zabbix

Giao diện web cho phép bạn xem báo cáo và thêm server mà bạn muốn theo dõi, nhưng nó cần một số cài đặt ban đầu trước khi bạn có thể sử dụng. Chạy trình duyệt của bạn và truy cập địa chỉ http:// zabbix_server_name hoặc https:// zabbix_server_name nếu bạn cài đặt Let's Encrypt. Trên màn hình đầu tiên, bạn sẽ thấy một 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 để chạy Zabbix.

 Yêu cầu

Tất cả các giá trị trong bảng này phải OK , vì vậy hãy xác minh chúng đúng như vậy. Đảm bảo cuộn xuống và xem xét tất cả các yêu cầu . Khi bạn đã xác minh mọi thứ đã sẵn sàng, hãy 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 database .

Kết nối DB

Bạn đã nói với server Zabbix về database của bạn , nhưng giao diện web Zabbix cũng cần quyền truy cập vào database để quản lý server và đọc dữ liệu. Do đó, hãy nhập thông tin đăng nhập MySQL mà bạn đã cấu hình ở Bước 2. 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.

Chi tiết  Server  Zabbix

Tên là tùy chọn; nó được sử dụng trong giao diện web để phân biệt server này với server khác trong trường hợp bạn có nhiều server 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óm tắt cài đặt trước để bạn có thể xác nhận mọi thứ là chính xác.

Tóm lược

Nhấp vào Bước tiếp theo để chuyển sang 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 file cấu hình /usr/share/zabbix/conf/zabbix.conf.php , bạn có thể backup và sử dụng file này trong tương lai. Nhấp vào Hoàn tất để chuyển sang màn hình đăng nhập. User mặc định là Admin và password là zabbix .

Trước khi bạn đăng nhập, hãy cài đặt tác nhân Zabbix trên server Ubuntu thứ hai của bạn.

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

Đến đây bạn cần phải cấu hình phần mềm tác nhân sẽ gửi dữ liệu giám sát đến server Zabbix.

Đăng nhập vào server Ubuntu thứ hai:

  • ssh sammy@second_ubuntu_server_ip_address

Cũng giống như trên server Zabbix, hãy chạy các lệnh sau để cài đặt gói cấu hình repository :

  • wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
  • sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

Tiếp theo, cập nhật index gói :

  • sudo apt update

Sau đó cài đặt Zabbix agent:

  • sudo apt install zabbix-agent

Mặc dù Zabbix hỗ trợ mã hóa dựa trên certificate , nhưng việc cài đặt tổ chức phát hành certificate nằm ngoài phạm vi của hướng dẫn này. Nhưng bạn có thể sử dụng khóa chia sẻ trước (PSK) để bảo mật kết nối giữa server và tác nhân.

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

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

Hiển thị key bằng cách sử dụng cat để bạn có thể sao chép nó ở đâu đó:

  • cat /etc/zabbix/zabbix_agentd.psk

Key sẽ trông giống như sau:

Output
75ad6cb5e17d244ac8c00c96a1b074d0550b8e7b15d0ab3cde60cd79af280fca

Lưu cái này để dùng sau; bạn cần nó để cấu hình server .

Bây giờ, hãy chỉnh sửa cài đặt tác nhân Zabbix để cài đặt kết nối an toàn của nó với server Zabbix. Mở file cấu hình tác nhân trong editor của bạn:

  • sudo nano /etc/zabbix/zabbix_agentd.conf

Mỗi cài đặt trong file này được ghi lại thông qua các comment thông tin trong toàn file , nhưng bạn chỉ cần chỉnh sửa một số trong số đó.

Đầu tiên, bạn phải chỉnh sửa địa chỉ IP của server Zabbix. Tìm phần sau:

/etc/zabbix/zabbix_agentd.conf
... ### Option: Server #       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies. #       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 #       and '::/0' will allow any IPv4 or IPv6 address. #       '0.0.0.0/0' can be used to allow any IPv4 address. #       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com # # Mandatory: yes, if StartAgents is not explicitly set to 0 # Default: # Server=  Server=127.0.0.1 ... 

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

/etc/zabbix/zabbix_agentd.conf
... Server=zabbix_server_ip_address ... 

Theo mặc định, server Zabbix kết nối với đại lý. Nhưng đối với một số kiểm tra (ví dụ: theo dõi log ), cần có kết nối ngược lại. Để hoạt động chính xác, bạn cần chỉ định địa chỉ server Zabbix và tên server duy nhất.

Tìm phần cấu hình các kiểm tra hoạt động và thay đổi các giá trị mặc định:

/etc/zabbix/zabbix_agentd.conf
... ##### Active checks related  ### Option: ServerActive #       List of comma delimited IP:port (or DNS name:port) pairs of Zabbix servers and Zabbix proxies for active checks. #       If port is not specified, default port is used. #       IPv6 addresses must be enclosed in square brackets if port for that host is specified. #       If port is not specified, square brackets for IPv6 addresses are optional. #       If this parameter is not specified, active checks are disabled. #       Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1] # # Mandatory: no # Default: # ServerActive=  ServerActive=zabbix_server_ip_address  ### Option: Hostname #       Unique, case sensitive hostname. #       Required for active checks and must match hostname as configured on the server. #       Value is acquired from HostnameItem if undefined. # # Mandatory: no # Default: # Hostname=  Hostname=Second Ubuntu Server ... 

Tiếp theo, tìm phần cấu hình kết nối an toàn với server Zabbix và bật hỗ trợ khóa chia sẻ trước. Tìm phần TLSConnect , trông giống như sau:

/etc/zabbix/zabbix_agentd.conf
... ### 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 đó, thêm dòng này để cấu hình hỗ trợ khóa chia sẻ trước:

/etc/zabbix/zabbix_agentd.conf
... TLSConnect=psk ... 

Tiếp theo, tìm phần TLSAccept , trông giống như sau:

/etc/zabbix/zabbix_agentd.conf
... ### 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 thêm dòng này:

/etc/zabbix/zabbix_agentd.conf
... TLSAccept=psk ... 

Tiếp theo, tìm phần TLSPSKIdentity , trông giống như sau:

/etc/zabbix/zabbix_agentd.conf
... ### 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 thêm dòng này:

/etc/zabbix/zabbix_agentd.conf
... TLSPSKIdentity=PSK 001 ... 

Bạn sẽ sử dụng nó làm ID PSK khi thêm server 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 đó của bạn. Tìm tùy chọn TLSPSKFile :

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

Thêm dòng này để trỏ tác nhân Zabbix tới file PSK mà bạn đã tạo:

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

Lưu và đóng file . Đến đây bạn có thể khởi động lại tác nhân Zabbix và đặt nó bắt đầu lúc khởi động:

  • sudo systemctl restart zabbix-agent
  • sudo systemctl enable zabbix-agent

Để có biện pháp tốt, hãy kiểm tra xem tác nhân Zabbix đang chạy đúng cách:

  • sudo systemctl status zabbix-agent

Bạn sẽ thấy trạng thái sau, cho biết tác nhân đang chạy:

Output
● zabbix-agent.service - Zabbix Agent Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-06-12 08:19:54 UTC; 25s ago ...

Tác nhân sẽ lắng nghe các kết nối từ server trên cổng 10050 . Cấu hình UFW để cho phép kết nối với cổng này:

  • sudo ufw allow 10050/tcp

Bạn có thể tìm hiểu thêm về UFW trong Cách cài đặt firewall với UFW trên Ubuntu 20.04 .

Tác nhân của bạn hiện đã sẵn sàng để gửi dữ liệu đến server Zabbix. Nhưng để sử dụng nó, bạn phải liên kết đến nó từ console web của server . Trong bước tiếp theo, bạn sẽ hoàn thành cấu hình.

Bước 7 - Thêm server mới vào server Zabbix

Cài đặt một tác nhân trên một server mà bạn muốn theo dõi chỉ là một nửa của quá trình. Mỗi server lưu trữ bạn muốn theo dõi cần phải được đăng ký trên server Zabbix, bạn có thể thực hiện việc này thông qua giao diện web.

Đăng nhập vào giao diện web Zabbix Server bằng cách chuyển đến địa chỉ http:// zabbix_server_name hoặc https:// zabbix_server_name :

Màn hình đăng nhập Zabbix

Khi bạn đã đăng nhập, hãy nhấp vào Cấu hình và sau đó nhấp vào Server trong thanh chuyển bên trái. Sau đó nhấp vào nút Tạo server lưu trữ ở góc trên cùng bên phải của màn hình. Thao tác này sẽ mở trang cấu hình server lưu trữ.

Tạo  server

Điều chỉnh Tên server địa chỉ IP để phản ánh tên server và địa chỉ IP của server Ubuntu thứ hai của bạn, sau đó thêm server vào một group . Bạn có thể chọn một group hiện có, ví dụ như server Linux hoặc tạo group của bạn . Server có thể ở nhiều group . Để thực hiện việc này, hãy nhập tên của một group hiện có hoặc group mới vào trường Group và chọn giá trị mong muốn từ danh sách được đề xuất.

Trước khi thêm group , hãy nhấp vào tab Mẫu .

Thêm mẫu vào  server

Nhập Template OS Linux by Zabbix agent vào trường Tìm kiếm , sau đó chọn nó từ danh sách để thêm mẫu này vào server .

Tiếp theo, chuyển đến tab Mã hóa . Chọn PSK cho cả Kết nối với server Kết nối từ server . Sau đó, đặt danh tính PSK 001 , là giá trị của cài đặt TLSPSKIdentity của tác nhân Zabbix mà bạn đã cấu hình trước đó. Sau đó, đặt giá trị PSK thành khóa bạn đã tạo cho đại lý Zabbix. Đó là file được lưu trữ trong file /etc/zabbix/zabbix_agentd.psk trên máy đại lý.

 Cài đặt  mã hóa

Cuối cùng, nhấp vào nút Thêm ở cuối biểu mẫu để tạo server lưu trữ.

Bạn sẽ thấy server mới của bạn trong danh sách. Chờ một phút và reload trang sẽ thấy các nhãn màu xanh lục cho biết mọi thứ đang hoạt động tốt và kết nối đã được mã hóa.

Zabbix hiển thị  server  mới của bạn

Nếu bạn có thêm server cần theo dõi, hãy đăng nhập vào từng server , cài đặt tác nhân Zabbix, tạo PSK, cấu hình tác nhân và thêm server vào giao diện web theo các bước tương tự bạn đã làm để thêm server lưu trữ đầu tiên của bạn .

Server Zabbix hiện đang giám sát server Ubuntu thứ hai của bạn. Bây giờ, hãy cài đặt thông báo qua email để được thông báo về các vấn đề.

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

Zabbix tự động hỗ trợ nhiều loại thông báo: email, OTRS , Slack , Telegram , SMS,… Bạn có thể xem danh sách đầy đủ các tích hợp tại trang web Zabbix .

Ví dụ, hướng dẫn này sẽ cấu hình thông báo cho loại phương tiện Email .

Bấm vào Quản trị , sau đó bấm Loại phương tiện trong thanh chuyển bên trái. Bạn sẽ thấy danh sách tất cả các loại phương tiện. Có hai tùy chọn được cấu hình trước cho email: thông báo văn bản thuần túy và thông báo HTML. Trong hướng dẫn này, bạn sẽ sử dụng thông báo văn bản thuần túy. Nhấp vào Email .

Điều chỉnh các tùy chọn SMTP theo cài đặt được cung cấp bởi dịch vụ email của bạn. Hướng dẫn này sử dụng các khả năng SMTP của Gmail để cài đặt thông báo qua email; nếu bạn muốn biết thêm thông tin về cách cài đặt này, hãy xem Cách sử dụng Server SMTP của Google .


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

Nếu bạn đang sử dụng Gmail, hãy nhập smtp.gmail.com cho trường server SMTP , 465 cho trường cổng server SMTP , gmail.com cho helo SMTP và email của bạn cho email SMTP . Sau đó, chọn SSL / TLS cho Bảo mật kết nốiTên user và password để Xác thực . Nhập địa chỉ Gmail của bạn làm Tên user và Mật khẩu ứng dụng bạn đã tạo từ account Google của bạn làm Mật khẩu .

 Cài đặt  loại phương tiện email

Trên tab Mẫu tin nhắn, bạn có thể xem danh sách các tin nhắn được định nghĩa cho các loại thông báo khác nhau. Cuối cùng, nhấp vào nút Cập nhật ở cuối biểu mẫu để cập nhật thông số email.

Đến đây bạn có thể thử nghiệm gửi thông báo. Để thực hiện việc này, hãy nhấp vào liên kết Kiểm tra được gạch chân trong dòng tương ứng.

Bạn sẽ thấy một cửa sổ bật lên. Nhập địa chỉ email của bạn vào trường Gửi tới và nhấp vào nút Kiểm tra . Bạn sẽ thấy một thông báo về việc gửi thành công và bạn sẽ nhận được một tin nhắn kiểm tra.

Kiểm tra email

Đóng cửa sổ bật lên bằng cách nhấp vào nút Hủy .

Bây giờ, hãy tạo một user mới. Nhấp vào Quản trị , sau đó nhấp vào User trong thanh chuyển bên trái. Bạn sẽ thấy danh sách user . Sau đó nhấp vào nút Tạo user ở góc trên cùng bên phải màn hình. Thao tác này sẽ mở trang cấu hình user :

Tạo  user

Nhập tên user mới vào trường Bí danh và cài đặt password mới. Tiếp theo, thêm user vào group của administrator . Zabbix administrators vào trường Group và chọn nó từ danh sách được đề xuất.

Khi bạn đã thêm group , hãy nhấp vào tab Phương tiện và nhấp vào liên kết Thêm được gạch chân (không phải nút Thêm bên dưới). Bạn sẽ thấy một cửa sổ bật lên.

Thêm một email

Chọn tùy chọn Email từ trình đơn Loại thả xuống. Nhập địa chỉ email của bạn vào trường Gửi tới . Bạn có thể để phần còn lại của các tùy chọn ở giá trị mặc định. Nhấp vào nút Thêm ở dưới cùng để gửi.

Bây giờ chuyển đến tab Quyền . Chọn Zabbix Super Admin từ menu thả xuống Loại user .

Cuối cùng, nhấp vào nút Thêm ở cuối biểu mẫu để tạo user .

Lưu ý: Sử dụng password mặc định không an toàn. Để thay đổi password của user cài sẵn, Administrator nhấp vào alias trong danh sách user . Sau đó nhấp vào Thay đổi password , nhập password mới và xác nhận các thay đổi bằng cách nhấp vào nút Cập nhật .

Đến đây bạn cần bật thông báo. Nhấp vào tab Cấu hình và sau đó nhấp vào Hành động trong thanh chuyển bên trái. Bạn sẽ thấy một hành động được cấu hình trước, hành động này chịu trách nhiệm gửi thông báo đến tất cả các administrator Zabbix. Bạn có thể xem lại và thay đổi cài đặt bằng cách nhấp vào tên của nó. Đố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 Trạng thái.

Đến đây 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 cài đặt thông báo của bạn .

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

Trong bước này, bạn sẽ tạo một cảnh báo kiểm tra đảm bảo mọi thứ được kết nối. Theo mặc định, Zabbix theo dõi dung lượng ổ đĩa trống trên server 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. Khám phá này được thực hiện mỗi giờ, vì vậy bạn cần đợi một lúc để thông báo được kích hoạt.

Tạo một file tạm thời đủ lớn để kích hoạt cảnh báo sử dụng hệ thống file của Zabbix. Để thực hiện việc này, hãy đăng nhập vào server Ubuntu thứ hai của bạn nếu bạn chưa kết nối:

  • ssh sammy@second_ubuntu_server_ip_address

Tiếp theo, xác định bạn có bao nhiêu dung lượng trống trên server . 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 file của bạn và -h sẽ làm cho kết quả có thể đọc được. Bạn sẽ thấy kết quả như sau:

Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 78G 1.4G 77G 2% /

Trong trường hợp này, dung lượng trống là 77G . 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 phân bổ trước hoặc phân bổ dung lượng cho một file , để tạo một file chiếm hơn 80% dung lượng đĩa có sẵn. Điều này sẽ đủ để kích hoạt cảnh báo:

  • fallocate -l 70G /tmp/temp.img

Sau khoảng một giờ, Zabbix sẽ kích hoạt cảnh báo về dung lượng ổ đĩa trống và sẽ chạy 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 bạn để tìm thư từ server Zabbix. Bạn sẽ thấy một thông báo như:

Problem started at 09:49:08 on 2020.06.12 Problem name: /: Disk space is low (used > 80%) Host: Second Ubuntu Server Severity: Warning Operational data: Space used: 71.34 GB of 77.36 GB (92.23 %) Original problem ID: 106 

Bạn cũng có thể chuyển đến tab Giám sát và sau đó là Trang tổng quan để xem thông báo và chi tiết của nó.

 Control panel  chính

Đến đây bạn biết các cảnh báo đang hoạt động, hãy xóa file tạm thời bạn đã tạo để bạn có thể lấy lại dung lượng đĩa của bạn :

  • rm -f /tmp/temp.img

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

Kết luận

Trong hướng dẫn này, bạn đã học cách cài đặt một giải pháp giám sát đơn giản và an toàn sẽ giúp bạn theo dõi trạng thái của các server của bạn . Như vậy, nó có thể cảnh báo bạn về các sự cố và bạn có cơ hội phân tích các quy trình xảy ra trong cơ sở hạ tầng CNTT của bạn .

Để tìm hiểu thêm về cách cài đặt cơ sở hạ tầng giám sát, hãy xem trang chủ đề Giám sát của ta .


Tags:

Các tin liên quan

Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 20.04
2020-06-30
Cách cài đặt WordPress trên Ubuntu 20.04 với LAMP
2020-06-30
Cài đặt Elasticsearch, Logstash và Kibana (Elastic Stack) trên Ubuntu 20.04
2020-06-23
Cách cài đặt TensorFlow trên Ubuntu 20.04
2020-06-23
Cách tạo người dùng mới hỗ trợ Sudo trên Ubuntu 20.04 [Quickstart]
2020-06-22
Cách cài đặt Prosody trên Ubuntu 18.04
2020-06-15
Cách tạo nhóm lưu trữ dự phòng bằng GlusterFS trên Ubuntu 20.04
2020-06-15
Cách tạo lưu trữ dự phòng bằng GlusterFS trên Ubuntu 18.04
2020-06-12
Cách cài đặt và sử dụng TimescaleDB trên Ubuntu 20.04
2020-06-09
Cách thiết lập trang web phát triển Jekyll trên Ubuntu 20.04
2020-06-05