Rapporti sulle metriche di monitoraggio

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