L'analyseur timestamp
ne produit pas de champs, mais transforme les entrées du format de chaîne au format d'horodatage interne affiché en millisecondes à compter du début de l'époque UNIX, le 1er janvier 1970 (minuit UTC/GMT).
L'unique option de configuration prise en charge est format
. Par exemple, format=%Y-%m-%d %H:%M:%S
.
Contrairement à l'analyseur Common Log Format (CLF), l'analyseur timestamp
peut analyser l'heure lorsque les spécificateurs d'heures ne sont séparés par aucun délimiteur, comme suit : %A%B%d%H%M%S%Y%z
.
Les spécificateurs de formats utilisés par l'analyseur timestamp
sont les suivants :
'%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
Des spécificateurs supplémentaires sont acceptés par l'analyseur Timestamp, mais leurs valeurs sont ignorées et n'affectent pas l'heure analysée.
'%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
Si un paramètre format
n'est pas défini, l'analyseur Timestamp
analyse les horodatages selon les formats par défaut.
Analyseur Automatic Timestamp
timestamp
dans
field_decoder
. Par exemple :
[parser|mycsv] base_parser=csv debug=yes fields=timestamp,action,source_id,dest field_decoder={"timestamp": "timestamp"}
Analyseur timestamp avec la configuration par défaut
Cet exemple montre un analyseur timestamp
avec une configuration par défaut.
[parser|tsp_parser] base_parser=timestamp debug=no format=%Y-%m-%d %H:%M:%S%f
Pour intégrer un analyseur timestamp
à d'autres analyseurs, tels que les analyseurs Comma-Separated Value (CSV), spécifiez la configuration suivante :
[parser|mycsv] base_parser=csv fields=timestamp,action,source_id,dest field_decoder={"timestamp": "tsp_parser"}
Lorsque cette configuration est définie, l'analyseur mycsv
extrait les champs qui incluent les noms spécifiés dans la configuration et exécute tsp_parser
sur le contenu du champ timestamp
. Si tsp_parser
récupère un horodatage valide, le serveur utilise cet horodatage pour le message de journal.