48 lượt xem
Ẩn danh
Ngày 8 Tháng 05
Xin chào mọi người, mình có câu hỏi liên quan đến cách quản lý log backend node Hiện tại thì mình dùng Winston để gắn log vào từng level, mình đã thử lưu luôn file log rồi nhưng vẫn ko biết là cần làm thêm gì nữa không? Không biết mọi người hiện tại đang quản lý log bằng cách nào ạ? (mình dùng express)
Đánh giá câu hỏi ngay!
Hãy ấn ↑Up Vote với những câu hỏi cụ thể và chi tiết
Hãy ấn ↓Down Vote với những câu hỏi chưa rõ ràng Careerly sẽ nhắc người hỏi chỉnh sửa lại.
1 câu trả lời
BEST
Chào bạn, log luôn là một phần quan trọng của các hệ thống backend. Log rất hữu ích trong việc tracing bug trên môi trường production, nơi mà thường là không thể debug như môi trường develop được. Winston thì đã giúp bạn lưu lại log rồi, tất cả mọi thứ đều tốt. Nhưng nếu bạn muốn đi sâu hơn thì có thể lưu log ra một kênh khác. Cơ chế này có thể giúp bạn đọc log ngay cả khi server crash, hoặc hữu ích khi bạn scale ứng dụng ra nhiều instance. Bên cạnh đó bạn cũng không cần phải chạy TTY vào server để đọc log mỗi khi cần nữa. 🥑 Vài kênh bạn có thể sử dụng để lưu log Có sẵn thư viện cho bạn sử dụng để lưu qua các kênh khác: - Lưu vào database: https://www.npmjs.com/package/winston-mongodb - Bắn notice sang telegram: https://www.npmjs.com/package/winston-telegram - Prometheus: https://github.com/matsumana/winston-transport-prometheus 🥑 Prometheus và Grafana Prometheus và Grafana là một cặp đôi được sử dụng phổ biến trong việc thu thập log và giám sát hoạt động của server (monitoring). Bạn có thể hiểu nôm na Prometheus là trình thu thập dữ liệu, Grafana sẽ dựa vào dữ liệu của Prometheus để tạo ra các biểu đồ trực quan cho bạn dễ quan sát hơn. Ngoài ra Grafana còn hỗ trợ trigger alert mỗi khi có lỗi chỉ định xảy ra (thường cho những lỗi nghiêm trọng như server fail lượng request lớn, server chậm v.v…). Bạn có thể sử dụng grafana để bắn thông báo lỗi vào tin nhắn slack. Tuy nhiên việc xem xét áp dụng cơ chế nào để bạn giám sát server thông qua log cũng phải dựa vào tình hình thực tế, áp dụng thêm hoặc thừa sẽ khiến hệ thống tăng thêm phức tạp và tốn chi phí.
Đăng ký ngay bây giờ để đọc toàn bộ câu trả lời!
Cộng đồng lập trình viên sẽ giải đáp tường tận cho bạn.
Bạn đã có tài khoản rồi?
Đăng ký ngay bây giờ để đọc toàn bộ câu trả lời!
Cộng đồng lập trình viên sẽ giải đáp tường tận cho bạn.