Visualizza i log con routing a Pub/Sub

Questo documento spiega come trovare le voci di log instradate da Cloud Logging agli argomenti Pub/Sub, che avvengono quasi in tempo reale. Ti consigliamo di utilizzare Pub/Sub per integrare i log di Cloud Logging con software di terze parti.

Quando esegui il routing dei log a un argomento Pub/Sub, Logging pubblica ogni voce di log come messaggio Pub/Sub non appena Logging riceve quella voce di log. I log instradati sono generalmente disponibili entro pochi secondi dal loro arrivo in Logging, e il 99% dei log è disponibile in meno di 60 secondi.

Prima di iniziare

Per una discussione concettuale dei sink, consulta Panoramica dei modelli di routing e archiviazione: sink.

Per istruzioni su come eseguire il routing dei log, consulta Routing dei log alle destinazioni supportate.

visualizza i log

Per visualizzare i log mentre vengono trasmessi in flusso tramite Pub/Sub, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Argomenti:

    Vai ad Argomenti.

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Pub/Sub.

  2. Trova o crea una sottoscrizione all'argomento utilizzato nel sink di log ed esegui il pull di una voce di log. Potresti dover attendere la pubblicazione di una nuova voce di log.

Organizzazione dei log

Il campo data di ogni messaggio è un oggetto LogEntry con codifica Base64. Ad esempio, un sottoscrittore Pub/Sub può eseguire il pull del seguente oggetto da un argomento che riceve voci di log. L'oggetto mostrato contiene un elenco con un singolo messaggio, anche se Pub/Sub potrebbe restituire diversi messaggi se sono disponibili diverse voci di log. Il valore data (circa 600 caratteri) e il valore ackId (circa 200 caratteri) sono stati abbreviati per rendere l'esempio più facile da leggere:

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

Se decodifica il campo data e lo formatti, ottieni il seguente oggetto LogEntry:

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

Integrazione di terze parti con Pub/Sub

Logging supporta l'integrazione di logging con terze parti come Splunk. Per un elenco aggiornato delle integrazioni, consulta la pagina Partner per le integrazioni di Google Cloud Observability.

Instrada i log tramite un argomento Pub/Sub e la terza parte riceve i log iscrivendosi allo stesso argomento.

Per eseguire l'integrazione, ti consigliamo di eseguire un'operazione simile alla seguente:

  1. Ottenere dalla terza parte un nome dell'account di servizio Google Cloud creato dal suo progetto Google Cloud. Ad esempio, 12345-xyz@developer.gserviceaccount.com. che utilizzerai per concedere alla terza parte l'autorizzazione a ricevere i tuoi log.

  2. Nel progetto che contiene i log, abilita l'API Pub/Sub.

  3. Attiva l'API Pub/Sub.

    Abilita l'API

  4. Creare un argomento Pub/Sub. Puoi creare un argomento quando configuri un sink di log oppure segui questi passaggi:

    1. Nella console Google Cloud, vai alla pagina Argomenti:

      Vai ad Argomenti.

      Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Pub/Sub.

    2. Seleziona Crea argomento e inserisci un nome. Ad esempio, projects/my-project-id/topics/my-pubsub-topic. Esegui il routing dei log a questo argomento.

      Ogni messaggio inviato all'argomento include il timestamp della voce di log con routing nel messaggio Pub/Sub attributes; ad esempio:

      "attributes": {
        "logging.googleapis.com/timestamp": "2018-10-01T00:00:00Z"
      }
      
    3. Fai clic su Crea argomento.

    4. Autorizza Logging a eseguire il routing dei log all'argomento. Per le istruzioni, vedi Impostare le autorizzazioni di destinazione.

  5. Autorizza la terza parte a iscriversi al tuo argomento:

    1. Nella console Google Cloud, vai alla pagina Argomenti:

      Vai ad Argomenti.

      Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Pub/Sub.

    2. Seleziona l'argomento.
    3. Seleziona Autorizzazioni.
    4. Seleziona Aggiungi autorizzazione e inserisci il nome dell'account di servizio di terze parti.
    5. Nel menu Seleziona un ruolo, scegli Sottoscrittore Pub/Sub.
    6. Fai clic su Salva.
  6. Fornisci alla terza parte il nome del tuo argomento Pub/Sub, ad esempio projects/my-project-number/topics/my-pubsub-topic. Deve sottoscrivere l'argomento prima di iniziare il routing.

  7. Inizia a eseguire il routing dei log dopo che la terza parte ha sottoscritto l'argomento:

    1. Nella console Google Cloud, vai alla pagina Router dei log:

      Vai a Router dei log

      Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

    2. Nel progetto contenente i log che vuoi instradare, fai clic su Crea sink.
    3. Inserisci un nome e una descrizione per il sink e fai clic su Avanti.
    4. Nel menu Servizio sink, seleziona argomento Cloud Pub/Sub.
    5. Nel menu Argomento Cloud Pub/Sub, seleziona l'argomento Pub/Sub a cui la terza parte è sottoscritta, quindi fai clic su Avanti.
    6. Seleziona i log da includere nel sink e fai clic su Avanti.
    7. (Facoltativo) Seleziona i log da escludere.
    8. Fai clic su Crea sink.

      Viene visualizzata una finestra di dialogo con il messaggio Sink creato. Questo messaggio indica che il sink è stato creato con le autorizzazioni necessarie per scrivere i futuri log corrispondenti nella destinazione selezionata.

La terza parte dovrebbe iniziare a ricevere subito le voci di log.

Per un'esplorazione degli scenari comuni di routing dei log utilizzando Pub/Sub, consulta Scenari per l'esportazione di dati di Cloud Logging: Splunk.

Risoluzione dei problemi

Se sembra che i log non siano presenti nella destinazione del sink o se sospetti che il sink non stia eseguendo correttamente il routing dei log, consulta Risolvere i problemi relativi ai log di routing.

Prezzi

Cloud Logging non addebita alcun costo per il routing dei log a una destinazione supportata, ma la destinazione potrebbe applicare dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita un costo per lo streaming dei log nei bucket di log e per l'archiviazione per un periodo più lungo rispetto al periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita alcun costo per la copia dei log o per le query emesse tramite la pagina Esplora log o Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti: