สร้างระบบ Observability ด้วย Prometheus และ Grafana

สร้างระบบ Observability ด้วย Prometheus และ Grafana

เมื่อระบบล่มหรือช้า คำถามแรกคือรู้ได้อย่างไรและรู้เร็วแค่ไหน องค์กรจำนวนมากยังรู้ปัญหาจากการที่ลูกค้าโทรมาแจ้ง ไม่ใช่จากระบบเฝ้าระวังของตนเอง Prometheus และ Grafana เป็นชุดเครื่องมือมาตรฐานแบบโอเพนซอร์สที่ทีม DevOps และ SRE ทั่วโลกใช้เก็บ Metric แสดงผลเป็น Dashboard และแจ้งเตือนก่อนที่ผู้ใช้จะได้รับผลกระทบ หลักสูตรนี้พาผู้เรียนสร้างระบบ Observability ตั้งแต่ศูนย์ ครอบคลุมการติดตั้ง Prometheus และการเก็บ Metric จากเซิร์ฟเวอร์ คอนเทนเนอร์ ฐานข้อมูล และแอปพลิเคชันด้วย Exporter การเขียน PromQL เพื่อค้นหาและคำนวณค่า การออกแบบ Dashboard ที่อ่านง่ายด้วย Grafana การตั้งกฎแจ้งเตือนที่ไม่รบกวนเกินจำเป็นด้วย Alertmanager ไปจนถึงการเก็บข้อมูลระยะยาวและการต่อยอดสู่ Log และ Trace ทุกหัวข้อลงมือทำจริงบนเครื่อง Lab (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สาขากรุงเทพฯ (ลาดพร้าว)
  • ยังไม่มีรอบเปิดอบรม (ลงชื่อจองไว้ได้)
  • เข้าใจแนวคิด Observability และความต่างระหว่าง Metric, Log และ Trace
  • ติดตั้งและตั้งค่า Prometheus พร้อมเข้าใจสถาปัตยกรรมการทำงานแบบ Pull
  • เก็บ Metric จากเซิร์ฟเวอร์ คอนเทนเนอร์ และฐานข้อมูลด้วย Exporter ต่าง ๆ
  • ตั้งค่า Service Discovery ให้ระบบค้นหาเป้าหมายที่ต้องเฝ้าระวังอัตโนมัติ
  • เขียน PromQL เพื่อค้นหา คำนวณอัตรา และสรุปข้อมูล Metric
  • ออกแบบ Dashboard ด้วย Grafana ให้อ่านง่ายและสื่อสารกับทีมได้
  • ฝัง Metric ในแอปพลิเคชันของตนเองและเฝ้าระวังตามหลัก Four Golden Signals
  • ตั้งกฎแจ้งเตือนและจัดการการแจ้งเตือนด้วย Alertmanager อย่างมีประสิทธิภาพ
  • วางแผนการเก็บข้อมูลระยะยาวและต่อยอดสู่การเก็บ Log และ Trace
  • DevOps Engineer และ Site Reliability Engineer ที่ต้องดูแลความเสถียรของระบบ
  • ผู้ดูแลระบบและทีม Infrastructure ที่ต้องการระบบเฝ้าระวังที่ใช้งานได้จริง
  • นักพัฒนาที่ต้องการเข้าใจพฤติกรรมและประสิทธิภาพของแอปพลิเคชันบน Production
  • ทีมที่ใช้ Docker และ Kubernetes และต้องการเฝ้าระวังคอนเทนเนอร์
  • หัวหน้าทีมเทคนิคที่ต้องการวางระบบแจ้งเตือนและตัวชี้วัดความพร้อมใช้งาน
  • ใช้งาน Linux ในระดับคำสั่งพื้นฐานได้ (แนะนำผ่านหลักสูตร Linux Administration มาก่อน)
  • เข้าใจแนวคิดเครือข่ายพื้นฐาน เช่น พอร์ต HTTP และ DNS
  • หากเคยใช้ Docker มาบ้างจะช่วยให้ทำ Lab ได้ราบรื่นขึ้น
  • ไม่จำเป็นต้องเขียนโปรแกรมเป็น แต่ควรอ่านไฟล์ตั้งค่า YAML ได้
  • 18 ชั่วโมง
  • ราคาปกติ 10,500 บาท / คน
  • โปรโมชั่นลด 10% เหลือ 9,450 บาท / คน
  • ราคาเหมาจ่าย (ผู้อบรมตั้งแต่ 10 คน) ตามแต่ตกลงกัน
  • ขอใบเสนอราคา

รายละเอียดหลักสูตร

อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง รูปแบบบรรยายพร้อมปฏิบัติจริงบนเครื่อง Lab (Hands-on Lab) ทุกหัวข้อ ระดับ Intermediate ผู้เรียนจะได้ Lab Guide, ไฟล์ตั้งค่า Prometheus และ Alertmanager, Dashboard ตัวอย่างสำหรับ Grafana และชุด PromQL ที่ใช้บ่อย กลับไปใช้งานจริง เครื่องมือทั้งหมดเป็นโอเพนซอร์สที่นำไปติดตั้งในองค์กรได้โดยไม่มีค่าลิขสิทธิ์

Day 1: พื้นฐาน Prometheus และการเก็บ Metric

Section 1: แนวคิด Observability และ Monitoring

  • ความต่างระหว่าง Monitoring และ Observability และเหตุผลที่องค์กรต้องมีทั้งสองอย่าง
  • สามเสาหลักของ Observability: Metric, Log และ Trace และการเลือกใช้ให้เหมาะกับปัญหา
  • ตัวชี้วัดสำคัญ: Four Golden Signals และแนวคิด SLI, SLO และ Error Budget
  • ภาพรวมสถาปัตยกรรม Prometheus, Grafana และ Alertmanager ที่ทำงานร่วมกัน

Section 2: การติดตั้งและตั้งค่า Prometheus

  • สถาปัตยกรรมแบบ Pull และ Time Series Database ของ Prometheus
  • การติดตั้ง Prometheus ด้วย Docker Compose และโครงสร้างไฟล์ prometheus.yml
  • แนวคิด Metric, Label และ Time Series และการตั้งชื่อ Metric ที่ดี
  • Lab: ติดตั้ง Prometheus และเฝ้าระวังตัวมันเองเป็นเป้าหมายแรก

Section 3: การเก็บ Metric ด้วย Exporter

  • การเก็บ Metric ของเซิร์ฟเวอร์ด้วย Node Exporter (CPU, Memory, Disk, Network)
  • การเฝ้าระวังคอนเทนเนอร์ด้วย cAdvisor และการเก็บ Metric ของฐานข้อมูลและเว็บเซิร์ฟเวอร์
  • ชนิดของ Metric: Counter, Gauge, Histogram และ Summary และการเลือกใช้
  • Lab: ติดตั้ง Exporter หลายตัวและตรวจสอบว่า Prometheus เก็บข้อมูลได้ครบ

Section 4: Service Discovery และการจัดการเป้าหมาย

  • การกำหนดเป้าหมายแบบ Static และข้อจำกัดเมื่อระบบขยายตัว
  • Service Discovery จากไฟล์ DNS และคลาวด์ และการใช้กับ Kubernetes
  • การใช้ Relabeling เพื่อจัดระเบียบ Label และคัดกรองเป้าหมาย
  • Lab: ตั้งค่า Service Discovery ให้เป้าหมายใหม่ถูกเฝ้าระวังอัตโนมัติ

Day 2: PromQL และ Grafana Dashboard

Section 5: ภาษา PromQL เบื้องต้น

  • การเลือกข้อมูลด้วย Selector และการกรองด้วย Label Matcher
  • ฟังก์ชันที่ใช้บ่อย: rate, increase, sum, avg, max และการใช้ by และ without
  • การคำนวณ Percentile จาก Histogram และการหาค่าที่ผิดปกติ
  • Lab: เขียน PromQL ตอบคำถามจริง เช่น อัตราการเกิดข้อผิดพลาดและการใช้ทรัพยากร

Section 6: Grafana และการสร้าง Dashboard

  • การติดตั้ง Grafana และการเชื่อมต่อ Prometheus เป็น Data Source
  • ชนิดของ Panel และการเลือกกราฟให้เหมาะกับข้อมูลแต่ละแบบ
  • การใช้ตัวแปร (Variable) ทำ Dashboard ที่เลือกเซิร์ฟเวอร์หรือบริการได้
  • Lab: สร้าง Dashboard เฝ้าระวังเซิร์ฟเวอร์และคอนเทนเนอร์ของตนเอง

Section 7: การออกแบบ Dashboard ที่ใช้งานได้จริง

  • หลักการออกแบบ Dashboard ให้อ่านแล้วรู้ทันทีว่าระบบปกติหรือมีปัญหา
  • การจัดกลุ่มข้อมูลตามผู้ใช้งาน: Dashboard สำหรับผู้บริหาร ทีม Ops และนักพัฒนา
  • การนำเข้า Dashboard สำเร็จรูปจากชุมชนและการปรับให้เหมาะกับองค์กร
  • Lab: ปรับปรุง Dashboard ให้สื่อสารสถานะระบบได้ในหน้าจอเดียว

Section 8: การเฝ้าระวังแอปพลิเคชัน

  • การฝัง Metric ในแอปพลิเคชันด้วย Client Library และการเปิด Endpoint ให้ Prometheus ดึง
  • การวัดตามหลัก Four Golden Signals: Latency, Traffic, Errors และ Saturation
  • การเฝ้าระวังจากภายนอกด้วย Blackbox Exporter เพื่อจำลองมุมมองผู้ใช้
  • Lab: เพิ่ม Metric ในแอปพลิเคชันตัวอย่างและสร้าง Dashboard ติดตามผล

Day 3: Alerting การเก็บข้อมูล และ Capstone

Section 9: การตั้งกฎแจ้งเตือน (Alerting Rules)

  • การเขียน Alerting Rule ด้วย PromQL และการกำหนดระยะเวลา for ให้ไม่แจ้งเตือนพร่ำเพรื่อ
  • การจัดระดับความรุนแรงและการใส่ข้อมูลที่ทีมต้องใช้แก้ปัญหาไว้ในการแจ้งเตือน
  • แนวคิดการแจ้งเตือนตามอาการที่ผู้ใช้รู้สึก (Symptom-based Alerting)
  • Lab: เขียนกฎแจ้งเตือนสำหรับเซิร์ฟเวอร์และบริการที่เฝ้าระวังอยู่

Section 10: Alertmanager และการส่งการแจ้งเตือน

  • การติดตั้งและตั้งค่า Alertmanager และการเชื่อมกับ Prometheus
  • การจัดกลุ่ม (Grouping) การระงับ (Silence) และการยับยั้ง (Inhibition) เพื่อลดเสียงรบกวน
  • การส่งการแจ้งเตือนเข้าอีเมล, LINE, Slack หรือช่องทางขององค์กร
  • Lab: ตั้งค่าส่งการแจ้งเตือนเข้าช่องทางจริงและทดสอบสถานการณ์ระบบล่ม

Section 11: การเก็บข้อมูลระยะยาวและประสิทธิภาพ

  • การกำหนดระยะเวลาเก็บข้อมูลและการประเมินพื้นที่จัดเก็บที่ต้องใช้
  • แนวทางการเก็บข้อมูลระยะยาวและการทำ Federation เมื่อระบบขยายตัว
  • การปรับแต่งประสิทธิภาพ: ความถี่ในการดึงข้อมูล จำนวน Label และปัญหา Cardinality สูง
  • การสำรองข้อมูลและการดูแลระบบเฝ้าระวังให้พร้อมใช้งานเสมอ

Section 12: Log, Trace และ Capstone

  • การเก็บ Log ด้วย Loki และการดู Log ควบคู่กับ Metric ใน Grafana
  • แนวคิด Distributed Tracing และ OpenTelemetry สำหรับตามรอยคำขอข้ามบริการ
  • โจทย์รวบยอด: วางระบบ Observability ครบชุดสำหรับบริการหนึ่งตั้งแต่เก็บ Metric ถึงแจ้งเตือน
  • Workshop: นำเสนอ Dashboard และกฎแจ้งเตือนที่ออกแบบ พร้อมรับ Feedback

คอร์ส สร้างระบบ Observability ด้วย Prometheus และ Grafana เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

ดูรายละเอียดกลุ่มเป้าหมายและพื้นฐานที่ต้องมีได้ในหัวข้อ "กลุ่มเป้าหมาย" และ "พื้นฐานที่ผู้เรียนต้องมี" บนหน้านี้ หากไม่แน่ใจว่าพื้นฐานพอหรือไม่ ปรึกษาทีมงานได้ฟรีทาง LINE @itgenius หรือโทร 02-570-8449

คอร์ส สร้างระบบ Observability ด้วย Prometheus และ Grafana ราคาเท่าไร ใช้เวลาเรียนกี่ชั่วโมง

ราคาปกติ 10,500 บาท (โปรโมชันปัจจุบันเหลือ 9,450 บาท) ใช้เวลาอบรม 18 ชั่วโมง ราคานี้รวมเอกสารประกอบการอบรม อาหารกลางวัน และอาหารว่างตลอดหลักสูตร

เรียนจบได้รับ Certificate หรือไม่

ได้รับ ผู้ผ่านการอบรมทุกท่านจะได้รับใบประกาศนียบัตร (Certificate of Completion) จากสถาบันไอทีจีเนียส

อบรมที่ไหน มีเรียนแบบออนไลน์หรือไม่

อบรมแบบ Onsite ที่สถาบันไอทีจีเนียส สาขาลาดพร้าววังหิน 68 กรุงเทพฯ และมีบริการจัดอบรมนอกสถานที่ (In-house Training) สำหรับองค์กร บางหลักสูตรมีเวอร์ชันเรียนออนไลน์ผ่าน GeniusHub ดูได้ที่เมนูคอร์สออนไลน์

ถ้าเรียนไม่ทันหรือขาดเรียน มีเรียนซ้ำ/เรียนชดเชยหรือไม่

มี ผู้เรียนสามารถแจ้งขอเรียนซ้ำ (repeat) ในรอบถัดไปของหลักสูตรเดียวกันได้ฟรีตามเงื่อนไขของสถาบัน ดูรายละเอียดที่หน้า "เรียนซ้ำฟรี" หรือสอบถามทีมงาน

สมัครเรียนหรือขอใบเสนอราคาในนามบริษัทได้อย่างไร

สมัครออนไลน์ได้จากแบบฟอร์มลงทะเบียนบนหน้านี้ หรือขอใบเสนอราคา (Quotation) ในนามนิติบุคคลได้ทันทีจากปุ่ม "ขอใบเสนอราคา" สอบถามเพิ่มเติมโทร 02-570-8449 หรือ LINE @itgenius