Accedere agli eventi dell'organizzazione con l'API Personalized Service Health

Questo documento spiega come utilizzare l'API Service Health per accedere agli eventi che interessano la tua organizzazione.

Personalized Service Health fornisce le risorse API OrganizationEvents e OrganizationImpacts, che ti consentono di ottenere informazioni sugli eventi che interessano la tua organizzazione. Queste informazioni comprendono:

  • Eventi di Service Health che potrebbero interessare uno o più progetti di un'organizzazione.
  • Elenco dei progetti che potrebbero essere o sono interessati da un evento che riguarda la tua organizzazione.

Per scoprire come visualizzare gli incidenti a livello di organizzazione nella console Google Cloud , consulta Visualizza gli incidenti dell'organizzazione nella console Google Cloud .

Prima di iniziare

  1. Abilita l'API Service Health per almeno un progetto della tua organizzazione. Le risorse API OrganizationEvents e OrganizationImpacts ricevono informazioni solo per i progetti in cui è abilitata l'API Service Health.
  2. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .

  3. Imposta le autorizzazioni per accedere all'API Service Health.
  4. Configura le autorizzazioni Identity and Access Management (IAM) sulla tua organizzazione per utilizzare le risorse API OrganizationEvents e OrganizationImpacts. Esegui questo comando:

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

    Per ottenere il tuo ORGANIZATION_ID, consulta Recupero dell'ID risorsa dell'organizzazione.

    Le policy IAM concesse a un'organizzazione vengono ereditate da tutti i progetti dell'organizzazione. Queste policy ti consentono di accedere alle API degli eventi dell'organizzazione e dei progetti nell'intera organizzazione.

Riferimenti

Consulta il riferimento API OrganizationEvents e OrganizationImpacts per i metodi che puoi utilizzare e il significato dei campi nella risposta. Nella risposta dell'API, ogni voce nell'elenco impact include l'interruzione granulare state (AFFECTED o RESOLVED), startTime e endTime (se risolta) per ogni prodotto e località interessati.

Quando imposti il prodotto o la località, utilizza i valori disponibili in Google Cloud products e locations.

Elenca i progetti di un'organizzazione che potrebbero essere interessati da un evento

Consulta la guida rapida.

Elenca tutti gli incidenti attivi per un'organizzazione

Consulta la guida rapida.

Visualizza i dettagli di un evento che interessa un'organizzazione

Puoi utilizzare l'API Get per visualizzare informazioni dettagliate su un evento che interessa un'organizzazione.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • API_VERSION: la versione dell'API da utilizzare. Utilizza il v1 o v1beta.
  • ORGANIZATION_ID: il tuo ID organizzazione Google Cloud.
  • EVENT_ID: l'ID dell'evento.
  • PROJECT_ID: l'ID progetto utilizzato per la quota e la fatturazione.

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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 non disponi delle autorizzazioni per recuperare gli eventi, riceverai il seguente errore 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"
        }
      }
    ]
  }
}

Per correggere questo errore, imposta le autorizzazioni richieste.

Visualizza i dettagli di un progetto di un'organizzazione che potrebbe essere interessato da un evento

Per un determinato evento, l'ID evento rimane lo stesso tra gli eventi del progetto e quelli dell'organizzazione. OrganizationImpact contiene un EVENT_ID e un PROJECT_NUMBER, che puoi utilizzare per ottenere i dettagli di un evento che interessa il tuo progetto. Questi dettagli includono state e relevance.

PROJECT_NUMBER è intercambiabile con PROJECT_ID, che viene restituito dall'API Get.