Zabbix คืออะไร และวิธีติดตั้งบน Cloud Server
Zabbix คือระบบเฝ้าระวังโอเพนซอร์สที่ติดตามได้ทั้งเซิร์ฟเวอร์ อุปกรณ์เครือข่าย ฐานข้อมูล และบริการต่าง ๆ พร้อมแจ้งเตือนก่อนที่ผู้ใช้จะรู้ตัวว่าระบบมีปัญหา
- หมวดหมู่
- Monitoring และ Observability
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- AGPLv3 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Zabbix คืออะไร
Zabbix เก็บค่าสถานะจากอุปกรณ์ที่ดูแลตามรอบ ทั้งการใช้ CPU หน่วยความจำ ดิสก์ ทราฟฟิกเครือข่าย และสถานะบริการ แล้วเปรียบเทียบกับเกณฑ์ที่ตั้งไว้เพื่อแจ้งเตือนเมื่อผิดปกติ
จุดแข็งคือความครอบคลุม รองรับตั้งแต่เซิร์ฟเวอร์ที่ติดตั้ง Agent ไปจนถึงสวิตช์และเราเตอร์ผ่าน SNMP รวมถึงการตรวจสอบเว็บและใบรับรอง SSL โดยไม่ต้องซื้อโมดูลเพิ่ม
สิ่งที่ต้องวางแผนคือฐานข้อมูล เพราะ Zabbix เขียนข้อมูลลงฐานตลอดเวลา เมื่อจำนวนอุปกรณ์เพิ่มขึ้น ฐานข้อมูลจะกลายเป็นคอขวด จึงควรใช้ดิสก์ NVMe และตั้งนโยบายเก็บข้อมูลย้อนหลังให้เหมาะสม
ความสามารถเด่นของ Zabbix
เฝ้าระวังได้ทุกอย่าง
เซิร์ฟเวอร์ผ่าน Agent อุปกรณ์เครือข่ายผ่าน SNMP ฐานข้อมูล เว็บไซต์ และใบรับรอง SSL
แจ้งเตือนหลายช่องทาง
ส่งเข้าอีเมล LINE Telegram หรือระบบ Ticket ขององค์กรได้ตามเงื่อนไขที่กำหนด
ค้นหาอุปกรณ์อัตโนมัติ
สแกนช่วงไอพีเพื่อเพิ่มอุปกรณ์ใหม่เข้าระบบเฝ้าระวังโดยไม่ต้องเพิ่มทีละเครื่อง
เทมเพลตสำเร็จรูป
มีเทมเพลตสำหรับ Linux, Windows, MySQL, Nginx และอุปกรณ์ยี่ห้อหลักให้ใช้ทันที
กราฟและแดชบอร์ด
ดูแนวโน้มย้อนหลังเพื่อวางแผนขยายระบบก่อนที่ทรัพยากรจะเต็ม
ก่อนติดตั้ง Zabbix ควรตอบให้ได้ว่าจะเฝ้าระวังอะไร
ระบบเฝ้าระวังที่ตั้งค่าโดยไม่วางแผนมักจบลงด้วยการแจ้งเตือนวันละหลายร้อยรายการจนทีมเลิกอ่าน ซึ่งอันตรายกว่าการไม่มีระบบเฝ้าระวังเลย เพราะเมื่อเกิดเหตุจริงการแจ้งเตือนนั้นจะจมอยู่ในกองข้อความที่ไม่มีใครดู
วิธีที่ใช้ได้จริงคือไล่จากสิ่งที่ผู้ใช้รู้สึกลงไปหาสาเหตุ เริ่มจากถามว่าถ้าบริการนี้ใช้งานไม่ได้ ผู้ใช้จะรู้ได้อย่างไร แล้วค่อยกำหนดตัวชี้วัดที่บอกอาการนั้นล่วงหน้า เช่น เว็บช้าลงก่อนจะล่ม ดิสก์เต็มก่อนจะเขียนข้อมูลไม่ได้
เมื่อจัดลำดับได้แล้วจึงเลือกว่าจะเก็บค่าอะไรจากแต่ละชั้น ซึ่งเป็นสิ่งที่กำหนดว่าเทมเพลตไหนควรผูกกับอุปกรณ์ไหน และเกณฑ์แจ้งเตือนควรตั้งที่เท่าไร
- ชั้นฮาร์ดแวร์และระบบปฏิบัติการ ทั้งการใช้ CPU หน่วยความจำ พื้นที่ดิสก์ และอุณหภูมิอุปกรณ์
- ชั้นบริการ เช่น เว็บเซิร์ฟเวอร์และฐานข้อมูลยังตอบสนองอยู่หรือไม่ และตอบช้าเพียงใด
- ชั้นแอปพลิเคชัน เช่น จำนวนคำขอที่ผิดพลาด ความยาวคิวงาน และเวลาประมวลผลของงานสำคัญ
- ชั้นประสบการณ์ผู้ใช้ เช่น เวลาโหลดหน้าเว็บจากภายนอกและวันหมดอายุของใบรับรอง
- ชั้นเครือข่าย เช่น ปริมาณทราฟฟิกและการสูญเสียแพ็กเก็ตของอุปกรณ์หลัก
ออกแบบการแจ้งเตือนให้ทีมยังอ่านอยู่หลังผ่านไปหกเดือน
การแจ้งเตือนที่ดีต้องบอกได้สามอย่างในข้อความเดียว คืออะไรผิดปกติ กระทบใคร และสิ่งแรกที่ควรทำคืออะไร ถ้าผู้รับต้องเปิดหลายหน้าจอเพื่อเข้าใจว่าเกิดอะไรขึ้น การแจ้งเตือนนั้นยังไม่พร้อมใช้งานจริง
แนวปฏิบัติที่ลดเสียงรบกวนได้มากที่สุดคือแยกระดับความรุนแรงให้ชัด แล้วส่งคนละช่องทางตามระดับ เรื่องที่ต้องลุกมาแก้กลางดึกส่งเข้าช่องทางที่ปลุกคนได้ ส่วนเรื่องที่รอเช้าได้ให้ไปรวมในสรุปรายวัน
อีกจุดที่ควรตั้งตั้งแต่ต้นคือเงื่อนไขเวลา ค่าที่กระโดดขึ้นชั่วขณะแล้วกลับเป็นปกติไม่ควรแจ้งเตือน ให้ตั้งว่าต้องผิดปกติต่อเนื่องกี่นาทีจึงถือว่าเป็นเหตุจริง วิธีนี้ตัดการแจ้งเตือนลวงออกไปได้เกือบทั้งหมด
- ระดับวิกฤต กระทบผู้ใช้แล้ว ต้องแจ้งทันทีทุกช่วงเวลา
- ระดับเตือน มีแนวโน้มจะกระทบ เช่น ดิสก์เหลือน้อยกว่า 20 เปอร์เซ็นต์ ให้แจ้งในเวลาทำการ
- ระดับข้อมูล เก็บไว้ดูแนวโน้มและวางแผนขยายระบบ ไม่ต้องแจ้งเตือน
- กำหนดผู้รับผิดชอบต่อบริการ เพื่อให้การแจ้งเตือนถึงคนที่แก้ได้จริง
- ทบทวนรายการที่แจ้งเตือนบ่อยทุกไตรมาส เพื่อแก้ต้นเหตุหรือปรับเกณฑ์ให้เหมาะ
ใช้ Zabbix ทำอะไรได้บ้าง
- องค์กรที่ต้องเฝ้าระวังเซิร์ฟเวอร์และอุปกรณ์เครือข่ายจำนวนมากจากศูนย์เดียว
- ผู้ให้บริการที่ต้องรายงาน SLA และเวลาที่ระบบใช้งานได้
- หน่วยงานที่ต้องมีระบบเฝ้าระวังตามข้อกำหนดด้านความมั่นคงปลอดภัย
- ทีมไอทีที่อยากรู้ปัญหาก่อนที่ผู้ใช้จะโทรมาแจ้ง
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นเฝ้าระวังไม่เกิน 50 อุปกรณ์ | 2 vCPU | 4 GB | NVMe 60 GB |
| แนะนำ50 ถึง 300 อุปกรณ์พร้อมเก็บข้อมูลย้อนหลัง | 4 vCPU | 8 GB | NVMe 200 GB |
| องค์กรใหญ่มากกว่า 300 อุปกรณ์ ควรแยกเครื่องฐานข้อมูลออกไป | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 500 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Zabbix บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- MySQL, MariaDB หรือ PostgreSQL สำหรับเก็บข้อมูล
- Nginx หรือ Apache พร้อม PHP สำหรับหน้าเว็บ
- ดิสก์ NVMe เพราะระบบเขียนข้อมูลตลอดเวลา
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
เพิ่มที่เก็บแพ็กเกจของ Zabbix
ตรวจเลขเวอร์ชันล่าสุดจากเว็บทางการก่อน แล้วแทนในลิงก์ด้านล่าง
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-2+ubuntu24.04_all.deb sudo apt update - 2
ติดตั้งเซิร์ฟเวอร์ หน้าเว็บ และ Agent
sudo apt -y install zabbix-server-mysql zabbix-frontend-php \ zabbix-nginx-conf zabbix-sql-scripts zabbix-agent mariadb-server - 3
สร้างฐานข้อมูลและนำเข้าโครงสร้าง
sudo mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" sudo mysql -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ChangeThisStrongPassword';" sudo mysql -e "GRANT ALL ON zabbix.* TO 'zabbix'@'localhost'; SET GLOBAL log_bin_trust_function_creators = 1;" zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix - 4
ตั้งรหัสผ่านฐานข้อมูลในไฟล์ตั้งค่า
แก้ /etc/zabbix/zabbix_server.conf ที่บรรทัด DBPassword แล้วเริ่มบริการ
sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm - 5
ตั้งค่าครั้งแรกผ่านหน้าเว็บ
เปิดหน้าเว็บของเซิร์ฟเวอร์แล้วทำตามตัวช่วย เข้าสู่ระบบครั้งแรกด้วยผู้ใช้ Admin และรหัสผ่าน zabbix จากนั้นเปลี่ยนรหัสผ่านทันที
- 6
ติดตั้ง Agent บนเครื่องที่ต้องการเฝ้าระวัง
sudo apt -y install zabbix-agent2 sudo sed -i "s/^Server=.*/Server=10.10.0.50/" /etc/zabbix/zabbix_agent2.conf sudo systemctl restart zabbix-agent2
ตั้งนโยบายเก็บข้อมูลย้อนหลังตั้งแต่แรก เช่น เก็บค่าดิบ 7 วันและค่าสรุป 1 ปี เพื่อไม่ให้ฐานข้อมูลโตจนควบคุมไม่ได้
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | หน้าเว็บของ Zabbix |
| 10051 | TCP | Zabbix Server รับข้อมูลจาก Agent |
| 10050 | TCP | Zabbix Agent บนเครื่องที่ถูกเฝ้าระวัง |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- เปลี่ยนรหัสผ่านผู้ใช้ Admin ทันทีหลังติดตั้ง
- ให้ Agent รับการเชื่อมต่อเฉพาะจากไอพีของ Zabbix Server
- เปิดการเข้ารหัสระหว่าง Server กับ Agent เมื่อข้ามเครือข่ายที่ไม่น่าเชื่อถือ
- จำกัดสิทธิ์ผู้ใช้ในระบบตามบทบาท ไม่ให้ทุกคนแก้เกณฑ์การแจ้งเตือนได้
- สำรองฐานข้อมูลและไฟล์ตั้งค่าตามรอบ
ทำไมควรรัน Zabbix บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ควรวางระบบเฝ้าระวังไว้คนละเครื่องกับระบบที่เฝ้าระวัง Cloud Server อีกเครื่องจึงเป็นทางเลือกที่ตรงและถูกที่สุด
เฝ้าระวังได้ทั้งเครื่องบนคลาวด์และเครื่องในสำนักงานผ่าน VPN Gateway ในระบบเดียว
ขยายดิสก์ได้เมื่อข้อมูลย้อนหลังสะสมมากขึ้น โดยไม่ต้องย้ายระบบ
คำถามที่พบบ่อยเกี่ยวกับ Zabbix
Zabbix ต่างจาก Grafana อย่างไร
Zabbix เป็นระบบเฝ้าระวังครบวงจร ทั้งเก็บข้อมูล ตั้งเกณฑ์ และแจ้งเตือน ส่วน Grafana เป็นเครื่องมือทำแดชบอร์ดที่ต้องมีแหล่งข้อมูลอื่นป้อนให้ หลายองค์กรใช้ Zabbix เก็บข้อมูลแล้วแสดงผลผ่าน Grafana
แจ้งเตือนเข้า LINE ได้ไหม
ได้ ตั้งเป็น Webhook ที่ยิงไปยัง LINE Notify หรือ Messaging API ตามที่องค์กรใช้ และกำหนดเงื่อนไขว่าจะแจ้งเฉพาะเหตุการณ์ระดับใด
เฝ้าระวังกี่เครื่องถึงต้องแยกเครื่องฐานข้อมูล
โดยทั่วไปเมื่อเกิน 300 อุปกรณ์หรือเริ่มเห็นว่าหน้าเว็บช้าและกราฟโหลดนาน นั่นคือสัญญาณว่าควรแยกฐานข้อมูลออกไปอีกเครื่องและใช้ดิสก์ NVMe
ทางเลือกอื่นที่คล้ายกับ Zabbix
แอปอื่นในหมวด Monitoring และ Observability
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Zabbix ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด