Questo documento spiega come trovare le voci di log di cui hai eseguito il routing da Cloud Logging agli argomenti Pub/Sub, il che avviene 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 delle voci di log a un argomento Pub/Sub, Logging pubblica ogni voce di log come messaggio Pub/Sub non appena riceve la voce di log. Le voci di log instradate sono generalmente disponibili entro pochi secondi dal loro arrivo in Logging, con il 99% delle voci di log disponibili 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 instradare le voci di log, consulta Instradare i log verso destinazioni supportate.
Visualizza i log
Per visualizzare i log durante lo streaming tramite Pub/Sub:
-
Nella console Google Cloud , vai alla pagina Argomenti:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Pub/Sub.
Trova o crea una sottoscrizione all'argomento utilizzato nel sink di log ed estrai 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 estrarre il 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 più messaggi se sono disponibili
più voci di log.
I valori data
(circa 600 caratteri) e 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 decodifichi 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
Instradi le voci di log a un argomento Pub/Sub. La terza parte riceve le voci di log abbonandosi allo stesso argomento. Logging supporta l'integrazione dei log con terze parti, ad esempio Splunk o Datadog. Per un elenco aggiornato delle integrazioni, consulta la sezione Partner per le integrazioni di Google Cloud Observability.
Per eseguire l'integrazione, dovrai fare qualcosa di simile a quanto segue:
Nel progetto in cui hanno origine le voci di log, crea l'argomento Pub/Sub con una sottoscrizione predefinita:
Abilita l'API Pub/Sub.
-
Nella console Google Cloud , vai alla pagina Argomenti:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Pub/Sub.
Fai clic su Crea argomento.
Nel campo ID argomento, inserisci un ID per l'argomento. Ad esempio,
projects/my-project-id/topics/my-pubsub-topic
.Ogni messaggio inviato all'argomento include il timestamp della voce di log instradata nel messaggio Pub/Sub
attributes
; ad esempio:"attributes": { "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z" }
Mantieni l'opzione Aggiungi una sottoscrizione predefinita. Non selezionare altre opzioni.
Fai clic su Crea argomento.
Nel progetto in cui hanno origine le voci di log, configura Logging per instradare le voci di log all'argomento:
-
Nella console Google Cloud , vai alla pagina Router dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Fai clic su Crea sink, inserisci un nome e una descrizione per il sink, quindi fai clic su Avanti.
- Nel menu Servizio sink, seleziona Argomento Cloud Pub/Sub, seleziona l'argomento Pub/Sub e poi fai clic su Avanti.
- Seleziona le voci di log da includere nel sink e poi fai clic su Avanti.
- (Facoltativo) Seleziona le voci di log da escludere.
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 indirizzare le future voci di log corrispondenti alla destinazione che hai selezionato.
Concedi il ruolo di Publisher Pub/Sub (
roles/pubsub.publisher
) all'identità writer del sink. Per saperne di più su come ottenere l'identità dell'autore e concedere un ruolo, consulta Impostare le autorizzazioni di destinazione.
Cloud Logging ora invia le voci di log all'argomento Pub/Sub.
-
Crea l'abbonamento.
Ad esempio, se utilizzi Dataflow per estrarre i dati dall'argomento Pub/Sub e inviarli a Datadog, devi eseguire due passaggi:
Crea o ottieni un account di servizio, quindi concedigli i ruoli IAM necessari per iscriversi all'argomento. Come minimo, il account di servizio richiede i seguenti ruoli:
- Abbonato Pub/Sub (
roles/pubsub.subscriber
) - Dataflow Admin (
roles/dataflow.admin
) - Dataflow Worker (
roles/dataflow.worker
)
Per saperne di più, consulta i seguenti documenti:
- Abbonato Pub/Sub (
Crea un job da un modello, quindi esegui il job. Per questo esempio, utilizzerai il modello Da Pub/Sub a Datadog.
La terza parte dovrebbe iniziare a ricevere immediatamente le voci di log.
Per un'esplorazione degli scenari comuni di routing dei log utilizzando Pub/Sub, consulta Scenari per l'esportazione di dati Cloud Logging: Splunk.
Risoluzione dei problemi
Se le voci di log sembrano mancare dalla destinazione del sink o se sospetti che il sink non stia instradando correttamente le voci di log, consulta l'articolo Risolvere i problemi relativi all'instradamento dei log.
Prezzi
Cloud Logging non addebita costi per il routing dei log a una destinazione supportata, ma la destinazione potrebbe applicare costi.
Ad eccezione del bucket di log _Required
,
Cloud Logging addebita lo streaming dei log nei bucket di log e
l'archiviazione per un periodo più lungo del periodo di conservazione predefinito del bucket di log.
Cloud Logging non addebita costi per la copia dei log, per la creazione di ambiti dei log o visualizzazioni di analisi o per le query emesse tramite le pagine Esplora log o Analisi dei log.
Per saperne di più, consulta i seguenti documenti:
- Le sezioni di Cloud Logging della pagina Prezzi di Google Cloud Observability.
Costi per il routing dei dati di log ad altri servizi: Google Cloud
- I costi di generazione dei log di flusso VPC si applicano quando invii ed escludi i log di flusso Virtual Private Cloud da Cloud Logging.