อะไรบ้างที่ควร Log
Dec 19, 2022
ผมพบว่าเวลามีคนมาบอกให้ทีมพัฒนา log ของในระบบหรือแอพพลิเคชันที่กำลังสร้าง เพื่อให้สามารถวิเคราะห์ปัญหาบน production ได้ เวลาระบบถูกใช้งาน บ่อยครั้งผมพบว่าทีมพัฒนาไม่รู้ว่าจะ log อะไรดี เพราะ ประสบการณ์สอนทีมพัฒนาซ้ำแล้วซ้ำเล่าว่า สิ่งที่ log ไว้จะไม่ได้ดู และสิ่งที่อยากดูจะไม่ได้ log
วันนี้ผมเอาของจากหนังสือ The DevOps Handbook มาแบ่งปันว่ามีอะไรบ้างที่นับว่าเป็น event สำคัญ ๆ ที่ควร log ไว้ เพื่อเราจะได้มีข้อมูลเพียงพอที่จะดูแลระบบ production
list ด้านล่างนี้ถูกรวบรวมโดย research VP ที่ Gartner’s GTP Security and Risk Management ชื่อ Anton A. Chuvakin นะครับ
- การตัดสินใจเกี่ยวกับ authentication และ authorization (รวมถึง logoff ด้วย)
- การเข้าถึงระบบและข้อมูล
- การเปลี่ยนแปลงในระบบและแอพพลิเคชันต่าง ๆ (โดยเฉพาะการเปลี่ยนแปลงที่เกิดขึ้นแบบพิเศษ) เช่น ตอน deploy หรือ upgrade OS ของเครื่อง
- การเปลี่ยนแปลงของข้อมูล เช่นการเพิ่ม, แก้ไข หรือลบ
- input ผิด ๆ (ซึ่งอาจจะกลายเป็นหลักฐานว่าเรากำลังโดนเจาะ/โจมตี)
- resources ต่าง ๆ (RAM, disk, CPU, bandwidth หรือทรัพยากรอื่น ๆ ที่มีขีดจำกัดทั้งที่เรากำหนดเองและขีดจำกัดเครื่อง)
- สุขภาพของระบบและ availability (อยู่หรือร่วง)
- ตอนระบบ startups และ shutdowns
- faults และ errors ต่าง ๆ
- เวลา circuit breaker ทำงาน
- delays ต่าง ๆ
- backup สำหร็จ / ล้มเหลว