Check for disruptions with Personalized Service Health

This document explains what to do if Personalized Service Health is experiencing a disruption.

Personalized Service Health may be affected by an incident, partially or completely. You can check for incidents, processing problems, and performance issues with Service Health through the Status API resource and the Google Cloud Service Health dashboard.

Use the Status API

The Status API resource of the Service Health API tells you if specific Service Health features are experiencing issues.

Before you begin

To start using the Status API:

  1. Enable the Service Health API for the project or organization that you will use to access this status.
  2. Set permissions to access the Service Health API.
  3. Configure Identity and Access Management (IAM) permissions on your project or organization to use the Status API.

    To configure permissions on your project, run the following command:

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

    To configure permissions on your organization, run the following command:

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

    To get your ORGANIZATION_ID, see Getting your organization resource ID.

The IAM policies granted on an organization are inherited by all projects in the organization. These policies let you access organization and project event APIs across the organization.

References

See the Status API reference for the method you can use and the meaning of the fields in the response.

When setting the product or location, use the values found at Google Cloud products and locations.

Get Service Health status using a project ID

To get the status of Service Health using a project ID, use the following request:

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

If the status value is OK, the request yields the following response:

{
  "state": "OK",
}

This status indicates that the features accessed using the project ID such as events or impacts aren't experiencing problems internally.

If the status value is ISSUES_DETECTED, the request yields the following response:

{
  "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"
      }
    }
  ]
}

An ISSUES_DETECTED state also returns a set of issues, indicating that features accessed using the project ID may not be accurate.

If you don't have permissions to get the status, you will get a PERMISSION_DENIED error.

{
  "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"
        }
      }
    ]
  }
}

Get Service Health status using an organization ID

To get the status, use the following request:

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

If Service Health is operating without issues, the status should yield the following response:

{
  "state": "OK",
}

If Service Health is experiencing issues that may affect its accuracy or capability, the status should yield a response with the ISSUES_DETECTED state:

{
  "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"
      }
    }
  ]
}

If you don't have the permissions to get the status, you will get a PERMISSION_DENIED error.

{
  "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"
        }
      }
    ]
  }
}

View the Google Cloud Service Health dashboard

The Google Cloud Service Health dashboard tells you if Personalized Service Health is experiencing an issue. You can also use an RSS feed to consume the data in the dashboard.

For more information on the Google Cloud Service Health dashboard, see Incidents and the Google Cloud Service Health dashboard.