version: '3' services: filebeat-elastic: image: docker.elastic.co/beats/filebeat:8.8.0 restart: on-failure volumes: - ./elk/filebeat/filebeat-elastic.yml:/usr/share/filebeat/filebeat.yml:ro depends_on: - elastic filebeat-vlogs: image: docker.elastic.co/beats/filebeat:8.8.0 restart: on-failure volumes: - ./elk/filebeat/filebeat-vlogs.yml:/usr/share/filebeat/filebeat.yml:ro depends_on: - vlogs generator: image: golang:1.23.3-alpine restart: always working_dir: /go/src/app volumes: - ./generator:/go/src/app - ./source_logs:/go/src/source_logs command: - go - run - main.go - -logsPath=/go/src/source_logs/logs - -outputRateLimitItems=10000 - -syslog.addr=filebeat-elastic:12345 - -syslog.addr2=filebeat-vlogs:12345 - -logs.randomSuffix=false depends_on: [ filebeat-elastic, filebeat-vlogs ] elastic: image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0 volumes: - ./elk/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml - elastic:/usr/share/elasticsearch/data environment: ES_JAVA_OPTS: "-Xmx2048m" kibana: image: docker.elastic.co/kibana/kibana:8.8.0 volumes: - ./elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml ports: - '5601:5601' depends_on: [ elastic ] beat-exporter-elastic: image: trustpilot/beat-exporter:0.4.0 command: - -beat.uri=http://filebeat-elastic:5066 depends_on: - filebeat-elastic beat-exporter-vlogs: image: trustpilot/beat-exporter:0.4.0 command: - -beat.uri=http://filebeat-vlogs:5066 depends_on: - filebeat-vlogs volumes: elastic: