创建合成监控工具

本文档介绍了如何创建合成监控工具,以便测试 可用性、一致性和性能, 网页和 API。您要为应用提供测试。 合成监控工具执行该脚本并记录测试结果, 延迟时间等额外数据在发生以下情况时收到通知 如果测试失败,您可以配置一项提醒政策 监控测试结果。

合成监控工具简介

合成监控工具会定期执行单一用途, 第 2 代 Cloud Functions 函数,部署在 Cloud Run。创建合成监控工具时,您需要定义 Cloud Function(必须使用 Node.js 编写), 和执行频率。 例如,您可以将 Cloud Function 配置为 使用 Puppeteer 创建网页。您还可以 使用 Axios 模块。您可能还希望 来测试 VPC 网络中的资源

如需创建 Cloud Function,请执行以下操作: 您也可以使用内嵌编辑器或上传 zip 文件如果您选择 使用内嵌编辑器,则可以从提供的框架着手。 创建合成监控工具后,Cloud Monitoring 会使用调度系统 用于安排定期执行 Cloud Functions 函数。在您 指定 Cloud Functions 函数所在的区域 触发器的执行可以源于 拨测服务器如需了解详情,请参阅 列出拨测服务器 IP 地址

您可以创建提醒政策, 测试失败:

  • 使用 Google Cloud 控制台创建合成监控工具时, 默认行为是创建提醒政策。由您提供 通知渠道。默认提醒政策配置为 在连续两次或更多次测试失败时通知您。

  • 使用 Cloud Monitoring API 创建合成监控工具时, 您必须创建提醒政策来监控 uptime_check/check_passed指标类型 Cloud Function 所属的 Cloud Run 资源

执行频率注意事项

您可以配置 Cloud Function 的执行频率。接收者 确定执行频率,请考虑 您的服务的服务等级目标 (SLO)。 如需发现潜在的 SLO 违规行为,您需要经常执行测试。 但是,您的服务的 SLO 并不是唯一的考虑因素。 您还需要考虑执行速率在 您的服务和费用每次执行都会为您的服务增加负载, 因此您执行 Cloud Function 的频率越高 应用的负载越多 拨测的默认执行时间间隔为一分钟,供您参考。

执行频率还决定了系统在发生以下情况时向您发送通知的频率: 测试失败Monitoring 会创建突发事件并发送 在测试第二次连续失败后发送通知。例如: 那么您可能需要等待 10 分钟 有两项测试失败第二次测试失败后,您会收到通知。

Cloud Function 示例代码

如需了解模板和示例,请参阅合成监控工具的示例。 您可以从这些示例开始 Cloud Function。 如果您是 开发者,不妨考虑 使用 Gemini 为合成监控工具生成代码 从而缩短您的开发时间。 使用 Gemini 生成代码的功能目前处于公开预览版阶段。

通用模板,您可以在 可以使用 Google Cloud 控制台创建合成监控工具, 配置为收集出站 HTTP 请求的跟踪和日志数据。 该解决方案利用 OpenTelemetry auto-instrument-node 模块 和 winston 日志记录器。 由于依赖于开源产品,因此您应该会发现 跟踪记录和日志数据的结构。因此,收集的跟踪记录和 日志数据应仅用于调试目的。

您可以实现自己的方法来收集出站跟踪记录和日志数据 HTTP 请求。有关自定义方法的示例 请参阅 SyntheticAutoInstrumentation 类。

Cloud Function 函数配置

配置 Cloud Function 时,您必须指定 运行时、版本、连接和安全设置,或接受默认 设置:

  • 分配的内存的默认值可能不够用。周三 建议您将此字段至少设为 2 GiB。

  • 您的客户端的入站数据传输设置的默认值 Cloud Functions 函数允许所有流量。您可以使用此设置 或限制性更高的设置

    如果您允许所有流量,验证的第一阶段 由 Cloud Functions 函数执行,而这些操作是在网络级别完成的 。第二阶段验证将决定调用者 已获得执行 Cloud Function 的权限。 授权取决于调用方的 Identity and Access Management (IAM) 角色。 默认情况下,Cloud Monitoring 具有执行您的 Cloud Function。有关如何查看或修改 入站数据传输设置,请参阅入站流量设置

Cloud Function 限制

  • Cloud Function 的名称不得包含下划线。

  • 只有在出现以下情况时,您才能收集出站 HTTP 请求的跟踪和日志数据: 请使用通用模板。

  • 仅支持 HTTP 函数。如果您使用 创建合成监控工具后,Google Cloud 控制台会为您提供 查询网址的默认函数。默认函数的来源; 您可在 generic-synthetic-nodejs Git 代码库。

    如需了解 HTTP 函数,请参阅编写 HTTP 函数

  • 如果您使用 API,则部署命令必须指定 Cloud Function 是第 2 代函数。如果您使用 Google Cloud 控制台,然后系统就会为您处理部署事宜。有关 相关信息,请参阅部署 Cloud Functions 函数

  • 运行时环境仅限于 Node.js。如需了解相关信息, 请参阅节点。以下版本的 Node.js :12、14、16、18 和 20。

合成监控工具收集的数据

本部分介绍了系统为您的合成监控工具收集的数据。 如需了解如何查看执行结果,请参阅 探索合成监控工具的结果

执行历史记录

对于每个合成监控工具,系统都会收集执行结果的历史记录。 这些数据包括以下内容:

  • 记录在一段时间内执行成功或失败的时序。

  • 用于记录代码执行时长的时序。通过 函数的执行时间。延迟时间数据会写入 显示为 uptime_check/request_latency 时序 指定 Cloud Function 对应的 Cloud Run 资源 此类数据的图表 合成监控工具详情页面。

  • 包含以下内容的日志 合成监控工具的执行情况,例如 测试和失败详细信息您可以查看哪些日志取决于您的 Cloud Function。 例如,如果您使用 Mocha 模板,则 日志中包含有关测试是通过还是失败的信息 时长。堆栈轨迹(如果包含)会列出 错误类型和错误消息

  • (可选)出站 HTTP 请求的跟踪记录和日志。相关信息 如需了解如何收集此类数据,请参阅请求延迟时间

Cloud Function 指标和日志

您的 Cloud Function 的指标和日志。这些数据 包括使用 Cloud Functions 函数 包括每秒执行次数、执行时间和内存利用率, 函数。

请求延迟时间

合成监控工具发出的 HTTP 请求的延迟时间数据会自动 Cloud Trace 收集和存储的数据。

收集由以下服务发出的出站 HTTP 请求的跟踪、日志和延迟数据: 合成监控工具,则必须使用 通用模板。 如需了解详情,请参阅合成监控工具的示例

准备工作

  1. 如需获取使用 Google Cloud 控制台查看和修改合成监控工具所需的权限, 请让管理员向您授予 项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

  2. 启用 Cloud Monitoring API, Artifact Registry API, Cloud Build API, Cloud Functions API, Cloud Logging API, Pub/Sub API, and Cloud Run Admin API API。

    启用 API

  3. 验证您的 Google Cloud 项目是否包含默认的 Compute Engine 服务账号。此服务账号是在您启用 Compute Engine API,其名称类似于 12345-compute@developer.gserviceaccount.com.

    在 Google Cloud 控制台中,转到服务账号页面:

    转到服务账号

    如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。

    如果默认的 Compute Engine 服务账号不存在,请点击 创建服务账号并完成对话框。

  4. 确保使用默认的 Compute Engine 服务账号,或 创建的新服务账号 授予了 Editor 角色 (roles/editor)。

    如需查看授予服务账号的角色,请执行以下操作:

    1. 在 Google Cloud 控制台中,进入 IAM 页面:

      前往 IAM

      如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。

    2. 选择包括 Google 提供的角色授权
    3. 如果系统未列出您的合成监控工具使用的服务账号,或者 尚未授予包含该角色权限的角色 的 Cloud Trace Agent (roles/cloudtrace.agent),则将此角色授予 您的服务账号
  5. 配置您要用于接收通知的通知渠道 通知。我们建议您创建多种类型的通知 渠道。如需了解详情,请参阅 创建和管理通知渠道,以及 通过 API 创建和管理通知渠道

创建合成监控工具

控制台

当您使用 Google Cloud 控制台创建合成监控工具时, Cloud Function (第 2 代) 并为该 Cloud Function 创建监控工具。 您无法创建用于监控 现有 Cloud Function。

  1. 确保您已启用 其中包含所需的 API 默认 Compute Engine 服务账号,并且此账号拥有 已被授予 Editor 角色 (roles/editor)。如需更多信息 请参阅准备工作
  2. 在 Google Cloud 控制台中,前往  合成监控页面:

    转到合成监控

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  3. 选择创建合成监控工具
  4. 为您的 Cloud Function 选择模板:

    • 自定义合成监控工具:如果要收集相关数据,请使用此模板。 出站 HTTP 请求的日志数据或跟踪数据。

    • Mocha 合成监控工具:编写时使用此模板 Mocha 测试套件。

    • 损坏的链接检查器:使用此模板测试 URI 并在该 URI 中找到的可配置链接数量。相关信息 有关此检查工具的各个字段的信息,请参阅 创建损坏的链接检查工具

  5. 输入监控的名称。

  6. 可选:更新响应超时检查频率和 添加用户定义的标签。

  7. 执行下列其中一项操作:

  8. 在 Cloud Function 对话框中,执行以下操作:

    1. 输入显示名,然后选择一个区域。名称在 区域。

    2. 运行时、构建、连接和安全设置部分中, 执行以下操作:

      • 请查看默认设置,并在必要时更新这些设置。

      • 运行时服务账号字段中,选择一个服务账号。

    3. 修改生成的代码,或为 Cloud Function:

      • 要修改生成的代码,请输入您自己的代码,或加载 默认示例函数, 选择内嵌编辑器。示例函数,依赖于 将请求发送到 特定网址您可以修改默认函数。

      • 如需从本地系统加载 ZIP 文件,请选择 ZIP 文件上传

        如果您从本地系统上传 ZIP 文件,则必须 还要为 zip 文件指定 Cloud Storage 存储桶。如果您 没有合适的 Cloud Storage 存储桶,则创建一个。

      • 如需从 Cloud Storage 加载 ZIP 文件,请选择 Cloud Storage 中的 ZIP 文件,选择存储桶,然后 选择要加载的 ZIP 文件。

        您还可以使用 Google Cloud 控制台中的 Cloud Functions 页面。要创建 合成监控工具, 该 Cloud Function 的副本,请前往 Source 标签页,然后 点击下载 ZIP 文件。然后,您就可以上传该 ZIP 文件了。

    4. 点击应用函数

  9. 配置提醒政策

    1. 可选:更新提醒政策名称和失败时长 才会发送通知。

    2. 添加通知渠道。

  10. 点击创建

    您定义的 Cloud Functions 函数按如下方式构建和部署: 第 2 代,以及创建了合成监控工具。

gcloud

使用 Google Cloud CLI 或 Cloud Monitoring API,您需要将 函数名称传递给 API 调用。因此,您只能创建合成监控工具 Cloud Function 函数。

  1. 确保您已启用 其中包含所需的 API 默认 Compute Engine 服务账号,并且此账号拥有 已被授予 Editor 角色 (roles/editor)。如需更多信息 请参阅准备工作
  2. 编写和部署第 2 代 Cloud Function。

    例如,如需在 Google Cloud 控制台中部署 synthetics-sdk-nodejs 示例, Google Cloud/synthetics-sdk-nodejs 代码库, 执行以下操作:

    1. 克隆代码库并转到源代码的位置:

      git clone https://github.com/GoogleCloudPlatform/synthetics-sdk-nodejs.git
      cd synthetics-sdk-nodejs/samples/generic-synthetic-nodejs
      
    2. 使用 gcloud functions deploy 命令:

      gcloud functions deploy FUNCTION_NAME \
      --gen2 --region="us-west2" --source="." \
      --entry-point=SyntheticFunction --trigger-http --runtime=nodejs18
      

      gcloud functions deploy 命令中,执行以下操作:

      • 确保 FUNCTION_NAME 字段的值 是唯一的

      • 添加 --gen2 标志并设置部署区域。

      • 按如下所示设置 --entry-point 字段:

        • 摩卡咖啡:SyntheticMochaSuite
        • 不是 Mocha:SyntheticFunction
      • --runtime 字段设置为 nodejs18

      • 包含 --trigger-http 标志。

      • 如果您不想使用默认字段,请设置 --ingress-settings 字段 以允许所有流量

      Cloud Functions 会构建并部署您的 Cloud Function。 Google Cloud CLI 命令的结果包括 函数,包括其完全限定名称:

      name: projects/PROJECT_ID/locations/REGION/functions/FUNCTION_NAME
      

      如需详细了解如何部署函数,请参阅 部署 Cloud Functions 函数

    如需列出 Google Cloud 项目中的 Cloud Functions 函数,请使用 gcloud functions list 命令:

    gcloud functions list
    

    此调用的响应是一个列表条目,每个条目都列出一个 Cloud Function:

    NAME: function-1
    STATE: ACTIVE
    TRIGGER: HTTP Trigger
    REGION: us-west2
    ENVIRONMENT: 2nd gen
    

    如需查找特定 Cloud Function 的完全限定名称,请执行以下操作: 运行 gcloud monitoring uptime describe 命令。

  3. 如需创建合成监控工具,请运行 gcloud monitoring uptime create 命令:

    gcloud monitoring uptime create DISPLAY_NAME --synthetic-target=TARGET
    

    在运行上一个命令之前,请执行以下操作:

    • DISPLAY_NAME 替换为您的合成监控工具的名称。
    • TARGET 替换为您的 Cloud Function。
  4. 创建提醒政策

    由于提醒政策的复杂性 建议您前往合成监控工具 页面,然后使用相应选项创建 提醒政策。通过这种方法,大多数提醒政策字段都是 。要使用 Google Cloud 控制台中,点击创建政策 合成监控工具页面。

    如果您打算使用 Google Cloud CLI 或 Cloud Monitoring API, 按如下方式配置条件的过滤器:

    "filter": "resource.type = \"cloud_run_revision\" AND
                metric.type = \"monitoring.googleapis.com/uptime_check/check_passed\" AND
                metric.labels.check_id = \"CHECK_ID\"",
    

    条件监控工具 uptime_check/check_passed 个已编写的时序 合成监控工具。请务必将 CHECK_ID 替换为 合成监控工具的标识符,且会包含在 create 命令。

    如需了解如何创建提醒政策,请参阅 使用 API 创建提醒政策

API

使用 Google Cloud CLI 或 Cloud Monitoring API,您需要将 函数名称传递给 API 调用。因此,您只能创建合成监控工具 Cloud Function 函数。

  1. 确保您已启用 其中包含所需的 API 默认 Compute Engine 服务账号,并且此账号拥有 已被授予 Editor 角色 (roles/editor)。如需更多信息 请参阅准备工作
  2. 编写和部署第 2 代 Cloud Function。

    例如,如需在 Google Cloud 控制台中部署 synthetics-sdk-nodejs 示例, Google Cloud/synthetics-sdk-nodejs 代码库, 执行以下操作:

    1. 克隆代码库并转到源代码的位置:

      git clone https://github.com/GoogleCloudPlatform/synthetics-sdk-nodejs.git
      cd synthetics-sdk-nodejs/samples/generic-synthetic-nodejs
      
    2. 使用 gcloud functions deploy 命令:

      gcloud functions deploy FUNCTION_NAME \
      --gen2 --region="us-west2" --source="." \
      --entry-point=SyntheticFunction --trigger-http --runtime=nodejs18
      

      gcloud functions deploy 命令中,执行以下操作:

      • 确保 FUNCTION_NAME 字段的值 是唯一的

      • 添加 --gen2 标志并设置部署区域。

      • 按如下所示设置 --entry-point 字段:

        • 摩卡咖啡:SyntheticMochaSuite
        • 不是 Mocha:SyntheticFunction
      • --runtime 字段设置为 nodejs18

      • 包含 --trigger-http 标志。

      • 如果您不想使用默认字段,请设置 --ingress-settings 字段 以允许所有流量

      Cloud Functions 会构建并部署您的 Cloud Function。 Google Cloud CLI 命令的结果包括 函数,包括其完全限定名称:

      name: projects/PROJECT_ID/locations/REGION/functions/FUNCTION_NAME
      

      如需详细了解如何部署函数,请参阅 部署 Cloud Functions 函数

    如需列出 Google Cloud 项目中的 Cloud Functions 函数,请使用 gcloud functions list 命令:

    gcloud functions list
    

    此调用的响应是一个列表条目,每个条目都列出一个 Cloud Function:

    NAME: function-1
    STATE: ACTIVE
    TRIGGER: HTTP Trigger
    REGION: us-west2
    ENVIRONMENT: 2nd gen
    

    如需查找特定 Cloud Function 的完全限定名称,请执行以下操作: 运行 gcloud monitoring uptime describe 命令。

  3. 如需创建合成监控工具,请执行以下操作:

    1. 点击 projects.uptimeCheckConfigs.create 打开该方法的 API 参考文档页面。
    2. 点击 Try it 以打开 APIs Explorer。
    3. 设置以下字段,然后运行该命令。

      • 父级字段:projects/PROJECT_ID
      • 在请求正文中,指定以下内容:

        • displayName:设置为合成监控工具的显示名称。
        • syntheticMonitor:设置为 Cloud Function。

      成功后,API 调用的响应类似于以下内容:

      {
      "name": "projects/myproject/uptimeCheckConfigs/17272586127463315332",
      "displayName": "MyMonitor",
      ...
      "syntheticMonitor": {
       "cloudFunctionV2": {
          "name": "projects/myproject/locations/us-west2/functions/function-1",
          "cloudRunRevision": {
          "type": "cloud_run_revision",
          "labels": {
             "project_id": "myproject",
             "configuration_name": "",
             "location": "us-west2",
             "revision_name": "",
             "service_name": "function-1"
          }
          }
       }
      }
      }
      
  4. 创建提醒政策

    由于提醒政策的复杂性 建议您前往合成监控工具 页面,然后使用相应选项创建 提醒政策。通过这种方法,大多数提醒政策字段都是 。要使用 Google Cloud 控制台中,点击创建政策 合成监控工具页面。

    如果您打算使用 Google Cloud CLI 或 Cloud Monitoring API, 按如下方式配置条件的过滤器:

    "filter": "resource.type = \"cloud_run_revision\" AND
                metric.type = \"monitoring.googleapis.com/uptime_check/check_passed\" AND
                metric.labels.check_id = \"CHECK_ID\"",
    

    条件监控工具 uptime_check/check_passed 个已编写的时序 合成监控工具。请务必将 CHECK_ID 替换为 合成监控工具的标识符,且会包含在 create 命令。

    如需了解如何创建提醒政策,请参阅 使用 API 创建提醒政策

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。 如需了解详情,请参阅 Terraform 提供程序参考文档

要创建合成监控和提醒政策来监控该检查, 执行以下操作:

  1. 确保您已启用 其中包含所需的 API 默认 Compute Engine 服务账号,并且此账号拥有 已被授予 Editor 角色 (roles/editor)。如需更多信息 请参阅准备工作

  2. 修改 Terraform 配置文件,并添加 google_storage_bucket 资源,然后 应用您所做的更改。

    以下代码定义了 Cloud Storage 存储桶 在 US 位置:

    resource "google_storage_bucket" "gcf_source" {
       name = "gcf-v2-source-9948673986912-us"
       location = "US"
       uniform_bucket_level_access = true
    }
    
  3. 修改 Terraform 配置文件,并添加 google_storage_bucket_object 然后应用更改

    该资源指定存储桶中对象的名称, 以及 ZIP 文件在本地系统中的位置。 例如,当您应用以下代码时,名为 example-function.zip 已添加到您的存储桶:

    resource "google_storage_bucket_object" "object" {
       name = "example-function.zip"
       bucket = google_storage_bucket.gcf_source.name
       source = "generic-synthetic-node.js.zip"
    }
    
  4. 修改 Terraform 配置文件,并添加 google_cloudfunctions2_function 然后应用更改

    确保您的 google_cloudfunctions2_function 资源指定了 Node.js 运行时和合成监控工具使用的入口点。 例如,当您应用以下代码时,名称为 sm-central1 已部署:

    resource "google_cloudfunctions2_function" "central1" {
       name = "sm-central1"
       location = "us-central1"
    
       build_config {
          runtime = "nodejs20"
          entry_point = "SyntheticFunction"
          source {
                storage_source {
                   bucket = google_storage_bucket.gcf_source.name
                   object = google_storage_bucket_object.object.name
                }
          }
       }
    
       service_config {
          max_instance_count = 1
          available_memory = "256Mi"
          timeout_seconds  = 60
       }
    }
    
  5. 如需创建合成监控工具,请修改 Terraform 配置文件 并添加 google_monitoring_uptime_check_config, 然后应用更改

    对于此资源,请指定 synthetic_monitor 块:

    resource "google_monitoring_uptime_check_config" "synthetic" {
       display_name = "sm-central1"
       timeout = "30s"
    
       synthetic_monitor {
          cloud_function_v2 {
                name = google_cloudfunctions2_function.central1.id
          }
       }
    }
    
  6. 可选:创建通知渠道和提醒政策。

    以下步骤使用 Google Cloud 控制台创建通知 渠道和提醒政策。这种方法可确保提醒政策 只监控您的合成监控工具生成的数据。

    1. 如需创建通知渠道,请执行以下操作:

      1. 在 Google Cloud 控制台中,转到 提醒页面:

        进入提醒

        如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

      2. 选择管理通知渠道
      3. 转到您要添加的频道类型,点击添加,然后 然后完成对话框
    2. 如需创建提醒政策,请执行以下操作:

      1. 在 Google Cloud 控制台中,前往  合成监控页面:

        转到合成监控

        如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

      2. 找到相应的合成监控工具,然后选择 更多, 然后选择添加提醒政策
      3. 在对话框中,转到通知和名称部分。 展开通知渠道,并做出选择。
      4. 为提醒政策命名,然后点击创建政策

价格

一般来说,Cloud Monitoring 系统指标是免费的, 不会来自外部系统、代理或应用。计费指标 按注入的字节数或提取的样本数收费。

如需详细了解 Cloud Monitoring 价格,请参阅以下文档:

合成监控工具问题排查

本部分提供的信息可以帮助您 合成监控工具

启用 API 后的错误消息

您打开了合成监控工具的创建流程,系统会提示您启用 至少一个 API。启用这些 API 后,系统会显示类似于以下内容的消息 :

An error occurred during fetching available regions: Cloud Functions API has
not been used in project PROJECT_ID before or it is disabled.

该错误消息建议您确认 API 已启用,然后 建议您稍等片刻,然后重试该操作。

要验证 API 是否已启用,请转到 API 和服务页面 您的项目:

转到“API 和服务”

确认该 API 已启用后,您可以继续 创建流程。API 完成后,条件会自动解析 启用后会在整个后端生效。

未跟踪出站 HTTP 请求

将合成监控工具配置为收集输出的轨迹数据 HTTP 请求。您的跟踪记录数据仅显示一个 span,类似于以下内容 屏幕截图:

Cloud Trace 仅显示一个跟踪记录。

要解决此问题,请确保您的服务账号 已授予 Cloud Trace Agent (roles/cloudtrace.agent) 角色。 具有 Editor (roles/editor) 角色也足够。

如需查看授予服务账号的角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入 IAM 页面:

    前往 IAM

    如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。

  2. 选择包括 Google 提供的角色授权
  3. 未列出您的合成监控工具使用的服务账号,或者 尚未授予拥有以下角色权限的角色: Cloud Trace Agent (roles/cloudtrace.agent),然后将此角色授予您的 服务账号。

    如果您不知道服务账号的名称,则可以在导航栏 菜单中选择服务账号

“处理中”状态

合成监控工具页面列出了一个合成监控工具 状态为 In progress。如果状态为In progress,则表示 合成监控工具是最近创建的,没有可显示的数据, 或者函数部署失败。

如需确定函数是否部署失败,请尝试以下操作:

  • 确保 Cloud Function 的名称没有 包含下划线。如果存在下划线,请移除下划线 然后重新部署 Cloud Function。

  • 打开合成监控工具的合成监控工具详情页面。

    如果您看到以下消息,请删除合成监控工具。

    Cloud Function not found for this Synthetic monitor. Please confirm it exists or delete this monitor.
    

    错误消息表明该函数已被删除, 合成监控工具无法执行函数。

  • 打开函数的 Cloud Functions 页面。打开此页面 合成监控工具详情页面,点击代码,然后 点击函数名称。

    如果您看到类似于以下内容的消息,则表示函数运行失败 部署。

    This function has failed to deploy and will not work correctly. Please edit and redeploy
    

    如需解决此故障,请查看函数代码并更正错误 其原因在于阻止函数构建或部署。

在创建合成监控工具时, 函数。

警告状态

合成监控工具会列出合成监控工具 状态为 Warning。状态为 Warning 表示执行 结果不一致。这可能表示您的 也可能表明被测内容存在不一致的行为。

失败状态

合成监控工具会列出状态为 Failing.如需详细了解失败原因 查看最近的执行历史记录。

  • 如果系统显示错误消息 Request failed with status code 429, 则表示 HTTP 请求的目标拒绝了该命令。解决方法: 则您必须更改合成监控工具的目标。

    端点 https://www.google.com 拒绝 合成监控工具。

  • 如果失败返回的执行时间为 0ms,则 Cloud Function 可能内存不足。解决方法: 请修改 Cloud Function 函数 设置为至少 2 GiB,并将 CPU 字段设置为 1

合成监控工具删除失败

您使用 Cloud Monitoring API 删除合成监控工具,但该 API 调用失败,并显示类似如下的响应:

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "[ORIGINAL ERROR] generic::invalid_argument: Cannot delete check 1228258045726183344. One or more alerting policies is using it.Delete the alerting policy with id projects/myproject/alertPolicies/16594654141392976482 and any other policies using this uptime check and try again."
      }
    ]
  }
}

如需解决失败问题,请删除 监控合成监控工具的结果,然后删除合成监控工具。

后续步骤