You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2025-01-14 09:44:20 UTC | CORE | ERROR | (comp/otelcol/collector/impl-pipeline/pipeline.go:111 in func1) | Error running the OTLP ingest pipeline: failed to register process metrics: process does not exist
services:
agent:
container_name: datadog-agent# Built this image by https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/765983422image: datadog/agent-dev:update-otel-collector-dependencies-0-117-0-py3volumes:
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
- /proc/:/host/proc/:ro
- /var/run/docker.sock:/var/run/docker.sock:roenvironment:
- DD_APM_ENABLED=true
- DD_APM_NON_LOCAL_TRAFFIC=true
- DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT=0.0.0.0:4317
- DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT=0.0.0.0:4318env_file:
- ~/sandbox.docker.env # DD_API_KEY is here.
docker logs datadog-agent | grep '\: process does not exist'
2025-01-14 23:42:26 UTC | CORE | ERROR | (comp/otelcol/collector/impl-pipeline/pipeline.go:112 in func1) | Error running the OTLP ingest pipeline: failed to register process metrics: process does not exist
Looks agent fails to find own PID (= 404 in this case) from /host/proc.
PID 404 is only available in pid namespaces of agent container. This means PID 404 does not exist in procfs of the host.
# /proc and /host/proc are mounted in this container.
docker exec -it datadog-agent mount | grep '/proc type'
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
proc on /host/proc type proc (ro,nosuid,nodev,noexec,relatime)
# Find agent PID
docker exec -it datadog-agent ps -ef | grep 'agent run'
root 404 398 1 23:42 ? 00:00:04 agent run
# Process is found in /proc
docker exec -it datadog-agent bash -c 'find /proc -name '404' -type d 2>/dev/null'
/proc/404
/proc/404/task/404
# Not found in /host/proc
docker exec -it datadog-agent bash -c 'find /host/proc -name '404' -type d 2>/dev/null'
Agent Environment
Describe what happened:
OTLP Ingestion by the Datadog Agent doesn't start.
Describe what you expected:
agent should listen on
*:4318
and*:4317
likeSteps to reproduce the issue:
Additional environment details (Operating System, Cloud provider, etc):
Found three workarounds.
1. Use 7.60.1
Using this version could be a workaround.
2. Avoid using
/proc
from hostSet
HOST_PROC=/proc
Remove
/proc/:/host/proc/:ro
fromvolumes
3. Set
pid: host
Related Information/Code
Investigation
Thoughts
Updating
go.opentelemetry.io/collector/otelcol v0.116.0
tov0.117.0
could be a solution.Looking at the release of shirou/gopsutil v4.24.12,
shirou/gopsutil#1716 seems to solve related issue such as shirou/gopsutil#1709.
go.opentelemetry.io/collector/otelcol v0.117.0
usesshirou/gopsutil v4.24.12
. See https://github.com/open-telemetry/opentelemetry-collector/blob/v0.117.0/otelcol/go.mod#L67The text was updated successfully, but these errors were encountered: