Puncte:0

Cum să evitați pierderea de date în timpul rotației jurnalului în linux/kubernetes?

drapel in

Scurt
Ne rulăm sarcinile de lucru în kubernetes pe AWS EKS. Toate aplicațiile noastre scriu log-urile /var/log/app_logs director folosind hostPath. (da, nu este o practică bună, aceasta se datorează bazei de cod vechi, eventual vrem să trecem la STDOUT).

Probleme cu care ne confruntăm:

  1. Ne bazăm pe oră logrotate pentru a roti fișierele sub /var/log/app_logs
  2. În timpul limitei orare, avem tendința de a pierde liniile de logare
  3. La investigare pare ca copytruncate creează acest datalos
  4. Se pare că aplicația nu este capabilă să scrie în fișierul jurnal în timpul procesului de realizare și pierdem acele jurnale în timpul rotației.
  5. Deoarece aceste servicii rulează kubernetes containere/pods, nu vom putea folosi Stop serviciu, roti și start abordarea serviciului.

Nodurile de lucru EKS rulează Amazon Linux(centos).

The logrotate.conf folosim:

„/var/log/app_logs/*.log” {
  crea 664 foo foo
  zilnic
  lipsingok
  copytruncate
  roteste 7
  comprima
  delaycompress
  notificare gol
  scripturi partajate
  postrotate
    /bin/bash /opt/scripts/upload-logs.sh
  script final
  }

Există ceva ce am putea face pentru a evita această pierdere de date prin modificarea logrotate configurare? sau există instrumente similare care rezolvă această problemă în mediile bazate pe kubernetes.

user9517 avatar
drapel cn
https://serverfault.com/questions/189477/rotate-logs-of-a-dumb-non-interactive-application/189880#189880
dm90 avatar
drapel in
@user9517 Mulțumesc pentru răspuns! Dar problema în această configurație (noastră) este că nu avem doar câteva procese în serverul Linux. Toate aceste jurnale sunt de la podurile kubernetes.Este posibil să nu putem trimite semnalul de ucidere la pod și, în acest caz, ar face acest lucru mai complex prin uciderea podului și, în cele din urmă, va fi reprogramat în altă parte.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.