用途:为已用 APM 埋点的服务开启 Data Streams Monitoring(DSM)。DSM 运行在 APM 已注入的 Datadog SDK 内,通过在消息中附加少量上下文头,把生产者、队列与消费者串成管道,测量端到端延迟与消费滞后;受支持的库无需新增 Agent、包或改代码,只需为每个服务设置一个 tracer 配置。
主要能力:识别工作区中事件驱动服务(消息客户端依赖、broker Pod、Lambda 事件源等),给出是否适合启用 DSM 的判断;按 Kubernetes(SSI targets)、Linux、Lambda 等平台给出配置方式;在 Kubernetes 上通过 ddTraceConfigs 设置 DD_DATA_STREAMS_ENABLED=true,并检查 Cluster Agent 版本(需 7.73+)、等待配置生效、重启 Deployment 并验证注入结果。
使用方式:先解析 PLATFORM、DSM_SERVICES、LANGUAGES 等上下文变量,向用户说明影响并取得明确同意后再改配置;Kubernetes 场景下用 Operator 或 Helm 在 targets 中新增 DSM target,并保留默认 target 以免其他工作负载失去埋点;随后重启服务并检查容器环境变量是否为 true。
适用场景:微服务间异步交接、同步请求转后台任务、由队列或流触发的 Lambda,以及使用 Kafka、RabbitMQ、SQS、SNS、Kinesis、Pub/Sub 等消息系统的服务。
限制:APM 未接入时不应启用;仅关注 Kafka broker 或集群健康不属于本技能范围;Redis 类任务队列(Sidekiq、Celery on Redis、RQ、Bull)无法覆盖;kafka-python、node-rdkafka、franz-go 等客户端不受支持;Go 与 PHP 在 SSI 下不支持(Go 需 Orchestrion 或手动包装);需 Datadog Agent v7.34.0 及以上。DSM 包含在 APM Pro 与 APM Enterprise 中,基础 APM 层单独计费;不应猜测或报出价格,也不应猜测用户套餐。