Visualizza i log con routing a Pub/Sub

Questo documento spiega come trovare le voci di log instradate da cui hai eseguito il routing. da Cloud Logging agli argomenti Pub/Sub, che si verificano quasi in tempo reale. Consigliamo di utilizzare Pub/Sub per l'integrazione Log di Cloud Logging con software di terze parti.

Quando esegui il routing delle voci di log a un argomento Pub/Sub, Logging pubblica ogni voce di log come messaggio Pub/Sub non appena Il logging riceve questa voce di log. Le voci di log instradate sono sono generalmente disponibili pochi secondi dal momento del loro arrivo in Logging, con il 99% delle voci di log disponibile in meno di 60 secondi.

Prima di iniziare

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

Per istruzioni su come eseguire il routing delle voci di log, consulta Esegui il routing dei log alle destinazioni supportate.

Visualizza i log

Per visualizzare i log mentre vengono trasmessi in flusso tramite Pub/Sub, procedi nel seguente modo:

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

    Vai ad Argomenti.

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il 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 che venga generata una nuova voce di log pubblicato.

Organizzazione dei log

Il campo data di ogni messaggio è un tag LogEntry con codifica Base64 . Ad esempio, un sottoscrittore Pub/Sub potrebbe eseguire il pull dei seguenti 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 presenti più voci di log disponibili. Il valore data (circa 600 caratteri) e il valore ackId (circa 200 caratteri) sono stati abbreviati per facilitare la lettura dell'esempio:

{
 "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 quanto segue 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

Instrada le voci di log a un argomento Pub/Sub. Il terzo riceve le tue voci di log iscrivendosi allo stesso argomento. Logging supporta l'integrazione del logging con terze parti, come come Splunk o Datadog. Per un elenco aggiornato di integrazioni, Consulta la pagina Partner per le integrazioni di Google Cloud Observability.

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

  1. Nel progetto da cui provengono le voci di log, crea un argomento Pub/Sub con abbonamento predefinito:

    1. Abilita l'API Pub/Sub.

      Abilita l'API

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

      Vai ad Argomenti.

      Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Pub/Sub

    3. Fai clic su Crea argomento.

    4. Inserisci un ID per l'argomento nel campo ID argomento. Ad esempio: projects/my-project-id/topics/my-pubsub-topic.

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

      "attributes": {
        "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z"
      }
      
    5. Mantieni l'opzione Aggiungi un abbonamento predefinito. Non selezionare altro .

    6. Fai clic su Crea argomento.

  2. Nel progetto da cui hanno origine le voci di log, configura Logging per indirizzare le voci di log all'argomento:

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

      Vai a Router dei log

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

    2. Fai clic su Crea sink, inserisci un nome e una descrizione per il sink e fai clic su Avanti.
    3. Nel menu Servizio sink, seleziona argomento Cloud Pub/Sub, seleziona l'argomento Pub/Sub e fai clic su Avanti.
    4. Seleziona le voci di log da includere nel sink e fai clic su Avanti.
    5. (Facoltativo) Seleziona le voci di log da escludere.
    6. Fai clic su Crea sink.

      Viene visualizzata una finestra di dialogo con il messaggio Sink creato. Questo indica che il sink è stato creato correttamente autorizzazioni per instradare le voci di log corrispondenti future alla destinazione che hai selezionato.

    7. Concedi il ruolo di Editore Pub/Sub (roles/pubsub.publisher) all'identità autore del sink. Per ulteriori informazioni su come ottenere l'identità autore e la concessione di un ruolo, consulta Imposta le autorizzazioni della destinazione.

    Cloud Logging ora invia le voci di log al tuo Pub/Sub per ogni argomento.

  3. Crea la sottoscrizione.

    Ad esempio, se utilizzi Dataflow per eseguire il pull dei dati dall'argomento Pub/Sub e inviarli a Datadog, devi eseguire due passaggi:

    1. Creare o ottenere un account di servizio e concedere a quest'ultimo il Ruoli IAM necessari per la sottoscrizione all'argomento. Presso l'account di servizio richiede i seguenti ruoli:

      Per ulteriori informazioni, consulta i seguenti documenti:

    2. Creare un job da un modello, quindi eseguirlo. Per questo esempio, puoi utilizzare Modello da Pub/Sub a Datadog.

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

Per esplorare gli scenari più comuni di routing dei log utilizzando vedi Pub/Sub, Scenari per l'esportazione di dati di Cloud Logging: Splunk.

Risoluzione dei problemi

Se le voci di log sembrano non essere presenti nella destinazione del sink o se sospetti che il sink non stia eseguendo correttamente il routing delle voci di log, quindi verifica Risolvi i problemi relativi ai log di routing.

Prezzi

Cloud Logging non addebita alcun costo per il routing dei log a un destinazione supportata; ma la destinazione potrebbe applicare dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita un costo per trasferire i log nei bucket di log. per un'archiviazione più lunga del periodo di conservazione predefinito del bucket di log.

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

Per ulteriori informazioni, consulta i seguenti documenti: