-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
167 lines (157 loc) · 5.32 KB
/
docker-compose.yaml
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
version: '3.9'
services:
# **************************
# Open Telemetry Components
# **************************
tempo:
container_name: tempo
image: grafana/tempo:2.1.0
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- ./docker-configuration/grafana-lgtm/tempo.yaml:/etc/tempo.yaml
- ./tempo-data:/tmp/tempo
ports:
- "14268" # jaeger ingest
- "3200" # tempo
- "4317" # otlp grpc
- "4318" # otlp http
- "9411" # zipkin
networks:
- opentelemetry_demo
mimir:
container_name: mimir
image: grafana/mimir:2.10.3
command: [ "-config.file=/etc/mimir/demo.yaml" ]
volumes:
- ./docker-configuration/grafana-lgtm/mimir-demo.yaml:/etc/mimir/demo.yaml
ports:
- "9009:9009"
networks:
- opentelemetry_demo
loki:
container_name: loki
image: grafana/loki:2.8.6
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- opentelemetry_demo
grafana:
container_name: grafana
image: grafana/grafana:9.4.3
volumes:
- ./docker-configuration/grafana-lgtm/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_AUTH_DISABLE_LOGIN_FORM=true
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
ports:
- "3000:3000"
networks:
- opentelemetry_demo
otelcol:
image: otel/opentelemetry-collector-contrib:0.88.0
container_name: otelcol
deploy:
resources:
limits:
memory: 100M
restart: unless-stopped
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
volumes:
- ./docker-configuration/otelcollector/otelcol-config.yml:/etc/otelcol-config.yml
- ./docker-configuration/otelcollector/otelcol-config-extras.yml:/etc/otelcol-config-extras.yml
ports:
- "4317:4317" # OTLP over gRPC receiver
- "4318:4318" # OTLP over HTTP receiver
- "9464:9464" # Prometheus exporter
- "8888:8888" # metrics endpoint
depends_on:
- loki
- tempo
- mimir
networks:
- opentelemetry_demo
# **************************
# Examples Apps
# **************************
webapi:
image: danielvieiravega/otel-webapi
container_name: webapi
ports:
- "8080:80"
restart: unless-stopped
build:
context: ./WebAPI
environment:
ASPNETCORE_ENVIRONMENT: TDC
OpenTelemetryConfiguration__Endpoint: http://otelcol:4317
OpenTelemetryConfiguration__ServiceName: webapi
OpenTelemetryConfiguration__MeterNames: webapi
OpenTelemetryConfiguration__Debug: true
OpenTelemetryConfiguration__ServiceVersion: 1.1.1
OpenTelemetryConfiguration__SampleRate: 1.0
#Logging__LogLevel__Default: Trace
#Logging__LogLevel__Microsoft.AspNetCore: Trace
MasstransitConfiguration__Producer__ExchangeName: ExchangeExemplo
MasstransitConfiguration__Broker__Username: guest
MasstransitConfiguration__Broker__Password: guest
MasstransitConfiguration__Broker__Host: rabbitmq
MasstransitConfiguration__Broker__Port: 5672
MasstransitConfiguration__Broker__VirtualHost: /
ConnectionStrings__PessoasDb: "Server=sqlserver,1433;Database=PessoasDb;User Id=sa;Password=SqlServer2019!;TrustServerCertificate=true"
networks:
- opentelemetry_demo
worker:
image: danielvieiravega/otel-worker
container_name: worker
build:
context: ./Worker
environment:
ASPNETCORE_ENVIRONMENT: TDC
OpenTelemetryConfiguration__Endpoint: http://otelcol:4317
OpenTelemetryConfiguration__ServiceName: worker
OpenTelemetryConfiguration__Debug: false
OpenTelemetryConfiguration__ServiceVersion: 2.0.0
OpenTelemetryConfiguration__SampleRate: 1.0
#Logging__LogLevel__Default: Trace
#Logging__LogLevel__Microsoft.AspNetCore: Trace
MasstransitConfiguration__Producer__ExchangeName: ExchangeExemplo
MasstransitConfiguration__Broker__Username: guest
MasstransitConfiguration__Broker__Password: guest
MasstransitConfiguration__Broker__Host: rabbitmq
MasstransitConfiguration__Broker__Port: 5672
MasstransitConfiguration__Broker__VirtualHost: /
MasstransitConfiguration__Consumer__QueueName: QueueExemplo
MasstransitConfiguration__Consumer__ExchangeName: ExchangeExemplo
MasstransitConfiguration__Consumer__ConcurrencyLimit: 1
MasstransitConfiguration__Consumer__PrefetchCount: 1
ConnectionStrings__PessoasDb: "Server=sqlserver,1433;Database=PessoasDb;User Id=sa;Password=SqlServer2019!;TrustServerCertificate=true"
networks:
- opentelemetry_demo
rabbitmq:
container_name: rabbitmq
image: rabbitmq:3-management
environment:
- RABBITMQ_DEFAULT_USER=guest
- RABBITMQ_DEFAULT_PASS=guest
ports:
- "5672:5672"
- "15672:15672"
networks:
- opentelemetry_demo
sqlserver:
container_name: sqlserver
image: mcr.microsoft.com/mssql/server:2019-latest
environment:
SA_PASSWORD: "SqlServer2019!"
ACCEPT_EULA: "Y"
MSSQL_PID: "Developer"
ports:
- "1433:1433"
networks:
- opentelemetry_demo
networks:
opentelemetry_demo:
driver: bridge