Rapporti sui log

Questa pagina descrive come utilizzare l'Service Infrastructure per consentire ai servizi gestiti di inviare log sia ai progetti producer di servizi sia ai 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 da solo consente a un servizio gestito di generare log per il tuo utilizzo in qualità di sviluppatore del servizio gestito, l'API Service Control ti consente anche di generare log destinati ai 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 diversi tipi di informazioni nella configurazione del servizio:

  • Nomi dei log: puoi avere uno o più log distinti. Ogni log è identificato da un nome univoco. I singoli log ti consentono di isolare tipi di dati distinti se ciò semplifica la visualizzazione o l'utilizzo dei dati.

  • Risorse monitorate: una risorsa monitorata rappresenta un'entità cloud che produce alcuni dati di log. Per definire una risorsa monitorata nella configurazione del servizio, consulta monitored_resource.proto per le specifiche tecniche. Ti consigliamo vivamente di utilizzare la stessa risorsa monitorata sia per il monitoraggio sia per la registrazione.

  • Configurazione dei log: consente di specificare la risorsa monitorata associata a qualsiasi stream di log e il progetto producer di servizi o consumatore di servizi in cui deve essere inviato ogni log. Per configurare l'associazione dei log, consulta logging.proto per le specifiche tecniche.

Nel seguente esempio di configurazione del servizio, il log activity_log è configurato per essere inviato al consumatore del servizio.

# 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 per la gestione delle configurazioni dei servizi e la gestione degli implementamenti 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