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

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"

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables