Bỏ qua, đến nội dung

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-loggerplugin-audit-logs
Vai tròEngine ghi log (backend)Giao diện xem log (frontend)
Có UI?KhôngCó (bảng, bộ lọc, chi tiết)
Hoạt động độc lập?Có — ghi log mà không cần UICần audit-logger để có dữ liệu
Khi nào dùng?Luôn bật để ghi logBậ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 passwordtoken. 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_logs có 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ự:

  1. Danh sách collections: Nếu không dùng *, kiểm tra collection nằm trong danh sách cho phép
  2. Plugin đã bật: Kiểm tra plugin-audit-logger đang active trong Plugin Manager
  3. Thao tác qua API: Chỉ ghi log cho thao tác qua Digiforce API — SQL trực tiếp không được ghi
  4. 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ápHiệu quảCách thực hiện
Giới hạn collectionsCaoChỉ ghi log cho collections quan trọng
Cấu hình retentionCaoTự động xoá log sau N ngày
Cleanup jobTrung bìnhChạy cron job xoá log cũ
Archive ra externalTrung bìnhExport log cũ ra S3/file trước khi xoá
PartitioningThấ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