version: '3.8' networks: default: name: ${NAMESPACE} external: true services: logstash: image: docker.elastic.co/logstash/logstash:7.17.3 ports: - '${NODE_PORT}:5044' environment: - TZ=Asia/Shanghai configs: - source: logstash_conf target: /usr/share/logstash/pipeline/my.conf deploy: placement: constraints: - node.labels.${NAMESPACE}_es==1 filebeat: image: docker.elastic.co/beats/filebeat:7.17.3 volumes: - "kibana_data:/bitnami/kibana" environment: - TZ=Asia/Shanghai - LOGSTASH_URL=${NAMESPACE}_log_logstash:5044 - KIBANA_HOSTS=${NAMESPACE}_es_kibana configs: - source: filebeat_conf target: /usr/share/filebeat/filebeat.yml volumes: - ${NAMESPACE}_logs:/logs deploy: update_config: order: start-first mode: global placement: constraints: [node.platform.os == linux] configs: logstash_conf: file: ./logstash.conf filebeat_conf: file: ./filebeat.yml volumes: ${NAMESPACE}_logs: external: true