Issue Template
Datadog not working in windows container as sidecar. I used as Linux container it's working for me.
Description:
I am trying to run envoy, Datadog and dotnet application as sidecar. I am able to create the and run the container with envoy as sidecar without Datadog. But when adding the Datadog tracing i am gating the below issue in windows container.
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/datadog.proto#config-trace-v3-datadogconfig
Error:
[2024-01-04 22:42:07.291][1896][critical][main] [source/server/server.cc:141] error initializing config ' .\envoy.yaml': Unable to parse JSON as proto (INVALID_ARGUMENT: could not find @type 'type.googleapis.com/envoy.config.trace.v3.DatadogConfig'):
Full yaml
static_resources:
listeners:
- name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 9902
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
generate_request_id: true
request_id_extension:
typed_config:
"@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig
use_request_id_for_trace_sampling: false
tracing:
provider:
name: envoy.tracers.datadog
typed_config:
"@type": type.googleapis.com/envoy.config.trace.v3.DatadogConfig
collector_cluster: datadog_agent
service_name: sa-envoy-proxy-web-service
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
# path: /dev/stdout
# log_format:
# text_format_source:
# inline_string: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" \"%RESP(X-AMZN-RequestId)%\" \"%REQ(X-DATADOG-TRACE-ID)%\" \"%REQ(X-DATADOG-PARENT-ID)%\"\n"
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: backend_service
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: sa-envoy-proxy-cluster
http_filters:
- name: envoy.filters.http.health_check
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck
pass_through_mode: false
headers:
- exact_match: /healthcheck
name: :path
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
suppress_envoy_headers: true
use_remote_address: true
clusters:
- name: sa-envoy-proxy-cluster
connect_timeout: 5s
type: strict_dns
lb_policy: round_robin
load_assignment:
cluster_name: sa-envoy-proxy-cluster
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 172.89.194.61 # application host ip
port_value: 80
- name: datadog_agent
connect_timeout: 5s
type: strict_dns
lb_policy: round_robin
load_assignment:
cluster_name: datadog_agent
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 0.0.0.0
port_value: 8126
admin:
# access_log_path: "./logs/logs.txt"
address:
socket_address:
address: 0.0.0.0
port_value: 9201
Envoy Dockerfile
FROM envoyproxy/envoy-windows:v1.28-latest
# FROM envoyproxy/envoy-windows:v1.19-latest
EXPOSE 5000
EXPOSE 9201
EXPOSE 9202
COPY envoy.yaml './envoy.yaml'
COPY start_envoy.ps1 './start_envoy.ps1'
ENTRYPOINT ["powershell.exe", "./start_envoy.ps1"]
Reference Url:
https://docs.datadoghq.com/tracing/trace_collection/proxy_setup/?tab=envoy
Issue Template
Datadog not working in windows container as sidecar. I used as Linux container it's working for me.
Description:
I am trying to run envoy, Datadog and dotnet application as sidecar. I am able to create the and run the container with envoy as sidecar without Datadog. But when adding the Datadog tracing i am gating the below issue in windows container.
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/datadog.proto#config-trace-v3-datadogconfig
Error:
Full yaml
static_resources: listeners: - name: listener_0 address: socket_address: address: 0.0.0.0 port_value: 9902 filter_chains: - filters: - name: envoy.filters.network.http_connection_manager typed_config: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager generate_request_id: true request_id_extension: typed_config: "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig use_request_id_for_trace_sampling: false tracing: provider: name: envoy.tracers.datadog typed_config: "@type": type.googleapis.com/envoy.config.trace.v3.DatadogConfig collector_cluster: datadog_agent service_name: sa-envoy-proxy-web-service access_log: - name: envoy.access_loggers.stdout typed_config: "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog # path: /dev/stdout # log_format: # text_format_source: # inline_string: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH):256% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" \"%RESP(X-AMZN-RequestId)%\" \"%REQ(X-DATADOG-TRACE-ID)%\" \"%REQ(X-DATADOG-PARENT-ID)%\"\n" codec_type: auto stat_prefix: ingress_http route_config: name: local_route virtual_hosts: - name: backend_service domains: - "*" routes: - match: prefix: "/" route: cluster: sa-envoy-proxy-cluster http_filters: - name: envoy.filters.http.health_check typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.health_check.v3.HealthCheck pass_through_mode: false headers: - exact_match: /healthcheck name: :path - name: envoy.filters.http.router typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router suppress_envoy_headers: true use_remote_address: true clusters: - name: sa-envoy-proxy-cluster connect_timeout: 5s type: strict_dns lb_policy: round_robin load_assignment: cluster_name: sa-envoy-proxy-cluster endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 172.89.194.61 # application host ip port_value: 80 - name: datadog_agent connect_timeout: 5s type: strict_dns lb_policy: round_robin load_assignment: cluster_name: datadog_agent endpoints: - lb_endpoints: - endpoint: address: socket_address: address: 0.0.0.0 port_value: 8126 admin: # access_log_path: "./logs/logs.txt" address: socket_address: address: 0.0.0.0 port_value: 9201Envoy Dockerfile
Reference Url:
https://docs.datadoghq.com/tracing/trace_collection/proxy_setup/?tab=envoy