Gestionar eventos de un proyecto

En este documento se explica cómo usar la API Service Health para gestionar eventos que afecten a un solo proyecto.

Antes de empezar

Verify that billing is enabled for your Google Cloud project.

  1. Habilita la API Service Health en el proyecto cuyos eventos quieras gestionar.
  2. Define los permisos para acceder a la API Service Health.

Referencias

Consulta la referencia de la API Events (v1 y v1beta) para ver los métodos que puedes usar y el significado de los campos de las respuestas.

Cuando defina el producto o la ubicación, utilice los valores que se encuentran en Google Cloud products y locations.

Mostrar todos los incidentes activos de un proyecto

Consulta la guía de inicio rápido.

Obtener los detalles de un incidente

Puedes usar la API Get para ver información detallada sobre un evento.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • API_VERSION: versión de la API que se va a usar. Usa v1 o v1beta.
  • PROJECT_ID: tu ID de proyecto de Google Cloud.
  • EVENT_ID: el ID del evento.

Método HTTP y URL:

GET https://servicehealth.googleapis.com/API VERSION/projects/PROJECT_ID/locations/global/events/EVENT_ID

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_ID/locations/global/events/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",
      "artifacts": [
        {
          "artifact": "projects/PROJECT_ID/locations/global/artifacts/artifact_id",
          "artifactCategory": "ARTIFACT_CATEGORY_INCIDENT_REPORT",
        }
      ],
      "eventImpacts": [
        {
          "product": {
            "productName": "Google Cloud SQL",
            "id": "hV87iK5DcEXKgWU2kDri",
          },
          "location": {
            "locationName": "us-central1",
          }
        }
      ],
      "relevance": "RELATED",
   "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",
}

Si no tienes los permisos para obtener eventos, recibirás el siguiente error PERMISSION_DENIED.

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

Para solucionar el error, define los permisos necesarios.