kiến thức DevOps thực tế và chi tiết

Cách sử dụng Zabbix để monitoring (chi tiết dễ hiểu)

Tiếp tục trong series Monitoring trong bài viết này chúng ta sẽ cùng sử dụng Zabbix từ A đến Á. Chẳng là Flex nhỏ xíu một chút mình mới lắp thêm RAM cho con PC của mình nâng tổng RAM lên 64GB nên là giờ có tương đối RAM tạo máy ảo làm Lab để viết bài cho mọi người, sắp tới sẽ có thêm những bài viết hữu ích, thực tế hơn mà cá nhân mình thấy giúp ích được cho mọi người, còn tiếp theo chúng ta sẽ đi vào vấn đề chính của bài viết này là cách sử dụng Zabbix.

Zabbix dùng để làm gì?

Đầu tiên, chắc chắn rồi chúng ta phải biết sử dụng Zabbix”để làm gì” chúng ta không thể biết mọi thứ trên đời và giành thời gian cho những thứ không cần thiết phải không, nên bạn biết trước sử dụng Zabbix để làm gì sẽ quyết định bạn có “cần” nó không hay một công cụ khác phù hợp hơn dùng Zabbix (tìm kiếm mà xem bài viết này là có nhu cầu 50% roài nhỉ).

Những tác dụng, lợi ích mà Zabbix có thể làm:

  • Giám sát tài nguyên phần cứng: sử dụng Zabbix theo dõi các thông số nhiệt độ, độ ẩm, áp suất và các yếu tố môi trường khác để đảm bảo điều kiện hoạt động tốt nhất cho các thiết bị và máy móc đặc biệt là trong môi trường Production.
  • Giám sát tài nguyên máy chủ: sử dụng Zabbix theo dõi tài nguyên như việc CPU, RAM, Disk sử dụng quá cao để có biện pháp khắc phục không ảnh hưởng đến hoạt động của hệ thống.
  • Giám sát thông số hiệu suất cơ sở dữ liệu: sử dụng Zabbix theo dõi lượt truy cập tăng cao, tình trạng kết nối có ổn định hay không, tốc độ truy vấn, trạng thái hoạt động của database.
  • Bảo mật cơ sở dữ liệu: Zabbix có thể giám sát các sự kiện bảo mật trong cơ sở dữ liệu như đăng nhập không hợp lệ, cố gắng tấn công, và các hoạt động đáng ngờ khác.
  • Gửi cảnh báo nhanh chóng nhiều lựa chọn: sử dụng Zabbix gửi cảnh báo qua email, telegram, slack,… khi các thông số hoặc trạng thái vượt ngưỡng đã định, giúp bạn phản ứng nhanh chóng đối với các vấn đề.
  • Khởi động lại dịch vụ: khi dịch vụ nào đó của bạn có vấn đề bạn có thể sử dụng Zabbix để thực hiện các tác vụ quản lý như khởi động lại dịch vụ.
  • Thống kê và phân tích dữ liệu về lưu lượng mạng: sử dụng Zabbix để phân tích lưu lượng mạng, xác định các mẫu tiêu thụ tài nguyên, và tìm hiểu về tình trạng kết nối mạng.
  • Đo lường sự phản hồi của ứng dụng: Giám sát thời gian phản hồi của ứng dụng và các yếu tố tương tác, giúp bạn đảm bảo người dùng trải nghiệm tốt.
  • Kiểm tra khả năng chịu tải: sử dụng Zabbix để thực hiện kiểm tra khả năng chịu tải (load testing) trên ứng dụng hoặc hạ tầng, để xác định tải tối đa mà hệ thống có thể xử lý.
  • Đo lường yếu tố sử dụng điện năng: theo dõi sử dụng điện năng của các máy chủ và thiết bị để xác định tiêu thụ và tối ưu hóa năng lượng.
  • Khả năng tùy chỉnh mở rộng cao: sử dụng Zabbix bạn có thể tùy chỉnh rất nhiều thứ để đem lại đúng mục đích bạn muốn (đơn giản nhất bạn có thể tùy chỉnh thông số cảnh báo).
  • Dự báo và phân tích xu hướng: Zabbix có khả năng theo dõi dữ liệu theo thời gian và tạo biểu đồ để phân tích xu hướng sử dụng tài nguyên và hiệu suất cơ sở dữ liệu.

Và còn rất nhiều lợi ích của Zabbix nữa bạn có thể từ từ tìm hiểu nhé.

Vậy tương ứng với những lợi ích rõ ràng, mạnh mẽ ở trên thì sử dụng Zabbix có những lư ý và hạn chế gì và không phù hợp với trường hợp nào?

Những lưu ý và hạn chế của Zabbix:

  • Yêu cầu tài nguyên hệ thống: Zabbix có thể tiêu tốn tài nguyên hệ thống khá lớn, đặc biệt khi giám sát một môi trường lớn hoặc nhiều thiết bị, có thể gây ảnh hưởng đến hiệu suất của hệ thống.
  • Tính tùy chỉnh và mở rộng cao: Mặc dù tính tùy chỉnh cao có thể là một lợi ích, nhưng nó cũng có thể là một điểm yếu nếu bạn không có kiến thức và kỹ năng cần thiết để tùy chỉnh và mở rộng Zabbix theo nhu cầu của bạn.
  • Không phù hợp cho môi trường nhỏ: Đối với các môi trường nhỏ với ít thiết bị và yêu cầu giám sát đơn giản, việc triển khai Zabbix có thể quá phức tạp và không hiệu quả.
  • Tính phức tạp của giao diện người dùng: Giao diện người dùng Zabbix có thể khá phức tạp và khó sử dụng đối với người dùng không có kinh nghiệm, đòi hỏi một thời gian để làm quen và học cách sử dụng hiệu quả.

Tài liệu chính thức: Zabbix – Documents

Cài đặt và sử dụng Zabbix trên CentOS 7

Tiếp theo chúng ta sẽ tiến hành cài đặt Zabbix, ở đây mình lựa chọn CentOS 7 và mình rất recommend bạn sử dụng OS giống mình để làm lab lý do bạn có thể tìm hiểu về các hệ điều hành nhé nhưng nói đơn giản ở đây là CentOS 7, và đây là những cấu hình phục vụ việc làm lab còn thực tế sẽ cần nhiều hơn nhé

Mình có 2 server như sau:

# OS IP Hostname Minimum System Requirements
1 Ubuntu 20.04 192.168.17.100 gitlab.elroydevops.tech optional
2 CentOS 7 192.168.17.102 zabbix.elroydevops.tech 4GB RAM 2CPU 20GB Storage

Như bạn thấy và cũng dễ dàng hiểu với server 1 mình cài đặt Gitlab, server 2 mình sẽ cài đặt zabbix và tiến hành monitoring server gitlab.

Lưu ý: Mình sẽ tiến hành thiết lập trong file /etc/hosts của 2 server với hostname như trên vì mình muốn sử dụng hostname để bạn dễ hình dung các server hơn còn nếu bạn không muốn sử dụng hostname thì vẫn sử dụng IP như bình thường nhé (những chỗ mình sử dụng hostname thì bạn chỉ cần thay bằng IP của bạn).

Trong bài viết này mình sẽ sử dụng Zabbix 5.0 mặc dù đã ra Zabbix version 6 khá lâu và cũng khá nhiều hay ho bạn có thể xem trực tiếp tại: What’s new in Zabbix 6.0.0

Cài đặt Zabbix server

Đầu tiên chúng ta cài đặt, thiết lập trên server zabbix

elroydevops.tech
$ vi /etc/hosts

Thêm 3 dòng dưới đây vào file hosts tương ứng là IP server của bạn nhé

192.168.17.100 jenkins.elroydevops.tech
192.168.17.101 gitlab.elroydevops.tech
192.168.17.102 zabbix.elroydevops.tech

Tạm thời tắt tính năng “Enforcement” của SELinux và chuyển SELinux sang chế độ “permissive”

elroydevops.tech
$ sudo setenforce 0 && sudo sed -i ‘s/^SELINUX=.*/SELINUX=permissive/g’ /etc/selinux/config

Tải gói RPM từ đường dẫn URL đã cho và sau đó cài đặt hoặc cập nhật gói RPM để thêm nguồn kho Zabbix vào hệ thống

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

Làm sạch các dữ liệu cache và metadata của gói trên hệ thống

elroydevops.tech
$ sudo yum clean all

Cài đặt Zabbix Server với hỗ trợ MySQL và Zabbix Agent trên hệ thống

elroydevops.tech
$ sudo yum install zabbix-server-mysql zabbix-agent -y

Tải và cài đặt gói centos-release-scl, cho phép sử dụng công nghệ Software Collections để quản lý các phiên bản phụ trợ của các gói trên hệ thống

elroydevops.tech
$ sudo yum install centos-release-scl -y

Kích hoạt (enable) kho lưu trữ (repository) Zabbix trong hệ thống

elroydevops.tech
$ sudo vi /etc/yum.repos.d/zabbix.repo

Sửa trong zabbix-frontend phần enable=1 vậy trong zabbix-frontend được như dưới đây

[zabbix-frontend]
name=Zabbix Official Repository frontend – $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

Tải và cài đặt các gói zabbix-web-mysql-sclzabbix-apache-conf-scl, cung cấp giao diện web cho Zabbix và cấu hình Apache cần thiết để nó hoạt động trên hệ thống

elroydevops.tech
$ sudo yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

Tạo file thông tin cấu hình liên quan đến nguồn kho MariaDB

elroydevops.tech
$ sudo vi /etc/yum.repos.d/mariadb.repo

Thêm nội dung dưới đây vào file cấu hình mariadb.repo

# MariaDB 10.5 CentOS repository list – created 2021-08-31 10:52 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Tải và cài đặt gói MariaDB-server để cài đặt MariaDB Server và gói MariaDB-client để cài đặt MariaDB Client trên hệ thống

elroydevops.tech
$ sudo yum install MariaDB-server MariaDB-client -y

Cấu hình để tự động khởi động cùng với hệ thống

elroydevops.tech
$ sudo systemctl enable mariadb

Khởi động Mariadb

elroydevops.tech
$ sudo systemctl start mariadb

Truy cập vào môi trường dòng lệnh của Mariadb để tạo database

elroydevops.tech
$ sudo mysql -uroot

Bạn hãy thực hiện các bước dưới đây để tạo database

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by ‘elroy’;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> quit;

Thực thi các câu lệnh SQL từ tập tin create.sql.gz, sẽ có yêu cầu nhập mật khẩu người dùng MySQL “zabbix” và sau đó tạo cơ sở dữ liệu Zabbix sẵn sàng để sử dụng

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

Chỉnh sửa file cấu hình của Zabbix server

elroydevops.tech
$ vi /etc/zabbix/zabbix_server.conf

Tìm và sửa những dòng dưới đây tương ứng với thông tin database vừa tạo

Chỉnh sửa file cấu hình Zabbix cho đúng timezone khu vực của chúng ta

elroydevops.tech
$ sudo vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

Chỉnh sửa thông tin timezone như dưới đây nhé: php_value[date.timezone] = Asia/Ho_Chi_Minh

Restart lại service của Zabbix

elroydevops.tech
$ sudo systemctl restart zabbix-server zabbix-agent

Thiết lập khởi động Zabbix server, Zabbix agent cùng với hệ thống

elroydevops.tech
$ sudo systemctl enable zabbix-server zabbix-agent

Tiếp theo mặc định khi sử dụng Zabbix sẽ phải thêm đường dẫn http://<IP>/zabbix chúng ta sẽ tiến hành cấu hình lại một chút để không cần /zabbix nữa, điều này dù bạn không làm thì cũng không ảnh hưởng gì hệ thống, tuy nhiên là ví dụ bạn sẽ cấu hình domain thì mặc định sẽ là zabbix.elroydevops.tech/zabbix như vậy trông chưa được thẩm mỹ lắm.

elroydevops.tech
$ sudo vi /etc/httpd/conf/httpd.conf

Sửa các đường dẫn như dưới đây trong cấu hình httpd

Tiến hành khởi động lại webserver Apache và PHP-FPM áp dụng cấu hình mới

elroydevops.tech
$ sudo systemctl restart httpd rh-php72-php-fpm

Thiết lập webserver Apache và PHP-FPM khởi động cùng hệ thống

elroydevops.tech
$ sudo systemctl enable httpd rh-php72-php-fpm

Tiếp theo chúng ta phải mở port truy cập sử dụng Zabbix server là 10051 và sử dụng Zabbix agent là 10050 và Web client Zabbix là 80 nếu bạn đang sử dụng Cloud/VPS/Hosting thì nên sử dụng IPTABLES để đảm bảo bảo mật hơn, ở đây tuy rằng mình tạo trên VMWare Workstation nhưng cũng làm như là Server public

Tắt Firewall mặc định là Firewalld

elroydevops.tech
$ sudo systemctl stop firewalld

Tiến hành cài đặt iptables (nếu chưa cài đặt)

elroydevops.tech
$ sudo yum install iptables -y

Tiến hành mở các port sau

elroydevops.tech
$ sudo iptables -I INPUT 1 -p tcp –dport 10051 -j ACCEPT
$ sudo iptables -I INPUT 1 -p tcp –dport 10050 -j ACCEPT
$ sudo iptables -I INPUT 1 -p tcp –dport 80 -j ACCEPT

Xem danh sách các port đã mở

elroydevops.tech
$ sudo iptables -L

Được kết quả tương tự như dưới đây là thành công cấu hình xong iptables

Lưu lại cấu hình iptables

elroydevops.tech
$ sudo bash -c “iptables-save > /etc/sysconfig/iptables”

Bạn có thể thêm cả hostname vào trong máy tính cá nhân của bạn nếu là window sẽ là C:\Windows\System32\Drivers\etc\hosts

Tiếp theo chúng ta truy cập Zabbix trên giao diện web để hoàn tất cài đặt vì mình đã thêm host nên của mình với địa chỉ http://zabbix.elroydevops.tech

Nhấn Next step

Tiếp theo sẽ hiển thị một số thông tin bạn thấy trạng thái tất cả là OK chúng ta nhấn Next step

Tiếp theo bạn sẽ điền thông tin database mariadb ở trên chúng ta vừa tạo và nhấn Next step

Tiếp theo chúng ta điền tên của Zabbix server và nhấn Next step

Tiếp theo chúng ta kiểm tra lại 1 lượt các thông tin đã điền và nhấn Next step

Cấu hình thành công và nhấn Finish

Chúng ta sẽ đăng nhập với Username/Password mặc định là Admin/zabbix để vào giao diện sử dụng Zabbix

Đăng nhập thành công vào giao diện chính sử dụng Zabbix

sử dụng zabbix

Cài đặt Zabbix agent

Zabbix Agent là một phần mềm được cài đặt và chạy trên các máy khách (clients) để thu thập dữ liệu từ hệ thống và gửi đến Zabbix Server hoặc các máy proxy để giám sát. Nó là một phần quan trọng trong hệ thống Zabbix Monitoring, giúp theo dõi và giám sát hiệu suất, tình trạng và các thông số khác của các máy chủ, thiết bị và ứng dụng.

Một số chức năng chính của Zabbix Agent bao gồm:

  • Thu thập dữ liệu
  • Thực hiện kiểm tra và giám sát: Zabbix Agent có khả năng thực hiện các kiểm tra và giám sát tình trạng của các ứng dụng và dịch vụ cụ thể trên máy khách. Nếu có sự cố xảy ra, nó có thể gửi cảnh báo đến Zabbix Server để thông báo về tình trạng kém hoặc không bình thường.
  • Thu thập dữ liệu tùy chỉnh: Bạn cũng có thể viết các scripts hoặc plugins tùy chỉnh để Zabbix Agent thực thi và thu thập dữ liệu đặc biệt theo yêu cầu.
  • Bảo mật và hiệu suất: Zabbix Agent được thiết kế để có khả năng bảo mật và tối ưu hiệu suất, đảm bảo rằng việc thu thập dữ liệu không làm ảnh hưởng đến hiệu suất chung của máy khách.

Chúng ta sẽ tiến hành cấu hình Zabbix agent sang 2 server tiếp theo như ở trên mình nói là server Gitlab

Cài đặt Zabbix agent trên Ubuntu

Truy cập vào server Gitlab server này mình sử dụng Ubuntu 20.04 (của bạn thì là server thứ 2 mà bạn chuẩn bị nhé)

Tải xuống một gói cài đặt .deb từ URL được cung cấp. Cụ thể, lệnh này đang tải xuống gói zabbix-release_5.0-1+focal_all.deb từ kho lưu trữ của Zabbix

elroydevops.tech
$ sudo wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb

Sử dụng dpkg để cài đặt gói zabbix-release vào hệ thống

elroydevops.tech
$ sudo dpkg -i zabbix-release_5.0-1+focal_all.deb

Cài Zabbix agent vào server

elroydevops.tech
$ sudo apt install zabbix-agent -y

Cấu hình Zabbix agent kết nối đến Zabbix server

elroydevops.tech
$ sudo nano /etc/zabbix/zabbix_agentd.conf

Bạn tìm kiếm và chỉnh sửa những phần dưới đây như sau (vì mình đã thêm hostname còn bạn có thể thay bằng IP nhé)

Server=zabbix.elroydevops.tech #địa chỉ Zabbix server
ServerActive=zabbix.elroydevops.tech #địa chỉ Zabbix server
Hostname=gitlab.elroydevops.tech #địa chỉ server cài đặt zabbix agent

Khởi động lại dịch vụ Zabbix agent

elroydevops.tech
$ sudo systemctl restart zabbix-agent

Khởi động Zabbix agent với hệ thống

elroydevops.tech
$ sudo systemctl enable zabbix-agent

Nếu bạn đang tắt firewall thì không cần thiết nhưng nếu đang bật firewall thì cần mở port 10050 đây chính là port của Zabbix agent như trên

elroydevops.tech
$ sudo ufw allow 10050/tcp

Chúng ta quay lại Web Zabbix server để thêm agent vào để giám sát

Chọn vào Configuration -> Hosts -> Create host

Điền những thông tin của Agent vào tab Host

Chuyển qua tab template và làm theo các bước sau đây Select vào Link new templates

Tiếp theo Select vào Host group

Chọn vào Templates

Tiếp tục chọn vào Template OS Linux by Zabbix agent

Chúng ta được kết quả đã chọn và nhấn Add

Thêm thành công Server và Availability phần ZBX phải được hiện màu xanh như dưới đây

Quay lại phần Problems, ví dụ dưới đây server Gitlab của mình

Mình giải thích một chút cảnh báo trên:

  • Severity (mức độ nghiêm trọng): Average (trung bình), Zabbix có 6 trạng thái như bạn có thể thấy ngay ở phía trên phần Severity.
  • Status (trạng thái): PROBLEM (Có vấn đề)
  • Host (server cài đặt agent được giám sát): gitlab.elroydevops.tech
  • Problem (vấn đề): /: Disk space is critically low (used > 90%)High memory utilization (>90% for 5m) cho thấy tài nguyên về Disk và memory của mình đã quá tải.

Dựa vào những cảnh báo trên mình biết server Gitlab của mình đã sắp hết tài nguyên để có biện pháp xử lý, đó là một số thông tin cơ bản, bạn có thể xem những phần khác cũng được thể hiện khá rõ ràng.

Mình sẽ tiến hành fix cho server Gitlab hết bị full memory bạn có thể thấy cảnh báo đã chuyển trạng thái sang RESOLVED (đã giải quyết) ngay sau đó (rất nhanh chóng)

Tương tự bạn có nhiều server khác bạn thêm tương tự nhé, mình sẽ thêm tương tự server Jenkins vào trong Zabbix để giám sát.

Tích hợp gửi thông báo về telegram khi sử dụng Zabbix

Trong Telegram bạn tìm kiếm BotFather và tạo như dưới đây chi tiết hơn bạn có thể tham khảo Tích hợp gửi thông báo Gitlab CI/CD đến Telegram 2 phút hơn 

Chọn vào link t.me/zabbix_elroydevops_bot (tương ứng bạn đặt username nhé) và chọn vào Manage Bot

Bạn có thể chỉnh sửa Profile của Bot để trông chuyên nghiệp hơn

Truy cập vào link : https://api.telegram.org/bot<Token>/getUpdates và lưu lại Chat ID để sử dụng

Truy cập lại Zabbix server trên web chọn Administration -> Media types

Chọn vào Telegram

Điền thông tin như dưới đây gồm có ChatID và Token

Nhấn nút Test và thành công được như dưới đây

Tiếp tục chọn Administration -> Users

Chọn vào Admin

Chọn sang tab Media Điền thông tin như dưới đây Sent toChatID nhé

Nhấn Update

Tiếp tục chọn Administration -> Actions -> Create action

Tab Action điền thông tin Name của action

Chuyển sang tab Operations thao tác như dưới đây để thêm các thành phần

Thêm tương tự được như dưới đây

Tương tự với Recovery operations

Tiếp tục đến Update operations

Được các thông tin như dưới đây và nhấn Add

Tạo thành công Action Telegram notification

Mình sẽ giả định server full dung lượng bằng cách tạo một file image kích thước 5GB như dưới đây

Sau khi thêm file làm đầy dung lượng sẽ có cảnh báo đến Zabbix server kèm thông báo đến Telegram

Mình tiến hành xóa file đó đi  và quay lại xem thông báo gửi về gồm có vấn đề và được xử lý với các thông tin dưới đây

Sử dụng item và trigger trong Zabbix

Item trong Zabbix: Item là các thành phần cơ bản để thu thập dữ liệu từ các nguồn khác nhau như máy chủ, ứng dụng, thiết bị mạng, hệ thống điều khiển, v.v. Mỗi item thu thập một giá trị cụ thể, chẳng hạn như tình trạng CPU, bộ nhớ, băng thông mạng, số lượng kết nối, và nhiều thông tin khác.

Trigger trong Zabbix: Trigger là các điều kiện được thiết lập để theo dõi các giá trị item và kích hoạt cảnh báo khi các giá trị này vượt quá ngưỡng hoặc tuân theo một mô hình nào đó. Khi một trigger được kích hoạt, Zabbix có thể thực hiện các hành động như gửi thông báo cảnh báo qua email, Telegram, SMS, Slack hoặc thực thi các kịch bản tự động. Ví dụ về trigger bao gồm:

  • High Load Trigger: Kích hoạt khi tình trạng CPU vượt quá một ngưỡng xác định.
  • Low Disk Space Trigger: Kích hoạt khi dung lượng đĩa còn lại dưới một mức độ quy định.
  • Network Latency Trigger: Kích hoạt khi độ trễ mạng cao hơn một giới hạn nào đó.

Tóm lại, trong Zabbix, các item và trigger là các thành phần chính để thu thập dữ liệu và theo dõi trạng thái của hệ thống, ứng dụng và thiết bị, cũng như để cảnh báo người quản trị khi có sự cố hoặc vượt quá giới hạn đã định trước, như phía trên Gitlab server cảnh báo là do Item và Trigger mặc định của Zabbix đã hoạt động.

Cảnh báo trạng thái ứng dụng/dịch vụ/port

Mình sẽ tiến hành tạo cảnh báo, khi Gitlab server bị tắt sẽ tiến hành gửi cảnh báo, hiện tại Gitlab server của mình đang chạy trên Port 80 vậy mình sẽ sử dụng phương pháp kiểm tra địa chỉ Gitlab có hoạt động tốt không nếu không sẽ gửi cảnh báo, chúng ta cùng thực hiện

Đầu tiên chọn vào Configuration -> Hosts -> Items

Tiếp theo chọn vào Create item

Điền thông tin như dưới đây, nếu bạn muốn kiểm tra port khác chỉ cần đổi port tại trường key nhé

Tiếp theo chọn qua tab Triggers và nhấn Create trigger

Tạo thông tin như dưới đây

Chọn vào Select để lấy item vừa tạo ở trên

Chọn vào item vừa tạo ở trên

Thêm thành công nhấn Insert

Thành công ta được Expression như dưới đây và nhấn Add

Vì Port 80 mình đang chạy Gitlab server nên mình tiến hành dừng Gitlab để kiểm tra xem cảnh báo hoạt động chưa nhé (tương tự ví dụ bạn sử dụng service nginx chỉ cần systemctl stop nginx)

Vậy là thành công chúng ta nhận được cảnh báo

Mình tiến hành khởi động lại Gitlab server

Vậy là trạng thái đã chuyển sang RESOLVED thật là tiện lợi phải không nào

Chúng ta sẽ làm thêm một bước khác nữa cũng là một cách sử dụng Item và Trigger nữa dựa trên trường hợp trên, ví dụ service của bạn có vấn đề và nó bị stop/kill chúng ta cần một phương pháp tự động tốt hơn thay vì thủ công vào server và khởi động lại Service.

Sử dụng Script từ Zabbix server đến server Zabbix agent

Thêm Item như thông tin dưới đây trong đó key: ssh.run[,<IP>,<Port>,]

Thiết lập lại Trigger vừa tạo cảnh báo ở trên phần OK event generation và chọn tab Recovery expression nhấn Add

Chọn vào Select

Chọn Item mà chúng ta vừa tạo để khởi động lại Service

Thành công được kết quả lưu lại

Khi cảnh báo Service bị tắt thì service đó sẽ được khởi động lại tự động. Ngoài ra còn rất nhiều các Item và Template khác bạn có thể khám phá nhé, cũng có thể theo dõi tiếp mình sẽ ra những bài viết sâu hơn, bạn có thể custom.

Vậy là chúng ta đã cài đặt và sử dụng zabbix cơ bản. Mình sẽ làm nhiều hướng dẫn hơn về các kỹ năng các tool khác để giúp bạn tối ưu được những tác vụ cũng như tiết kiệm những chi phí khi phát triển phần mềm. Thanks.

 

Mọi thắc mắc bạn có thể liên hệ:

Email: [email protected]