Hướng dẫn cài đặt zabbix trên windows

Gần 1 tháng mới có thời gian để viết tiếp , rất xin lỗi mọi người vì có 1 vài bài viết trong phần Pfsense chưa hoàn thiện ,mình sẽ cố gắng hoàn thiện trong thời gian sớm nhất!

Trong hôm nay mình sẽ cùng các bạn đi vào cài đặt step by step Zabbix 3.4 trên nền tảng CentOS 7 (Core)

  1. LÝ THUYẾT

Nói qua về Zabbix :

Zabbix là hệ thống giám sát với các chức năng đầy ấn tượng và mạnh mẽ, nó được cấp phép theo GPL và được viết bằng ngôn ngữ PHP. Zabbix có thể làm các nhiệm vụ tương tự như Nagios và Cacti ở mặc định, Zabbix dễ dàng đồ thị kết quả dữ liệu theo dõi và gởi các cảnh báo cho người sử dụng trong trường hợp có bất kỳ vấn đề nào xảy ra. Sử dụng Zabbix bạn có thể tạo bản đồ của các máy chủ, nhóm máy chủ ở nhiều loại khác nhau.

Zabbix có thể thu thập dữ liệu từ máy chủ xa nơi Zabbix Agent/client đang chạy (như Nagios). Zabbix có các loại đồ thị bao gồm số liệu thống kê mạng, tải CPU, RAM (giống Cacti)…

Hướng dẫn cài đặt zabbix trên windows
Giao diện Zabbix

Tìm hiểu kỹ hơn về Zabbix các bạn có thể tham khảo thêm tại đây

Trên mạng có rất nhiều các website hướng dẫn cách cài đặt cũng như cấu hình Zabbix ,việc cấu hình thường là đơn giản với các bạn đã quen với việc cấu hình các hệ thống dính tới mã nguồn mở như Linux tuy nhiên chắc tương đối lạ lẫm với các bạn thường quản trị trên Windows dẫn tới việc cấu hình sai hoặc thiếu ,thậm chí đọc hướng dẫn cũng không biết đoạn đó phải làm sao 😀

Phần này mình tổng hợp nhiều nơi và đơn giản hóa tối đã thao tác lệnh + hướng dẫn chi tiết từng bước để giúp các bạn mới làm quen với Linux cũng có thể typing theo.

Với các Pro-Linux thì chỉ cần copy phần trong khung rồi dán cho nhanh 😀

II. CHUẨN BỊ

Bài hướng dẫn này sử dụng hệ điều hành CentOS 7 ( Core) + SSH Secure Shell Client để ssh vào máy tính CentOS nhằm copy /paste dễ dàng và nhanh hơn.

Các bạn xem bài hướng dẫn cài đặt CentOS tại đây

Nếu muốn cài đặt thông qua 1 USB bootable thì các bạn tải phần mềm Rufus tại đây và chỉ tới file .ISO của DVD CentOS nhé

Sau khi cài đặt xong CentOS thì vào máy Windows trong mạng LAN (ping được tới máy cài CentOS) và mở chương trình SSH Secure Sheel Client để kết nối tới máy CentOS

Hướng dẫn cài đặt zabbix trên windows
Hostname là IP của máy cài CentOS – chọn authentication method là Password và nhập mật khẩu của username quyền root

III. CÀI ĐẶT

Step 1 – Install Apache2/httpd

Sử dụng lệnh sau : (Bôi đen lệnh rồi bấm Ctrl+ Insert để Copy – Shift + Insert để Paste vào cửa sổ SSH Secure Shell)

sudo yum install httpd httpd-devel

Hướng dẫn cài đặt zabbix trên windows

Sau khi cài xong dịch vụ httpd chạy lệnh start để “mở” dịch vụ và enable để dịch vụ “chạy suốt”

systemctl start httpd systemctl enable httpd

Hướng dẫn cài đặt zabbix trên windows

Để kiểm tra chắc chắn httpd đã chạy trên máy CentOS chúng ta sử dụng lệnh sau :

netstat -plntu

Note : Để chạy lệnh trên thì cần phải cài đặt net-tools package bằng lệnh bên dưới (với bạn nào chạy CentOS không phải mode minimal thì có thể chạy được luôn)

yum install net-tools

Hướng dẫn cài đặt zabbix trên windows
Cổng mặc định 80 của HTTP trong trạng thái Listen là đúng 🙂

Step 2 – Install and Configure PHP 7.2 on CentOS 7

Add the webtatic and the EPEL repository to the system: yum -y install epel-release sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm Install PHP 7.2 packages from the webtatic repository using yum: yum -y install mod_php72w php72w-cli php72w-common php72w-devel php72w-pear php72w-gd php72w-mbstring php72w-mysql php72w-xml php72w-bcmath

Sử dụng lệnh vi để edit file vi /etc/php.ini

Chi tiết cách sử dụng lệnh vi editor trong Linux các bạn xem tại đây

Hướng dẫn cài đặt zabbix trên windows
Bấm / hoặc ? + từ cần tìm để kiếm cho nhanh – ví dụ : /date.timezone (ở mode ngoài không phải trong mode Insert)

Bấm i để insert hoặc chỉnh sửa giá trị tại vị trí con trỏ màu xanh theo bảng bên dưới – timezone ở các vị trí khác xem tại đây

max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = Asia/Ho_CHi_Minh

Sau khi sửa xong bấm Esc để thoát về cửa sổ lệnh bấm :x! để thoát và lưu

Hướng dẫn cài đặt zabbix trên windows

Note: Các bạn phải chắc chắn các trường giá trị thay đổi phải KHÔNG có dấu # hay dấu chấm phẩy (;) ở trước ,nếu có dấu đó nghĩa là tương đương với chú thích , hệ thộng sẽ không ghi nhận giá trị!

Hướng dẫn cài đặt zabbix trên windows
Dấu ; ở trước khiến giá trị biến bị coi như chú thích và sẽ tạo lỗi sau này

Sau khi chạy xong completed chúng ta sẽ restart lại dịch vụ http (chắc chắn bước này không gặp lỗi gì nhé :)) :

systemctl restart httpd

Hướng dẫn cài đặt zabbix trên windows

Step 3 – Install and Configure MariaDB

Zabbix hỗ trợ rất nhiều dạng cơ sở dữ liệu từ MySQL , PostgreSQL, SQLite và Oracle ,tuy nhiên hầu hết các hướng dẫn trên thế giới đều sử dụng MariaDB.

Trong bài LAB này chúng ta cũng sẽ sử dụng Maria DB

Cài đặt mariadb-server với lệnh bên dưới:

sudo yum -y install mariadb-server

Trong quá trình chạy chương trình có hỏi bạn download file thì cứ bấm y (yes) nhé 🙂

Sau khi cài đặt thành công các bạn chạy lệnh như với dịch vụ httpd ở trên là “start” và “enable”

systemctl start mariadb systemctl enable mariadb

Hướng dẫn cài đặt zabbix trên windows
Do mình đã cài đặt rồi nên chạy lại lệnh nó sẽ báo Nothing to do nhé 🙂

Bước tiếp theo là cấu hình mật khẩu cho root MariaDB

systemctl start httpd systemctl enable httpd

0

Nhập mật khẩu root và bấm Enter

Hướng dẫn cài đặt zabbix trên windows

Tới đây là chúng ta đã tạo được cở sở dữ liệu MariaDB và cấu hình xong root password cho Database

Tiếp theo chúng ta cần tạo 1 database để cài đặt Zabbix.

Trong ví dụ này sẽ tạo database tên là ‘zabbix’ và mật khẩu là ‘mdungblog’

Chạy lệnh dưới:

systemctl start httpd systemctl enable httpd

1

systemctl start httpd systemctl enable httpd

2

Note: Khi nhận thông báo Query OK, O rows affected (0.00 sec) từ dòng lệnh grant* là bình thường nhé , tuy nhiên create database zabbix; bắt buộc phải trả về giá trị là 1 row affected 🙂

Step 4 – Install and Configure Zabbix 3.4

Bước này là bước cài đặt và cấu hình Zabbix (Zabbix-server và Zabbix-agent)

– Install Zabbix Packages

systemctl start httpd systemctl enable httpd

3

systemctl start httpd systemctl enable httpd

4

Hướng dẫn cài đặt zabbix trên windows

systemctl start httpd systemctl enable httpd

5

Note: thư mục trên có thể thay đổi tùy theo phiên bản mysql của các bạn nhé , tốt nhất là bấm tab từ zabbix-server để trỏ đúng đường dẫn 🙂

Tiếp theo import database mẫu vào “zabbix” database bằng lệnh :

systemctl start httpd systemctl enable httpd

6

Nhập mật khẩu root và chắc chắn không gặp lỗi nào nhé – Gud Luck 😉

Hướng dẫn cài đặt zabbix trên windows
Màn hình không lỗi thì giống vầy 🙂

– Configure Zabbix Server

Quay lại với vi editor xíu nhé 🙂

systemctl start httpd systemctl enable httpd

7

Bấm i để chuyển qua chế độ Insert (có thể chỉnh sửa)

tìm tới giá trị DBHost và DBPassword và chỉnh theo các thông số khai báo ở trên ,thông thường giá trị DBHost sẽ để mặc định là DBHost=localhost trỏ về chính máy install Zabbix . Gía trị DBPassword= sẽ là mật khẩu khai báo cho database (trong bài Lab này là mdungblog)

Hướng dẫn cài đặt zabbix trên windows

Bước tiếp theo chạy “start” và “enable” zabbix-server

systemctl start httpd systemctl enable httpd

8

Để check chạy lệnh dưới:

systemctl start httpd systemctl enable httpd

9

Hướng dẫn cài đặt zabbix trên windows
Show như vậy là chạy đúng

– Configure Zabbix Agent

Quay lại vi editor tập 3 🙂

netstat -plntu

0

Khai báo các giá trị như bên dưới bằng cách bấm i vào chế độ INSERT

netstat -plntu

1

Hướng dẫn cài đặt zabbix trên windows

Lưu lại giá trị bằng cách bấm ESC và gõ :x!

Sau đó start và enable

netstat -plntu

2

Kiểm tra:

netstat -plntu

3

Hướng dẫn cài đặt zabbix trên windows
Như vầy là đúng 🙂

Step 5 – Configure Firewalld

Cài đặt firewall service nếu CentÓS chưa có

netstat -plntu

4

Tiếp tục start và enable huyền thoại (viết nhiều mệt quá gần giờ về nên nhảm xíu 🙂 )

netstat -plntu

5

Bước gần cuối là mở port http và https cho Zabbix-server và Zabbix- agent (port 10051 và 10050)

netstat -plntu

6

netstat -plntu

7

Hướng dẫn cài đặt zabbix trên windows
Như vầy là đúng nè 🙂

Step 6 – Zabbix Initial Setup

Vi tập 4 nhé 🙂

vi /usr/lib/systemd/system/zabbix-server.service

Xóa dòng TimeoutSec= xxxx đi nhé , bằng gì cũng xóa nhé LOL

Hướng dẫn cài đặt zabbix trên windows

Tiếp theo chạy 2 lệnh :

netstat -plntu

8

Hướng dẫn cài đặt zabbix trên windows

Sau đó chạy 3 lệnh bên dưới :

netstat -plntu

9

Cuối cùng cũng được nhìn người đẹp Zabbix 🙂

Truy cập đường dẫn : http://192.168.1.136/zabbix/

(trong đó 192.168.1.136 là IP của máy CentOS cài Zabbix) – chắc chắn là ping được tới máy này nhé 😉

Hướng dẫn cài đặt zabbix trên windows

Click Next Step

Hướng dẫn cài đặt zabbix trên windows

Note: Tới đây bạn nào gặp lỗi định mệnh “Time zone for PHP is not set (configuration parameter “date.timezone”).” trong Zabbix thì đơn giản là xem lại đường dẫn /etc/httpd/conf.d/zabbix.conf bằng vi editor chắc chắn mục php_value date.timezone Asia/Ho_Chi_Minh không bị dấu # làm mất hiệu lực nhé !

Hướng dẫn cài đặt zabbix trên windows

Bước tiếp theo khai báo theo những gì đã cấu hình – trong bài này thì là user: zabbux /password: mdungblog

Hướng dẫn cài đặt zabbix trên windows

Tiếp theo khai báo hostname rồi bấm Next step

Hướng dẫn cài đặt zabbix trên windows

Bước cuồi confirm lại các thông tin rồi bấm Next step

Hướng dẫn cài đặt zabbix trên windows

Hướng dẫn cài đặt zabbix trên windows
Cuộc đời nở hoa ! – bấm Finish

Màn hình đăng nhập vào Zabbix như bên dưới:

Hướng dẫn cài đặt zabbix trên windows
Login with default user ‘admin‘ and password ‘zabbix‘. ahihi

Ta da – cuối cùng cũng tới….

UPDAT 2020 : Bản 3.4 mới nhất tính tới thời điểm này dính thêm lỗi /tmp/zabbix_server_alerter.sock”: [13] Permission denied. nữa nha !

Oleksii Zagorskyi I can confirm that these rules are enough. I’ve prepared zabbix_server_add.te

Hướng dẫn cài đặt zabbix trên windows
file, which contains policies for 2 directories: /tmp and /var/run/zabbix (to be user friendly for older and newest .conf files). Also, a rule for “process setrlimit” included here, which should be included to CentOS 7.4 (as I’ve understood). To apply it, download and execute:

yum install net-tools

0

Cách FIX : https://support.zabbix.com/browse/ZBX-12567

LỖI : Zabbix server is not running: the information displayed may not be current

Vì sao mình Không chạy Fix ngay trên kia để mọi người Không phải gặp lỗi này LOL

Hướng dẫn cài đặt zabbix trên windows
Lỗi thần thánh hầu như ai cài Zabbix cũng gặp!

Lý do là mình muốn phân nó ra 1 phần riêng vì có rất nhiều bạn gặp phải lỗi này , các bạn có thể google và search sẽ được 1 vài cách xử lý như sau tuy nhiên hầu hết không hiệu quả :

  1. Đổi DNS name thành IP trong zabbix.conf.php (LINK)

yum install net-tools

1

2. Disabled selinux (LINK)

…..

Viết xíu thôi còn nhiều cách lắm tuy nhiên tới đây thì mình chốt luôn cách chạy 100% nhé ! (với các bạn đã làm theo hướng dẫn ở trên , các nguồn khác thì không có cơ hội để test)

Đầu tiên phải biết lỗi do đâu nhỉ ?

Vi tập 5 nhé :

vi /var/log/zabbix/zabbix_server.log

Lỗi : Cannot bind socket to “/var/run/zabbix/zabbix_server_preprocessing.sock”: [13] Permission denied.