Server Monitoring ด้วย Zabbix: ติดตั้งและตั้งค่าระบบ Monitor ฟรี

Server Monitoring ด้วย Zabbix: ติดตั้งและตั้งค่าระบบ Monitor ฟรี

สวัสดีครับ! ใครที่ดูแลระบบเซิร์ฟเวอร์ คงเข้าใจดีว่าอาการ “เซิร์ฟเวอร์ร่อแร่” นี่มันน่าปวดหัวขนาดไหน ยิ่งถ้าเป็นช่วงพีคๆ ที่คนใช้งานเยอะๆ แล้วเกิดปัญหาขึ้นมาเนี่ย แทบจะลงไปคลุกฝุ่นแก้ปัญหาเลยทีเดียว ผมเองก็เคยเจอเคสที่ต้องวิ่งวุ่นกลางดึก เพราะระบบล่มตอนตีสามมาแล้ว เข้าใจความรู้สึกดีมากๆ

ปัญหาที่เจอบ่อยๆ คือ กว่าจะรู้ว่าเซิร์ฟเวอร์มีปัญหา ก็ตอนที่ผู้ใช้งานโทรมาแจ้งแล้ว ซึ่งนั่นหมายความว่าระบบเรา “ตาย” ไปพักใหญ่แล้ว กว่าจะหาสาเหตุ กว่าจะแก้ไขเสร็จ ลูกค้าก็บ่นกันระงม แถมยังเสียโอกาสทางธุรกิจอีกต่างหาก แล้วเราจะทำยังไงให้รู้ตัวก่อนที่ปัญหาจะบานปลาย? คำตอบคือ Server Monitoring ครับ!

วันนี้ผมจะมาแนะนำเครื่องมือที่ผมใช้เป็นประจำ นั่นก็คือ Zabbix ครับ เป็น Open Source Monitoring Solution ที่ฟรีและทรงพลังมากๆ เหมาะสำหรับองค์กรทุกขนาด ตั้งแต่เล็กๆ ไปจนถึงระดับ Enterprise เลยครับ เราจะมาดูกันตั้งแต่การติดตั้ง ไปจนถึงการตั้งค่าการแจ้งเตือนแบบง่ายๆ ให้คุณสามารถนำไปปรับใช้กับระบบของตัวเองได้เลย

ทำไมต้อง Zabbix? ทำไมไม่ใช้ตัวอื่น?

ในตลาดมี Monitoring Tools ให้เลือกใช้มากมาย ทั้งแบบฟรีและเสียเงิน แต่ทำไมผมถึงเลือก Zabbix? เหตุผลง่ายๆ คือ Zabbix ครอบคลุมความต้องการของผมได้เกือบทั้งหมด แถมยังใช้งานได้ฟรี ไม่มีค่าใช้จ่ายแอบแฝง (ยกเว้นค่าฮาร์ดแวร์และเวลาที่เราต้องเสียไปกับการดูแลรักษาระบบ) นอกจากนี้ Zabbix ยังมี Community ที่แข็งแกร่ง มีเอกสารและคู่มือให้ศึกษาเยอะแยะมากมาย ทำให้เราสามารถแก้ไขปัญหาต่างๆ ได้ง่ายขึ้น

ถ้าเทียบกับตัวเลือกอื่นๆ เช่น Nagios, Prometheus หรือ Grafana แต่ละตัวก็มีข้อดีข้อเสียแตกต่างกันไป แต่โดยรวมแล้ว Zabbix ค่อนข้างจะครบเครื่องกว่าในแง่ของการ Monitor Server และ Application ต่างๆ โดยไม่ต้องพึ่งพา Plugin หรือ Add-on มากนัก

เตรียมความพร้อมก่อนติดตั้ง Zabbix

ก่อนที่เราจะเริ่มติดตั้ง Zabbix กัน เราต้องเตรียมความพร้อมของ Server กันก่อนครับ โดย Zabbix จะประกอบไปด้วย 3 ส่วนหลักๆ คือ:

  • Zabbix Server: เป็นหัวใจหลักของระบบ ทำหน้าที่เก็บข้อมูล ประมวลผล และแจ้งเตือน
  • Zabbix Database: เป็นที่เก็บข้อมูลทั้งหมดของ Zabbix Server รองรับ MySQL/MariaDB, PostgreSQL, Oracle, และอื่นๆ
  • Zabbix Agent: เป็นโปรแกรมที่ติดตั้งบน Server ที่เราต้องการ Monitor ทำหน้าที่เก็บข้อมูลจาก Server แล้วส่งให้กับ Zabbix Server

สำหรับบทความนี้ ผมจะแนะนำการติดตั้ง Zabbix Server บน Ubuntu Server 20.04 โดยใช้ MariaDB เป็น Database นะครับ สเปคเครื่องที่แนะนำคือ CPU 2 Core, RAM 4 GB และ Storage 20 GB ขึ้นไป (เผื่อไว้เก็บ Log และข้อมูลอื่นๆ) ส่วน Zabbix Agent เราจะติดตั้งบน Server ที่เราต้องการ Monitor ทีหลังครับ

อย่าลืมอัพเดท Server ของคุณให้เป็นเวอร์ชั่นล่าสุดก่อนนะครับ ด้วยคำสั่ง sudo apt update && sudo apt upgrade

ขั้นตอนการติดตั้ง Zabbix Server บน Ubuntu 20.04

มาถึงขั้นตอนที่หลายคนรอคอย นั่นก็คือการติดตั้ง Zabbix Server ครับ ขั้นตอนอาจจะดูเยอะหน่อย แต่ไม่ต้องกังวลครับ ผมจะพยายามอธิบายให้ละเอียดที่สุด

  1. ติดตั้ง MariaDB Server: Zabbix ต้องการ Database ในการเก็บข้อมูล เราจะติดตั้ง MariaDB Server ด้วยคำสั่ง sudo apt install mariadb-server
  2. ตั้งค่า MariaDB: หลังจากติดตั้งเสร็จแล้ว เราต้องตั้งค่า MariaDB ให้ปลอดภัยก่อน ด้วยคำสั่ง sudo mysql_secure_installation แล้วตอบคำถามตามที่ระบบถาม
  3. สร้าง Database และ User สำหรับ Zabbix: เข้าสู่ MariaDB Shell ด้วยคำสั่ง sudo mysql -u root -p จากนั้นสร้าง Database และ User ด้วยคำสั่ง SQL ต่อไปนี้:
            CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
            CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_password';
            GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
            FLUSH PRIVILEGES;
            EXIT;
          

    อย่าลืมเปลี่ยน your_password เป็นรหัสผ่านที่คุณต้องการนะครับ

  4. ติดตั้ง Zabbix Repository: เพิ่ม Zabbix Repository เข้าไปในระบบด้วยคำสั่ง:
            wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+ubuntu20.04_all.deb
            sudo dpkg -i zabbix-release_5.0-1+ubuntu20.04_all.deb
            sudo apt update
          
  5. ติดตั้ง Zabbix Server, Frontend, และ Agent: ติดตั้ง Packages ที่จำเป็นด้วยคำสั่ง sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
  6. Import Zabbix Database: Import Schema เริ่มต้นของ Zabbix ด้วยคำสั่ง zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix (ใส่รหัสผ่านที่เราตั้งไว้ตอนสร้าง User)
  7. แก้ไข Zabbix Server Configuration: แก้ไขไฟล์ /etc/zabbix/zabbix_server.conf โดยแก้ไข Parameter ต่อไปนี้:
            DBHost=localhost
            DBName=zabbix
            DBUser=zabbix
            DBPassword=your_password
          

    อย่าลืมเปลี่ยน your_password เป็นรหัสผ่านที่เราตั้งไว้ตอนสร้าง User อีกครั้งนะครับ

  8. แก้ไข PHP Configuration: แก้ไขไฟล์ /etc/apache2/conf-available/zabbix.conf โดยแก้ไข Parameter ต่อไปนี้:
            php_value max_execution_time 300
            php_value memory_limit 128M
            php_value post_max_size 16M
            php_value upload_max_filesize 2M
            php_value max_input_time 300
            php_value always_populate_raw_post_data -1
            php_value date.timezone Asia/Bangkok
          

    อย่าลืมเปลี่ยน Asia/Bangkok เป็น Timezone ที่ถูกต้องของคุณ

  9. Restart Services: Restart Apache2, Zabbix Server, และ Zabbix Agent ด้วยคำสั่ง sudo systemctl restart apache2 zabbix-server zabbix-agent
  10. เปิดใช้งาน Zabbix Frontend: เปิด Browser แล้วเข้าไปที่ http://your_server_ip/zabbix เพื่อทำการติดตั้ง Zabbix Frontend ตามขั้นตอนที่ระบบแนะนำ

หลังจากติดตั้งเสร็จสิ้น คุณจะสามารถ Login เข้าสู่ Zabbix Frontend ด้วย Username Admin และ Password zabbix (อย่าลืมเปลี่ยน Password หลังจาก Login นะครับ)

ติดตั้ง Zabbix Agent บน Server ที่ต้องการ Monitor

หลังจากที่เราติดตั้ง Zabbix Server เรียบร้อยแล้ว ขั้นตอนต่อไปคือการติดตั้ง Zabbix Agent บน Server ที่เราต้องการ Monitor ครับ วิธีการติดตั้งก็ง่ายๆ ครับ

  1. ติดตั้ง Zabbix Agent: ติดตั้ง Zabbix Agent ด้วยคำสั่ง sudo apt install zabbix-agent
  2. แก้ไข Zabbix Agent Configuration: แก้ไขไฟล์ /etc/zabbix/zabbix_agentd.conf โดยแก้ไข Parameter ต่อไปนี้:
            Server=your_zabbix_server_ip
            ServerActive=your_zabbix_server_ip
            Hostname=your_server_hostname
          

    เปลี่ยน your_zabbix_server_ip เป็น IP Address ของ Zabbix Server ของคุณ และเปลี่ยน your_server_hostname เป็น Hostname ของ Server ที่คุณกำลังติดตั้ง Agent

  3. Restart Zabbix Agent: Restart Zabbix Agent ด้วยคำสั่ง sudo systemctl restart zabbix-agent

หลังจากติดตั้ง Agent เสร็จสิ้น ให้กลับไปที่ Zabbix Frontend แล้วเพิ่ม Host ใหม่ โดยใส่รายละเอียดของ Server ที่เราติดตั้ง Agent ลงไป

ตั้งค่าการแจ้งเตือน (Alert) เบื้องต้น

Zabbix มีระบบการแจ้งเตือนที่ยืดหยุ่นมากๆ เราสามารถตั้งค่าให้แจ้งเตือนได้หลากหลายช่องทาง เช่น Email, SMS, Slack, หรืออื่นๆ ในบทความนี้ ผมจะแนะนำการตั้งค่าการแจ้งเตือนผ่าน Email แบบง่ายๆ ครับ

  1. ตั้งค่า Media Type: ไปที่ Administration -> Media types แล้วสร้าง Media Type ใหม่ โดยเลือก Type เป็น Email แล้วใส่รายละเอียดของ Email Server ของคุณ เช่น SMTP Server, SMTP Port, และ Email Address
  2. ตั้งค่า User Media: ไปที่ Administration -> Users แล้วแก้ไข User ของคุณ โดยเพิ่ม Media Type ที่เราสร้างไว้ในข้อ 1 แล้วใส่ Email Address ที่ต้องการให้แจ้งเตือน
  3. สร้าง Action: ไปที่ Configuration -> Actions แล้วสร้าง Action ใหม่ โดยกำหนด Condition ที่ต้องการให้แจ้งเตือน เช่น CPU Utilization สูงเกิน 80% หรือ Disk Space เหลือน้อยกว่า 10% แล้วกำหนด Operation ให้ส่ง Email ไปยัง User ที่เราตั้งค่าไว้ในข้อ 2

หลังจากตั้งค่า Action เสร็จสิ้น Zabbix จะส่ง Email แจ้งเตือนเมื่อเกิดเหตุการณ์ตาม Condition ที่เรากำหนดไว้

Case Study: Zabbix ช่วยชีวิตบริษัท Startup

ผมเคยช่วยบริษัท Startup แห่งหนึ่งติดตั้ง Zabbix เพื่อ Monitor ระบบ Server ของพวกเขา ตอนนั้นบริษัทกำลังเติบโตอย่างรวดเร็ว และระบบ Server เริ่มมีปัญหาจุกจิกกวนใจอยู่เรื่อยๆ ทำให้ทีม Developer ต้องเสียเวลาไปกับการแก้ไขปัญหามากกว่าการพัฒนา Product ใหม่ๆ

หลังจากติดตั้ง Zabbix แล้ว ทีมงานสามารถ Monitor ประสิทธิภาพของ Server ได้อย่างละเอียด และสามารถแก้ไขปัญหาต่างๆ ได้อย่างรวดเร็ว ทำให้ลด Downtime ของระบบลงไปได้เยอะมาก นอกจากนี้ Zabbix ยังช่วยให้ทีมงานสามารถวางแผน Capacity Planning ได้อย่างแม่นยำ ทำให้บริษัทสามารถขยายระบบ Server ได้ทันตามความต้องการของธุรกิจ

ก่อนหน้านี้ พวกเขาเคยเจอปัญหา Database Server CPU พุ่ง 100% บ่อยมาก แต่ไม่รู้สาเหตุ พอติดตั้ง Zabbix แล้ว พบว่ามี Query บางตัวที่กิน CPU เยอะผิดปกติ ทีมงานเลยเข้าไปปรับปรุง Query เหล่านั้น ทำให้ปัญหา CPU พุ่งหายไปเลย

ตารางเปรียบเทียบ Zabbix กับ Monitoring Tools อื่นๆ

Feature Zabbix Nagios Prometheus Grafana
ติดตั้งและใช้งานง่าย ปานกลาง ยาก ปานกลาง ง่าย (แต่ต้องมี Data Source)
Agent-based Monitoring รองรับ รองรับ ไม่รองรับ (Push-based) ไม่รองรับ (Visualization Only)
SNMP Monitoring รองรับ รองรับ รองรับ (ต้องใช้ Exporter) รองรับ (ต้องมี Data Source)
Alerting ครอบคลุม ครอบคลุม ต้องใช้ Alertmanager ไม่รองรับ (Visualization Only)
Visualization ดี พื้นฐาน พื้นฐาน ดีมาก
Community Support แข็งแกร่ง แข็งแกร่ง แข็งแกร่ง แข็งแกร่ง
License GPL GPL Apache 2.0 Apache 2.0

Tips และข้อควรระวังในการใช้งาน Zabbix

  • วางแผนการ Monitor ให้ดี: ก่อนที่จะเริ่ม Monitor อะไรก็ตาม ให้วางแผนก่อนว่าจะ Monitor อะไรบ้าง และจะ Alert เมื่อไหร่ เพื่อป้องกันการแจ้งเตือนที่มากเกินไป (False Positive)
  • ปรับแต่ง Template ให้เหมาะสม: Zabbix มี Template ให้ใช้งานมากมาย แต่ละ Template อาจจะไม่เหมาะสมกับ Server ของคุณทั้งหมด ให้ปรับแต่ง Template ให้เหมาะสมกับความต้องการของคุณ
  • Monitor Zabbix Server เองด้วย: อย่าลืม Monitor Zabbix Server เองด้วย เพื่อให้มั่นใจว่าระบบ Monitoring ของคุณยังทำงานได้ปกติ
  • สำรองข้อมูล Zabbix Database เป็นประจำ: เพื่อป้องกันข้อมูลสูญหาย ให้สำรองข้อมูล Zabbix Database เป็นประจำ
  • อัพเดท Zabbix เป็นเวอร์ชั่นล่าสุด: เพื่อให้ได้รับ Feature ใหม่ๆ และ Patch ความปลอดภัยล่าสุด ให้อัพเดท Zabbix เป็นเวอร์ชั่นล่าสุดอยู่เสมอ

ทิ้งท้าย: ลงทุนกับ Monitoring คุ้มค่าแน่นอน

การลงทุนกับระบบ Monitoring อาจจะดูเหมือนเป็นค่าใช้จ่ายที่ไม่จำเป็น แต่ในระยะยาวแล้ว มันจะช่วยประหยัดค่าใช้จ่ายและเวลาได้เยอะมาก ลองคิดดูว่าถ้าคุณรู้ตัวว่า Server กำลังจะมีปัญหา ก่อนที่มันจะล่ม คุณจะสามารถแก้ไขปัญหาได้ทันท่วงที และป้องกันความเสียหายที่จะเกิดขึ้นได้

Zabbix เป็นเครื่องมือที่ฟรีและทรงพลัง ผมแนะนำให้ลองเอาไปปรับใช้กับระบบของคุณดูครับ รับรองว่าคุณจะไม่ผิดหวัง และถ้ามีคำถามอะไรเพิ่มเติม สามารถสอบถามเข้ามาได้เลยนะครับ ยินดีให้คำปรึกษาเสมอ

หวังว่าบทความนี้จะเป็นประโยชน์กับทุกคนนะครับ แล้วพบกันใหม่ในบทความหน้า สวัสดีครับ!

บทความโดย Siamlancard.com เว็บด้าน IT Infrastructure ระบบเครือข่าย เซิร์ฟเวอร์ อุปกรณ์ IT สำหรับองค์กร

จัดส่งรวดเร็วส่งด่วนทั่วประเทศ
รับประกันสินค้าเคลมง่าย มีใบรับประกัน
ผ่อนชำระได้บัตรเครดิต 0% สูงสุด 10 เดือน
สะสมแต้ม รับส่วนลดส่วนลดและคะแนนสะสม

© 2026 SiamLancard — จำหน่ายการ์ดแลน อุปกรณ์ Server และเครื่องพิมพ์ใบเสร็จ

SiamLancard
Logo
Free Forex EA Download — XM Signal · EA Forex ฟรี
iCafeForex.com - สอนเทรด Forex | SiamCafe.net
Shopping cart