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, operazione 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 su un argomento Pub/Sub, Logging pubblica ogni voce di log come messaggio Pub/Sub non appena Logging riceve quella voce di log. I log con routing sono generalmente disponibili entro pochi secondi dall'arrivo in Logging, con il 99% dei log disponibili 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 Eseguire il routing dei log alle destinazioni supportate.

Visualizza i log

Per visualizzare i flussi di log attraverso Pub/Sub:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Pub/Sub, quindi Argomenti:

    Vai ad Argomenti

  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 codificato in base64. Ad esempio, un sottoscrittore Pub/Sub potrebbe 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 codifichi 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, ad esempio Splunk. Per un elenco aggiornato delle integrazioni, consulta la pagina dedicata ai partner per le integrazioni relative all'osservabilità di Google Cloud.

Puoi instradare i log tramite un argomento Pub/Sub e la terza parte riceve i log sottoscrivendo lo stesso argomento.

Per eseguire l'integrazione, esegui una delle seguenti operazioni:

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

  2. Nel progetto contenente 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 o seguendo questi passaggi:

    1. Nel pannello di navigazione della console Google Cloud, seleziona Pub/Sub, quindi Argomenti:

      Vai ad Argomenti

    2. Seleziona Crea argomento e inserisci il nome di un argomento. Ad esempio, projects/my-project-id/topics/my-pubsub-topic. Puoi instradare i 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 nell'argomento. Per le istruzioni, consulta Impostare le autorizzazioni della destinazione.

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

    1. Nel pannello di navigazione della console Google Cloud, seleziona Pub/Sub, quindi Argomenti:

      Vai ad Argomenti

    2. Seleziona l'argomento.
    3. Seleziona Autorizzazioni.
    4. Seleziona Aggiungi autorizzazione e inserisci il nome dell'account di servizio della terza parte.
    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. Dovrebbero sottoscrivere l'argomento prima di iniziare il routing.

  7. Avvia il routing dei log dopo che la terza parte ha effettuato la sottoscrizione all'argomento:

    1. Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Router dei log:

      Vai a Router dei log

    2. Nel progetto contenente i log che vuoi indirizzare, fai clic su Crea sink.
    3. Inserisci un nome e una descrizione per il sink e poi 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 è iscritta la terza parte, 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 correttamente con le autorizzazioni per scrivere i futuri log corrispondenti nella destinazione selezionata.

La terza parte dovrebbe iniziare subito a ricevere 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 i log sembrano non essere presenti nella destinazione del sink o se sospetti che il sink non esegua correttamente il routing dei log, consulta Risolvere i problemi di routing dei log.

Prezzi

Cloud Logging non prevede addebiti per instradare i log a una destinazione supportata, ma per la destinazione potrebbero essere applicati dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita un costo per trasmettere i log nei bucket di log e per un'archiviazione più lunga rispetto al periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita costi per la copia dei log o per le query eseguite tramite la pagina Esplora log o la pagina Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti: