• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Filebeat logs an elasticsearch schicken

MarekLanger

MarekLanger

Mitglied
Hallo,

ich habe mein backend als Container laufen und es ermöglicht mir mithilfe von log4j2 das loggen von error in ein erstellten volume : Logfiles
Jetzt stehe ich vor folgendem Problem.
Ich möchte Filebeat ebenfalls innerhalb eines container laufen lassen, welches auf mein erstellten volume: Logfile zugreift und die einzelnen logs an mein elasticsearch schickt.

Ich habe leider noch nicht genau die Doku verstanden:
Java:
docker run -d \
  --name=filebeat \
  --user=root \
  --volume="$(pwd)/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" \
  --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" \
  --volume="/var/run/docker.sock:/var/run/docker.sock:ro" \
  docker.elastic.co/beats/filebeat:7.10.2 filebeat -e -strict.perms=false \
  -E output.elasticsearch.hosts=["elasticsearch:9200"]

1. Benötige ich überhaupt user?
2. Lasse ich die Volumes da stehen und füge mein eigentliches Zielvolume: Logfile hinzu?

Für Tipps oder Lösungsvorschläge wäre ich sehr dankbar.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ins blaue geraten, ohne die Doku gesucht zu haben:

1. Benötige ich überhaupt user?
Wahrscheinlich ja, steht da vermutlich nicht grundlos.

2. Lasse ich die Volumes da stehen und füge mein eigentliches Zielvolume: Logfile hinzu?
Ja, die Volumes brauchst du, und nein, dein eigene Volume für Logfile brauchst du nicht.
Der zieht sich die Logs vermutlich automatisch über die Docker-API (nutzt also STDOUT/STDERR der jeweiligen Container), deshalb die Nutzung von var/run/docker.sock
 

Ähnliche Java Themen

Anzeige

Neue Themen


Oben