将/var/lib/docker装载为macOS上FileBeat的卷
我正在尝试将将/var/lib/docker装载为macOS上FileBeat的卷,docker,filebeat,Docker,Filebeat,我正在尝试将/var/lib/docker装载为FileBeat的卷。我遵循了,但它似乎不起作用,因为Elasticsearch没有收到日志数据。 我正在使用macOS 11.2.3和Docker Desktop 3.3.0。我知道,/var/lib/docker在macOS上并不实际存在,但可以通过~/Library/Containers/com.docker.docker/Data/vms/0/tty访问。但是我怎样才能挂载这个目录呢 这是我的docker compose.yml: vers
/var/lib/docker
装载为FileBeat的卷。我遵循了,但它似乎不起作用,因为Elasticsearch没有收到日志数据。
我正在使用macOS 11.2.3和Docker Desktop 3.3.0。我知道,/var/lib/docker
在macOS上并不实际存在,但可以通过~/Library/Containers/com.docker.docker/Data/vms/0/tty
访问。但是我怎样才能挂载这个目录呢
这是我的docker compose.yml
:
version: '3.7'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
environment:
discovery.type: single-node
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
networks:
- default
kibana:
image: docker.elastic.co/kibana/kibana:7.12.0
ports:
- 5601:5601
environment:
ELASTICSEARCH_HOSTS: '["http://elasticsearch:9200"]'
depends_on:
- elasticsearch
networks:
- default
filebeat:
image: docker.elastic.co/beats/filebeat:7.12.0
depends_on:
- elasticsearch
- kibana
networks:
- default
volumes:
- ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- /var/lib/docker:/var/lib/docker:ro
- /var/run/docker.sock:/var/run/docker.sock
volumes:
elasticsearch_data:
driver: local
filebeat.inputs:
- type: container
paths:
- '/var/lib/docker/containers/*/*.log'
processors:
- add_docker_metadata:
host: "unix:///var/run/docker.sock"
- decode_json_fields:
fields: ["message"]
target: "json"
overwrite_keys: true
output.elasticsearch:
hosts: ["elasticsearch:9200"]
indices:
- index: "filebeat-%{[agent.version]}-%{+yyyy.MM}"
logging.json: true
logging.metrics.enabled: false
以及FileBeatFileBeat.yml的配置文件:
version: '3.7'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
environment:
discovery.type: single-node
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
networks:
- default
kibana:
image: docker.elastic.co/kibana/kibana:7.12.0
ports:
- 5601:5601
environment:
ELASTICSEARCH_HOSTS: '["http://elasticsearch:9200"]'
depends_on:
- elasticsearch
networks:
- default
filebeat:
image: docker.elastic.co/beats/filebeat:7.12.0
depends_on:
- elasticsearch
- kibana
networks:
- default
volumes:
- ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- /var/lib/docker:/var/lib/docker:ro
- /var/run/docker.sock:/var/run/docker.sock
volumes:
elasticsearch_data:
driver: local
filebeat.inputs:
- type: container
paths:
- '/var/lib/docker/containers/*/*.log'
processors:
- add_docker_metadata:
host: "unix:///var/run/docker.sock"
- decode_json_fields:
fields: ["message"]
target: "json"
overwrite_keys: true
output.elasticsearch:
hosts: ["elasticsearch:9200"]
indices:
- index: "filebeat-%{[agent.version]}-%{+yyyy.MM}"
logging.json: true
logging.metrics.enabled: false