Đây là vấn đề tương đối đau đầu, vì với rất nhiều service như thế này thì rất khó để ghi log realtime, ngoài ra với hàng trăm nghìn, hàng triệu dòng log mỗi ngày thì chi phí lưu trữ là cực kỳ lớn nên có một số cách giải quyết như sau:
1. Sử dụng hệ thống lưu log, ví dụ:
Với cách này thì sẽ 1 service data collector đi lấy log từ các server rồi đưa về data store lưu tập trung. Cách này cũng hay nhưng cực kỳ tốt tài nguyên, có khi hệ thống lưu log còn phức tạp hơn cả hệ thống dành cho người dùng.
2. Các log lỗi sẽ được đẩy về hệ thống quản lý tập trung nhưng các log info sẽ được lưu trữ trong vòng 30 ngày trên các service, các này tiết kiệm được nhiều nhưng sau 30 ngày là không còn log để trace bug nữa. Hiện tại anh đang dùng cách này.
Tham khảo: https://sematext.com/guides/elk-stack/