Gerenciar eventos que afetam uma organização

Este documento explica como usar a API Service Health para gerenciar eventos que afetam sua organização.

A integridade do serviço personalizado fornece os recursos da API OrganizationEvents e OrganizationImpacts, que permitem que você receba informações sobre eventos que afetam sua organização. Essas informações incluem:

  • Eventos de integridade do serviço que podem afetar um ou mais projetos em uma organização.
  • Lista de projetos que podem ser afetados por um evento que afeta sua organização.

Os recursos da API não recebem todos os eventos que afetam uma organização nem os mostram no painel "Saúde do serviço".

Antes de começar

  1. Ative a API Service Health em pelo menos um projeto da sua organização. Os recursos da API OrganizationEvents e OrganizationImpacts recebem informações apenas para projetos que têm a API Service Health ativada.
  2. Defina permissões para acessar a API Service Health.
  3. Configure as permissões do Identity and Access Management (IAM) na sua organização para usar os recursos das APIs OrganizationEvents e OrganizationImpacts. Execute este comando:

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

    Para encontrar o ORGANIZATION_ID, consulte Como encontrar o ID do recurso da sua organização.

    As políticas do IAM concedidas em uma organização são herdadas por todos os projetos dela. Essas políticas permitem que você acesse APIs de eventos de organização e de projeto em toda a organização.

Referências

Consulte a referência da API OrganizationEvents e OrganizationImpacts para saber quais métodos você pode usar e o significado dos campos na resposta.

Ao definir o produto ou local, use os valores encontrados em Google Cloud products e locations.

Listar projetos de uma organização que podem ser afetados por um evento

Consulte o guia de início rápido.

Listar todos os incidentes ativos de uma organização

Consulte o guia de início rápido.

Receber detalhes de um evento que afeta uma organização

Você pode usar a API Get para conferir informações detalhadas sobre um evento que afeta uma organização.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • API_VERSION: a versão da API a ser usada. Use v1 ou v1beta.
  • ORGANIZATION_ID: o ID da sua organização do Google Cloud.

Método HTTP e URL:

GET https://servicehealth.googleapis.com/API VERSION/organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID",
     "title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
      "description": "The issue with Google Cloud SQL has been resolved for all affected projects as of Tuesday, 2022-10-18 11:00 US/Pacific. We thank you for your patience while we worked on resolving the issue.",
      "category": "INCIDENT",
      "detailedCategory": "CONFIRMED_INCIDENT",
      "state": "CLOSED",
      "detailedState": "RESOLVED",
      "eventImpacts": [
        {
          "product": {
            "productName": "Google Cloud SQL",
            "id": "hV87iK5DcEXKgWU2kDri",
          },
          "location": {
            "locationName": "us-central1",
          }
        }
      ],
   "updates": [
    {
      "updateTime": "2022-10-18T17:41:20.112287Z",
              "title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
      "description": "We are experiencing an intermittent issue with Google Cloud SQL. Our engineering team continues to investigate the issue.",
      "symptom": "None at this time.",
      "workaround": "None at this time."
    },
    {
      "updateTime": "2022-10-18T18:00:05.690761Z",
      "title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
      "description": "The issue with Google Cloud SQL has been resolved for all affected projects as of Tuesday, 2022-10-18 11:00 US/Pacific.\n\nWe thank you for your patience while we worked on resolving the issue.",
      "symptom": "None at this time.",
      "workaround": "None at this time."
    }
  ],
  "updateTime": "2022-10-18T18:00:05.690761Z",
  "startTime": "2022-10-18T17:41:20.112287Z",
  "endTime":  "2022-10-18T18:00:05.690761Z",
}

Se você não tiver permissões para receber eventos, vai receber o seguinte erro PERMISSION_DENIED.

{
  "error": {
    "code": 403,
    "message": "Permission 'servicehealth.organizationEvents.get' denied on resource '//servicehealth.googleapis.com/organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID' (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/organizationEvents/EVENT_ID",
          "permission": "servicehealth.organizationEvents.get"
        }
      }
    ]
  }
}

Para corrigir esse erro, defina as permissões necessárias.

Conferir detalhes de um projeto de uma organização que pode ser afetado por um evento

Para um determinado evento, o ID do evento permanece o mesmo entre os eventos do projeto e da organização. OrganizationImpact contém um EVENT_ID e um PROJECT_NUMBER, que podem ser usados para receber detalhes de um evento que afeta seu projeto. Esses detalhes incluem state e relevance.

PROJECT_NUMBER é intercambiável com PROJECT_ID, que é retornado pela API Get.