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 Control de servicios 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.

Nota: Esta guía es para supervisar las métricas definidas por servicios administrados. Las métricas personalizadas de Monitoring no se pueden informar mediante la API de Control de servicios. Para informar métricas personalizadas, sigue la guía de Monitoring.

Configura la supervisión

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

  • Recursos supervisados: Un recurso supervisado representa una entidad de nube que productora de datos de supervisión. Si deseas definir un recurso supervisado en la configuración del servicio, consulta monitored_resource.proto para obtener 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 a fin de ver la especificación técnica para definir una métrica.

  • Configuración de la supervisión: Te permite especificar las métricas asociadas con los recursos supervisados 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 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 Administración de servicios 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 del servicio, puedes llamar a la API de Control de servicios 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 Control de servicios.

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