Como relatar registros

Nesta página, você aprende a usar a Service Infrastructure para que os serviços gerenciados enviem registros a projetos tanto de produtor quanto de consumidor de serviço.

A API Service Control aceita dados de registro estruturados ou não estruturados, que são agrupados em lotes e encaminhados para o Cloud Logging. Você e os usuários dos seus serviços gerenciados podem usar o console do Google Cloud e o Console de APIs do Google para visualizar os dados de registro ou usar a API Cloud Logging para acessar os dados de maneira programática.

Assim como o próprio Logging permite que um serviço gerenciado gere registros para uso por você como desenvolvedor do serviço gerenciado, a API Service Control também permite gerar registros destinados a seus usuários. Isso possibilita que seus usuários entendam e diagnostiquem o uso que fazem do seu serviço gerenciado.

Como configurar registros

Antes de enviar registros para a API Service Control, você precisa especificar três informações diferentes na sua configuração de serviço:

  • Nomes dos registros: você pode ter um ou mais registros distintos. Cada registro é identificado por um nome exclusivo. Registros individuais permitem isolar tipos diferentes de dados caso seja mais fácil visualizá-los ou usá-los dessa forma.

  • Recursos monitorados: um recurso monitorado representa uma entidade de nuvem que produz alguns dados de registro. Para definir um recurso monitorado na configuração do serviço, consulte monitored_resource.proto para ver a especificação técnica. Recomendamos que você use o mesmo recurso monitorado para monitoring e geração de registros.

  • Configuração de registro: permite especificar o recurso monitorado associado a qualquer fluxo de registros e o projeto de produtor ou consumidor de serviço em que cada registro será enviado. Para configurar a associação de registros, consulte logging.proto para a especificação técnica.

No exemplo da configuração de serviço a seguir, o registro activity_log é configurado para ser enviado ao consumidor de serviço.

# 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

Depois de criar essa configuração, você precisará seguir as instruções de Como gerenciar configurações de serviço e Como gerenciar lançamentos de serviço para enviar a configuração de serviço para a API Service Management, que configurará o recurso monitorado no Cloud Logging.

Como relatar registros

Depois que o push da configuração do serviço for concluído, chame a API Service Control para relatar entradas de registro. O exemplo a seguir usa o comando gcurl para demonstrar a chamada. Para saber como configurar isso, consulte Primeiros passos com a 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