2008-08-29 7 views
12

Tôi làm rất nhiều công việc trong không gian lưới và HPC và một trong những thách thức lớn nhất mà chúng tôi có với một hệ thống được phân phối trên hàng trăm (hoặc trong một số trường hợp) máy chủ đang phân tích các tệp nhật ký.Các tệp nhật ký trong các hệ thống phân tán ồ ạt

Hiện tại, tệp nhật ký được ghi cục bộ vào đĩa trên mỗi thanh kiếm nhưng chúng tôi cũng có thể xem xét việc xuất bản thông tin ghi nhật ký bằng cách sử dụng UDP Appender và thu thập thông tin.

Vì mục tiêu là để có thể xác định các vấn đề trong thời gian gần nhất có thể, chúng ta nên làm gì?

+0

btw, tại sao UDP? bạn có thể chấp nhận mất tin nhắn của bạn không? –

Trả lời

3

Đầu tiên, đồng bộ hóa tất cả đồng hồ trong hệ thống bằng cách sử dụng NTP.

Thứ hai, nếu bạn đang thu thập nhật ký ở một vị trí (như ứng dụng UDP mà bạn đề cập), hãy đảm bảo nhật ký có đủ thông tin để thực sự trợ giúp. Tôi sẽ bao gồm ít nhất máy chủ đã tạo nhật ký, thời gian xảy ra và thông báo. Nếu có bất kỳ loại id giao dịch nào hoặc khái niệm loại id công việc, hãy bao gồm cả khái niệm đó.

Vì bạn đã đề cập đến một ứng dụng UDP, tôi đoán bạn đang sử dụng log4j (hoặc một trong số các anh chị em của nó). Log4j có một lớp MDC cho phép thông tin bổ sung được truyền đi thông qua một luồng xử lý. nó có thể giúp thu thập một số thông tin bổ sung và vượt qua nó.

0

Bạn đang sử dụng Apache? Nếu bạn có thể xem mod_log_spread Mặc dù bạn có thể có cơ sở hạ tầng quá lớn để có thể duy trì. Tùy chọn khác là xem "phát sóng" hoặc "phát đa hướng" các thông điệp tường trình của bạn và có các máy chủ ghi nhật ký chuyên dụng đăng ký các nguồn cấp dữ liệu đó và đối chiếu chúng