-
Notifications
You must be signed in to change notification settings - Fork 524
/
docker-compose.yml
78 lines (76 loc) · 3.29 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#
# This configuration is used for systemtests
# For manual testing, you should probably prefer using Tilt.
# See https://github.com/elastic/apm-server/blob/main/dev_docs/TESTING.md#tilt--kubernetes
#
version: '3.9'
x-logging: &default-logging
driver: "json-file"
options:
max-size: "1g"
services:
elasticsearch:
# TODO: replace with a pinned version such as 9.0.0-aaaaaaaa-SNAPSHOT
image: docker.elastic.co/elasticsearch/elasticsearch:9.0.0-0229e105-SNAPSHOT
ports:
- 9200:9200
healthcheck:
test: ["CMD-SHELL", "curl -s http://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=500ms"]
retries: 300
interval: 1s
environment:
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "network.host=0.0.0.0"
- "transport.host=127.0.0.1"
- "http.host=0.0.0.0"
- "cluster.routing.allocation.disk.threshold_enabled=false"
- "discovery.type=single-node"
- "xpack.security.authc.anonymous.roles=remote_monitoring_collector"
- "xpack.security.authc.realms.file.file1.order=0"
- "xpack.security.authc.realms.native.native1.order=1"
- "xpack.security.enabled=true"
- "xpack.license.self_generated.type=trial"
- "xpack.security.authc.token.enabled=true"
- "xpack.security.authc.api_key.enabled=true"
- "logger.org.elasticsearch=${ES_LOG_LEVEL:-error}"
- "action.destructive_requires_name=false"
volumes:
- "./testing/docker/elasticsearch/roles.yml:/usr/share/elasticsearch/config/roles.yml"
- "./testing/docker/elasticsearch/users:/usr/share/elasticsearch/config/users"
- "./testing/docker/elasticsearch/users_roles:/usr/share/elasticsearch/config/users_roles"
- "./testing/docker/elasticsearch/ingest-geoip:/usr/share/elasticsearch/config/ingest-geoip"
logging: *default-logging
kibana:
# TODO: replace with a pinned version such as 9.0.0-aaaaaaaa-SNAPSHOT
image: docker.elastic.co/kibana/kibana:9.0.0-0229e105-SNAPSHOT
ports:
- 5601:5601
healthcheck:
test: ["CMD-SHELL", "curl -s http://localhost:5601/api/status | grep -q 'All services are available'"]
retries: 300
interval: 1s
environment:
ELASTICSEARCH_HOSTS: '["http://elasticsearch:9200"]'
ELASTICSEARCH_USERNAME: "${KIBANA_ES_USER:-kibana_system_user}"
ELASTICSEARCH_PASSWORD: "${KIBANA_ES_PASS:-changeme}"
XPACK_FLEET_AGENTS_ELASTICSEARCH_HOSTS: '["http://elasticsearch:9200"]'
depends_on:
elasticsearch: { condition: service_healthy }
volumes:
- "./testing/docker/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml"
logging: *default-logging
metricbeat:
# TODO: replace with a pinned version such as 9.0.0-aaaaaaaa-SNAPSHOT
image: docker.elastic.co/beats/metricbeat:9.0.0-0229e105-SNAPSHOT
environment:
ELASTICSEARCH_HOSTS: '["http://elasticsearch:9200"]'
ELASTICSEARCH_USERNAME: "${KIBANA_ES_USER:-admin}"
ELASTICSEARCH_PASSWORD: "${KIBANA_ES_PASS:-changeme}"
depends_on:
elasticsearch: { condition: service_healthy }
volumes:
- "./testing/docker/metricbeat/elasticsearch-xpack.yml://usr/share/metricbeat/modules.d/elasticsearch-xpack.yml"
- "./testing/docker/metricbeat/apm-server.yml://usr/share/metricbeat/modules.d/apm-server.yml"
profiles:
- monitoring
logging: *default-logging