本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
运行私有工作流程的指标
HealthOmics 向亚马逊发布您的运行和任务的近乎实时的资源利用率指标。 CloudWatch这些指标使您可以了解跑步在执行过程中的进展情况。您可以使用这些指标来:
确定任务仍在运行时的中央处理单元 (CPU) 或图形处理单元 (GPU) 瓶颈。
在任务失败之前检测内存压力或临时存储空间耗尽。
Right-size 工作流程的计算和存储配置。
构建 CloudWatch 仪表板和警报,或与第三方可观测性工具集成。
运行指标可用于私有和共享工作流程。
HealthOmics 在您自己的 CloudWatch账户cloudwatch.aws/omics范围内出售这些指标。
这些指标使用与 CloudWatch OpenTelemetry (oTel) 兼容的指标标准发布。这意味着您可以将它们与可 OTel-compatible 观测性工具以及原生 CloudWatch仪表板和警报集成。使用 Prometheus 查询语言 (PromQL) 查询 oTel 指标以查看和分析数据。有关更多信息,请参阅 CloudWatch OpenTelemetry 指标。
区域可用性
除以色列(特拉维夫) HealthOmics 区域()外,所有支持的区域均提供跑步指标。il-central-1
为跑步启用指标
要发布这些指标,您在运行中使用的 AWS Identity and Access Management (IAM) 角色必须具有向其写入指标的权限 CloudWatch。为您的工作流程运行角色添加以下权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }
有关权限的更多信息,请参阅 的服务角色 AWS HealthOmics。有关开始运行的更多信息,请参阅开始跑步 HealthOmics。
CloudWatch PutMetricData配额
CloudWatch 默认PutMetricData配额为每秒 500 个请求(每秒交易量)。这个默认配额足以查看最多 15,000 个并发 HealthOmics 任务的指标。要查看超过 15,000 个并发 HealthOmics 任务的指标,请申请提高 CloudWatch PutMetricData配额上限。有关更多信息,请参阅 CloudWatch 服务配额。
可用指标
指标可用性
HealthOmics 根据工作流程类型发布指标。并非每个工作流程都会发布所有指标。
下表列出了每次 HealthOmics 运行的指标。这些指标在 CloudWatch Query Studio 中可用。单位遵循 OpenTelemetry 惯例:By是字节,{cpu}是 vCPU,{operation}是操作,%是百分比。
| 指标名称 | 说明 | 单位 | 类型 | 频率 | 可用性 |
|---|---|---|---|---|---|
aws.omics.run.filesystem.usage |
运行的共享文件系统上正在使用的存储。 | By |
gauge |
30 秒 | 适合每一次跑步。 |
aws.omics.run.filesystem.limit |
运行的共享文件系统的总容量。 | By |
gauge |
30 秒 | 仅适用于使用运行存储类型的STATIC运行。 |
aws.omics.task.cpu.usage |
工作流任务使用的 vCPU。 | {cpu} |
gauge |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.cpu.limit |
根据工作流定义或默认值为工作流任务预留的 vCPU。 | {cpu} |
gauge |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.memory.usage |
工作流任务使用的内存。 | By |
gauge |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.memory.limit |
为工作流任务预留的内存。 | By |
gauge |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.network.io |
工作流任务传输和接收的字节数。拆分network.io.direction为 (receive,transmit)。 |
By |
sum |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.filesystem.io |
工作流任务传输的文件系统字节数。拆分filesystem.io.direction为 (read,write)。 |
By |
sum |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.filesystem.operations |
工作流任务执行的文件系统操作的数量。拆分filesystem.io.direction为 (read,write)。 |
{operation} |
sum |
30 秒 | 适用于运行中的每项任务。 |
aws.omics.task.filesystem.scratch.storage.usage |
工作流任务正在使用的临时存储。 | By |
gauge |
30 秒(LOCAL模式)或 20 分钟(SHARED模式) |
适用于运行中的每项任务。 |
aws.omics.task.filesystem.scratch.storage.limit |
工作流任务可用的临时存储总容量。 | By |
gauge |
30 秒 | 对于运行中设置scratchStorageMode为的每项任务LOCAL。 |
aws.omics.task.gpu.utilization |
工作流任务的 GPU 使用率。每个 GPU 一个数据点,标识为gpu.id。 |
% |
gauge |
30 秒 | 仅适用于使用加速器的任务。 |
aws.omics.task.gpu.memory.usage |
工作流任务使用的 GPU 内存。每个 GPU 一个数据点,标识为gpu.id。 |
By |
gauge |
30 秒 | 仅适用于使用加速器的任务。 |
aws.omics.task.gpu.memory.limit |
可用于工作流任务的 GPU 内存。每个 GPU 一个数据点,标识为gpu.id。 |
By |
gauge |
30 秒 | 仅适用于使用加速器的任务。 |
有关加速器的更多信息,请参阅工作 HealthOmics 流定义中的任务资源。
有关临时存储的更多信息,请参阅。工作流程任务的临时存储 HealthOmics
通用 属性
每个 HealthOmics 运行指标都带有一组通用的资源标签,用于标识数据点的来源。
| 标签 | 说明 | 示例值 |
|---|---|---|
| 常用资源标签 | ||
@resource.cloud.provider |
发布该指标的云提供商。 | aws |
@resource.cloud.account.id |
运行所属的 AWS 账户。 | 123456789012 |
@resource.cloud.region |
跑步 AWS 所在的区域。 | us-west-2 |
@resource.cloud.resource_id |
跑步的 ARN。 | arn:aws:omics:us-west-2:123456789012:run/1234567 |
@resource.service.name |
发布指标的服务。 | omics |
@resource.aws.omics.workflow.id |
运行所使用的工作流程的 ID。 | 1122334 |
@resource.aws.omics.run.id |
跑步的 ID。 | 1234567 |
@resource.aws.omics.storage.type |
运行存储类型。 | DYNAMIC |
| 任务资源标签 | ||
@resource.aws.omics.task.id |
数据点所用任务的 ID。只有aws.omics.task.*指标带有此标签。 |
1245938 |
其它属性
一些运行指标带有额外的数据点属性,将指标拆分为不同的时间序列。您可以使用这些属性来过滤 PromQL 查询。
| 附加属性 | 指标 | 说明 | 值 |
|---|---|---|---|
gpu.id |
aws.omics.task.gpu.utilization, aws.omics.task.gpu.memory.usage, aws.omics.task.gpu.memory.limit |
实例上 GPU 的从零开始的索引。 | 0、1、2 或 3 |
scratch.storage.mode |
aws.omics.task.filesystem.scratch.storage.usage, aws.omics.task.filesystem.scratch.storage.limit |
任务根据有效值写入其临时数据的位置scratchStorageMode。 |
LOCAL 或 SHARED |
network.io.direction |
aws.omics.task.network.io |
网络传输的方向。 | receive 或 transmit |
filesystem.io.direction |
aws.omics.task.filesystem.io, aws.omics.task.filesystem.operations |
文件系统的操作方向。 | read 或 write |
查询 HealthOmics 运行指标
您可以通过在 Q HealthOmics uery Studio 中运行 PromQL 查询,在 CloudWatch 控制台中查看运行指标。
查看 HealthOmics 运行指标(CloudWatch 控制台)
-
确认您的运行是在
cloudwatch:PutMetricData获得许可的情况下开始的。 -
登录 AWS 管理控制台并打开CloudWatch 控制台
。 -
在导航窗格中,选择 Query Studio。
-
在查询编辑器中,从下拉列表中选择 PromQL。
-
在生成器模式下,浏览并选择指标名称及其标签。或者,在编辑器模式下,输入 PromQL 查询。
-
使用时间范围选择器选择时间范围。
-
选择 “运行” 将结果显示为时间序列图。要更改图表的显示方式,请选择自定义。
例如,以下查询返回运行中每个任务使用的 vCPU。runID替换为要检查的运行的 ID。
{"aws.omics.task.cpu.usage", "@resource.aws.omics.run.id"="runID"}
要使用其运行 ID 和任务 ID 标记每个时间序列,您可以选择自定义标签并输入以下内容。
{@resource.aws.omics.run.id="${@resource.aws.omics.run.id}",@resource.aws.omics.task.id="${@resource.aws.omics.task.id}"}
查询 HealthOmics 运行指标 (API)
CloudWatch 提供用于查询指标数据 Prometheus-compatible 的 API 和端点。有关使用这些 API 查询指标的更多信息,请参阅 Prometheus-compatible API 。
使用创建警报 CloudWatch
您可以通过 PromQL 查询创建 CloudWatch 警报,以便在指标超过阈值时 CloudWatch 通知您。警报可以向亚马逊简单通知服务 (Amazon SNS) 主题发送通知,也可以在警报状态更改时启动其他操作。
通过 PromQL 查询创建警报(CloudWatch 控制台)
-
登录 AWS 管理控制台并打开CloudWatch 控制台
。 -
在导航窗格中,选择 Query Studio。
-
选择 PromQL,输入您的查询,验证图表,然后选择 “创建警报” 按钮。
向 CloudWatch 仪表板添加 HealthOmics 运行指标
您可以将 PromQL 查询作为控件添加到 CloudWatch 仪表板中,这样您就可以监控 HealthOmics 资源利用率以及其他指标。
向 CloudWatch 仪表板(CloudWatch 控制台)添加 HealthOmics 运行指标
-
登录 AWS 管理控制台并打开CloudWatch 控制台
。 -
在导航窗格中,选择 Query Studio。
-
选择 PromQL,输入您的查询,然后验证图表。
-
选择 “操作”,然后选择 “添加到仪表板” 。
-
选择现有仪表板或创建新仪表板,然后保存该控件。
使用 HealthOmics MCP 服务器分析运行指标
您可以使用 HealthOmics 模型上下文协议 (MCP) 服务器检索运行指标,并借助 AI 模型调查多个维度的数据运行失败情况。你可以通过 Kiro CLI、Claude Code 或任何其他 MCP-compatible 代理客户端使用 MCP 服务器。有关更多信息,请参阅 AWS HealthOmics MCP 服务器
标注
HealthOmics 在任务达到状态后开始发出运行指标,并在任务达到
RUNNING状态后停止发出这些指标。COMPLETED有关任务状态的更多信息,请参阅任务状态值。第一个数据点在大约 30 秒的短暂延迟后出现。
运行时间少于 30 秒的任务可能没有指标。
当运行的存储类型为时
DYNAMIC,aws.omics.run.filesystem.usage可能会延迟超过 30 分钟,因此它可能不适用于少于 30 分钟的运行。如果
scratchStorageMode是SHARED,则aws.omics.task.filesystem.scratch.storage.usage可能无法用于创建大量临时文件的任务。 HealthOmics 通过递归扫描任务的临时目录来衡量此模式下的使用情况,当文件数较高时,扫描并不总是在时限内完成。CPU 和内存指标可能与运行清单值不同,因为这两个测量值使用不同的范围。运行指标可以更仔细地反映任务的实际消耗。
运行指标仅在拥有服务角色并开始运行的 AWS 账户中可用。
计费
AWS HealthOmics 不会向您收取跑步指标的费用。指标将在您的账户 CloudWatch 中发布到亚马逊,并直接向您 CloudWatch 收取相关活动的账单。费用基于摄取的指标数据量。有关特定 AWS 地区的价格,请参阅亚马逊 CloudWatch 定价
| Activity | 如何向你收费 |
|---|---|
| 发布 OpenTelemetry 指标 | 每摄取的每 GB 数据。包括 15 个月的存储时间,不另外收取存储费用或按唯一指标系列的数量收费。 |
| 在 CloudWatch 控制台中运行 PromQL 查询,包括 Query Studio 和仪表板 | 免费。 |
| 使用 API 运行 PromQL 查询 CloudWatch | 每扫描的百万份样本。 |
| 评估 PromQL 查询的警报 | 标准警报费,外加每次评估时扫描的样本的查询费用。 |
选择退出
默认情况下,只要运行的服务角色具有cloudwatch:PutMetricData权限,就会 HealthOmics 发布运行指标。要选择退出并停止将来收费,您可以在每个运行级别省略服务角色的此权限。要在其他策略授予权限时也停止发布,请为该角色添加明确拒绝:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }
另一种选择退出的方法是通过在StartRun请求LogLevel
= OFF中进行设置来关闭运行日志记录。当您设置LogLevel为时OFF, HealthOmics 不发布运行指标。