Questa pagina descrive come utilizzare Service Infrastructure per abilitare servizi gestiti per inviare i log a entrambi producer di servizi e di progetti consumer di servizi.
L'API Service Control accetta dati di log strutturati o non strutturati, che raggruppa e inoltra a Cloud Logging. Tu e gli utenti dei tuoi servizi gestiti potete utilizzare la console Google Cloud e la console API di Google per visualizzare i dati dei log oppure l'API Cloud Logging per accedere ai dati in modo programmatico.
Mentre Logging consente da solo a un servizio gestito di generare log per l'utilizzo da parte tua in qualità di sviluppatore del servizio gestito, L'API Service Control ti consente anche di generare log destinati i tuoi utenti. In questo modo, gli utenti possono comprendere e diagnosticare il loro utilizzo del servizio gestito.
Configurazione dei log
Prima di inviare i log all'API Service Control, devi specificare tre diverse informazioni configurazione del servizio:
Nomi dei log: puoi avere uno o più log distinti. Ogni log viene identificato con un nome univoco. I singoli log consentono di isolare diversi tipi di dati, se li rendono più facili da visualizzare o utilizzare.
Risorse monitorate: Una risorsa monitorata rappresenta un'entità cloud che produce alcuni dati di logging. Per definire una risorsa monitorata nella configurazione del servizio, consulta monitored_resource.proto per la specifica tecnica. Ti consigliamo di utilizzare la stessa risorsa monitorata per monitoraggio e logging.
Configurazione del log: consente di specificare la risorsa monitorata associata con qualsiasi flusso di log e con il producer di servizi o il progetto consumer di servizi in cui ogni log deve essere inviato. Per configurare l'associazione dei log, consulta logging.proto per la specifica tecnica.
Nell'esempio seguente di configurazione del servizio:
il log activity_log
è configurato per essere inviato al consumer di servizi.
# The definition of the monitored resource to be used.
monitored_resources:
- type: library.appspot.com/Branch
description: A library branch
display_name: Library Branch
launch_stage: ALPHA
labels:
- key: resource_container
description: The Google Cloud resource container (ie. project id) for
the branch.
- key: location
description: The Google Cloud region the branch is located.
- key: branch_id
description: The ID of the branch.
# The log name to be used.
logs:
- name: activity_log
# The logging configuration.
logging:
consumer_destinations:
- monitored_resource: library.appspot.com/Branch
logs:
- activity_log
Dopo aver creato questa configurazione, devi seguire le indicazioni riportate in Gestire le configurazioni dei servizi e Gestire i rollout dei servizi per inviare la configurazione del servizio all'API Service Management, che configurerà la risorsa monitorata in Cloud Logging.
Log dei report
Al termine del push della configurazione del servizio, puoi chiamare l'API Service Control per segnalare le voci di log. L'esempio seguente utilizza il comando gcurl
per dimostrare la chiamata. Per scoprire come configurare questa operazione, consulta
Introduzione all'API Service Control.
gcurl -d "{ 'operations': [ { 'operationId': 'e8bf36ef-f9b5-4274-b4f9-079a3731e6e5', 'operationName': 'New book arrived', 'consumerId': 'projects/library-consumer', 'startTime': '`date +%FT%T%:z`', 'endTime': '`date +%FT%T%:z`', 'labels': { 'location': 'us-east1', 'branch_id': 'my-test-library-branch' }, 'logEntries': [ { 'severity': 'INFO', 'textPayload': 'new book arrived', 'name': 'activity_log' } ] } ] }" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report