Datadog:全栈可观测性平台

FreeGuideOnline 最新 2026-07-01

Datadog 全栈可观测性平台:基础设施监控入门教程

Datadog 是一个面向云原生应用的监控与安全平台,能够将基础设施指标、日志、应用性能(APM)、用户体验等数据统一收集并关联。本教程将带你从零开始,掌握使用 Datadog 监控服务器、容器和云资源的核心技能。

什么是 Datadog 以及为什么需要它

Datadog 是一个 SaaS 化的全栈可观测性平台,它可以把分散在不同系统里的监控数据汇聚到一处,提供实时仪表盘、智能告警和强大的查询能力。无论是几台虚拟机,还是成千上万个容器,你都能通过统一的界面了解整个系统的健康状况。

核心价值在于:

  • 统一视图:指标、日志、Trace、安全事件在同一平台呈现。
  • 自动关联:基础设施问题可以快速关联到受影响的日志和请求链路。
  • 智能告警:支持基于机器学习的异常检测和预测。
  • 开放生态:内置 700 多个集成,覆盖 AWS、Kubernetes、Docker、Nginx 等。

Datadog 架构一览

理解 Datadog 的基础架构有助于你快速上手监控流程。

  • Datadog Agent:运行在你需要监控的主机或 Kubernetes 节点上,负责采集系统指标、容器状态和日志。
  • Integrations:Agent 内置的插件,能与特定软件或云服务交互,自动收集相关指标。
  • Datadog 后端:SaaS 端的数据存储、处理、查询和可视化引擎。
  • 前端界面:通过浏览器或移动 App 访问,用于查看仪表盘、配置监控、分析数据。

数据从 Agent 汇聚到 Datadog,经过标签(Tags)丰富后,即可在平台上进行搜索、聚合和告警。

第一步:注册账号与获取 API Key

开始监控之前,你需要一个 Datadog 账号。

  1. 前往 datadoghq.com 注册免费试用(14 天全功能试用)。
  2. 登录后,导航至 Organization SettingsAPI Keys
  3. 系统会为你默认生成一个 API Key,复制它,后续安装 Agent 时会用到。
  4. 同样在 Organization Settings 下找到 Agent Installation,根据你的操作系统获取安装指令。

第二步:安装 Datadog Agent

Agent 是所有监控的基石,需要安装到每一台要监控的主机上。以下以 Linux (Ubuntu) 为例:

DD_API_KEY=<你的API_KEY> DD_SITE="datadoghq.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"

该命令会自动下载并安装最新版 Agent,并以你提供的 API Key 进行注册。安装完成后,Agent 会作为系统服务运行。

验证安装:在主机上执行 sudo datadog-agent status,如果输出显示 Agent is running 且无报错,即表示安装成功。几分钟后,你可以在 Datadog 的 InfrastructureHost Map 中看到这台主机。

对于 Docker 环境,可以使用官方的 datadog/agent 镜像,通过 Docker Compose 或 Kubernetes DaemonSet 部署,确保它能收集容器指标和宿主机信息。

基础设施监控基础:主机、容器和进程

一旦 Agent 正常运行,Datadog 会自动开始收集大量系统级指标,无需额外配置。

  • 主机视图(Host Map):在 Web 界面的 InfrastructureHost Map 中,所有主机以六边形展示,颜色按 CPU 或内存使用率动态变化。你可以按标签(如 env:production)过滤,快速定位问题主机。
  • 实时容器(Containers):如果主机运行 Docker,Agent 会自动发现并上报容器指标。InfrastructureContainers 页面会列出所有容器,显示 CPU、内存、I/O 等实时数据,并支持按 Docker 标签或 Kubernetes 元数据筛选。
  • 进程监控(Processes):开启 Live Process 功能后(需在 Agent 配置中启用),可以在 InfrastructureProcesses 查看所有活跃进程的 CPU、内存使用率和启动参数,这对排查异常进程很有帮助。

关键指标与标签(Tags)的理解

Datadog 的每一项指标都以 <metric_name> 的形式存储,并带有一组键值对标签。标签是 Datadog 最强大的功能之一,它让你在多维度下对数据进行切片和聚合。

常见的系统指标示例:

  • system.cpu.user:用户态 CPU 使用率
  • system.mem.used:已用内存
  • system.net.bytes_rcvd:网络接收字节数
  • system.disk.in_use:磁盘空间使用率

标签可以是 Datadog 自动添加的(如 host, os, region),也可以是你在 datadog.yaml 中自定义的,例如:

  • env:staging
  • service:frontend
  • team:platform

任何指标查询都可以通过标签过滤和分组,例如:system.cpu.user{env:production} by {host} 将返回生产环境每台主机的 CPU 用户态消耗。

探索指标与创建监测器(Monitor)

光看默认仪表盘还不够,你需要学会按需查询指标。

  1. 进入 MetricsExplorer,直接在搜索栏输入指标名称,回车后会看到该指标的图表和详情。
  2. 点击 Graph 下的 Edit,你可以修改时间范围、添加分组条件、应用函数(如 avg, rate, top10)。
  3. 保存你的查询图表到个人仪表盘,或直接从图表创建 Monitor

创建第一个监控告警

假设你需要当某台主机的 CPU 使用率持续 5 分钟超过 90% 时收到告警:

  • 进入 MonitorsNew Monitor,选择 Metric
  • 将检测方法设为 Threshold Alert
  • 在查询中填入 avg:system.cpu.user{host:你的主机名} by {host}
  • 设置阈值:当 above 90 持续 5 分钟时触发。
  • 添加通知消息,配置要 @ 的团队或外部集成(如 Slack、PagerDuty)。
  • 保存 Monitor,一旦条件满足,你就会收到通知。

可视化:构建自定义仪表盘

仪表盘让你能够将相关指标集中展示,快速掌握服务整体状态。

  1. 前往 DashboardsNew Dashboard,命名如“生产环境概览”。
  2. 点击 Add Widgets,选择 Timeseries 来展示折线图。
  3. 在编辑界面输入查询:system.cpu.user{env:production} by {host},设置标题为“按主机 CPU 使用率”。
  4. 添加 Host Map 小部件,按环境过滤,直观显示主机负载。
  5. 使用 Change 小部件展示某指标的环比变化。
  6. 保存后,该仪表盘即可实时更新,并可通过链接或全屏模式(TV Mode)投屏。

集成日志、APM 与网络监控(入门)

Datadog 的强大之处在于它能将基础设施监控与日志、应用性能监控整合。

  • 日志管理:在 Agent 配置中启用日志收集,设置日志路径,即可在 Logs 页面查看、搜索并与主机指标关联。例如,点击主机的 CPU 飙升时间点,可以直接跳转到该时刻的日志。
  • APM:为你的应用引入 Datadog Tracing 库,即可自动埋点,生成请求链路。在 APMServices 可以看到服务间的调用延迟和错误率,并与基础设施指标同屏展示。
  • 网络性能监控:Agent 自动采集主机和容器间的流量数据,Network 地图中能够看到依赖关系和流量拥堵点。

这些不是本基础教程的重点,但了解它们的存在会帮助你规划未来的可观测性架构。

最佳实践与常见配置技巧

  • 统一标签策略:在被监控的资源上(主机、容器、云实例)强制规范标签,如 env, service, team, version。这能让所有遥测数据在不同产品间无缝关联。
  • 按环境组织 Agent:利用 Datadog 的 datadog.yaml 中的 env 字段,自动给所有指标打上环境标签,方便区分生产、预发布和开发环境。
  • 合理设置采集频率:默认 Agent 每 15 秒上报一次指标,对于不重要的指标可以通过集成配置降低频率以控制成本。
  • 利用模板变量:在仪表盘中使用模板变量(如 $env, $host),使其可动态切换,一个仪表盘适配多种场景。
  • 监控覆盖检查:使用 MonitorsManage 页面定期审查是否所有关键服务都有对应的告警,避免监控盲区。

下一步与进阶资源

现在你已经能够熟练安装 Agent、查看基础设施指标、构建仪表盘并设置基本告警。接下来你可以:

  • 探索 750+ 内置集成,例如 AWS 集成可以让你在一个仪表盘中同时看到 EC2 指标和 RDS 性能。
  • 深入 Synthetic Monitoring 实现主动探测。
  • 学习 Datadog 的查询语言(DDQL)来创建更复杂的图表和告警表达式。

官方文档(docs.datadoghq.com)是持续学习的最佳途径,尤其是 Getting Started 系列指南和 Monitor Types 参考。

通过持续实践与标签规范化,你将能把 Datadog 真正打造成团队的全栈可观测性中枢。