Introduce a new docker-compose configuration to integrate Datadog and OpenTelemetry with services like PostgreSQL, RabbitMQ, Redis, and Elsa. Updated the Datadog API key in an existing compose file for security purposes. This setup enables detailed monitoring, tracing, and metrics collection for development environments.
77 lines
2.4 KiB
YAML
77 lines
2.4 KiB
YAML
services:
|
|
elsa-studio:
|
|
pull_policy: always
|
|
build:
|
|
context: ../.
|
|
dockerfile: ./docker/ElsaStudio.Dockerfile
|
|
depends_on:
|
|
- elsa-server
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
ELSASERVER__URL: "http://localhost:13000/elsa/api"
|
|
ports:
|
|
- "14000:8080"
|
|
|
|
elsa-server:
|
|
pull_policy: always
|
|
build:
|
|
context: ../.
|
|
dockerfile: ./docker/ElsaServer.Dockerfile
|
|
depends_on:
|
|
- datadog-agent
|
|
environment:
|
|
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: false
|
|
OTEL_RESOURCE_ATTRIBUTES: service.name=aspnet-app
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://datadog-agent:4317
|
|
OTEL_EXPORTER_OTLP_HEADERS: "DD_API_KEY=4cdbf04b80065d715d9d12ee1fd84e22"
|
|
DD_AGENT_HOST: datadog-agent
|
|
DD_ENV: development
|
|
DD_TRACE_DEBUG: true
|
|
DD_TRACE_ENABLED: true
|
|
DD_TRACE_OTEL_ENABLED: true
|
|
DD_TRACE_LOGGING_ENABLED: true
|
|
DD_SERVICE: "Elsa Server"
|
|
DD_VERSION: "3.4.0"
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
PYTHONNET_PYDLL: /opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/bin/python3.11
|
|
PYTHONNET_RUNTIME: coreclr
|
|
ports:
|
|
- "13000:8080"
|
|
|
|
datadog-agent:
|
|
image: gcr.io/datadoghq/agent:7
|
|
environment:
|
|
DD_API_KEY: "<hidden>"
|
|
DD_SITE: "datadoghq.eu"
|
|
DD_HOSTNAME: "datadog-agent"
|
|
DD_LOGS_ENABLED: "true"
|
|
DD_OTLP_CONFIG_LOGS_ENABLED: "true"
|
|
DD_OTLP_CONFIG_TRACES_ENABLED: "true"
|
|
DD_OTLP_CONFIG_METRICS_ENABLED: "true"
|
|
DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL: "true"
|
|
DD_APM_ENABLED: "true"
|
|
DD_APM_NON_LOCAL_TRAFFIC: "true"
|
|
DD_DOGSTATSD_NON_LOCAL_TRAFFIC: "true"
|
|
DD_APM_RECEIVER_SOCKET: /var/run/datadog/apm.socket
|
|
DD_DOGSTATSD_SOCKET: /var/run/datadog/dsd.socket
|
|
DD_APM_INSTRUMENTATION_ENABLED: true
|
|
DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT: 0.0.0.0:4317
|
|
DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT: 0.0.0.0:4318
|
|
|
|
# Service autodiscovery
|
|
DD_AC_INCLUDE: "name:elsa-workflows"
|
|
DD_AC_EXCLUDE: "name:datadog-agent"
|
|
|
|
ports:
|
|
- "8126:8126" # APM
|
|
- "4317:4317" # OTLP gRPC
|
|
- "4318:4318" # OTLP HTTP
|
|
|
|
volumes:
|
|
- /var/run/datadog:/var/run/datadog
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- /proc/:/host/proc/:ro
|
|
- /sys/fs/cgroup:/host/sys/fs/cgroup:ro
|
|
|
|
volumes:
|
|
postgres-data: |