En este documento se explica cómo enumerar los eventos de estado del servicio que pueden afectar o han afectado a los productos de tu proyecto u organización. Google Cloud Google Cloud Usarás la API Service Health.
Antes de empezar
- Habilita la API Service Health en el proyecto de tu organización del que quieras obtener una lista de eventos.
-
Verify that billing is enabled for your Google Cloud project.
- Define los permisos para acceder a la API Service Health.
Configura los permisos de gestión de identidades y accesos (IAM) en tu organización para usar los recursos de las APIs OrganizationEvents y OrganizationImpacts.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
- ORGANIZATION ID: el ID de tu organización de Google Cloud.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member {USER|GROUP|SERVICE_ACCOUNT} \ --role roles/servicehealth.viewer
Windows (PowerShell)
gcloud organizations add-iam-policy-binding ORGANIZATION_ID ` --member {USER|GROUP|SERVICE_ACCOUNT} ` --role roles/servicehealth.viewer
Windows (cmd.exe)
gcloud organizations add-iam-policy-binding ORGANIZATION_ID ^ --member {USER|GROUP|SERVICE_ACCOUNT} ^ --role roles/servicehealth.viewer
Para obtener tu ORGANIZATION_ID, consulta Obtener el ID de recurso de tu organización.
Las políticas de gestión de identidades y accesos concedidas en una organización se heredan en todos los proyectos de la organización. Estas políticas te permiten acceder a las APIs de eventos de organizaciones y proyectos de toda la organización.
Referencias
Consulta las referencias de las APIs Events (v1,v1beta), OrganizationEvents (v1,v1beta) y OrganizationImpacts (v1, v1beta) para ver los métodos que puedes usar y el significado de los campos de la respuesta.
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
Puedes consultar todos los Google Cloud incidentes de un proyecto específico Google Cloud .
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
ov1beta
. - PROJECT_ID: el ID del proyecto.
Método HTTP y URL:
GET https://servicehealth.googleapis.com/API_VERSION/projects/PROJECT_ID/locations/global/events?filter=state=ACTIVE%20category=INCIDENT&page_size=2&page_token={page_token}
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "events": [ { "name": "projects/PROJECT_ID/locations/global/events/event-123", "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. We thank you for your patience while we worked on resolving the issue.", "category": "INCIDENT", "detailedCategory": "CONFIRMED_INCIDENT", "state": "ACTIVE", "detailedState": "CONFIRMED", "eventImpacts": [ { "product": { "productName": "Google Cloud SQL", "id": "hV87iK5DcEXKgWU2kDri", }, "location": { "locationName": "asia-east2", } }, { "product": { "productName": "Google Cloud SQL", "id": "hV87iK5DcEXKgWU2kDri", }, "location": { "locationName": "asia-southeast1", } } ], "relevance": "RELATED", "updateTime": "2022-10-18T17:44:05.690761Z", "startTime": "2022-10-18T17:41:20.112287Z", }, { "name": "projects/PROJECT_ID/locations/global/events/event-567", "title": "Cloud Firestore may experience errors.", "description": "Mitigation work is currently underway by our engineering team. The mitigation is expected to complete by 2022-10-07T16:30:00Z.", "category": "INCIDENT", "detailedCategory": "CONFIRMED_INCIDENT", "state": "ACTIVE", "detailedState": "CONFIRMED", "eventImpacts": [ { "product": { "productName": "Cloud Firestore", "id": "CETSkT92V21G6A1x28me", }, "location": { "locationName": "us-central1-a", } } ], "relevance": "RELATED", "updateTime": "2022-10-07T15:19:59.409530Z", "startTime": "2022-10-07T15:10:35.887125Z", "nextUpdateTime": "2022-10-07T16:30:00Z" } ], "nextPageToken": "CgwIw8bDmgYQz4nUlgMQChomcHJvamVjdHMvcHNoLW1hbnVhbC" }
Si no tienes los permisos necesarios para enumerar eventos, recibirás un error PERMISSION_DENIED
.
{
"error": {
"code": 403,
"message": "Permission 'servicehealth.events.list' denied on resource '//servicehealth.googleapis.com/projects/PROJECT_ID/locations/global' (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",
"permission": "servicehealth.events.list"
}
}
]
}
}
Mostrar todos los incidentes activos de una organización
Puedes consultar todos los Google Cloud incidentes que afecten a cualquier proyecto que tenga habilitado Personalized Service Health en una organización específica. Google Cloud
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
ov1beta
. - ORGANIZATION_ID: el ID de tu organización de Google Cloud.
Método HTTP y URL:
GET https://servicehealth.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/locations/global/organizationEvents?filter=state=ACTIVE%20category=INCIDENT&page_size=2&page_token={page_token}
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "organization_events": [ { "name": "organizations/ORGANIZATION_ID/locations/global/organizationEvents/event-123", "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. We thank you for your patience while we worked on resolving the issue.", "category": "INCIDENT", "detailedCategory": "CONFIRMED_INCIDENT", "state": "ACTIVE", "detailedState": "CONFIRMED", "eventImpacts": [ { "product": { "productName": "Google Cloud SQL", "id": "hV87iK5DcEXKgWU2kDri", }, "location": { "locationName": "asia-east2", } }, { "product": { "productName": "Google Cloud SQL", "id": "hV87iK5DcEXKgWU2kDri", }, "location": { "locationName": "asia-southeast1", } } ], "updateTime": "2022-10-18T17:44:05.690761Z", "startTime": "2022-10-18T17:41:20.112287Z", }, { "name": "organizations/ORGANIZATION_ID/locations/global/organizationEvents/event-567", "title": "Cloud Firestore may experience errors.", "description": "Mitigation work is currently underway by our engineering team. The mitigation is expected to complete by 2022-10-07T16:30:00Z.", "category": "INCIDENT", "detailedCategory": "CONFIRMED_INCIDENT", "state": "ACTIVE", "detailedState": "CONFIRMED", "eventImpacts": [ { "product": { "productName": "Cloud Firestore", "id": "CETSkT92V21G6A1x28me", }, "location": { "locationName": "us-central1-a", } } ], "updateTime": "2022-10-07T15:19:59.409530Z", "startTime": "2022-10-07T15:10:35.887125Z", "nextUpdateTime": "2022-10-07T16:30:00Z" } ], "nextPageToken": "CgwIw8bDmgYQz4nUlgMQChomcHJvamVjdHMvcHNoLW1hbnVhbC" }
Para obtener tu ORGANIZATION_ID, consulta Obtener el ID de recurso de tu organización.
Si no tienes permisos para mostrar eventos, se producirá un error PERMISSION_DENIED
.
{
"error": {
"code": 403,
"message": "Permission 'servicehealth.organizationEvents.list' denied on resource '//servicehealth.googleapis.com/organizations/ORGANIZATION_ID/locations/global' (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/<var class="readonly">ORGANIZATION_ID</var>/locations/global",
"permission": "servicehealth.organizationEvents.list"
}
}
]
}
}
Mostrar los proyectos de una organización que pueden verse afectados por un evento
Puedes mostrar todos los proyectos de una Google Cloud organización específica que:
- Puede verse afectado por un evento (
OrganizationImpact
). - Haber habilitado Personalized Service Health.
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
ov1beta
. - EVENT_ID: el ID del evento que puede afectar a una organización.
- ORGANIZATION_ID: el ID de tu organización de Google Cloud.
Método HTTP y URL:
GET https://servicehealth.googleapis.com/API_VERSION/organizations/ORGANIZATION_ID/locations/global/organizationImpacts?filter=events:organizations%2FORGANIZATION_ID%2Flocations%2Fglobal%2FEVENT_ID&page_size=2&page_token={page_token}
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "organization_impacts": [ { "name": "organizations/ORGANIZATION_ID/locations/global/organizationImpacts/impact-123", "events": [ "organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID", ], "asset": { "assetName": "//cloudresourcemanager.googleapis.com/projects/{PROJECT_NUMBER_1}", "assetType": "cloudresourcemanager.googleapis.com/Project", }, "updateTime": "2022-10-18T17:44:05.690761Z", }, { "name": "organizations/ORGANIZATION_ID/locations/global/organizationImpacts/impact-234", "events": [ "organizations/ORGANIZATION_ID/locations/global/organizationEvents/EVENT_ID", ], "asset": { "assetName": "//cloudresourcemanager.googleapis.com/projects/{PROJECT_NUMBER_2}", "assetType": "cloudresourcemanager.googleapis.com/Project", }, "updateTime": "2022-10-18T17:44:05.690761Z", } ], "nextPageToken": "CgwIw8bDmgYQz4nUlgMQChomcHJvamVjdHMvcHNoLW1hbnVhbC" }
Si no tienes los permisos para mostrar eventos, recibirás el siguiente error PERMISSION_DENIED
.
{
"error": {
"code": 403,
"message": "Permission 'servicehealth.organizationImpacts.list' denied on resource '//servicehealth.googleapis.com/organizations/ORGANIZATION_ID/locations/global' (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",
"permission": "servicehealth.organizationImpacts.list"
}
}
]
}
}
Siguientes pasos
Consulta las guías sobre cómo obtener información de eventos por proyecto u organización mediante la API Service Health.