Datadog
注意
内置的 StatsD 输出在 k6 v0.47.0 中已被弃用,并在 v0.55.0 中移除。您可以继续使用 xk6-output-statsd 扩展或根据您的用例使用 OpenTelemetry 输出将指标流式传输到 StatsD。
有关此更改原因的更多信息,您可以在 k6 存储库中关注此问题。
k6 可以将指标发送到 Datadog。这允许在 Datadog 中可视化性能测试指标并将其与其他监控指标关联起来。
本指南介绍如何
- 运行 Datadog Agent
- 运行 k6 测试
- 在 Datadog 中可视化
开始之前
要使用 StatsD 输出选项,您需要使用 xk6-output-statsd 扩展构建 k6 二进制文件。有关详细信息,请参阅 StatsD。
运行 Datadog Agent
为了将 k6 指标导入 Datadog,k6 通过 Datadog Agent 发送指标,Datadog Agent 负责收集、聚合并将指标转发到 Datadog 平台。
使用此命令将 Datadog Agent 服务作为 Docker 容器运行
DOCKER_CONTENT_TRUST=1 \
docker run --rm -d \
--name datadog \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e DD_SITE="datadoghq.com" \
-e DD_API_KEY=<YOUR_DATADOG_API_KEY> \
-e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=1 \
-p 8125:8125/udp \
datadog/agent:latest
对于 DD_SITE
,请确保使用正确的 Datadog 站点 URL。
将 <YOUR_DATADOG_API_KEY>
替换为您的 Datadog API 密钥。
注意
有关其他信息,请参阅 Datadog Docker Agent 文档。
DogStatsD
Datadog Agent 包含 DogStatsD 服务,用于收集和聚合指标。DogStatsD 实现了带有部分扩展的 StatsD 协议。例如,DogStatsD 标签允许收集带有标签的 k6 指标,以便区分不同 URL、响应状态、组等的请求。
上述说明在 Docker 容器中运行 DogStatsD 服务,但也可以作为 Host Agent、Kubernetes 和 Helm 运行。
运行 k6 测试
一旦 Datadog Agent 服务运行起来,运行 k6 测试并将指标发送到 Agent:
K6_STATSD_ENABLE_TAGS=true k6 run --out output-statsd script.js
确保您使用的是使用 xk6-output-statsd 扩展构建的 k6 二进制文件。
您可以查看 StatsD 输出页面获取配置选项。
在 Datadog 中可视化
测试运行时,k6 会定期将指标发送到 Datadog。默认情况下,这些指标名称前缀为 k6.
。
您可以使用 metrics explorer、monitors 或 custom dashboards 实时可视化 k6 指标。
要了解所有 k6 指标类型,请阅读 k6 Metrics 指南
Datadog 首次检测到 k6.http_reqs
指标时,会自动安装 k6 集成磁贴,并将默认的 k6 面板添加到您的面板列表。
您可以选择按照以下说明安装 k6 集成磁贴
- 登录
Datadog
。 - 在侧边栏菜单中,选择
集成
>集成
。 - 搜索
k6
,然后选择k6
集成。 - 单击
配置
选项卡。 - 向下滚动并单击
安装集成
按钮。