Elastic Stack and GELF
The docker-compose configuration is the same as in section Creating the “docker-compose” File, but with a change to the Logstash part (note that the log entrypoint key would appear on a single line):
Elastic Stack docker-compose example 2 |
version: '2.2' services: elasticsearch: build: context: elasticsearch/ container_name: elasticsearch volumes: - monitoring-data:/usr/share/elasticsearch/data ports: - "9200:9200" - "9300:9300" environment: ES_JAVA_OPTS: "-Xmx512m -Xms512m" logstash: image: docker.elastic.co/logstash/logstash:7.9.1 container_name: logstash ports: - "5000:5000" - "5044:5044" - "12201:12201/udp" expose: - "5044/tcp" - "12201/udp" logging: driver: "json-file" environment: LS_JAVA_OPTS: "-Xmx256m -Xms256m" entrypoint: logstash -e 'input { gelf { } } filter { json { skip_on_invalid_json => true source => "message" }} output { elasticsearch { id => "lls" hosts => ["http://elasticsearch:9200"] } }' depends_on: - elasticsearch kibana: image: docker.elastic.co/kibana/kibana:7.9.1 ports: - "5601:5601" depends_on: - elasticsearch volumes: monitoring-data: driver: local |
The Filebeat agent is not required in this scenario.