1. 镜像概述
Datadog Serverless Monitoring 镜像提供基于容器的代理解决方案,专为Docker化Serverless环境设计,用于实现对无服务器应用的全链路监控。该镜像支持主流云厂商的Serverless容器服务,可无缝集成应用生命周期监控、日志采集、指标分析与分布式追踪能力。
主要用途
- 为Serverless容器应用提供轻量级监控代理
- 自动注入监控配置,简化分布式追踪与指标采集
- 整合日志流与性能数据,实现可观测性统一管理
支持环境
- Azure:Container Apps、App Service Web Apps (Linux)
- Google Cloud:Cloud Run(含Cloud Run Jobs与Cloud Run Functions)
2. 核心功能与特性
2.1 多环境适配
- 深度集成Azure与GCP Serverless容器服务,自动发现服务元数据
- 支持Sidecar模式与In-Process模式部署,适配不同资源限制场景
2.2 全链路监控能力
- 指标采集:自动收集容器资源使用率、请求量、错误率等核心指标,支持Cloud Run Jobs终止状态追踪(含
exit_code标签)
- 日志管理:采用Zstd压缩算法优化日志传输性能,支持多行堆栈追踪日志聚合,避免日志碎片化
- 分布式追踪:自动设置追踪器环境变量,支持OTLP协议,确保
DD_TAGS标签正确应用于追踪索引
2.3 性能与安全优化
- 低资源占用设计,适配Serverless环境资源限制
- 定期更新基础镜像(如Debian、Alpine)及依赖组件,修复高危漏洞(如CVE-2025-4802、CVE-2025-22874等)
- 支持HTTP/HTTPS代理配置,适配私有网络环境
2.4 灵活配置能力
- 丰富的环境变量控制(如日志文件描述符、标签管理、代理设置)
- 支持自定义标签(
DD_TAGS)注入,实现多维度监控数据聚合
3. 使用场景与适用范围
3.1 适用场景
- 生产环境监控:Serverless容器应用的实时性能指标与错误告警
- 问题排查:通过整合日志、追踪与指标数据,定位分布式系统故障
- 成本优化:基于资源使用率数据,优化Serverless容器扩缩容策略
3.2 目标用户
- 云原生应用开发者
- DevOps/SRE团队
- 需要监控Azure Container Apps、GCP Cloud Run等Serverless容器服务的技术团队
4. 使用方法与配置说明
4.1 镜像拉取
bash
docker pull gcr.io/datadoghq/serverless-init:<version> # GCP镜像仓库
# 或
docker pull datadog/serverless-init:<version> # Docker Hub(需确认实际仓库)
注:请将 <version> 替换为具体版本号(如1.8.1)
4.2 Docker Run 部署示例
bash
docker run -d \
--name datadog-serverless-agent \
-e DD_API_KEY=<YOUR_DATADOG_API_KEY> \
-e DD_SITE="datadoghq.com" \
-e DD_TAGS="env:production,team:backend" \
-e DD_LOGS_ENABLED="true" \
-e DD_PROXY_HTTP="http://proxy.example.com:8080" \
--network=host \
gcr.io/datadoghq/serverless-init:1.8.1
4.3 Docker Compose 配置示例
yaml
version: '3.8'
services:
datadog-agent:
image: gcr.io/datadoghq/serverless-init:1.8.1
container_name: datadog-serverless-agent
environment:
- DD_API_KEY=<YOUR_DATADOG_API_KEY>
- DD_SITE=datadoghq.com
- DD_TAGS=env:staging,service:api-gateway
- DD_LOGS_ENABLED=true
- DD_AAS_INSTANCE_LOGGING_ENABLED=true
- DD_AAS_INSTANCE_LOG_FILE_DESCRIPTOR=3
network_mode: "host"
restart: unless-stopped
4.4 核心环境变量说明
| 环境变量 | 描述 | 默认值 |
|---|
DD_API_KEY | Datadog API密钥(必填) | - |
DD_SITE | Datadog站点(如datadoghq.com、datadoghq.eu) | datadoghq.com |
DD_TAGS | 全局标签,格式为key:value,key2:value2,用于数据聚合与筛选 | - |
DD_LOGS_ENABLED | 是否启用日志采集 | false(In-Process模式)/true(Sidecar模式) |
DD_PROXY_HTTP/DD_PROXY_HTTPS | HTTP/HTTPS代理地址 | - |
DD_AAS_INSTANCE_LOGGING_ENABLED | Azure App Service实例日志采集开关 | false |
DD_AAS_INSTANCE_LOG_FILE_DESCRIPTOR | Azure App Service日志文件描述符(启用单文件日志时使用) | - |
5. 版本变更记录
5.1 1.8.1
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.8.1
- 修复:服务检查与事件刷新的空通道检查(#41539)
- 优化:Serverless-Init标签性能(#41582)
5.2 1.8.0
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.8.0
- 修复:追踪统计计算逻辑,禁用后端统计计算
- 优化:整体性能提升
5.3 1.7.12
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.12
- 新增:Cloud Run Jobs终止指标添加
exit_code标签(#41250)
- 优化:使用Zstd压缩替代glib,提升日志性能(#41353)
5.4 1.7.11
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.11
- 修复:AAS Profiling计费逻辑(#40371)
- 新增:AAS实例日志文件描述符(#40591)
- 安全:更新Debian以修复CVE-2025-4802与CVE-2025-8058
5.5 1.7.10
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.10
- 新增:环境变量
DD_AAS_INSTANCE_LOG_FILE_DESCRIPTOR,支持单文件日志(需配合DD_AAS_INSTANCE_LOGGING_ENABLED=true)(#40591)
5.6 1.7.9
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.9
- 修复:Serverless日志主机名设为空字符串(#40074)
- 增强:Cloud Run Jobs指标支持(#39246)
5.7 1.7.8
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.8
- 安全:升级Go至1.24.6以修复漏洞(#782)
- 开发中:Cloud Run Jobs支持(#38737)
5.8 1.7.7
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.7
- 优化:Serverless-Init .NET安装脚本优先使用GITHUB_TOKEN(#748)
5.9 1.7.6
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.6
- 修复:追踪标签逻辑,确保
DD_TAGS正确应用于后端索引
5.10 1.7.5
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.5
- 修复:CVE-2025-22874漏洞
5.11 1.7.4
- https://github.com/DataDog/datadog-agent/releases/tag/serverless-init-1.7.4
- 修复:In-Process模式下多行堆栈日志拆分问题(#37551)
- 修复:In-Process模式下错误日志刷新逻辑(#37710)
5.12 历史版本(1.7.3及更早)
- 1.7.3:与v1.7.1功能一致
- 1.7.2:存在CPU峰值或崩溃风险,建议使用v1.7.3
- 1.7.1:修复CVE-2023-4039漏洞(#1802)
- 1.7.0:Azure App Services Sidecar模式支持实例日志 tailing(#36530)
- 1.6.1:修复CVE-2025-22871漏洞(#642)
- 1.6.0:GCP Cloud Run Functions标签
function_target更新为build_function_target
- 1.5.9:修复CVE-2025-0395漏洞(#1768)
- 1.5.8:http-proxy安全补丁(#34923)
- 1.5.7:stdlib安全补丁(#547)
- 1.5.6:添加Node.js追踪器路径至NODE_PATH(#33589)
- 1.5.5:暴露GCP
resource_name标签至追踪与日志,优化GCP标签逻辑以降低内存占用
- 1.5.4:修复特定环境下Dogstatsd端口冲突导致的段错误
- 1.5.3:修复CVE-2024-45338漏洞(golang.org/x/net/html解析问题)
- 1.5.2:修复OTLP管道标签传播逻辑,更新GCR命名空间标签
- 1.5.1:修复CVE-2024-5535漏洞(依赖包更新)
- 1.5.0:修复Azure Container Apps全局标签竞态条件,添加后端标签至Span,支持Azure Containerapp v2计费命名空间,优化Cloud Run标签逻辑
- 1.4.0:Azure Container Apps命名空间标签添加至Span与Profile(#30637)
- 1.3.0:Sidecar模式日志源修正,V2计费Sidecar标签更新,Azure Container Apps Profile元数据添加,Alpine镜像Go版本升级至1.23.2
- 1.2.9:修复1.2.8版本Bug
- 1.2.8:集成.NET追踪器安装脚本(#366),Agent版本7.56.0
- 1.2.7:添加直方图聚合与百分位数支持(#28102),Agent版本7.55.3
- 1.2.6:In-Process模式默认禁用日志(DD_LOGS_ENABLED=false),Sidecar模式默认启用日志(DD_LOGS_ENABLED=true)
- 1.2.5:新增Sidecar模式,修复Azure环境标签缺失问题,错误时传播应用退出码
- 1.2.4:回滚至1.2.2版本(修复1.2.3版本Bug)
- 1.2.3:已知问题版本,不推荐使用(新增Sidecar模式,修复Azure标签缺失)
- 1.2.2:依赖更新
- 1.2.1:支持追踪统计计算,修复Azure/GCP服务
_dd.origin标签错误
- 1.1.4:修复OpenTelemetry漏洞
- 1.1.3:修复指标桶计算错误与日志解析问题
- 1.1.2:修复OS信号传播逻辑
- 1.1.1:修复调试日志不显示问题,移除冗余调试信息
- 1.1.0:修复.NET应用日志拆分问题
- 1.0.0:支持自动设置追踪器环境变量
- beta9:修复日志缓冲导致的行拆分问题,支持DD_AZURE_RESOURCE_GROUP与DD_AZURE_SUBSCRIPTION_ID
- beta8:支持OTLP协议,修复DD_TAG与DD_EXTRA_TAG忽略问题
- beta7:修复beta6版本应用启动panic风险,修复自定义指标发送问题,修复Azure Container Apps日志标签与空日志问题
- beta6:支持DD_PROXY_HTTP与DD_PROXY_HTTPS
- beta5:支持Azure Container Apps,移除GCP Cloud Run顶层Span(gcp.cloudrun)