Questa pagina descrive come utilizzare l'Service Infrastructure per consentire ai servizi gestiti di generare dati di monitoraggio da inviare ai progetti producer di servizi e consumer di servizi. Il monitoraggio offre maggiore visibilità su prestazioni, tempo di attività e stato complessivo dei singoli servizi gestiti.
L'API Service Control accetta le metriche, le raggruppa e le inoltra a Cloud Monitoring. Il monitoraggio importa queste metriche e genera informazioni significative tramite dashboard, grafici e avvisi.
Mentre il monitoraggio da solo consente a un servizio gestito di generare dati di monitoraggio da utilizzare come sviluppatore del servizio gestito, l'API Service Control consente anche di generare dati di monitoraggio destinati ai tuoi utenti. In questo modo, gli utenti possono comprendere e diagnosticare l'utilizzo del servizio gestito.
Tieni presente che questa guida riguarda il monitoraggio delle metriche definite dai servizi gestiti. Le metriche personalizzate di monitoraggio non possono essere registrate tramite l'API Service Control. Per segnalare le metriche personalizzate, devi seguire la guida di monitoraggio.
Configurazione del monitoraggio
Prima di inviare i dati di monitoraggio all'API Service Control, devi specificare tre diversi tipi di informazioni nella configurazione del servizio:
Risorse monitorate: una risorsa monitorata rappresenta un'entità cloud che produce alcuni dati di monitoraggio. Per definire una risorsa monitorata nella configurazione del servizio, consulta monitored_resource.proto per la specifica tecnica. Ti consigliamo vivamente di utilizzare la stessa risorsa monitorata sia per il monitoraggio sia per i log.
Metriche: puoi segnalare una o più metriche. Ogni metrica rappresenta un singolo stato il cui valore viene monitorato nel tempo. Consulta metric.proto per la specifica tecnica per definire una metrica.
Configurazione del monitoraggio: consente di specificare le metriche associate alle singole risorse monitorate e al progetto del producer o del consumer di servizi in cui deve essere inviata ogni metrica. Per maggiori dettagli, consulta monitoring.proto.
Il seguente esempio di configurazione del servizio definisce una risorsa monitorata e una metrica.
# 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
Dopo aver creato questa configurazione, devi seguire la sezione Gestire le configurazioni dei servizi e Gestire i rollout dei servizi per inviare la configurazione del servizio all'API Service Management, che configurerà le definizioni delle risorse e delle metriche monitorate in Cloud Monitoring.
Metriche dei report
Al termine del push della configurazione del servizio, puoi chiamare l'API Service Control per generare report sulle metriche. L'esempio seguente utilizza il comando gcurl
per dimostrare la chiamata. Per informazioni su come configurare questa opzione, consulta Introduzione all'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