ระบบตรวจสอบสถานะการทำงานของแพลตฟอร์ม
แพลตฟอร์มนี้มาพร้อมกับชุดซอฟต์แวร์ระบบตรวจสอบสถานะการทำงาน (observability stack) ซึ่งรวบรวมข้อมูลชี้วัด (metrics) ล็อก (logs) และประวัติการทำงาน (traces) แบบติดตั้งภายในระบบตัวเอง (self-hosted) พร้อมทั้งมีการแยกส่วนข้อมูลเป็นรายผู้เช่าในระดับองค์กรอย่างสมบูรณ์ ทุกส่วนประกอบทำงานอยู่ภายในคลัสเตอร์ของคุณเองโดยไม่มีการส่งข้อมูลการวัดระยะไกล (telemetry) ใด ๆ ออกไปยังระบบคลาวด์ภายนอก หน้านี้จะครอบคลุมขั้นตอนการบริหารจัดการชุดซอฟต์แวร์ดังกล่าว สำหรับผู้ดูแลระบบที่ต้องการศึกษาเรื่องการเข้าใช้งานแดชบอร์ด โปรดดูคู่มือ ระบบตรวจสอบสถานะการทำงาน (Observability) แทน
เอกสารนี้เหมาะสำหรับใคร
วิศวกรแพลตฟอร์ม (platform engineer) ที่ทำหน้าที่บริหารจัดการระบบหลังบ้านของการวัดระยะไกล เช่น ระยะเวลาจัดเก็บข้อมูล ที่จัดเก็บข้อมูล และการแยกส่วนข้อมูล
รายละเอียดส่วนประกอบในชุดซอฟต์แวร์
ชุดซอฟต์แวร์ระบบติดตั้งในตัวจะคอยประมวลผลข้อมูลแต่ละประเภทดังนี้
- ข้อมูลชี้วัด (Metrics): ปริมาณการใช้งาน token และยอดใช้จ่าย USD, อัตราตรวจพบข้อมูลในแคช และประสิทธิภาพความพร้อมทำงานของการร้องขอ
- ล็อก (Logs): ไฟล์บันทึกการทำงานของ gateway และแพลตฟอร์ม
- ประวัติการทำงาน (Traces): ข้อมูลประวัติการร้องขอเพื่อนำไปใช้ในการวิเคราะห์ปัญหาเชิงลึก
- ตัวเก็บรวบรวมข้อมูล (Collector): ทำหน้าที่ดึงข้อมูลจาก gateway และคอยเก็บรวบรวมล็อก พร้อมทั้งระบุป้ายกำกับของแต่ละเรกคอร์ดตามผู้เช่าที่เป็นเจ้าของข้อมูลนั้น ๆ
- Grafana: ทำหน้าที่แสดงผลแดชบอร์ดตามที่เขียนกำหนดค่าไว้
observability:
enabled: true
storage: local # local volume สำหรับ standalone หรือ object storage สำหรับ HA ที่เข้ากันได้กับ S3ระยะเวลาการจัดเก็บข้อมูล (Retention)
ระยะเวลาจัดเก็บข้อมูลจะถูกกำหนดแยกตามประเภทของข้อมูล โดยมีค่าเริ่มต้นที่เหมาะสมสำหรับการรันระบบภายในองค์กรเป็นระยะเวลานานดังนี้
observability:
metricsRetention: "8760h" # 365 วัน — เก็บสถิติใช้งานสำหรับรายงานค่าใช้จ่ายระยะยาว
logsRetention: "4320h" # 180 วัน
tracesRetention: "2160h" # 90 วันข้อมูลชี้วัดเป็นตัวขับเคลื่อนรายงานค่าใช้จ่าย
แดชบอร์ดปริมาณการใช้งานและยอดค่าใช้จ่ายจะอ่านข้อมูลมาจากส่วน metrics ดังนั้นระยะเวลาการจัดเก็บข้อมูลชี้วัดจึงได้รับการตั้งค่าให้เก็บรักษาได้ยาวนานที่สุดตามค่าเริ่มต้น เพื่อใช้กำหนดขอบเขตย้อนหลังของประวัติการใช้งานและงบประมาณ
ระบบจัดเก็บข้อมูลส่วนหลัง (Storage backend)
- โหมด Standalone: ใช้งานค่ากำหนด
storage: localเป็นที่จัดเก็บข้อมูลในรูปแบบวอลุ่มภายในเครื่อง มีรูปแบบการทำงานที่เรียบง่ายและใช้เพียง 1 replica - โหมด High availability: ใช้งานค่ากำหนด
storage: objectเป็นที่จัดเก็บข้อมูลแบบวัตถุที่เข้ากันได้กับ S3 เพื่อช่วยให้ระบบหลังบ้านของการวัดระยะไกลสามารถใช้งานหลาย replica ได้ ควรตั้งค่านี้ควบคู่กับ ระบบความพร้อมใช้งานสูง (High availability)
การแยกส่วนข้อมูลเป็นรายองค์กร
ข้อมูลการวัดระยะไกลของแต่ละองค์กรจะถูกจัดเก็บแยกไว้ในขอบเขตผู้เช่าที่เป็นเอกเทศ (isolated tenant) และแดชบอร์ดจะถูกกำหนดขีดความสามารถการมองเห็นตามระดับองค์กรของผู้รับชมเท่านั้น โครงสร้างการจัดเก็บข้อมูลในลักษณะนี้ช่วยรักษาสิทธิความเป็นส่วนตัวของข้อมูลระบบผู้เช่าได้อย่างสมบูรณ์ โดยระยะเวลาการจัดเก็บข้อมูลชี้วัด ล็อก และประวัติการทำงานจะถูกกำหนดโดยวิศวกรระบบแพลตฟอร์ม ดูรายละเอียดเพิ่มเติมได้ที่ ระบบตรวจสอบสถานะการทำงานของแพลตฟอร์ม
ระบบการแยกส่วนข้อมูลนี้จำเป็นต้องเปิดใช้งาน control plane ควบคู่ไปด้วยเนื่องจากทำหน้าที่ระบุขอบเขตองค์กรของผู้เรียกใช้งาน หากไม่มีระบบดังกล่าว ชุดซอฟต์แวร์นี้จะทำงานในรูปแบบผู้เช่าเดี่ยว (single-tenant)
การแยกส่วนระบบเครือข่าย
observability:
networkPolicy:
enabled: true # ค่าเริ่มต้น: ปฏิเสธการเข้าถึงทั้งหมด และอนุญาตเฉพาะ auth proxy เท่านั้นที่เข้าถึงระบบหลังบ้านของการวัดระยะไกลได้ระบบส่วนหลังจะถูกปิดกั้นเพื่อให้เข้าถึงได้เฉพาะผ่านทาง proxy ที่ทำหน้าที่ยืนยันตัวตนเท่านั้น เพื่อป้องกันการเข้าถึงระบบโดยตรงภายนอกขอบเขตสิทธิ์การใช้งาน
นโยบาย NetworkPolicy จำเป็นต้องทำงานร่วมกับ CNI ที่รองรับการบังคับใช้จริง
มาตรการป้องกันความปลอดภัยนี้ต้องพึ่งพา CNI ที่มีระบบบังคับใช้กฎ NetworkPolicy สำหรับ CNI ขนาดเล็ก เช่น k3d หรือ flannel จะละเลยกฎข้อจำกัดนี้ ซึ่งแพลตฟอร์มยังคงทำงานได้ปกติแต่ระบบจะไม่มีการแยกส่วนการเชื่อมต่อในระดับเครือข่าย โปรดเลือกใช้งาน CNI ที่มีการบังคับใช้กฎในระบบใช้งานจริง
การเข้าถึงแดชบอร์ด
วิศวกรแพลตฟอร์มสามารถเข้าใช้งาน Grafana ได้โดยตรงที่ URL grafana.your-domain ซึ่งจะถูกคัดกรองความปลอดภัยด้วยระบบ SSO และจำกัดให้เข้าถึงเฉพาะกลุ่มผู้ดูแลระบบแพลตฟอร์มเท่านั้น สำหรับผู้ใช้งานทั่วไปในระดับองค์กรสามารถตรวจสอบข้อมูลการวัดระยะไกลเฉพาะส่วนของตนเองได้ผ่านทาง console แทนการเข้าใช้งาน Grafana ดูรายละเอียดเพิ่มเติมได้ที่ ระบบตรวจสอบสถานะการทำงาน (Observability)
ขั้นตอนต่อไป
- ระบบตรวจสอบสถานะการทำงาน (Observability) — หน้าจอการแสดงผลข้อมูลที่ผู้ดูแลระบบและสมาชิกเข้าใช้งาน
- ระบบความพร้อมใช้งานสูง (High availability) — รายละเอียดระบบการจัดเก็บข้อมูลแบบวัตถุและ replicas
- การเสริมสร้างความปลอดภัย (Hardening) — รายละเอียดนโยบายการเชื่อมต่อระดับเครือข่ายและการแยกส่วนข้อมูล