Bỏ qua, đến nội dung

Cài đặt và sử dụng — Audit Logs

Yêu cầu hệ thống

  • Server Digiforce đang chạy
  • (Khuyến nghị) Plugin plugin-audit-logger đã bật để có engine ghi log

Bước 1: Kích hoạt plugin

Vào Settings → Plugin Manager, tìm plugin-audit-logs và bật. Khởi động lại server.

TIP

Plugin này cung cấp giao diện xem nhật ký và đăng ký DB hooks ghi log tự động. Kết hợp với plugin-audit-logger để có hệ thống audit đầy đủ.

Bước 2: Xem Audit Logs

Vào Settings → Audit Logs để xem nhật ký hoạt động:

CộtMô tảVí dụ
Thời gianKhi nào hành động xảy ra2024-03-15 10:30:00
Người dùngAi thực hiệnadmin, editor@company.com
Hành độngLoại hành độngcreate, update, destroy
CollectionBảng/collection bị tác độngorders, products, users
Bản ghiID bản ghi cụ thể#1234
Chi tiếtDữ liệu trước và sau thay đổititle: "Draft" → "Published"

Cơ chế ghi log

Plugin sử dụng DB Hooks để tự động ghi nhận mọi thay đổi:

HookKhi nàoGhi nhận gì
afterCreateSau khi tạo bản ghiaction = create, before = null, after = giá trị mới
afterUpdateSau khi cập nhậtaction = update, before = giá trị cũ, after = giá trị mới
afterDestroySau khi xoáaction = destroy, before = giá trị cũ, after = null

Bộ lọc (Filters)

Giao diện audit logs hỗ trợ bộ lọc mạnh mẽ:

Bộ lọcMô tảVí dụ
Thời gianLọc theo khoảng thời gianTừ 01/01/2024 đến 31/03/2024
Người dùngLọc theo người thực hiệnChỉ xem hành động của user "admin"
CollectionLọc theo collection bị tác độngChỉ xem thay đổi trên orders
Hành độngLọc theo loại hành độngChỉ xem delete (xoá)

Xem chi tiết thay đổi

Nhấn vào một log entry để xem diff chi tiết dạng visual:

Field          Before              After
─────────────────────────────────────────
title          "Bản nháp"          "Đã xuất bản"
status         "draft"             "published"
updatedBy      null                "admin"

Hiển thị rõ ràng giá trị trước (before) và sau (after) cho từng field thay đổi.

Cấu hình

Tham sốMặc địnhMô tả
Retention90 ngàyThời gian giữ log — log cũ hơn tự động xoá
CollectionsTất cảChọn collections cần ghi log — bỏ chọn những cái không cần
Actionscreate, update, deleteLoại hành động cần ghi

Dung lượng Database

Audit logs tăng dung lượng database theo thời gian. Với hệ thống có nhiều thao tác:

  • Cấu hình retention phù hợp (30–90 ngày)
  • Chỉ ghi log cho collections quan trọng
  • Chạy cleanup job định kỳ

Các trường hợp sử dụng

Trường hợpMô tảCách sử dụng
Điều tra sự cốXem ai đã thay đổi dữ liệu dẫn đến lỗiLọc theo collection + thời gian
Theo dõi nhân viênGiám sát hoạt động CRUDLọc theo người dùng
Tuân thủ (Compliance)Lưu trữ nhật ký cho ISO 27001, SOC 2Cấu hình retention dài (1 năm+)
Khôi phục dữ liệuXem giá trị trước khi bị sửa/xoáXem chi tiết log → copy giá trị cũ
Xuất báo cáoBáo cáo audit theo thời gianExport log ra CSV

Thêm Audit Logs Block vào trang

Ngoài trang Settings, bạn có thể thêm Audit Logs Block vào bất kỳ trang nào:

  1. Vào trang muốn thêm → Add Block
  2. Chọn Audit Logs từ danh sách block types
  3. Cấu hình bộ lọc mặc định (collection, thời gian...)
  4. Block hiển thị nhật ký thao tác với đầy đủ filter/sort/paginate

Lưu ý quan trọng

  • Audit logs chỉ ghi thao tác qua API — truy vấn SQL trực tiếp không được ghi
  • Log chiếm dung lượng database — cấu hình retention phù hợp
  • Kết hợp với plugin-audit-logger để có hệ thống audit đầy đủ
  • Audit log được thiết kế là bất biến — không nên sửa/xoá log đã ghi