我应该使用什么主机名将自定义指标发送到 k8s 内的 datadog 代理?

问题描述 投票:0回答:2

我有一个 k8s 集群,其中安装了 datadog 的 helm。

我想将自定义指标发送到 datadog 的代理,但我不知道为dogstatsd 客户端主机设置什么值。

这些代理实际上是一个守护进程集,所以我认为本地主机可以工作,但事实并非如此。

而且,由于它是UDP,很难知道请求是否发送失败,因此很难尝试和出错。

有什么想法吗?

kubernetes metrics datadog statsd
2个回答
1
投票

通常,您使用 DogStatsD 或通过自定义代理检查发送的任何指标都是自定义指标。

有多种方式可以将指标发送到Datadog:

将自定义应用程序指标导入 Datadog 的最简单方法是将其发送到 DogStatsD,这是与 Datadog Agent 捆绑在一起的指标聚合服务。

Set host and port to hostname/IP and port of the agent (if different from the default 127.0.0.1:8125)


statsd_host':'127.0.0.1

statsd_port':8125

请参阅此doc,了解有关通过 DogStatsD 提交自定义指标的更多信息

您还可以使用 Datadog 官方和社区贡献的 API 和 DogStatsD 客户端库之一来提交您的自定义指标

注意:自定义指标提交没有强制执行的固定速率限制。如果超出您的默认分配,您将根据 Datadog 的计费政策针对自定义指标进行计费。


0
投票

Datadog 推荐的方法之一是使用 Unix 套接字而不是主机和端口,特别是对于 k8s 工作负载。 Helm(或操作员)安装的 DataDog 代理应该已经配置为使用套接字,并且套接字应该作为卷安装。 例如。在我的操作员安装的代理 DaemonSet 上,我有类似的东西(其他东西被删除)。

        - mountPath: /var/run/datadog
          name: dsdsocket
      ....
      - hostPath:
          path: /var/run/datadog
          type: DirectoryOrCreate
        name: dsdsocket

在此套接字上,可以将其安装到应用程序容器,并由客户端库使用

可以在此链接中找到相应语言的特定库。

https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=kubernetes

© www.soinside.com 2019 - 2024. All rights reserved.