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 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