Protokollieren Sie eine Protokolldatei zuverlässig auf einem anderen Computer (Stichwort: Zuverlässig). Seltsamerweise unmöglich?

371
declanw

Ich habe eine wachsende Logdatei auf einer Unix-Box. Ich möchte nur etwas, das diese Daten innerhalb weniger Sekunden nach dem Schreiben auf einer anderen Box sammelt.

Klingt einfach. Aber ich brauche es, um keine Verschraubungen einzuführen, wenn:

  1. Beide Boxen werden neu gestartet
  2. das netzwerk stört
  3. Das Logfile wird gedreht (keine Datenverluste bei geöffnetem Dateihandle)
  4. Die Verarbeitung der oben genannten Ursachen verursacht eine nicht nachweisbare Datenduplizierung (da Dateiname / Inode / Suchpunkt / Trunccount verfügbar ist, ist eine Duplizierung erkennbar).
  5. (Optional) Die Datei wird abgeschnitten (Rückkehr zum Start, Erwähnung im Peer - kleines Fenster mit potenziellem unvermeidbaren Datenverlust).

Ich kann anscheinend nichts finden, was dies richtig macht. syslog-ng und nxlog wollen Geld, um Problem 2 zu vermeiden. rsyslog gibt sich Problem 1, wenn es auf Problem 2 trifft, und fraß meine CPU im Test.

Es scheint kein Werkzeug zu geben, das nicht mehr Probleme schafft, als es löst.

0
Soweit ich weiß, ist Syslog-ng kostenlos und wird über das Netzwerk protokolliert. Warum können Sie dann nicht einfach ein zweites Ziel einrichten und hinzufügen? djsmiley2k vor 6 Jahren 0
Da das syslog-ng-Modul für librelp-equiv [nicht kostenlos] ist (https://syslog-ng.org/question/is-relp-supported-by-syslog-ng-or-is-there-another-protocol-that- Support-Reliable-Message-Delivery-kompatibel-with-rsyslog /). Ich brauche ein Protokoll, das den Empfang der Daten bestätigt. declanw vor 6 Jahren 0

0 Antworten auf die Frage