Wie erhalte ich zeitsynchronisierte Ausgaben (unterschiedliche Zeitzonen auf Servern)?

Wie erhalte ich zeitsynchronisierte Ausgaben (unterschiedliche Zeitzonen auf Servern)?

Stellen Sie sich also vor, es gibt ~100 Server mit unterschiedlichen Zeitzonen (nicht alle unterschiedlich, aber viele, viele Zeitzonen). Die Serverprotokolle enthalten Ausgaben wie:

server1:BFE4C025   0420201413 P H sysplanar0     UNDETERMINED ERROR
server2:BFE4C025   0421032413 P H sysplanar0     UNDETERMINED ERROR

-> also sind sie in Serverzeit (unterschiedliche Zeitzonen) ->

0420201413 = 2013.04.20. 20:14
0421032413 = 2013.04.21 03:24

Die Umrechnung von z. B. 0421032413 in 2013.04.21 03:24 ist trivial. Aber: Auch hier unterscheidet sich die Serverzeit, wenn ich den Befehl "date" auf diesen beiden Servern zur exakt gleichen Zeit ausgebe:

server1:Tue Apr 23 07:23:24 EDT 2013
server2:Tue Apr 23 13:23:24 MESZ 2013

Ich verstehe das. Aber ich brauche die erwähnten Protokolle (nur diese paar Zeilen/Server) in einer Zeitzone. Warum? Weil es sehr, sehr nützlich ist zu wissen, wann genau die Dinge in Ihrer Zeitzone passiert sind, z. B.: MEZ TZ.

Q: Wie kann ich die Zeit der Serverprotokolle auf die mitteleuropäische Zeit umrechnen?

Antwort1

Wenn Sie lediglich vorhandene Syslog-Dateien konvertieren möchten, können Sie beispielsweise ein kleines Python-/Perl-/Ruby-Programm verwenden, um Tue Apr 23 07:23:24 EDT 2013etwas in UTC (oder CET) zu ändern.

Wenn Sie mehr Kontrolle über das Zeitformat haben möchten, das in die Protokolldatei geschrieben wird, sollten Sie sich ansehen syslog-ng. Mit dieser tsformat()Funktion können Sie das Zeitformat beispielsweise auf iso8601 konfigurieren.

Da ich selbst mit Servern in 5 Zeitzonen arbeiten musste, kann ich UTC-Zeitstempel nur wärmstens empfehlen. Da die Sommerzeit nicht gleichzeitig beginnt, ist es ein Albtraum, den Überblick darüber zu behalten, was MEZ (oder MESZ) in PST ist (oder ist es bereits PDT).

Antwort2

Sie können dateden Datums- und Zeitstempel drucken und mit der Protokollnachricht speichern.

$ TZ='Europe/Warsaw' date
wto, 23 kwi 2013, 17:11:48 CEST
$ TZ='America/Los_Angeles' date
wto, 23 kwi 2013, 08:11:56 PDT
$ date --universal
wto, 23 kwi 2013, 15:13:14 UTC

tzselectZum Suchen von Zeitzonen verwenden .

verwandte Informationen