DevOps

Workshop: ตั้งค่า Monitoring Dashboard สำหรับ Production Server บน de.co.th

เผยแพร่ · แก้ไขล่าสุด

Workshop นี้จะนำคุณผ่านกระบวนการตั้งค่าระบบ Monitoring Dashboard ที่ครบถ้วนสำหรับ Production Server บน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง คุณจะเรียนรู้วิธีติดตั้ง Prometheus สำหรับเก็บข้อมูล Metrics, ใช้ Grafana สร้าง Dashboard ที่สวยงาม และตั้งค่า AlertManager เพื่อแจ้งเตือนแบบ Real-time ผ่าน Slack หรือ Discord

เป้าหมายของ Workshop

  • ทำความเข้าใจหลักการ Monitoring และความสำคัญในระบบ Production
  • ติดตั้งและตั้งค่า Prometheus บน Cloud VPS
  • เชื่อมต่อ Node Exporter เพื่อรวบรวม Server Metrics
  • สร้าง Dashboard ด้วย Grafana แบบเข้าใจง่าย
  • ตั้งค่า Alert สำหรับการติดตามค่า CPU, Memory, Disk และ Network
  • เชื่อมต่อระบบแจ้งเตือน Slack/Discord สำหรับการแจ้งเตือน Real-time

Monitoring คืออะไร?

Monitoring หมายถึงการติดตามสถานะของระบบ Server อย่างต่อเนื่อง เพื่อรวบรวมข้อมูลเกี่ยวกับ Resources ต่างๆ เช่น CPU Usage, Memory Usage, Disk I/O, Network Traffic และอื่นๆ การ Monitoring ที่มีประสิทธิภาพช่วยให้ DevOps Engineer สามารถตรวจพบปัญหาก่อนที่จะเกิดผลกระทบต่อ Production Server และผู้ใช้งาน

ด้วยการติดตาม Metrics อย่างสม่ำเสมอ คุณจะสามารถ:

  • ตรวจพบปัญหาอย่างแม่นยำและรวดเร็ว
  • วิเคราะห์แนวโน้มการใช้งาน Resources
  • วางแผนการขยาย Infrastructure อย่างมีประสิทธิภาพ
  • ลดเวลา Downtime และปรับปรุง Availability

Metrics ที่จำเป็นสำหรับ Dashboard

  • CPU Usage: ความใช้งาน CPU ของ Server (เป็นเปอร์เซ็นต์)
  • Memory Usage: การใช้งาน RAM และ Swap Memory
  • Disk Usage: พื้นที่ใช้งานและพื้นที่ว่างบนดิสก์
  • Disk I/O: ความเร็วการอ่าน/เขียนข้อมูล (Read/Write)
  • Network Traffic: ปริมาณข้อมูลที่รับและส่ง (Bandwidth)
  • Response Time: เวลาที่ใช้ในการตอบสนองคำขอจากผู้ใช้
  • Uptime/Downtime: ระยะเวลาที่ Server ทำงานได้อย่างปกติ

ขั้นตอนที่ 1: ติดตั้ง Prometheus

Prometheus เป็น Time-Series Database ที่ออกแบบมาเพื่อเก็บข้อมูล Metrics ของระบบ ทำการติดตั้ง Prometheus บน Cloud VPS ของคุณ และตั้งค่า Scrape Configuration เพื่อเก็บข้อมูล Server Metrics จาก Node Exporter ทุก 15 วินาที

ขั้นตอนที่ 2: ติดตั้ง Node Exporter

Node Exporter เป็น Agent ที่ติดตั้งบน Server เพื่อเก็บรวบรวม System Metrics เช่น CPU, Memory, Disk และ Network ข้อมูลเหล่านี้จะถูกส่งไปยัง Prometheus เพื่อเก็บบันทึกและการวิเคราะห์

ขั้นตอนที่ 3: ตั้งค่า Grafana

Grafana เป็น Visualization Tool ที่มีประสิทธิภาพสำหรับแสดง Prometheus Data ในรูปแบบกราฟและ Dashboard ที่สวยงาม ทำให้ง่ายต่อการทำความเข้าใจเกี่ยวกับสถานะของระบบ

ขั้นตอนที่ 4: สร้าง Alert Rules

ตั้งค่า AlertManager เพื่อสร้าง Alert Rules ต่างๆ เช่น:

  • CPU Usage สูงกว่า 80%
  • Memory Usage สูงกว่า 85%
  • Disk Usage สูงกว่า 90%
  • Network ความผิดปกติหรือจำนวน Errors มากขึ้น

ขั้นตอนที่ 5: เชื่อมต่อ Slack/Discord Integration

เชื่อมต่อ AlertManager ไปยัง Slack Webhook หรือ Discord Channel เพื่อให้ Alert ถูกส่งไปยังทีมของคุณแบบ Real-time และสามารถตอบสนองต่อปัญหาได้อย่างรวดเร็ว

Components ของ Monitoring Stack

  • Prometheus: Time-Series Database สำหรับเก็บ Metrics
  • Node Exporter: Agent สำหรับส่ง Server Metrics ไป Prometheus
  • Grafana: Visualization Dashboard สำหรับแสดง Metrics
  • AlertManager: ส่ง Alert เมื่อ Metrics เกิด Anomaly
  • cAdvisor: Monitor Docker Container ทั้งหมด (ถ้าใช้ Docker)

สิ่งที่ต้องเตรียมก่อน Workshop

  • Cloud VPS บน ผู้ให้บริการโฮสติ้ง Cloud VPS (แนะนำ 2 Core CPU, 4GB RAM ขึ้นไป)
  • ความรู้พื้นฐานเกี่ยวกับ Linux/Server Administration
  • ความเข้าใจพื้นฐานเกี่ยวกับ Docker (หากต้องการ)
  • Slack หรือ Discord Account สำหรับการแจ้งเตือน

ตัวอย่าง Dashboard ที่จะสร้าง

ในระหว่าง Workshop คุณจะสร้าง Dashboard ที่สามารถแสดง:

  • CPU Usage ในรูปแบบ Graph และ Gauge
  • Memory Usage พร้อมแสดงทั้ง Used และ Available
  • Disk Usage แยกตามพาร์ติชันต่างๆ
  • Network Traffic (In/Out)
  • System Load Average
  • HTTP Response Time (หากเป็น Web Server)
  • ประสิทธิภาพสูงและ Uptime ที่น่าเชื่อถือ สำหรับการตั้ง Monitoring Stack
  • ทีมสนับสนุนทางเทคนิค 24/7 จาก ผู้ให้บริการโฮสติ้ง พร้อมช่วยเหลือ
  • สามารถปรับขนาด Resources ได้ง่าย เมื่อ Monitoring Stack เติบโต
  • ราคาเหมาะสมและมีความยืดหยุ่นสูง

Workshop นี้เหมาะสำหรับ DevOps Engineer, System Administrator และผู้ที่ต้องการเรียนรู้เกี่ยวกับการ Monitoring ระบบ Production อย่างมืออาชีพ