首页 > 解决方案 > 自定义指标未发送到 datadog

问题描述

我正在使用 docker 运行 datadog 代理

    DOCKER_CONTENT_TRUST=1 \
    docker run -d -v /var/run/docker.sock:/var/run/docker.sock:ro \
          -v /proc/:/host/proc/:ro \
          -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
          -e DD_API_KEY=<my_api_key> \
          -e DD_DOGSTATD_NON_LOCAL_TRAFFIC=true \
          -e DD_LOG_LEVEL=debug \
          -p 127.0.0.1:8125:8125/udp \
          datadog/agent:latest

我想使用 dogstatsd 发送自定义指标。当我跑

    echo -n "custom_metric:60|g|#shell" | nc -4u -w0 127.0.0.1 8125

我可以在 wireshark 中看到 udp 数据包从源到目标是成功的,但是这个指标没有提交给 datadog。我错过了一些配置吗?

标签: datadog

解决方案


好像你的命令有错字。DD_DOGSTATD_NON_LOCAL_TRAFFIC 被用来代替DD_DOGSTATSD_NON_LOCAL_TRAFFIC

我通常使用以下命令来测试 Datadog:

DOCKER_CONTENT_TRUST=1 docker run -d \
    --name dd-agent \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    -v /proc/:/host/proc/:ro \
    -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
    -e DD_API_KEY=<api-key> \
    -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC="true" \
    -p 8125:8125/udp \
    -p 8126:8126/tcp \
    datadog/agent:latest

推荐阅读