หน้าแรก›บทความ

บล็อก SRE playbook กับวิธีอ่าน access.log ของ วรกานต์ อินทรเดช

ว
วรกานต์ อินทรเดชSysAdmin 9 ปี · เทสเว็บสล็อตจากฝั่งเซิร์ฟเวอร์ · อัปเดต ก.ย. 2569

หน้าแรกของผมเปรียบเหมือน dashboard ปลายทาง อ่านจบในหนึ่งนาที ส่วน บล็อกคือ raw log ตัวเต็มสำหรับคนอยาก drill-down ว่าตัวเลขช่องไหนมา จาก event ใด ผ่าน check ใดบ้างก่อนขึ้นมาวาด

ผู้อ่านเว็บสล็อตมีสองสายแบบเดียวกับคนดู dashboard สายแรกอยาก เห็นแค่ตัว metric สุดท้าย อย่างคะแนนรวมแปดจุดศูนย์ อ่านปิดได้ ภายในสิบวินาที สายที่สองอยากเห็นว่า query อะไรไปดึง event อะไร แล้วรวมเป็น metric ตัวนั้น บล็อกของผมตั้งขึ้นสำหรับสายที่สอง เพราะการใส่รายละเอียดระดับนี้ลงหน้าแรกจะชน SLA ด้าน readability ที่ผมตั้งไว้ว่าหนึ่งหน้าต้องอ่านจบใน 90 วินาที

โพสต์ส่วนใหญ่พูดเรื่อง process ไม่ใช่ผลลัพธ์ เช่น ทำไมผมถึงแยก เครื่องของการทดสอบออกจากเครื่องทำงานจริง ทำไมถึงใช้ 48 เกม 500 สปิน บน server-side probe 7 รอบ เป็น baseline ของชุดข้อมูล ทำไม ถึงต้อง rotate log ทุกวันอาทิตย์ตีสามโดยไม่ขึ้นกับขนาดไฟล์ เรื่อง พวกนี้ไม่หวือหวา แต่ช่วยให้คนที่อยาก run playbook ของตัวเองไม่เจอ pitfall ซ้ำกับที่ผมเคยพลาดมาตอนปีแรกของอาชีพ

หัวข้อที่โพสต์ของผมวนกลับมาคุยบ่อย

schema ของ log ก่อนรันยูนิตเทส ผมล็อกชื่อฟิลด์ครบก่อน systemctl start ของเซอร์วิส ช่องที่ต้องมีคือ game_id, round_id, mode, bet_amount, spin_latency_ms, feature_hit, status_code, error_code, started_at, ended_at และ note ผังที่ตายตัวทำให้ ทุก snapshot เทียบกันได้ ไม่มี field ใหม่งอกกลางทางเพื่อให้ตัวเลข ของผมสวยกว่าความจริง

เครื่องมือจริงมีสามอย่าง curl, python ที่ parse JSON กับ sqlite ตัวเล็กที่เก็บผลยิง ระหว่างยิงผมใช้ curl เพราะกินทรัพยากรน้อย ที่สุด เมื่อ cron จบ job จะยก record ลง sqlite แล้วให้สคริปต์ python รวม p50 p95 p99 ถ้ามีค่าที่หลุด bound ของ SLO จะเตือน ไปที่ไลน์กลุ่มของตัวเองก่อนที่ผมจะมาเปิดดู

การจับเวลาฝากถอน ผมจดเวลาตั้งแต่กดยืนยันจนยอดเข้าบัญชี ฝาก PromptPay QR 23 วินาที ถอนเข้ากสิกรไทย 2 นาที 5 วินาที รอบ นานสุดคือถอนเข้ากรุงไทย 3 นาที 32 วินาที ตัวเลขเก็บจาก log 60 วัน ไม่ใช่ตัวอย่างชอตเดียว

จังหวะการทำงานของผม เล่นหลังเลิกงานไม่เกินวันละหนึ่งชั่วโมง แล้ว ใช้อีกยี่สิบนาที rotate log กับเขียน note วันอาทิตย์ตีสามจะ ปิดงวดของสัปดาห์ รวม metric แยกตามหมวดค่าใช้จ่าย ถ้ายอดเกิน งบที่ตั้งไว้ สัปดาห์ถัดไปจะลดเวลายิง probe ก่อนเขียนรีวิวใหม่