在 Kubernetes 上正确设置 Datadog 日志摄取

Proper Setup of Datadog Log Ingestion on Kubernetes

我从事 Datadog 日志摄取工作大约一年了。与它一起工作(大部分)很棒。不过,关于 运行 在 Kubernetes 中安装它的文档有点缺乏。他们的文档涵盖了 Docker,但 Kubernetes 的内容较少。

当我一年前将 Datadog 安装到我们的 Kubernetes 集群时,有两种方法可以做到这一点,您可以使用 DaemonSet 来确保每个节点上至少有一个 Datadog 运行Pod。或者您可以将其安装为 Deployment。我选择了 DaemonSet 选项并使用 Helm 来安装它。效果很好!

然后我们想开始使用 DogStatsD 来获取有关我们应用程序的指标,当时似乎需要 "cluster-agent" 到 运行。我对这部分有严重的怀疑。如果我在我的集​​群中获得所有与 Datadog 相关的对象,我会看到 DaemonSet (daemonset.apps/dd-agent-datadog) 并且我还会在我的集群上看到一个 Deployment (daemonset..apps/dd-agent-datadog)。

这样对吗?我真的需要 运行 这两样东西才能获取日志摄取和指标吗?

Datadog有两个代理。

  1. 集群代理,它是 Kubernetes API 服务器和 Datadog 节点代理之间的代理。集群代理作为部署部署到 kubernetes 节点之一。
  2. 作为 Daemonset 部署在每个 Kubernetes 节点中的节点代理。

是的,对于 DogStatsD,节点代理需要部署为 Daemonset。

这是 cluster agent and node agent 的部署清单。