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