Informes de métricas de monitorización

En esta página se describe cómo usar Service Infrastructure para permitir que los servicios gestionados generen datos de monitorización que se envíen a los proyectos de productores de servicios y consumidores de servicios. Monitoring ofrece visibilidad sobre el rendimiento, el tiempo de actividad y el estado general de los servicios gestionados individuales.

La API Service Control acepta métricas, que agrupa y reenvía a Cloud Monitoring. Monitoring ingiere estas métricas y genera información valiosa que se presenta en paneles de control, gráficos y alertas.

Mientras que la monitorización por sí sola permite que un servicio gestionado genere datos de monitorización para que los utilices como desarrollador del servicio gestionado, la API Service Control también te permite generar datos de monitorización destinados a tus usuarios. De esta forma, los usuarios pueden entender y diagnosticar el uso de tu servicio gestionado.

Ten en cuenta que esta guía está dirigida a usuarios que quieran monitorizar métricas definidas por servicios gestionados. Las métricas personalizadas de monitorización no se pueden registrar a través de la API Service Control. Para registrar métricas personalizadas, debe seguir la guía de Monitoring.

Configurar la monitorización

Antes de enviar datos de monitorización a la API Service Control, debes especificar tres tipos de información en la configuración del servicio:

  • Recursos monitorizados: un recurso monitorizado representa una entidad de nube que genera datos de monitorización. Para definir un recurso monitorizado en la configuración del servicio, consulta la especificación técnica en monitored_resource.proto. Te recomendamos que uses el mismo recurso monitorizado tanto para la monitorización como para el registro.

  • Métricas: puedes generar informes de una o más métricas. Cada métrica representa un único estado cuyo valor se monitoriza a lo largo del tiempo. Consulta la especificación técnica para definir una métrica en metric.proto.

  • Configuración de la monitorización: te permite especificar las métricas asociadas a recursos monitorizados concretos y el proyecto del productor o consumidor de servicios al que se debe enviar cada métrica. Consulta más información en monitoring.proto.

En el siguiente ejemplo de configuración de servicio se definen un recurso monitorizado y una métrica.

# 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

Una vez que hayas creado esta configuración, tendrás que seguir las instrucciones de los artículos Gestionar configuraciones de servicios y Gestionar implementaciones de servicios para enviar la configuración del servicio a la API Service Management, que configurará las definiciones de métricas y recursos monitorizados en Cloud Monitoring.

Métricas de los informes

Una vez que se haya completado el envío de la configuración del servicio, puedes llamar a la API Service Control para registrar métricas. En el siguiente ejemplo se usa el comando gcurl para mostrar la llamada. Para obtener información sobre cómo configurarlo, consulta la sección Primeros pasos con la 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