2 votes

Filebeat ne crée pas d'index dans Elasticsearch

Je suis en train de mettre en place Filebeat pour envoyer des logs à Elasticsearch. C'est mon filebeat.yml :

filebeat.prospectors:
- type: log
  paths:
  - '/var/log/project/*.log'
  json.message_key: message

output.elasticsearch:
  hosts: ["localhost:9200"]

J'ai ce fichier /var/log/project/test.log avec ce contenu :

{ "message": "This is a test" }

et je m'attendais à ce que ce journal soit envoyé à Elasticsearch. Elasticsearch s'exécute dans un conteneur Docker sur localhost à 9200.

Lorsque je lance filebeat (Docker), aucun index n'est créé dans Elasticsearch. Donc, dans Kibana, je ne vois aucune donnée.

Comment cela se fait-il ? Filebeat n'est-il pas censé créer l'index automatiquement ?

1voto

bigdestroyer Points 2884

Résolu ! Je ne partageais pas les logs entre l'hôte et le conteneur Filebeat, donc il n'y avait pas de logs à envoyer.

J'ai ajouté un volume lors de l'exécution de Filebeat :

docker run -it -v $(pwd)/filebeat.yml:/usr/share/filebeat/filebeat.yml -v /var/log/project/:/var/log/project/ docker.elastic.co/beats/filebeat:6.4.0

0voto

Vous pouvez créer un index comme suit

output.elasticsearch:
hosts: ["localhost:9200"]
index: "test-%{+yyyy.MM.dd}"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X