使用 Personalized Service Health 检查服务中断情况

本文档介绍了如果 Personalized Service Health 出现中断,该怎么办。

Personalized Service Health 可能会受到突发事件的部分或全部影响。您可以通过 Status API 资源和 Google CloudService Health 信息中心,查看是否存在突发事件、处理问题和性能问题。

使用 Status API

Service Health API 的 Status API 资源会告知您特定 Service Health 功能是否遇到问题。

准备工作

如需开始使用 Status API,请执行以下操作:

  1. 为您将用于访问此状态的项目或组织启用 Service Health API
  2. 验证是否已为您的 Google Cloud 项目启用结算功能

  3. 设置访问 Service Health API 的权限
  4. 在项目或组织中配置 Identity and Access Management (IAM) 权限,以使用 Status API。

    如需配置项目的权限,请运行以下命令:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member {USER|GROUP|SERVICE_ACCOUNT} \
    --role roles/servicehealth.viewer
    

    如需配置组织的权限,请运行以下命令:

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member {USER|GROUP|SERVICE_ACCOUNT} \
    --role roles/servicehealth.viewer
    

    如需获取 ORGANIZATION_ID,请参阅获取组织资源 ID

在组织中授予的 IAM 政策由该组织中的所有项目继承。借助这些政策,您可以访问整个组织中的组织和项目事件 API。

参考

如需了解可使用的方法以及响应中字段的含义,请参阅 Status API 参考文档

设置产品或位置时,请使用 Google Cloud 产品位置中的值。

使用项目 ID 获取 Service Health 状态

如需使用项目 ID 获取 Service Health 的状态,请使用以下请求:

GET https://servicehealth.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/status

如果状态值为 OK,则请求会产生以下响应:

{
  "state": "OK",
}

此状态表示使用项目 ID 访问的功能(例如事件或影响)在内部没有遇到问题。

如果状态值为 ISSUES_DETECTED,则请求会产生以下响应:

{
  "state": "ISSUES_DETECTED",
  "issues": [
    {
      "message": "We are experiencing problems creating new events",
      "details": {
        "API": "events"
      }
    },
    {
      "message": "We are experiencing problems creating new impacts",
      "details": {
        "API": "impacts"
      }
    }
  ]
}

ISSUES_DETECTED 状态还会返回一组问题,表明使用项目 ID 访问的功能可能不准确。

如果您没有获取状态的权限,则会收到 PERMISSION_DENIED 错误。

{
  "error": {
    "code": 403,
    "message": "Permission 'servicehealth.statuses.get' denied on resource '//servicehealth.googleapis.com/projects/PROJECT_ID/locations/global/status' (or it may not exist).",
    "status": "PERMISSION_DENIED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "IAM_PERMISSION_DENIED",
        "domain": "servicehealth.googleapis.com",
        "metadata": {
          "resource": "projects/PROJECT_ID/locations/global/status",
          "permission": "servicehealth.statuses.get"
        }
      }
    ]
  }
}

使用组织 ID 获取 Service Health 状态

如需获取状态,请使用以下请求:

GET https://servicehealth.googleapis.com/v1beta/organizations/ORGANIZATION_ID/locations/global/status

如果 Service Health 运行正常,状态应会产生以下响应:

{
  "state": "OK",
}

如果 Service Health 存在可能会影响其准确性或能力的问题,则状态应生成 ISSUES_DETECTED 状态的响应:

{
  "state": "ISSUES_DETECTED",
  "issues": [
    {
      "message": "We are experiencing problems creating new organization level events",
      "details": {
        "API": "organizationEvents"
      }
    },
    {
      "message": "We are experiencing problems creating new organization level impacts",
      "details": {
        "API": "organizationImpacts"
      }
    }
  ]
}

如果您没有获取状态的权限,则会收到 PERMISSION_DENIED 错误。

{
  "error": {
    "code": 403,
    "message": "Permission 'servicehealth.statuses.get denied on resource '//servicehealth.googleapis.com/organizations/ORGANIZATION_ID/locations/global/status' (or it may not exist).",
    "status": "PERMISSION_DENIED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "IAM_PERMISSION_DENIED",
        "domain": "servicehealth.googleapis.com",
        "metadata": {
          "resource": "organizations/ORGANIZATION_ID/locations/global/status",
          "permission": "servicehealth.statuses.get"
        }
      }
    ]
  }
}

查看 Google Cloud Service Health

Google Cloud 服务健康状况:用于告知您 Personalized Service Health 是否遇到问题。您还可以使用 RSS Feed 来使用数据。

如需详细了解 Google Cloud Service Health,请参阅突发事件和 Google Cloud Service Health