为 Dataplex 任务设置提醒和通知

本页面介绍如何为 Dataplex 任务执行失败的作业设置提醒。

您可以使用以下某种方法设置提醒:

  • Google Cloud 控制台中的日志浏览器
  • Monitoring API

术语

  • 突发事件自动关闭时长:没有匹配的日志条目时突发事件关闭的时长。
  • 通知间隔时间:接收与过滤条件匹配的日志的通知之间的最短时间。系统会跳过最短时间内的任何匹配日志。您可以设置的最短时间为 5 分钟。

使用 Logs Explorer 设置通知

  1. 在浏览器中打开 Google Cloud 控制台
  2. 点击导航菜单 > Logging > Logs Explorer
  3. 点击显示查询切换开关。

    1. 如需针对项目中任何 Dataplex 任务失败的作业设置提醒,请输入以下查询:

      severity=ERROR
      resource.type = "dataplex.googleapis.com/Task"
      logName = "projects/PROJECT_NAME/logs/dataplex.googleapis.com%2Fprocess"
      jsonPayload.state = "FAILED"
      
    2. 如需为项目中的特定 Dataplex 任务失败的作业执行设置提醒,请输入以下查询:

      severity=ERROR
      resource.type = "dataplex.googleapis.com/Task"
      resource.labels.task_id = TASK_ID
      logName = "projects/PROJECT_NAME/logs/dataplex.googleapis.com%2Fprocess"
      jsonPayload.state = "FAILED"
      
  4. 点击创建提醒

  5. 提醒政策名称字段中,输入新提醒的名称。

  6. Documents(文档)字段中,输入要在通知中添加的说明。如需详细了解您可以在提醒政策的文档字段中添加的内容,请参阅在文档模板中使用 Markdown 和变量

  7. 点击下一步

  8. 选择要包含在提醒中的日志,然后点击下一步

  9. 设置通知间隔时间突发事件自动关闭时长,然后点击下一步

  10. 可选:选择通知渠道。如需详细了解如何使用 Google Cloud 控制台配置通知渠道,请参阅管理通知渠道

  11. 点击保存

使用 Monitoring API 设置通知

  1. 启用 Monitoring API 并授予用户访问该 API 的权限。如需了解详情,请参阅启用 Monitoring API
  2. 设置创建提醒政策所需的角色或权限。如需了解详情,请参阅创建提醒政策所需的授权
  3. 使用 Google Cloud 控制台Google Cloud CLI 创建通知渠道。
  4. 使用以下命令获取 channel_id

    gcloud beta monitoring channels list
    
  5. 为基于日志的提醒政策创建一个 policy.json 文件,其中包含以下内容:

    1. 如需针对项目中任何 Dataplex 任务的作业执行失败设置提醒,请使用以下代码:

      {
      "displayName": "Alert Using Monitoring API",
      "documentation": {
        "content": "Log-based alert in project PROJECT.",
        "mimeType": "text/markdown"
      },
      
      "conditions": [
        {
          "displayName": "Log match condition: Failed Job Execution",
          "conditionMatchedLog": {
            "filter": "severity=\"ERROR\" resource.type = \"dataplex.googleapis.com/Task\" logName = \"projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fprocess\" jsonPayload.state = \"FAILED\"",
          },
        }
      ],
      "combiner": "OR",
      
      "alertStrategy": {
        "notificationRateLimit": {
          "period": "300s"
        },
        "autoClose": "604800s",
      },
      
      "notificationChannels": [
        "projects/PROJECT_ID/notificationChannels/CHANNEL_ID"
      ]
      }
      
    2. 如需为项目中的特定 Dataplex 任务失败的作业执行设置提醒,请使用以下代码:

      {
      "displayName": "Alert Using Monitoring API",
      "documentation": {
        "content": "Log-based alert in project PROJECT.",
        "mimeType": "text/markdown"
      },
      
      "conditions": [
        {
          "displayName": "Log match condition: Failed Job Execution",
          "conditionMatchedLog": {
            "filter": "severity=\"ERROR\" resource.type = \"dataplex.googleapis.com/Task\" logName = \"projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fprocess\" jsonPayload.state = \"FAILED\" resource.labels.task_id = \"TASK_ID\"",
          },
        }
      ],
      "combiner": "OR",
      
      "alertStrategy": {
        "notificationRateLimit": {
          "period": "300s"
        },
        "autoClose": "604800s",
      },
      
      "notificationChannels": [
        "projects/PROJECT_ID/notificationChannels/CHANNEL_ID"
      ]
      }
      
  6. 使用以下命令将 policy.json 文件传递给 gcloud CLI:

    gcloud alpha monitoring policies create --policy-from-file="policy.json"
    

    如果成功,该命令将返回新政策的资源名称。例如:

    Created alert policy [projects/PROJECT_ID/alertPolicies/*POLICY_ID*].

后续步骤