gpt4 book ai didi

python - Datadog 计数指标因多个容器而下降

转载 作者:行者123 更新时间:2023-12-01 02:56:46 29 4
gpt4 key购买 nike

我正在Python中增加Datadog计数器:

from datadog import initialize
from datadog import ThreadStats
stats.increment('api.request_count', tags=['environment:' + environment])

并在指标的元数据中将指标类型设置为“计数”,并将单位设置为“每无请求数”。

代码在 Google Cloud 容器引擎中的 kubernetes 节点上的 docker 容器中运行...我在每个节点上运行 docker-dd-agent ( https://github.com/DataDog/docker-dd-agent )。

我可以将容器移动到任何节点,并且每分钟记录大约 200 个请求。但当我扩展它并启动第二个容器时,它每分钟只记录大约 100 个请求。如果我再次缩小到一个容器,它的转速会再次飙升至 200 rpm:

enter image description here

什么可能导致请求丢弃或被其他 Pod 覆盖?

最佳答案

为什么不使用dogstatsd而不是threadstats?如果您已经以容器可访问的方式在节点上运行 dd-agent,则可以使用 datadog.statsd.increment() 方法通过 statsd 将指标发送到代理,然后它会从那里转发到您的 datadog 帐户。

Dogstatsd 的优点是更直接,并且更容易排除故障,至少在调试级别日志记录方面是这样。 Threadstats 有时具有不需要 dd-agent 的好处,但它很少(如果有的话)进行错误日志记录,因此很难解决此类情况。

如果您选择了dogstatsd路线,您将使用以下代码:

from datadog import initialize
from datadog import statsd
statsd.increment('api.request_count', tags=['environment:' + environment])

从那里您可以找到类型为“rate”且间隔为“10”的指标元数据,并且您可以使用“as_count”函数将值转换为计数。

关于python - Datadog 计数指标因多个容器而下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44155361/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com