Datadog 技能用于通过统一可观测性平台监控基础设施与应用。资料给出何时使用该技能、前置条件、各类部署方式、配置与集成示例、常见问题与最佳实践。
【用途与适用场景】 资料指出,在以下情况使用该技能:实施企业级监控;设置 APM 与分布式追踪;为基础设施和应用创建统一仪表盘;配置智能告警;监控云基础设施(AWS、Azure、GCP)。
【前置条件】 需要 Datadog 账户与 API key;具备 Agent 安装权限;具备应用代码访问权限以接入 APM。
【安装方式】 资料提供三种安装方式:
- Linux:通过安装脚本或包管理器安装 Agent,写入 API key,并用 systemctl 启动与设为开机自启。
- Docker:提供 docker-compose.yml 示例,使用 gcr.io/datadoghq/agent:7 镜像,配置 API key、日志、APM、进程 Agent 等环境变量,挂载 docker.sock、/proc、cgroup,并暴露 8126(APM)与 8125/udp(DogStatsD)端口。
- Kubernetes:使用 Helm 添加 datadog 仓库并安装,通过 --set 配置 apiKey、site、logs、apm、processAgent 等,创建命名空间。
【Agent 配置】 在 /etc/datadog-agent/datadog.yaml 中配置 api_key、site、hostname、全局 tags(env、service、team)、日志采集、APM(apm_config)、进程监控(process_config)、容器监控(container_collect_all、docker_labels_as_tags)。
【集成配置】 资料给出 MySQL、PostgreSQL、NGINX 的 conf.yaml 示例,包括主机、端口、用户名、密码、tags 及各自的采集选项(如 replication、extra_status_metrics、collect_activity_metrics、collect_database_size_metrics、nginx_status_url)。
【日志采集】 支持文件日志(type: file、path、service、source、sourcecategory、tags 及 log_processing_rules 排除规则)、Docker 日志(通过 com.datadoghq.ad.logs 标签)、Kubernetes 日志(通过 Pod annotation ad.datadoghq.com/...logs,含多行处理规则)。
【APM 配置】 提供 Python、Node.js、Go 三种语言的埋点示例。Python 使用 ddtrace 的 patch_all、tracer.configure 与 @tracer.wrap 手动埋点,可用 ddtrace-run 启动;Node.js 使用 dd-trace init 与 startSpan;Go 使用 dd-trace-go 的 tracer.Start、WithService、WithEnv、WithServiceVersion 及手动 span。
【自定义指标】 可通过 DogStatsD(increment、gauge、histogram、distribution)上报,或通过 datadog_api_client 的 MetricsApi 提交指标数据。
【仪表盘与告警】 提供 Dashboard JSON 示例,含 timeseries 与 query_value 组件,查询请求速率与错误率。提供指标告警与 APM(trace-analytics)告警 JSON 示例,包含查询、消息、tags、thresholds、notify_no_data 等配置。
【常见问题】
- Agent 未上报:检查 API key,用 datadog-agent status 验证。
- 缺少 trace:确认 APM 已启用、检查 tracer 配置与 8126 端口。
- 高基数标签:减少唯一标签值,改用 distribution 替代 histogram。
【最佳实践】 使用一致的服务与环境标签;遵循标签命名规范;使用统一服务标签(service、env、version);设置服务级监控;按服务创建仪表盘;实现日志与 trace 关联;延迟指标使用 distribution;配置合理的告警升级。
【相关信息】 资料列出相关技能:prometheus-grafana(开源替代)、alerting-oncall(告警管理)、aws-vpc(AWS 监控)。
【限制】 资料未提供价格、收费模式、平台支持范围或具体效果数据。