Rapporti sui log

Questa pagina descrive come utilizzare l'Service Infrastructure per abilitare i servizi gestiti per l'invio di log a progetti sia di producer di servizi che di consumer di servizi.

L'API Service Control accetta dati di log strutturati o non strutturati, che raggruppa e inoltra a Cloud Logging. Sia tu sia 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 utilizzare l'API Cloud Logging per accedere ai dati in modo programmatico.

Mentre Logging consente solo a un servizio gestito di generare log che tu dovrai utilizzare in qualità di sviluppatore del servizio gestito, l'API Service Control ti consente anche di generare log destinati agli utenti. Ciò consente agli utenti di 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 bit 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 consentono di isolare tipi distinti di dati se ciò semplifica la visualizzazione o l'utilizzo dei dati.

  • 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 le specifiche tecniche. Ti consigliamo vivamente di utilizzare la stessa risorsa monitorata sia per il monitoring che per il logging.

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

Nell'esempio di configurazione del servizio riportato di seguito, 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 Gestione delle configurazioni dei servizi e Gestione delle implementazioni dei servizi per eseguire il push della 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 informazioni su come eseguire la configurazione, consulta la guida introduttiva 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