Datadog:安装 Datadog 代理时 API 密钥无效丢弃事务

Pro*_*ton 3 kubernetes datadog kubernetes-helm

我正在尝试使用HelmKubernetes集群安装Datadog代理。

这是我使用的helm 命令:

helm repo add datadog https://helm.datadoghq.com

helm repo update

helm upgrade --install datadog datadog/datadog \
  --namespace monitoring \
  --create-namespace \
  --atomic \
  --set datadog.apiKey=<MY-DATADOG-API-KEY> \
  --set targetSystem=linux \
  --values values.yaml
Run Code Online (Sandbox Code Playgroud)

值文件

datadog:
  kubelet:
    host:
      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName
    hostCAPath: /etc/kubernetes/certs/kubeletserver.crt
    tlsVerify: false # Required as of Agent 7.35. See Notes.
Run Code Online (Sandbox Code Playgroud)

但是,当我运行活性探针错误并显示错误 500 时,显示以下错误:

集群| 错误 | (内部流程中的 pkg/forwarder/transaction/transaction.go:344) | API 密钥无效,正在删除https://orchestrator.datadoghq.com/api/v1/orchestrator的交易。

Pro*_*ton 12

我是这样解决的

该问题与Datadog 目标站点有关。我的指标、跟踪和日志的目标站点应该是datadoghq.eu. 这是使用变量 来设置的,如果未设置,DD_SITE则默认为。datadoghq.com

要检查您的Datadog 目标站点,只需查看 Datadog 仪表板的 URL:

要在您的 helm 图表中进行设置,只需执行以下任一操作:

helm repo add datadog https://helm.datadoghq.com

helm repo update

helm upgrade --install datadog datadog/datadog \
  --namespace monitoring \
  --create-namespace \
  --atomic \
  --set datadog.apiKey=<MY-DATADOG-API-KEY> \
  --set targetSystem=linux \
  --set datadog.site=datadoghq.eu \
  --values values.yaml
Run Code Online (Sandbox Code Playgroud)

或者将其设置在您的值文件中:

datadog:
  site: datadoghq.eu
  kubelet:
    host:
      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName
    hostCAPath: /etc/kubernetes/certs/kubeletserver.crt
    tlsVerify: false # Required as of Agent 7.35. See Notes.
Run Code Online (Sandbox Code Playgroud)

参考

  1. 当新的 Spot 实例加入集群时,Datadog Agent Forwarder 无法进行活动探测,导致多次重启 #1697

  2. DD_SITE 设置为 us3.datadoghq.com,但 process-agent 和 security-agent 仍尝试连接到非 us3 端点 #9180