Skip to content

Commit eb85aa5

Browse files
authored
Add docker-compose-elasticsearch.yml and its sample configuration (#7144)
## Which problem is this PR solving? - Partly solve /issues/7142 ## Description of the changes - Add docker-compose/monitor/docker-compose-spm-elasticsearch.yaml as an easier way to start jaeger & SPM with elasticsearch storage. - Add example configurations: cmd/jaeger/config-spm-elasticsearch.yaml and cmd/jaeger/config-spm-opensearch.yaml ## How was this change tested? - System test ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [ ] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `npm run lint` and `npm run test` --------- Signed-off-by: pipiland2612 <[email protected]>
1 parent 1be2293 commit eb85aa5

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
service:
2+
extensions: [jaeger_storage, jaeger_query]
3+
pipelines:
4+
traces:
5+
receivers: [otlp]
6+
processors: [batch]
7+
exporters: [jaeger_storage_exporter, spanmetrics]
8+
metrics/spanmetrics:
9+
receivers: [spanmetrics]
10+
exporters: [prometheus]
11+
telemetry:
12+
resource:
13+
service.name: jaeger
14+
metrics:
15+
level: detailed
16+
readers:
17+
- pull:
18+
exporter:
19+
prometheus:
20+
host: 0.0.0.0
21+
port: 8888
22+
logs:
23+
level: DEBUG
24+
25+
extensions:
26+
jaeger_query:
27+
storage:
28+
traces: some_storage
29+
metrics: some_metrics_storage
30+
jaeger_storage:
31+
backends:
32+
some_storage:
33+
elasticsearch:
34+
server_urls:
35+
- http://elasticsearch:9200
36+
metric_backends:
37+
some_metrics_storage:
38+
prometheus:
39+
endpoint: http://prometheus:9090
40+
normalize_calls: true
41+
normalize_duration: true
42+
43+
connectors:
44+
spanmetrics:
45+
46+
receivers:
47+
otlp:
48+
protocols:
49+
grpc:
50+
http:
51+
endpoint: "0.0.0.0:4318"
52+
53+
processors:
54+
batch:
55+
56+
exporters:
57+
jaeger_storage_exporter:
58+
trace_storage: some_storage
59+
prometheus:
60+
endpoint: "0.0.0.0:8889"
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
services:
2+
elasticsearch:
3+
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0@sha256:2f602552550869fb29b6fd5848c5118d3ef3a2e1d5d45802e3ab9088cb2de8e2
4+
networks:
5+
- backend
6+
environment:
7+
- discovery.type=single-node
8+
- http.host=0.0.0.0
9+
- transport.host=127.0.0.1
10+
- xpack.security.enabled=false # Disable security features
11+
- xpack.security.http.ssl.enabled=false # Disable HTTPS
12+
- action.destructive_requires_name=false
13+
- xpack.monitoring.collection.enabled=false # Disable monitoring features
14+
- ES_LOG_LEVEL=trace # Set log level to capture all queries
15+
- logger.org.elasticsearch.index.search.slowlog=TRACE # Log all slow queries
16+
17+
ports:
18+
- "9200:9200"
19+
healthcheck:
20+
test: [ "CMD-SHELL", "curl -f http://localhost:9200 || exit 1" ]
21+
interval: 10s
22+
timeout: 10s
23+
retries: 30
24+
25+
jaeger:
26+
networks:
27+
backend:
28+
# This is the host name used in Prometheus scrape configuration.
29+
aliases: [ spm_metrics_source ]
30+
image: jaegertracing/jaeger:${JAEGER_VERSION:-latest}
31+
volumes:
32+
- "./jaeger-ui.json:/etc/jaeger/jaeger-ui.json" # Do we need this for v2 ? Seems to be running without this.
33+
- "../../cmd/jaeger/config-spm-elasticsearch.yaml:/etc/jaeger/config.yml"
34+
command: ["--config", "/etc/jaeger/config.yml"]
35+
ports:
36+
- "16686:16686" # Jaeger UI http://localhost:16686
37+
- "8888:8888"
38+
- "8889:8889"
39+
- "4317:4317"
40+
- "4318:4318"
41+
depends_on:
42+
elasticsearch:
43+
condition: service_healthy
44+
45+
microsim:
46+
networks:
47+
- backend
48+
image: yurishkuro/microsim:v0.5.0@sha256:b7ee2dee51d2c9fd94de08a80278cfbf5a144ad0f22efce50f3d3be15cbfa2c7
49+
command: "-d 24h -s 500ms"
50+
environment:
51+
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://jaeger:4318/v1/traces
52+
depends_on:
53+
- jaeger
54+
55+
prometheus:
56+
networks:
57+
- backend
58+
image: prom/prometheus:v3.2.0@sha256:5888c188cf09e3f7eebc97369c3b2ce713e844cdbd88ccf36f5047c958aea120
59+
volumes:
60+
- "./prometheus.yml:/etc/prometheus/prometheus.yml"
61+
ports:
62+
- "9090:9090"
63+
depends_on:
64+
- jaeger
65+
66+
networks:
67+
backend:
68+
69+
volumes:
70+
esdata:
71+
driver: local

0 commit comments

Comments
 (0)