Questa pagina descrive come utilizzare l'Infrastruttura di servizio 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, che raggruppa in batch e lo inoltra a Cloud Monitoring. Il monitoraggio importa queste metriche e genera informazioni significative tramite dashboard, grafici e avvisi.
Mentre Monitoring da solo consente a un servizio gestito di generare il monitoraggio dei dati per l'utilizzo da parte tua in qualità di sviluppatore del servizio gestito, l'API Service Control consente anche di generare dati di monitoraggio, destinati ai tuoi utenti. Ciò permette ai tuoi utenti di comprendere e diagnosticare l'utilizzo del servizio gestito.
Tieni presente che questa guida riguarda il monitoraggio delle metriche definite dai servizi gestiti. Impossibile generare report sulle metriche personalizzate di Monitoring tramite l'API Service Control. Per generare report sulle metriche personalizzate, devi seguire la guida a Monitoring.
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: A 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 di utilizzare la stessa risorsa monitorata per il monitoraggio e l'accesso.
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. Consulta: monitoring.proto per maggiori dettagli.
Il seguente esempio di configurazione del servizio definisce risorsa 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 il metodo
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