ใช้งาน Audit Logs
/admin/logs คือศูนย์กลางด้าน traceability ของฝ่ายบริหาร ไม่ใช่แค่รายการ events แต่รวม real-time updates สรุปความเสี่ยง การทบทวน before/after อย่างละเอียด force logout และ restore actions
ใช้ Audit Logs เมื่อใด
- เมื่อต้องการรู้ว่าใครเปลี่ยนข้อมูล
- เมื่อตรวจสอบ login failures หรือปัญหาด้านความปลอดภัย
- เมื่อต้องทบทวนหลักฐานเบื้องหลัง refunds การลบ หรือการเปลี่ยนสต็อก
- เมื่อต้องประกอบ ไทม์ไลน์ หลังเกิด incident ในการปฏิบัติงาน
วิธีอ่าน Summary Cards
ส่วนหัวจะแสดง การ์ดสรุป ล่าสุด เช่น
Critical AlertsLogin FailuresHigh Value Refunds
cards เหล่านี้รวมการแสดง trend ด้วย ไม่ใช่แค่ตัวเลขดิบ
วิธีอ่าน Real-Time Indicator
จุดสถานะใกล้ส่วนหัวจะแสดงสถานะของ socket
- สีเขียว: live connection ทำงานอยู่
- สีเทา: หลุดการเชื่อมต่อหรือไม่ได้รับข้อมูล
เมื่อ live updates ทำงาน logs ใหม่และ critical alerts อาจอัปเดตหน้าจอและ toast notifications ได้ทันที
วิธีใช้ Filters
ตัวกรอง bar มี UI สำหรับช่วงวันที่ แต่จากโค้ดปัจจุบัน logic การค้นหาหลักจะเน้นที่
- user
- category
- action type
- search term
เพราะการจัดการ date range อาจขึ้นกับ deployment หรือพฤติกรรมของ API ควรตรวจพฤติกรรมจริงใน environment ที่ใช้งานอยู่
ตัวอย่าง categories
SecuritySOAPPOSInventorySystemMarketingBilling
ตัวอย่าง actions
CreateUpdateDeleteExportLoginLoginFailedLogoutRefundForceLogoutSyncAdjustment
วิธีอ่านตาราง
ตาราง audit โดยทั่วไปจะแสดง
- วันที่และเวลา
- ผู้ใช้และบทบาท
- category
- action
- เป้าหมาย
- สรุปรายละเอียด
- IP / device
แถวที่มีความรุนแรงสูงจะถูกเน้นเพื่อให้ผู้ใช้ตรวจสอบก่อน
สิ่งที่ควรทบทวนใน Detail Sheet
เมื่อเปิดแถวหนึ่งขึ้นมา จะเห็น
- log ID
- action ป้ายสถานะ
- ผู้กระทำ
- เป้าหมาย
- สรุป
- ข้อมูลอุปกรณ์
- ข้อมูลเครือข่ายหรือ IP
- location metadata
- before / after diff ในรูป JSON
วิธีใช้ diff
- เปรียบเทียบค่าก่อนและหลังการอัปเดต
- ระบุให้ได้ชัดว่าฟิลด์ใดถูกเปลี่ยน
- ลดขอบเขตของการตอบสนองเพื่อแก้ไขปัญหา
Action ที่ทำได้จาก Detail Sheet
Force Logout
หากผู้ใช้ที่เกี่ยวข้องยังมีอยู่ admin สามารถสั่ง forced logout เพื่อตัด active session ได้
Restore
logs ที่เกี่ยวกับการลบอาจเปิด restore action สำหรับกรณีกู้คืนข้อมูล
Warning: Restore และ force logout เป็น action ที่ละเอียดอ่อน ควรใช้เป็นการตอบสนองที่ควบคุมได้ ไม่ใช่กดเล่นระหว่างการตรวจสอบ
เหตุผลของการเปลี่ยนแปลง
ใน codebase มี ReasonForChangeModal ซึ่งรองรับรูปแบบการอัปเดตที่ต้องระบุเหตุผล ในเชิงปฏิบัติการ นี่เป็นนโยบายที่ดีสำหรับการแก้ไขที่อ่อนไหว
เมื่อใดควร Export
- ตอบสนองการ audit ภายนอก
- แนบ incident report
- เก็บหลักฐานของผู้ใช้เฉพาะรายหรือชุดเหตุการณ์เฉพาะ
เคล็ดลับการใช้งาน
- อย่าสรุปจาก audit logs อย่างเดียวโดยไม่ดูบริบทของหน้าจอเป้าหมาย
- ปัญหาสต็อกจะชัดขึ้นเมื่อดูร่วมกับ
- ปัญหาการชำระเงินควรทบทวนร่วมกับบริบทของ POS และ receipt ไม่ใช่ดู log อย่างเดียว