监控工作流

Google Cloud Observability 提供监控、日志记录和诊断工具。这些工具可帮助您监控和分析工作流部署和执行情况,以及了解应用的行为、运行状况和性能。

默认情况下,Workflows 会配置为执行以下操作:

  • 将数据和系统审核日志发送到 Cloud Logging。您可以使用收集的日志来调试应用、排查应用问题并获取数据洞见。
  • 将系统和资源指标发送到 Cloud Monitoring。您可以使用收集的指标来监控运行状况和性能、识别趋势和问题,并通知行为变化。

将审核日志发送到 Cloud Logging

Workflows 会将以下类型的审核日志数据发送到 Cloud Logging:

数据访问审核日志默认处于停用状态,因为这些审核日志可能非常大。如需了解详情,请参阅启用数据访问审核日志

如需详细了解 Workflows 中的审核日志,请参阅以下内容:

您还可以将执行日志发送到 Cloud Logging

将指标发送到 Cloud Monitoring

Workflows 会将来自受监控资源的指标数据发送到 Google Cloud Observability。“监控”中的受监控的资源表示逻辑或实体,例如虚拟机、数据库或应用。受监控的资源包含一组独特的指标,您可以通过信息中心探索这些指标、生成报告,或将其用于创建提醒。每个资源还具有一组资源标签,这些标签是键值对,用于存储与资源相关的其他信息。资源标签适用于与资源关联的所有指标。

如需查看所有资源类型,请参阅受监控的资源类型。如需查看所有指标类型,请参阅 Google Cloud 指标。展开即可下内容,查看从 Workflows 发送到 Google Cloud Observability 的指标类型列表:

Workflows 指标类型

此表中的“指标类型”字符串必须以 workflows.googleapis.com/ 为前缀。表中的条目已省略该前缀。 查询标签时,请使用 metric.labels. 前缀;例如 metric.labels.LABEL="VALUE"

指标类型发布阶段 (资源层次结构级别
显示名称
种类、类型、单位
受监控的资源
说明
标签
await_callback_step_count GA(项目)
等待回调步骤数
DELTAINT641
workflows.googleapis.com/Workflow
等待回调的已执行步骤数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
callback_requests_count GA(项目)
回调请求数
DELTAINT641
workflows.googleapis.com/Workflow
触发回调的请求次数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
callback_timeout_count GA(项目)
回调超时数
DELTAINT641
workflows.googleapis.com/Workflow
超时的回调数量。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
cmek_protected_workflow_count GA(项目)
CMEK 保护的工作流数量
DELTAINT641
workflows.googleapis.com/Workflow
部署了 CMEK 保护的工作流数量。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
compute_slice_count GA(项目)
计算 Slice 数
DELTAINT641
workflows.googleapis.com/Workflow
已执行的计算 Slice 的数量。步骤会按工作切片执行,具体取决于要执行的步骤类型(例如,HTTP 请求将与“分配”步骤分开运行)。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
type:计算 slice 的类型,例如“IO_REQUEST”或“WAKEUP”。
has_parallel:(BOOL) 工作流是否使用并行步骤。
compute_slice_latencies GA(项目)
计算 Slice 延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
从计算 Slice 被调度到被执行的时间所花费的延迟时间。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
type:计算 slice 的类型,例如“IO_REQUEST”或“WAKEUP”。
has_parallel(布尔值):工作流是否使用并行步骤。
compute_step_count GA(项目)
计算步骤数
DELTAINT641
workflows.googleapis.com/Workflow
执行的计算步骤数(例如“assign”和“for”步骤)。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
compute_step_latencies GA(项目)
计算步骤延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
已执行计算步骤的延迟时间。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
create_callback_step_count GA(项目)
创建回调步骤数
DELTAINT641
workflows.googleapis.com/Workflow
创建回调的已执行步骤数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
method: 创建的回调的方法类型,例如“POST”。
deployment_attempt_count GA(项目)
部署尝试次数
DELTAINT641
workflows.googleapis.com/Workflow
工作流部署尝试次数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
result: 部署尝试的状态。
deployment_latencies GA(项目)
部署延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
工作流部署尝试的延迟时间。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
duplicate_event_count GA(项目)
重复事件数
DELTAINT641
workflows.googleapis.com/Workflow
收到的重复事件触发器数量。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
event_type: 事件的类型。
event_time_to_ack_latencies GA(项目)
事件确认延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
从事件开始到 Workflows 服务确认事件的时间延迟。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
event_type: 事件的类型。
event_trigger_count GA(项目)
事件触发器数
DELTAINT641
workflows.googleapis.com/Workflow
收到的事件触发器数量。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
event_type: 事件的类型。
result: 事件触发器的结果。
execution_backlog_size GA(项目)
执行积压大小
GAUGEINT641
workflows.googleapis.com/Workflow
尚未开始的执行作业数量。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
execution_times Beta 版(项目)
执行时间
DELTADISTRIBUTIONs
workflows.googleapis.com/Workflow
工作流执行时间的分布情况。
revision_id: 已执行工作流的修订 ID。
external_step_count Beta 版(项目)
外部步骤数
DELTAINT641
workflows.googleapis.com/Workflow
工作流所执行的外部步骤的数量。
finished_execution_count Beta 版(项目)
已完成的执行次数
DELTAINT641
workflows.googleapis.com/Workflow
工作流程已完成的执行次数。
status:工作流的执行状态。
revision_id: 已执行工作流的修订 ID。
internal_execution_error_count GA(项目)
内部执行错误数
DELTAINT641
workflows.googleapis.com/Workflow
因内部错误而失败的执行次数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
internal_step_count Beta 版(项目)
内部步骤数
DELTAINT641
workflows.googleapis.com/Workflow
工作流程已执行的内部步骤数。
io_internal_request_count GA(项目)
IO 内部请求数
DELTAINT641
workflows.googleapis.com/Workflow
工作流向 Google 服务发出的 I/O 请求数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
service_domain: 要调用的 Google 服务的域名,例如“bigquery.googleapis.com”。
io_step_count GA(项目)
IO 步骤数
DELTAINT641
workflows.googleapis.com/Workflow
已执行的 I/O 步骤数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
io_result:I/O 步骤结果。
io_step_type:I/O 步骤类型。
destination_type: 输入/输出步骤目标类型。
had_system_error(布尔值):I/O 步骤是否出现系统错误。
io_step_latencies GA(项目)
IO 步骤延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
执行的 I/O 步骤的延迟时间。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
io_result:I/O 步骤结果。
io_step_type:I/O 步骤类型。
had_system_error(布尔值):I/O 步骤是否出现系统错误。
kms_decrypt_latencies GA(项目)
KMS 解密延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
针对 CMEK 的工作流发送到 KMS 的解密请求的延迟时间。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
status:解密请求的状态。
attempts: (INT64) 解密请求的尝试次数。
kms_decrypt_request_count GA(项目)
KMS 解密请求数
DELTAINT641
workflows.googleapis.com/Workflow
服务为 CMEK 发出的 KMS 解密请求数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
status:解密请求的状态。
kms_encrypt_latencies GA(项目)
KMS 加密延迟时间
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
针对 CMEK 的工作流发送到 KMS 的加密请求的延迟时间。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
status:加密请求的状态。
attempts: (INT64) 加密请求的尝试次数。
kms_encrypt_request_count GA(项目)
KMS 加密请求数
DELTAINT641
workflows.googleapis.com/Workflow
服务针对 CMEK 发出的 KMS 加密请求数量。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
status:加密请求的状态。
parallel_branch_step_count GA(项目)
并行分支步骤数
DELTAINT641
workflows.googleapis.com/Workflow
使用并行分支执行的步骤数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
parallel_branch_substep_count GA(项目)
并行分支子步骤数
DELTAINT641
workflows.googleapis.com/Workflow
并行分支中已执行的步骤数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
parallel_iteration_step_count GA(项目)
并行迭代步骤数
DELTAINT641
workflows.googleapis.com/Workflow
使用并行迭代执行的步骤数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
parallel_iteration_substep_count GA(项目)
并行迭代子步数
DELTAINT641
workflows.googleapis.com/Workflow
并行迭代中执行的步数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
parallel_unhandled_exceptions_limit_count GA(项目)
并发未处理的异常数上限
DELTAINT641
workflows.googleapis.com/Workflow
达到未处理并发异常数上限的次数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
pending_io_requests GA(项目)
待处理的 IO 请求
GAUGEINT641
workflows.googleapis.com/Workflow
正在处理的 I/O 请求数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
sent_bytes_count Beta 版(项目)
发送的网络字节数
DELTAINT64By
workflows.googleapis.com/Workflow
工作流发送的传出 HTTP 字节数(网址、标头和正文)。
revision_id: 已执行工作流的修订 ID。
started_execution_count Beta 版(项目)
已启动的执行次数
DELTAINT641
workflows.googleapis.com/Workflow
工作流已开始的执行次数。
revision_id: 已执行工作流的修订 ID。
started_vpcsc_executions_count GA(项目)
已启动的 VPC-SC 执行次数
DELTAINT641
workflows.googleapis.com/Workflow
已启动的 VPC-SC 受限执行作业数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。
vpcsc_protected_io_count GA(项目)
VPC-SC 受保护 IO 数
DELTAINT641
workflows.googleapis.com/Workflow
使用 VPC-SC 发出的 I/O 请求数。每 60 秒采样一次。采样后,数据在最长 120 秒的时间内不会显示。
revision_id: 已执行工作流的修订 ID。

世界协调时间 (UTC) 2024-11-26 17:39:42 生成的表。

读取指标数据

您可以使用 Cloud Monitoring API 中的 timeSeries.list 方法来读取指标数据(也称为时间序列数据)。您可以通过多种方式调用该方法,包括使用特定于语言的客户端库,或使用 Metrics Explorer 创建图表。您还可以使用基于表单的 API Explorer 试用 timeSeries.list 方法。如需了解指标和时序,请参阅指标、时序和资源。如需了解如何读取指标数据,请参阅检索时序数据

监控配额指标

以下示例演示了如何使用 API Explorer 查询 Workflows 的已用分配配额总量。具体而言,它会对 Consumer Quota 资源类型使用 serviceruntime.googleapis.com/quota/allocation/usage 指标。您可以设置其他标签过滤条件(servicequota_metric)来指定配额类型。如需详细了解如何监控配额指标(包括更多示例和如何创建提醒政策),请参阅图表和监控配额指标

  1. 打开 timeSeries.list 参考页面

  2. 如果系统未显示试用此方法窗格,请点击试用

  3. name 字段中,使用以下格式输入您的 Google Cloud 项目 ID:

    projects/PROJECT_ID
    
  4. 过滤条件字段中,指定单个指标类型,还可以根据需要指定指标标签和其他信息。例如:

    metric.type = "serviceruntime.googleapis.com/quota/allocation/usage" AND resource.labels.service = "workflowexecutions.googleapis.com"
    
  5. interval.endTime 字段中,输入结束时间以限制返回的数据量,该时间应与您的使用情况相符。其格式应为 RFC 3339 字符串;例如 2024-11-07T03:01:02Z

  6. interval.startTime 字段中,输入一个适用于您使用情况的开始时间,以限制返回的数据量。其格式应为 RFC 3339 字符串;例如 2024-11-07T03:01:00Z

  7. 点击执行

    结果应类似如下所示,其中 350 表示并发执行配额指标。

    {
    "timeSeries": [
       {
          "metric": {
          "labels": {
             "quota_metric": "workflowexecutions.googleapis.com/concurrency"
          },
          "type": "serviceruntime.googleapis.com/quota/allocation/usage"
          },
          "resource": {
          "type": "consumer_quota",
          "labels": {
             "service": "workflowexecutions.googleapis.com",
             "project_id": "PROJECT_ID",
             "location": "europe-west1"
          }
          },
          "metricKind": "GAUGE",
          "valueType": "INT64",
          "points": [
          {
             "interval": {
                "startTime": "2024-11-07T03:01:02Z",
                "endTime": "2024-11-07T03:01:02Z"
             },
             "value": {
                "int64Value": "350"
             }
          }
          ]
       }
    
  8. 在收起的 API Explorer 侧边栏中,您可以点击“全屏”图标 来展开 API Explorer。全屏面板会显示一个额外的窗格,其中包含代码示例、application/json 响应和原始 HTTP 响应。例如,在本例中,您可以查看类似的 curl 命令:

    curl \
    'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22serviceruntime.googleapis.com%2Fquota%2Fallocation%2Fusage%22%20AND%20resource.labels.service%20%3D%20%22workflowexecutions.googleapis.com%22&interval.endTime=2024-11-07T03%3A01%3A02Z&interval.startTime=2024-11-07T03%3A01%3A00Z&key=YOUR_API_KEY' \
       --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
       --header 'Accept: application/json' \
       --compressed
    

使用 Monitoring 信息中心和提醒

您可以使用 Monitoring 信息中心及其关联图表来直观呈现 Workflows 指标的数据。

要在 Monitoring 中监控这些指标,您可以创建自定义信息中心。您还可以基于这些指标添加提醒

后续步骤