Salut,
J'utilise des pipelines d'ingestions avec Filebeat pour traiter mes logs avant d'arriver dans Elasticsearch.
Mes logs doivent passer par un pipeline spécifique (A ou B) selon les leurs provenances. J'arrive à leurs affecter chacun un pipeline dans la partie "inputs" du fichier de config "filebeat.yml". Jusque là tout se passe bien...
Cependant, dans la partie "output.elasticsearch" j'utilise un dernier pipeline muni de la condition "when" s'appliquant aux logs passédant le caractère "{" dans leur champ "msg". Mais mes logs semblent ne pas le traverser, car mes résultats obtenus dans le "devtools" de Kibana sont ceux obtenus sans le pipeline conditionnel en output...
#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
enabled: true
paths:
- C:\My_logs_A\*.log
pipeline: pipeline_A
- type: log
enabled: true
paths:
- C:\My_logs_B\*.log
pipeline: pipeline_B
#============================= Filebeat modules ===============================
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
#============================== Kibana =====================================
setup.kibana:
host: "localhost:5601"
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
hosts: ["localhost:9200"]
pipelines:
- pipeline: pipeline_C
when.contains.msg: "{"
indices:
- index: "My_logs-%{+yyyy.MM.dd}"
setup.ilm.enabled: false
setup.template:
enabled: false