Como gerar relatórios de métricas de faturamento

Nesta página, você aprende a usar a Service Infrastructure a fim de permitir que os serviços gerenciados enviem dados de uso de faturamento para que o Faturamento do Cloud cobre os consumidores de serviço. Por exemplo, você pode definir uma métrica chamada library.appspot.com/books/borrowed para medir o número de livros emprestados por um cliente e definir uma unidade de manutenção de estoque (SKU, na sigla em inglês) e seu preço.

A API Service Control aceita métricas que ela armazena em lote, agrega e encaminha ao Cloud Billing. O Cloud Billing ingere essas métricas e gera cobranças com base no modelo de preço predefinido. Se não houver um modelo de preço predefinido, o Faturamento do Cloud simplesmente ignora as métricas de faturamento. Para definir o modelo de preço, entre em contato com o gerente de contas do parceiro do Google Cloud.

Como configurar o faturamento

Antes de enviar dados de faturamento à API Service Control, você precisa especificar três tipos diferentes de informações na sua configuração de serviço:

  • Recursos monitorados: é possível coletar o uso de faturamento de cada recurso. Os recursos monitorados precisam de pelo menos uma chave de rótulo cloud.googleapis.com/location para indicar o local do uso da cobrança.

  • Métricas: você pode relatar uma ou mais métricas. Cada métrica avalia o uso de um determinado tipo de recurso. Somente as métricas DELTA com valores INT64 são aceitas para faturamento.

  • Configuração de faturamento: permite especificar as métricas a serem enviadas para o Cloud Billing.

No exemplo de configuração de serviço a seguir, definimos uma métrica que computa o número de livros emprestados para um cliente. Um cliente pode chamar o método services.report para relatar valores na métrica. Consulte billing.proto para mais detalhes sobre a configuração de faturamento.

# library
monitored_resources:
 - type: library.appspot.com/branch
   labels:
   - key: cloud.googleapis.com/location
     description: The cloud location.
   - key: library.appspot.com/city
     description: The city where the library branch is located in.

# The metrics to be used.
metrics:
- name: library.appspot.com/books/borrowed
  metric_kind: DELTA
  value_type: INT64
  unit: '1'

# The billing configuration.
billing:
  consumer_destinations:
  - monitored_resource: library.appspot.com/branch
    metrics:
    - library.appspot.com/books/borrowed

Como gerar relatórios de métricas de faturamento

Depois de configurar o monitoramento na configuração do serviço e enviar a configuração por push com a API Service Management, você pode chamar a API Service Control para relatar métricas. O exemplo a seguir usa o comando gcurl para demonstrar a chamada. Para informações sobre como fazer a configuração, consulte Primeiros passos com a API Service Control.

$ gcurl -d "{
  'operations': [ {
    'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
    'consumerId': 'project:library-consumer',
    'startTime': '`date +%FT%T%:z`',
    'endTime': '`date +%FT%T%:z`',
    'labels': {
      'cloud.googleapis.com/location': 'us-west1',
      'library.appspot.com/city': 'Kirkland',
    },
    'metricValueSets': [ {
      'metricName': 'library.appspot.com/books/borrowed',
      'metricValues': [ { 'int64Value': '10' } ]
    } ]
  } ]
}" https://servicecontrol.googleapis.com/v1/services/library.appspot.com:report