การติดตั้ง Zabbix Server ด้วย Docker บน Ubuntu หรือระบบที่ใช้ Debian เป็นวิธีที่จัดการง่ายและรวดเร็วที่สุดครับ เพราะเราไม่ต้องมานั่งแก้ Config ของ Apache หรือ PHP บนเครื่องโดยตรง ทุกอย่างจะรันอยู่ใน Container แยกกัน
นี่คือขั้นตอนแบบ Step-by-step สำหรับปี 2026 ครับ
1. เตรียมความพร้อม (Prerequisites)
ก่อนเริ่ม ตรวจสอบให้แน่ใจว่าเครื่องของคุณลง Docker และ Docker Compose เรียบร้อยแล้ว หากยังไม่ได้ลง ให้ใช้คำสั่งนี้ครับ:
Bash
sudo apt update
sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable --now docker
2. สร้าง Directory และไฟล์ Docker Compose
เราจะใช้ PostgreSQL เป็น Database และ Nginx เป็น Web Server ครับ
- สร้าง Folder สำหรับเก็บข้อมูล:
mkdir zabbix-docker && cd zabbix-docker - สร้างไฟล์
docker-compose.yaml: nano docker-compose.yaml
คัดลอก Code ด้านล่างนี้ไปวาง (นี่คือตัวอย่าง Configuration พื้นฐานที่เสถียร):
YAML
services:
zabbix-db:
image: postgres:16-alpine
volumes:
- ./zbx_db_data:/var/lib/postgresql/data:rw
env_file:
- .env_vars
restart: always
zabbix-server:
image: zabbix/zabbix-server-pgsql:ubuntu-6.4-latest
ports:
- "10051:10051"
volumes:
- ./zbx_snmptraps:/var/lib/zabbix/snmptraps:rw
env_file:
- .env_vars
depends_on:
- zabbix-db
restart: always
zabbix-web:
image: zabbix/zabbix-web-nginx-pgsql:ubuntu-6.4-latest
ports:
- "8080:8080"
env_file:
- .env_vars
depends_on:
- zabbix-db
- zabbix-server
restart: always
3. ตั้งค่า Environment Variables
เพื่อความปลอดภัย เราจะไม่เขียน Password ลงในไฟล์ compose โดยตรง ให้สร้างไฟล์ .env_vars: nano .env_vars
ใส่ค่าเหล่านี้ลงไป (เปลี่ยนรหัสผ่านตามต้องการ):
Plaintext
DB_SERVER_HOST=zabbix-db
POSTGRES_USER=zabbix
POSTGRES_PASSWORD=your_password_here
POSTGRES_DB=zabbix
ZBX_SERVER_HOST=zabbix-server
PHP_TZ=Asia/Bangkok
4. สั่งรันระบบ
เมื่อเตรียมไฟล์เสร็จแล้ว ให้สั่งให้ Docker ทำงาน:
Bash
sudo docker compose up -d
รอสักครู่เพื่อให้ Container ดึง Image และ Setup ฐานข้อมูลครั้งแรก คุณสามารถตรวจสอบสถานะได้ด้วยคำสั่ง sudo docker compose ps
5. เข้าใช้งานผ่าน Web Browser
เปิด Browser แล้วไปที่: http://IP-เครื่อง-ของคุณ:8080
- Username มาตรฐาน:
Admin (A ตัวใหญ่) - Password มาตรฐาน:
zabbix
Note: อย่าลืมเปลี่ยนรหัสผ่านทันทีหลังจาก Login ครั้งแรกเพื่อความปลอดภัยครับ!
สรุปคำสั่งที่สำคัญ
- ดู Log:
sudo docker compose logs -f - หยุดการทำงาน:
sudo docker compose down - อัปเดต Zabbix:
sudo docker compose pull && sudo docker compose up -d
คุณต้องการให้ผมช่วยเขียนสคริปต์สำหรับติดตั้ง Zabbix Agent บนเครื่องลูกข่าย (Client) เพื่อเริ่ม Monitor เลยไหมครับ?