Questa pagina descrive come utilizzare l'Service Infrastructure per consentire ai servizi gestiti di generare dati di monitoraggio da inviare a progetti di producer di servizi e consumer di servizi. Monitoring offre visibilità su prestazioni, uptime e integrità complessiva dei singoli servizi gestiti.
L'API Service Control accetta le metriche che raggruppa e inoltra a Cloud Monitoring. Monitoring importa queste metriche e genera insight tramite dashboard, grafici e avvisi.
Mentre Monitoring consente da solo a un servizio gestito di generare dati di monitoraggio da utilizzare in qualità di sviluppatore del servizio gestito, l'API Service Control consente anche di generare dati di monitoraggio destinati agli utenti. Ciò consente agli utenti di comprendere e diagnosticare l'utilizzo del servizio gestito.
Nota: questa guida riguarda il monitoraggio delle metriche definite dai servizi gestiti. Non è possibile generare report sulle metriche personalizzate di Monitoring tramite l'API Service Control. Per generare report sulle metriche personalizzate, devi seguire la guida di Monitoring.
Configurazione del monitoraggio
Prima di inviare i dati di monitoraggio all'API Service Control, devi specificare tre diversi bit 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 le specifiche tecniche. Ti consigliamo vivamente di utilizzare la stessa risorsa monitorata sia per il monitoraggio che per il logging.
Metriche: puoi segnalare una o più metriche. Ogni metrica rappresenta un singolo elemento di stato il cui valore viene monitorato nel tempo. Consulta metric.proto per le specifiche tecniche per definire una metrica.
Configurazione di Monitoring: consente di specificare le metriche associate alle singole risorse monitorate e il producer di servizi o progetto consumer di servizi a cui inviare ogni metrica. Consulta monitoring.proto per i dettagli.
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 Gestione delle configurazioni dei servizi e Gestione delle implementazioni dei servizi per eseguire il push della 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 registrare le metriche. L'esempio seguente utilizza il comando gcurl
per dimostrare la chiamata. Per informazioni su come eseguire la configurazione, consulta la Guida introduttiva 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