本页面介绍如何完成以下任务:
准备工作
如需监控执行日志,请确保您执行以下操作:
所需的角色
如需获得查看执行日志所需的权限,请让您的管理员向您授予 workflowInvocations 代码库的 Dataform Editor (roles/dataform.editor
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
Logs Viewer (roles/logging.viewer
) IAM 角色可为您提供对 Cloud Logging 所有功能的只读权限。如需详细了解适用于 Logging 数据的 Identity and Access Management (IAM) 权限和角色,请参阅使用 IAM 进行访问权限控制。
如需创建和管理基于日志的提醒,请确保您的 IAM 角色包含创建和使用基于日志的提醒政策所需的角色中所述的权限。
监控执行日志
本部分介绍了如何在 Dataform 中查看执行日志。
您可以查看在仓库中触发的所有执行作业的日志,以及过去 24 小时内在工作区中触发的执行作业的日志。
检查代码库执行日志
如需查看在代码库中触发的所有执行的日志,请按以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
前往您的代码库。
点击工作流执行日志。
如需查看执行的详细信息,请点击相应执行。
如需查看执行中的操作的详细信息,请点击查看详情。
检查 Workspace 执行日志
如需查看过去 24 小时内在工作区中触发的最近 1,000 次执行作业的日志,请按以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
前往您的代码库,然后选择您的工作区。
在工作区中,点击执行。
如需查看执行详情,请点击相应执行。
如需查看执行中的操作的详细信息,请点击查看详情。
查看 Dataform 的 Logging 日志
本部分介绍了如何查看 Dataform 工作流调用的 Cloud Logging 日志。
每个 Dataform 工作流调用都会通过 Logging 进行记录。系统会自动为 Dataform 工作流调用启用日志记录功能,这可能会产生日志记录计费。如需了解详情,请参阅 Dataform 价格。
查看日志
如需查看日志,请转到日志浏览器页面。
如需了解如何在日志浏览器中过滤日志记录日志,请参阅使用日志浏览器查看日志。
Dataform 日志按 Dataform 代码库编入索引。
日志格式
Dataform 会以以下格式发送工作流调用日志消息:
{
"insertId": "14ip1tza5",
"jsonPayload": {
"terminalState": "SUCCEEDED",
"workflowInvocationId": "1678383230-ac4ed48c-eb70-4555-b2b0-cda54d13edfa",
"@type": "type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
},
"resource": {
"type": "dataform.googleapis.com/Repository",
"labels": {
"repository_id": "repository-name-example",
"resource_container": "PROJECT_ID",
"location": "us-central1"
}
},
"timestamp": "2023-03-09T17:34:06.965981805Z",
"severity": "INFO",
"logName": "projects/project-name-example/logs/dataform.googleapis.com%2Fworkflow_invocation_completion",
"receiveTimestamp": "2023-03-09T17:34:07.362371980Z"
}
记录的内容
Dataform 日志条目包含对监控和调试工作流调用有用的信息。
日志条目包含以下类型的信息:
receiveTimestamp
release_config_id
repository_id
resource_container
workflow_invocation_id
workflow_config_id
severity
:可以是INFO
、WARNING
或ERROR
terminalState
:可以是SUCCEEDED
、CANCELED
或FAILED
timestamp
@type
使用 Cloud Monitoring 配置指标和提醒
您可以使用 Monitoring 观察日志中的趋势,并在出现描述的条件时通知您。
如需向 Monitoring 提供日志中的数据,Logging 会为您提供以下内容:
- 您可以按以下方式使用基于日志的指标:
- 创建提醒政策以通知您一段时间的变化。
- 创建随时间显示变化的图表。
- 基于日志的提醒,可在日志中出现特定事件时通知您。
如需详细了解基于日志的指标和基于日志的提醒,请参阅监控日志。
如需了解如何为 Dataform 工作流调用配置基于日志的提醒,请参阅为失败的工作流调用配置提醒。
为工作流调用失败配置提醒
本部分介绍了如何使用日志浏览器为失败的 Dataform 工作流调用配置基于日志的提醒。
您可以使用 Monitoring 观察 Dataform 工作流调用的 Logging 日志中的趋势,并在出现描述的条件时通知您。
每次 Dataform 工作流调用都会通过 Logging 进行记录。系统会自动为 Dataform 工作流调用启用日志记录功能,这可能会产生日志记录结算费用。如需了解详情,请参阅 Dataform 价格。
如需在 Dataform 工作流调用失败时接收提醒,您可以创建基于日志的提醒。
您可以通过 Google Cloud 控制台中的 Logs Explorer 页面或使用 Monitoring API 来创建基于日志的提醒。本部分介绍了如何使用日志浏览器为 Dataform 工作流调用失败创建基于日志的提醒。
如需为失败的 Dataform 工作流调用配置基于日志的提醒,请按以下步骤操作:
在 Google Cloud 控制台中,选择日志记录,然后选择日志浏览器。
在查询窗格中,选择显示查询,然后输入以下查询:
resource.type="dataform.googleapis.com/Repository" jsonPayload.@type="type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry" jsonPayload.terminalState="FAILED"
此查询会提醒您所有失败的 Dataform 工作流调用。
可选:如需按版本配置过滤失败的工作流调用,请将以下内容附加到查询中:
jsonPayload.releaseConfigId="RELEASE_CONFIGURATION_ID"
将
RELEASE_CONFIGURATION_ID
替换为发布配置的 ID。可选:如需按工作流配置过滤失败的工作流调用,请将以下内容附加到查询中:
jsonPayload.workflowConfigId="WORKFLOW_CONFIGURATION_ID"
将
WORKFLOW_CONFIGURATION_ID
替换为工作流配置的 ID。
当与
daily
版本配置和production
工作流配置相关的 Dataform 工作流调用失败时,以下查询会向您发出提醒:resource.type="dataform.googleapis.com/Repository" jsonPayload.@type="type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry" jsonPayload.terminalState="FAILED" jsonPayload.releaseConfigId="daily" jsonPayload.workflowConfigId="production"
可选:如需验证查询,请在查询结果窗格中使用运行查询。
在查询结果窗格的标题中,点击创建提醒。当窗口缩小时,操作菜单上可能会显示创建提醒选项。
在提醒详情窗格中,为提醒指定名称和说明:
在提醒名称字段中输入提醒的名称。例如:
Dataform: workflow failure
。输入此提醒的说明。您也可以添加有助于通知接收人诊断问题的信息。 以下字符串总结了发出提醒的原因:
Log-based alert in project ${project} detected a failed Dataform workflow.
如需详细了解如何设置此字段格式并定制其内容,请参阅使用用户定义的文档为通知添加注释。
要前进到下一步,请点击下一步。
在选择要包含在提醒中的日志窗格中,点击预览日志以检查查询和结果。
我们建议在日志浏览器查询窗格中构建查询。您在查询窗格中构建的查询也会显示在此窗格中。
如有必要,您可以在此窗格中修改查询。如果您修改了查询,请点击预览日志来检查结果。
点击下一步。
选择通知之间的最短时间间隔。如果此值被多次触发,您可以使用此值来控制从此提醒中收到的通知数量。对于此示例,请从选项中选择 5 分钟。
可选:选择突发事件自动关闭时长。默认情况下,突发事件自动关闭时长设为 7 天。
点击下一步。
为提醒选择一个或多个通知渠道。在本示例中,请选择电子邮件通知渠道。
如果您已配置电子邮件通知渠道,则可以从列表中选择它。如未配置,请点击管理通知渠道并添加电子邮件渠道。如需了解如何创建通知渠道,请参阅创建和管理通知渠道。
点击保存。
您现在可以测试基于日志的提醒了。如需了解如何测试提醒,请参阅测试基于日志的示例提醒政策。
后续步骤
- 了解触发器执行。
- 了解如何使用 Workflows 和 Cloud Scheduler 安排执行。
- 了解如何使用 Dataform API 配置编译替换项。
- 了解 Cloud Audit Logs 和监控。
- 了解 Logging 价格。