You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将pulsar-datadog配置接入K8s Datadog Agent无数据问题求助

在Kubernetes中配置Datadog Agent采集Pulsar指标无数据的排查方案

我通过Helm在K8s集群部署了Datadog Agent,将官方pulsar-datadog的配置文件放到/etc/datadog-agent/conf.d/openmetrics.d目录,也导入了仪表盘JSON,但面板始终无数据。不确定配置里的tags(比如bookie id)是否正确,求验证方法及排查思路。

已执行的操作

  • 通过Helm安装Datadog Agent,Pod运行正常:
    ➜ kubectl get pods -n datadog
    NAME                                          READY   STATUS    RESTARTS   AGE
    datadog-cluster-agent-c65786576-8kqpb         1/1     Running   0          82m
    datadog-gq9qr                                 3/3     Running   0          89m
    datadog-kube-state-metrics-6fb56bf889-vt65l   1/1     Running   0          11h
    datadog-v7k44                                 3/3     Running   0          90m
    datadog-v9vht                                 3/3     Running   0          89m
    
  • 更新配置文件tags匹配Pulsar Pod名称:
    Pulsar集群的bookie Pod信息:
    ➜ kubectl get pods -n pulsar 
    NAME                                             READY   STATUS    RESTARTS   AGE
    ...
    event-platform-pulsar-1-sn-bookie-0              1/1     Running   0          9h
    event-platform-pulsar-1-sn-bookie-1              1/1     Running   0          9h
    event-platform-pulsar-1-sn-bookie-2              1/1     Running   0          9h
    ...
    
    在bookie_conf.yaml中配置:
    tags:
          - pulsar-bookie: event-platform-pulsar-1-sn-bookie
    
  • 将配置文件复制到指定目录:
    root@datadog-gq9qr:/etc/datadog-agent/conf.d/openmetrics.d# ls
    bookie_conf.yaml  conf.yaml.example  zookeeper_conf.yaml
    broker_conf.yaml  proxy_conf.yaml
    
  • 重启Datadog Cluster Agent:
    ➜ kubectl rollout restart deployment datadog-cluster-agent -n datadog
    
  • 导入仪表盘JSON文件至Datadog面板。

排查步骤

1. 验证配置文件的目标采集地址

检查bookie_conf.yaml中的metrics_url是否指向Pulsar Bookie的metrics端点(默认是http://<bookie-pod-ip>:8000/metrics)。如果使用DNS,确认Agent能解析Bookie的服务名或Pod域名。

2. 查看Agent采集日志

进入任意节点上的Datadog Agent Pod,查看openmetrics检查的日志:

kubectl exec -n datadog datadog-gq9qr -- agent logs -s openmetrics

重点关注是否有连接失败、指标解析错误的日志,比如connection refused或invalid metric format。

3. 验证tags配置准确性

  • 当前配置的pulsar-bookie: event-platform-pulsar-1-sn-bookie是Pod前缀,而仪表盘可能需要每个Bookie实例的唯一标识。可尝试改为单个实例的Pod名:
    tags:
      - pulsar-bookie: event-platform-pulsar-1-sn-bookie-0
    
    (每个Bookie对应单独的配置文件,或使用Kubernetes自动标签注入)
  • 在Datadog平台的Metrics Explorer中搜索pulsar_前缀的指标,确认是否有数据上报,同时检查指标的tags是否与配置一致。

4. 测试Agent与Bookie的连通性

在Agent Pod中curl Bookie的metrics地址,验证网络访问权限:

kubectl exec -n datadog datadog-gq9qr -- curl http://event-platform-pulsar-1-sn-bookie-0.pulsar.svc.cluster.local:8000/metrics

如果无法访问,检查网络策略、Pod端口是否正确暴露。

5. 重启正确的Agent组件

采集指标的是节点上的Datadog Agent Pod(如datadog-gq9qr),而非Cluster Agent,需重启节点Agent的DaemonSet:

kubectl rollout restart daemonset datadog -n datadog

6. 检查仪表盘过滤器

导入的仪表盘可能默认使用特定tag键值对(如pulsar_cluster或bookie_id),检查仪表盘widget的过滤器规则,确保与你配置的tags匹配。

内容的提问来源于stack exchange,提问作者Hofbr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:39:20