Ce document explique comment lister les événements d'état du service susceptibles d'avoir un impact sur les Google Cloud produits de votre Google Cloud projet ou de votre organisation. Vous allez utiliser l'API Service Health.
Avant de commencer
- Activez l'API Service Health pour le projet de votre organisation pour lequel vous souhaitez lister des événements.
-
Make sure that billing is enabled for your Google Cloud project.
- Définissez les autorisations d'accès à l'API Service Health.
Configurez les autorisations IAM (Identity and Access Management) de votre organisation pour utiliser les ressources de l'API OrganizationEvents et OrganizationImpacts.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- ORGANIZATION ID: ID de votre organisation Google Cloud.
Exécutez la commande suivante :
Linux, macOS ou 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
Pour obtenir votre ORGANIZATION_ID, consultez Obtenir l'ID de ressource de votre organisation.
Les stratégies IAM accordées à une organisation sont héritées par tous les projets de l'organisation. Ces règles vous permettent d'accéder aux API d'événements de l'organisation et des projets dans l'ensemble de l'organisation.
Références
Consultez les références des API Events (v1,v1beta), OrganizationEvents (v1,v1beta) et OrganizationImpacts (v1, v1beta) pour connaître les méthodes que vous pouvez utiliser et la signification des champs de la réponse.
Lorsque vous définissez le produit ou l'emplacement, utilisez les valeurs indiquées dans Google Cloud products (produits) et locations (emplacements).
Répertorier tous les incidents actifs d'un projet
Vous pouvez lister tous les Google Cloud incidents d'un projet Google Cloud spécifique.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- API_VERSION : version de l'API à utiliser. Utilisez
v1
ouv1beta
. - PROJECT_ID : ID du projet.
Méthode HTTP et 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}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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 vous ne disposez pas des autorisations requises pour lister les événements, une erreur PERMISSION_DENIED
s'affiche.
{
"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"
}
}
]
}
}
Lister tous les incidents actifs d'une organisation
Vous pouvez lister tous les Google Cloud incidents affectant un projet pour lequel Personalized Service Health est activé dans l' Google Cloud organisation spécifique.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- API_VERSION : version de l'API à utiliser. Utilisez
v1
ouv1beta
. - ORGANIZATION_ID: ID de votre organisation Google Cloud.
Méthode HTTP et 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}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" }
Pour obtenir votre ORGANIZATION_ID, consultez la section Obtenir l'ID de ressource de votre organisation.
Si vous ne disposez pas des autorisations nécessaires pour lister les événements, une erreur PERMISSION_DENIED
s'affiche.
{
"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"
}
}
]
}
}
Lister les projets d'une organisation susceptibles d'être affectés par un événement
Vous pouvez lister tous les projets d'une Google Cloud organisation spécifique qui:
- Peut être affecté par un événement (
OrganizationImpact
). - avoir activé Personalized Service Health ;
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- API_VERSION : version de l'API à utiliser. Utilisez
v1
ouv1beta
. - EVENT_ID: ID de l'événement pouvant affecter une organisation.
- ORGANIZATION_ID: ID de votre organisation Google Cloud.
Méthode HTTP et 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}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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 vous ne disposez pas des autorisations nécessaires pour lister les événements, l'erreur PERMISSION_DENIED
suivante s'affiche.
{
"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"
}
}
]
}
}
Étape suivante
Découvrez comment extraire des informations sur les événements par projet ou organisation à l'aide de l'API Service Health.