Questo documento spiega come trovare le voci di log che hai instradato da Cloud Logging agli argomenti Pub/Sub, un'operazione 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 instradi le voci di log a un argomento Pub/Sub, Logging pubblica ogni voce di log come messaggio Pub/Sub non appena la riceve. Le voci di log instradate sono in genere 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, consulta Panoramica dei modelli di routing e archiviazione: sink.
Per istruzioni su come instradare le voci di log, consulta Instrada i log verso destinazioni supportate.
Visualizza i log
Per visualizzare i log mentre vengono trasmessi in streaming tramite Pub/Sub:
-
Nella Google Cloud console, 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 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 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 più messaggi se sono disponibili più voci di log.
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 decodifichi il campo data e lo formatti, ottieni il seguente
LogEntry oggetto:
{
"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
Se instradi le voci di log a un argomento Pub/Sub, la terza parte riceve le voci di log sottoscrivendo lo 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 eseguire un'operazione simile alla seguente:
Nel progetto in cui hanno origine le voci di log, crea l'argomento Pub/Sub con una sottoscrizione predefinita:
Abilita l'API Pub/Sub.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.-
Nella Google Cloud console, 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 negli
attributesdel messaggio Pub/Sub; 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 in modo da instradare le voci di log all'argomento:
-
Nella Google Cloud console, 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, quindi fai clic su Avanti.
- Seleziona le voci di log da includere nel sink e 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 instradare le future voci di log corrispondenti alla destinazione selezionata.
Concedi all'entità specificata nell'identità writer del sink i seguenti ruoli IAM:
Writer log (
roles/logging.logWriter)Publisher Pub/Sub (
roles/pubsub.publisher)
Per ulteriori informazioni su come ottenere l'identità writer e concedere un ruolo, consulta Imposta le autorizzazioni della destinazione.
Cloud Logging ora invia le voci di log all'argomento Pub/Sub.
-
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:
Crea o ottieni un service account, quindi concedigli i ruoli IAM necessari per sottoscrivere l'argomento. Come minimo, il service account richiede i seguenti ruoli:
- Pub/Sub Subscriber (
roles/pubsub.subscriber) - Amministratore Dataflow (
roles/dataflow.admin) - Worker Dataflow (
roles/dataflow.worker)
Per ulteriori informazioni, consulta i seguenti documenti:
- Pub/Sub Subscriber (
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 di routing dei log comuni che utilizzano 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 indirizzi correttamente le voci di log, consulta Risolvi i problemi relativi al routing dei log.
Prezzi
Per informazioni sui prezzi, consulta la pagina Prezzi di Google Cloud Observability. Se instradi i dati di log ad altri Google Cloud servizi, consulta i seguenti documenti: