Relatórios de métricas de monitorização

Esta página descreve como usar a infraestrutura de serviços para permitir que os serviços geridos gerem dados de monitorização para enviar para projetos de produtores de serviços e consumidores de serviços. A monitorização oferece visibilidade do desempenho, do tempo de atividade e do estado geral dos serviços geridos individuais.

A API Service Control aceita métricas, que agrupa e encaminha para o Cloud Monitoring. A monitorização carrega estas métricas e gera estatísticas através de painéis de controlo, gráficos e alertas.

Enquanto a monitorização por si só permite que um serviço gerido gere dados de monitorização para utilização por si como programador do serviço gerido, a API Service Control também lhe permite gerar dados de monitorização destinados aos seus utilizadores. Isto permite que os seus utilizadores compreendam e diagnostiquem a utilização do seu serviço gerido.

Tenha em atenção que este guia destina-se à monitorização de métricas definidas por serviços geridos. Não é possível comunicar a monitorização de métricas personalizadas através da API Service Control. Para comunicar métricas personalizadas, tem de seguir o guia de monitorização.

Configurar a monitorização

Antes de enviar dados de monitorização para a API Service Control, tem de especificar três informações diferentes na sua configuração do serviço:

  • Recursos monitorizados: um recurso monitorizado representa uma entidade na nuvem que produz alguns dados de monitorização. Para definir um recurso monitorizado na configuração do serviço, consulte monitored_resource.proto para ver a especificação técnica. Recomendamos vivamente que use o mesmo recurso monitorizado para a monitorização e o registo.

  • Métricas: pode comunicar uma ou mais métricas. Cada métrica representa um único estado cujo valor é acompanhado ao longo do tempo. Consulte o ficheiro metric.proto para ver a especificação técnica para definir uma métrica.

  • Configuração da monitorização: permite especificar as métricas associadas aos recursos monitorizados individuais e ao projeto do produtor de serviços ou do consumidor de serviços para onde cada métrica deve ser enviada. Consulte o ficheiro monitoring.proto para ver detalhes.

O exemplo seguinte de configuração do serviço define um recurso monitorizado e uma métrica.

# 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 definition of the metrics to be used.
metrics:
- name: library.appspot.com/book/num_overdue
  display_name: Books Overdue
  description: The current number of overdue books.
  launch_stage: ALPHA
  metric_kind: GAUGE
  value_type: INT64
  unit: 1
- name: library.googleapis.com/book/returned_count
  display_name: Books Returned
  description: The count of books that have been returned.
  launch_stage: ALPHA
  metric_kind: DELTA
  value_type: INT64
  unit: 1

# The monitoring configuration.
monitoring:
  producer_destinations:
  - monitored_resource: library.appspot.com/Branch
    metrics:
    - library.googleapis.com/book/returned_count
  consumer_destinations:
  - monitored_resource: library.appspot.com/Branch
    metrics:
    - library.appspot.com/book/num_overdue

Depois de criar essa configuração, tem de seguir os passos descritos nos artigos Gerir configurações de serviços e Gerir implementações de serviços para enviar a configuração de serviços para a API Service Management, que vai configurar as definições de recursos monitorizados e métricas no Cloud Monitoring.

Métricas de relatórios

Após a conclusão do envio da configuração do serviço, pode chamar a API Service Control para comunicar métricas. O exemplo seguinte usa o comando gcurl para demonstrar a chamada. Para obter informações sobre como configurar esta opção, consulte o artigo Introdução à API Service Control.

gcurl -d "{
  'operations': [ {
    'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
    'operationName': 'Return books',
    'consumerId': 'projects/library-consumer',
    'startTime': '`date +%FT%T%:z`',
    'endTime': '`date +%FT%T%:z --date="5 seconds"`',
    'labels': {
      'location': 'us-east1',
      'branch_id': 'my-test-library-branch'
    },
    'metricValueSets': [ {
      'metricName': 'library.googleapis.com/book/returned_count',
      'metricValues': [ { 'int64Value': '23' } ]
    } ]
  } ]
}" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report