J'ai besoin de votre aide. J'ai fluentd
configuré en mode de queue pour envoyer mes journaux à un cluster elasticsearch
. J'utilise un regex
pour analyser chaque ligne de journal, mais pour certains champs, j'ai besoin de convertir metricValue
en integer
. J'ai essayé certaines choses mais ne fonctionne pas.fluentd convertir le champ en entier
Voici mon fichier fluentd conf:
<source>
@type tail
path /tmp/application.log
pos_file /tmp/access.log.pos
format multi_format
tag first.log
<pattern>
format /(?<app>.*)\((?<instance>.*)\) CID\((?<correlationId>.*)\) (?<level>.*) \[(?<timestamp>.*)\] \[(?<Thread>.*)\] (?<class>.*) - \[Provider:(?<providerName>.*),Curef:(?<cuRef>.*),Operation:(?<operation>.*),Reference:(?<reference>.*),Idx:(?<idx>.*)\]/
</pattern>
<pattern>
format /(?<app>.*)\((?<instance>.*)\) CID\((?<correlationId>.*)\) (?<level>.*) \[(?<timestamp>.*)\] \[(?<Thread>.*)\] (?<class>.*) - (?<body>.*)/
</pattern>
</source>
<match *.log>
@type copy
<store>
@type stdout
</store>
<store>
@type elasticsearch
host localhost
port 9200
logstash_format true
logstash_prefix fluentd-log
flush_interval 10s
</store>
</match>
Je trouve dans la documentation fluend la syntaxe mais ne fonctionne pas (et je ne sais pas où mettre ces lignes)
types <field_name_1>:<type_name_1>,<field_name_2>:<type_name_2>,...
Je veux convertir le champ metricValue en entier avant de l'envoyer à elasticsearch
.
Merci pour votre idée.
C.C.