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

Comment signer la connexion OKEx API version 5 avec websockets ?

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

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