Điểm:0

Làm cách nào để tránh mất dữ liệu trong quá trình xoay nhật ký trong linux/kubernetes?

lá cờ in

Ngắn gọn
Chúng tôi đang chạy khối lượng công việc của mình trong kubernetes trên AWS EKS. Tất cả các ứng dụng của chúng tôi ghi nhật ký vào /var/log/app_logs thư mục sử dụng máy chủ lưu trữ. (vâng, đó không phải là phương pháp hay nhất, điều này là do cơ sở mã kế thừa, cuối cùng chúng tôi muốn chuyển sang STDOUT).

Những vấn đề chúng ta phải đối mặt:

  1. Chúng tôi dựa vào hàng giờ quay vòng để xoay các tập tin dưới /var/log/app_logs
  2. Trong ranh giới hàng giờ, chúng ta có xu hướng đánh mất các loglines
  3. Sau khi điều tra có vẻ như copytruncate đang tạo datalos này
  4. Có vẻ như ứng dụng không thể ghi vào tệp nhật ký trong quá trình đăng nhập và chúng tôi đang mất các nhật ký đó trong quá trình xoay vòng.
  5. Vì các dịch vụ này đang chạy trong kubernetes thùng chứa/nhóm, chúng tôi sẽ không thể sử dụng dừng lại dịch vụ, quaybắt đầu cách tiếp cận dịch vụ.

Các nút công nhân EKS đang chạy trong Amazon Linux(centos).

Các logrotate.conf chúng tôi sử dụng:

"/var/log/app_logs/*.log" {
  tạo 664 foo foo
  hằng ngày
  mất tích
  copytruncate
  xoay 7
  nén
  nén trễ
  thông báo
  chia sẻ kịch bản
  quay sau
    /bin/bash /opt/scripts/upload-logs.sh
  phần cuối
  }

Có bất cứ điều gì chúng ta có thể làm để tránh mất dữ liệu này bằng cách điều chỉnh quay vòng cấu hình? hoặc có bất kỳ công cụ tương tự nào giải quyết vấn đề này trong môi trường dựa trên kubernetes không.

user9517 avatar
lá cờ cn
https://serverfault.com/questions/189477/rotate-logs-of-a-dumb-non-interactive-application/189880#189880
dm90 avatar
lá cờ in
@ user9517 Cảm ơn phản hồi của bạn! Nhưng vấn đề trong thiết lập (của chúng tôi) này là, chúng tôi không chỉ có một vài quy trình trong máy chủ linux. Tất cả các bản ghi này là từ các nhóm kubernetes.Chúng tôi có thể không gửi được tín hiệu tiêu diệt đến nhóm và trong trường hợp đó, nó sẽ làm cho nó phức tạp hơn bằng cách tiêu diệt nhóm và cuối cùng nó sẽ được lên lịch lại ở một nơi khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.