Der timestamp
-Parser erzeugt keine Felder. Stattdessen wandelt er seine Eingabe aus einer Zeichenfolge in ein internes Zeitstempelformat um, das in Millisekunden seit dem Beginn der UNIX-Epoche, 1. Januar 1970 (Mitternacht UTC/GMT), angezeigt wird.
Die einzige unterstützte Konfigurationsoption ist format
. Beispielsweise format=%Y-%m-%d %H:%M:%S
.
Anders als der CLF-Parser kann der timestamp
-Parser Zeit analysieren, wenn keine Trennzeichen zwischen den Zeitbezeichnern vorliegen, z. B. %A%B%d%H%M%S%Y%z
.
Formatbezeichner, die vom timestamp
-Parser verwendet werden, sind:
'%a': Abbreviated weekday name, for example: Thu '%A': Full weekday name, for example: Thursday '%b': Abbreviated month name, for example: Aug '%B': Full month name, for example: August '%d': Day of the month, for example: 23. strftime() expects zero-padded (01-31) digits for this specifier but Log Insight agents can parse space-padded and non-padded day numbers, too. '%e': Day of the month, for example: 13. strftime() expects space-padded ( 1-31) digits for this specifier but Log Insight agents can parse zero-padded and non-padded day numbers too. '%f': Fractional seconds of time, for example: .036 'f' specifier assumes that '.' or ',' character should exist before fractional seconds and there is no need to mention that character in the format. If none of these characters precedes fractional seconds, timestamp wouldn't be parsed. '%H': Hour in 24h format (00-23), for example: 14. Zero-padded, space-padded, and non-padded hours are supported. '%I': Hour in 12h format (01-12), for example: 02. Zero-padded, space-padded and non-padded hours are supported. '%m': Month as a decimal number (01-12), for example: 08. Zero-padded, space-padded and non-padded month numbers are supported. '%M': Minute (00-59), for example: 55 '%p': AM or PM designation, for example: PM '%S': Second (00-61), for example: 02 '%s': Total number of seconds from the UNIX epoch start, for example 1457940799 (represents '2016-03-14T07:33:19' timestamp) '%Y': Year, for example: 2001 '%z': ISO 8601 offset from UTC in timezone (1 minute=1, 1 hour=100)., for example: +100
Zusätzliche Bezeichner werden vom Timestamp-Parser akzeptiert, aber deren Werte werden ignoriert und haben keine Auswirkung auf die analysierte Zeit.
'%C': Year divided by 100 and truncated to integer (00-99), for example: 20 '%g': Week-based year, last two digits (00-99), for example, 01 '%G': Week-based year, for example, 2001 '%j': Day of the year (001-366), for example: 235 '%u': ISO 8601 weekday as number with Monday as 1 (1-7), for example: 4 '%U': Week number with the first Sunday as the first day of week one (00-53), for example: 33 '%V': ISO 8601 week number (00-53), for example: 34 '%w': Weekday as a decimal number with Sunday as 0 (0-6), for example: 4 '%W': Week number with the first Monday as the first day of week one (00-53), for example: 34 '%y': Year, last two digits (00-99), for example: 01
Wenn kein format
-Parameter definiert ist, analysiert der Timestamp
-Parser die Zeitstempel anhand der Standardformate.
Automatischer Zeitstempel-Parser
timestamp
im
field_decoder
direkt aufgerufen werden kann. Beispiel:
[parser|mycsv] base_parser=csv debug=yes fields=timestamp,action,source_id,dest field_decoder={"timestamp": "timestamp"}
Ein Timestamp-Parser mit der Standardkonfiguration
Dieses Beispiel zeigt einen timestamp
-Parser mit einer Standardkonfiguration.
[parser|tsp_parser] base_parser=timestamp debug=no format=%Y-%m-%d %H:%M:%S%f
Um einen timestamp
-Parser mit anderen Parsern, z. B. dem CSV-Parser, zu integrieren, geben Sie die folgende Konfiguration an.
[parser|mycsv] base_parser=csv fields=timestamp,action,source_id,dest field_decoder={"timestamp": "tsp_parser"}
Wenn diese Konfiguration definiert ist, extrahiert der mycsv
-Parser die Felder mit den Namen, die in der Konfiguration angegeben sind, und führt tsp_parser
für den Inhalt des Felds timestamp
aus. Wenn tsp_parser
einen gültigen Zeitstempel abruft, verwendet der Server diesen Zeitstempel für die Protokollnachricht.