Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "HI.AI Members" các nội dung bạn quan tâm.

Bài 7. Quản lý log hệ thống

1. Đặt vấn đề

Log là công cụ để hiểu hệ thống AI local đang hoạt động như thế nào. Log giúp phát hiện lỗi, phân tích hiệu năng, truy vết sự cố, theo dõi người dùng và cải tiến chất lượng. Nhưng log cũng có thể gây rủi ro nếu chứa dữ liệu nhạy cảm hoặc làm đầy ổ cứng. Vì vậy, quản lý log hệ thống AI local cần được thiết kế nghiêm túc.

Trong bệnh viện, log có thể gồm log Ollama, log API, log Nginx, log RAG, log truy cập tài liệu, log queue, log hệ điều hành, log GPU, log backup và log ứng dụng chatbot.

2. Các loại log cần quản lý

2.1. Log hệ điều hành

  • syslog
  • journalctl
  • log systemd service

2.2. Log Ollama

  • trạng thái service
  • lỗi model
  • lỗi GPU
  • request backend nếu có

2.3. Log API trung gian

  • user
  • endpoint
  • model
  • latency
  • lỗi
  • queue
  • RAG retrieval

2.4. Log Nginx

  • access log
  • error log
  • IP truy cập
  • response code

2.5. Log RAG

  • tài liệu truy xuất
  • chunk ID
  • điểm tìm kiếm
  • lọc quyền
  • lỗi FAISS

2.6. Log bảo mật

  • đăng nhập
  • truy cập trái phép
  • lỗi phân quyền
  • API token lỗi
  • request bất thường

3. Xem log Ollama

Dùng:

 
journalctl -u ollama -f
 

Xem 200 dòng gần nhất:

 
journalctl -u ollama -n 200
 

Cần theo dõi:

  • service restart
  • lỗi load model
  • out of memory
  • lỗi GPU
  • lỗi port
  • lỗi permission

4. Log Nginx

Thường nằm ở:

 
/var/log/nginx/access.log
/var/log/nginx/error.log
 

Cần theo dõi:

  • 4xx/5xx.
  • request lạ.
  • IP bất thường.
  • request quá lớn.
  • timeout.
  • endpoint AI bị gọi nhiều.

Không nên đưa dữ liệu nhạy cảm vào URL query vì access log có thể lưu URL.

5. Log API

API nên ghi có cấu trúc, ví dụ JSON log:

  • timestamp
  • user_id
  • role
  • action
  • model
  • request_id
  • latency_ms
  • status
  • error_code
  • rag_sources
  • input_length
  • output_length

Không nên mặc định ghi toàn bộ prompt/response nếu có dữ liệu nhạy cảm.

6. Log rotation

Nếu không xoay log, log có thể làm đầy ổ. Cần cấu hình logrotate hoặc cơ chế tương đương:

  • Giới hạn dung lượng file log.
  • Nén log cũ.
  • Xóa log quá hạn.
  • Tách log theo ngày.
  • Không để log tăng vô hạn.

Đặc biệt với chatbot streaming hoặc API nhiều request, log tăng rất nhanh.

7. Phân quyền log

Log có thể chứa thông tin nhạy cảm. Cần:

  • Chỉ người có thẩm quyền được đọc.
  • Không để log world-readable.
  • Tách log kỹ thuật và log nghiệp vụ nếu cần.
  • Mã hóa log nhạy cảm nếu phù hợp.
  • Không gửi log ra ngoài nếu chưa lọc dữ liệu.

8. Retention log

Cần quy định:

  • Log kỹ thuật lưu bao lâu.
  • Log truy cập lưu bao lâu.
  • Log hội thoại lưu bao lâu.
  • Log nhạy cảm lưu bao lâu.
  • Log backup ra sao.
  • Khi nào xóa.

Không nên lưu mãi mãi nếu không có mục đích.

9. Giám sát log tự động

Có thể dùng script hoặc công cụ giám sát để cảnh báo:

  • Service restart.
  • Lỗi 500 tăng.
  • API timeout.
  • GPU OOM.
  • Dung lượng log lớn.
  • Request bất thường.
  • Login lỗi nhiều lần.
  • Queue quá dài.

Cảnh báo sớm giúp xử lý trước khi người dùng phản ánh.

10. Log và bảo mật dữ liệu

Cần tránh:

  • Ghi mật khẩu/token.
  • Ghi private key.
  • Ghi bệnh án nguyên văn.
  • Ghi danh sách người bệnh.
  • Ghi báo cáo sự cố định danh.
  • Ghi file upload nhạy cảm không kiểm soát.

Nếu cần debug, chỉ bật log chi tiết tạm thời và tắt sau khi xử lý.

11. Kết luận

Quản lý log hệ thống AI local cần cân bằng giữa truy vết và bảo mật. Bệnh viện cần quản lý log Ollama, API, Nginx, RAG, queue và hệ thống; cấu hình log rotation; phân quyền đọc log; quy định thời gian lưu; và tránh ghi dữ liệu nhạy cảm không cần thiết. Log tốt giúp vận hành ổn định, nhưng log không kiểm soát có thể trở thành rủi ro dữ liệu lớn.