Giao diện
Câu hỏi thường gặp (FAQ) — Audit Logger
Sử dụng
Khác gì với plugin-audit-logs?
Đây là câu hỏi phổ biến nhất. Hai plugin có vai trò khác nhau nhưng bổ trợ nhau:
| Tiêu chí | plugin-audit-logger | plugin-audit-logs |
|---|---|---|
| Vai trò | Engine ghi log (backend) | Giao diện xem log (frontend) |
| Có UI? | Không | Có (bảng, bộ lọc, chi tiết) |
| Hoạt động độc lập? | Có — ghi log mà không cần UI | Cần audit-logger để có dữ liệu |
| Khi nào dùng? | Luôn bật để ghi log | Bật khi cần xem/quản lý log qua giao diện |
Làm sao loại trừ field không muốn ghi?
Cấu hình excludeFields trong settings. Mặc định đã loại password và token. Thêm field khác:
- Vào cấu hình plugin
- Thêm tên field vào danh sách exclude (phân cách bằng dấu phẩy)
- Ví dụ:
password, token, apiKey, creditCardNumber, ssn
Log được lưu ở đâu?
Lưu trong database chính của hệ thống (bảng audit_logs). Ưu điểm:
- Dễ truy vấn, lọc, xuất
- Backup cùng database hệ thống
- Có thể cấu hình export ra external log service cho compliance
Ghi log có ảnh hưởng hiệu năng không?
Ảnh hưởng nhẹ — mỗi thao tác CRUD thêm một lần ghi vào database. Để giảm thiểu:
- Chỉ ghi log cho collections quan trọng (không dùng wildcard
*cho hệ thống lớn) - Cấu hình retention để xoá log cũ định kỳ
- Đảm bảo bảng
audit_logscó index phù hợp
Plugin có ghi log cho thao tác bulk không?
Có. Audit Logger hỗ trợ ghi log cho:
- Bulk create: Mỗi bản ghi tạo = 1 log entry
- Bulk update: Ghi diff cho tất cả bản ghi bị ảnh hưởng
- Bulk delete: Ghi giá trị bị xoá cho mỗi bản ghi
Lỗi thường gặp
Không ghi log cho một collection cụ thể?
Kiểm tra theo thứ tự:
- Danh sách collections: Nếu không dùng
*, kiểm tra collection nằm trong danh sách cho phép - Plugin đã bật: Kiểm tra
plugin-audit-loggerđang active trong Plugin Manager - Thao tác qua API: Chỉ ghi log cho thao tác qua Digiforce API — SQL trực tiếp không được ghi
- Server đã restart: Sau khi thay đổi cấu hình, cần restart server
Log quá nhiều, database lớn?
Database phình to do audit log là vấn đề phổ biến. Giải pháp:
| Giải pháp | Hiệu quả | Cách thực hiện |
|---|---|---|
| Giới hạn collections | Cao | Chỉ ghi log cho collections quan trọng |
| Cấu hình retention | Cao | Tự động xoá log sau N ngày |
| Cleanup job | Trung bình | Chạy cron job xoá log cũ |
| Archive ra external | Trung bình | Export log cũ ra S3/file trước khi xoá |
| Partitioning | Thấp (phức tạp) | Partition bảng theo tháng |
Audit log có thể bị sửa/xoá không?
Theo thiết kế, audit log nên bất biến (immutable). Tuy nhiên:
- Admin có quyền xoá log qua API (nếu có quyền database)
- Để tuân thủ compliance (ISO 27001, SOC 2), cần giới hạn quyền xoá
- Cân nhắc export log ra hệ thống bên ngoài (SIEM) để đảm bảo tính toàn vẹn