Convertir le format d'heure des journaux d'erreurs Apache dans Fluentd

J'essaie de convertir le format d'heure du journal des erreurs Apache dans Fluentd pour l'utiliser comme horodatage pour Kibana.

Il y a un champ 'heure' avec l'horodatage du journal des erreurs.

J'utilise la configuration suivante pour cela

<filter apache.**>
@type record_transformer
enable_ruby
<record>
# timestamp ${Time.at(time).utc.strftime('%Y-%m-%dT%H:%M:%S%z')}
# or
# timestamp ${time.strftime('%Y-%m-%dT%H:%M:%S%z')}
# or
timestamp ${time.iso8601}
</record>
remove_keys time
</filter>

Mais les trois versions sont converties dans le mauvais sens (inadéquation de l'heure et du jour) : "May 03 08:04:19.147574 2021" en "1993-10-24T22:41:18+00:00"

La même configuration est correcte pour les journaux d'accès Apache.

Merci pour vos suggestions.


Solution du problème

Pour moi, il suffit d'ajouter time_key à elasticsearch. Après cela, elastic met l'heure du champ d'horodatage à partir de la clé "time". Je n'ai pas toute cette section comme vous : record_transformer

<match example>
@type elasticsearch
host XX.XX.XX.XX
port 9200
time_key time
</match>

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"