Informar métricas de supervisión

En esta página, se describe cómo usar Service Infrastructure para habilitar servicios administrados a fin de generar datos de supervisión para enviar a los proyectos del productor de servicios y del consumidor de servicios. Monitoring proporciona visibilidad del rendimiento, el tiempo de actividad y el estado general de los servicios administrados individuales.

La API de Service Control acepta métricas, que las procesa en lotes y reenvía a Cloud Monitoring. Monitoring transfiere estas métricas y genera estadísticas mediante paneles, gráficos y alertas.

Mientras que Monitoring por sí solo permite que un servicio administrado genere datos de supervisión para que los utilices como desarrollador del servicio administrado, la API de Control de Servicios también te permite generar datos de supervisión que están destinados a tus usuarios. Esto permite que los usuarios entiendan y diagnostiquen el uso de tu servicio administrado.

Ten en cuenta que esta guía está destinada para supervisar las métricas que definen los servicios administrados. Las métricas personalizadas de Monitoring no se pueden informar a través de la API de Service Control. Para informar métricas personalizadas, debes seguir la guía de Monitoring.

Configura la supervisión

Antes de enviar datos de supervisión a la API de Service Control, debes especificar tres bits diferentes de información en la configuración de servicio:

  • Recursos supervisados: Un recurso supervisado representa una entidad de la nube que produce algunos datos de supervisión. Para definir un recurso supervisado en la configuración del servicio, consulta monitored_resource.proto para ver la especificación técnica. Te recomendamos que uses el mismo recurso supervisado para la supervisión y el registro.

  • Métricas: Puedes enviar una o más métricas. Cada métrica representa un fragmento de estado cuyo valor se rastrea en el tiempo. Consulta metric.proto para ver la especificación técnica de definir una métrica.

  • Configuración de la supervisión: Te permite especificar las métricas asociadas con los recursos supervisores individuales y el proyecto del productor de servicios o el consumidor de servicios donde se debe enviar cada métrica. Consulta monitoring.proto para obtener más información.

En el siguiente ejemplo del estado de configuración de servicio se define un recurso supervisado 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 esa configuración, deberás seguir las instrucciones sobre cómo administrar configuraciones de servicio y administrar lanzamientos de servicios para enviar la configuración del servicio a la API de Service Management que configurará las definiciones de métricas y recursos supervisados en Cloud Monitoring.

Informa las métricas

Una vez que finaliza el envío de la configuración de servicio, puedes llamar a la API de Service Control para informar las métricas. El siguiente ejemplo utiliza el comando de gcurl para demostrar la llamada. Para obtener información sobre cómo realizar la configuración, consulta Comienza a usar la API de 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