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)
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)… Giao diện ZabbixTì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 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 rootIII. 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 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 Để 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 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 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 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ị! Dấu ; ở trước khiến giá trị biến bị coi như chú thích và sẽ tạo lỗi sau nàySau 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 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 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 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 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 😉 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) 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 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 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 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 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 Tiếp theo chạy 2 lệnh : netstat -plntu 8 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é 😉 Click Next Step 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é ! 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 Tiếp theo khai báo hostname rồi bấm Next step Bước cuồi confirm lại các thông tin rồi bấm Next step Cuộc đời nở hoa ! – bấm FinishMàn hình đăng nhập vào Zabbix như bên dưới: Login with default user ‘admin‘ and password ‘zabbix‘. ahihiTa 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 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 currentVì 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 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ả :
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. |