报告监控指标

本页面介绍如何使用 Service Infrastructure 启用托管式服务,以生成要发送到服务提供方项目和服务使用方项目的监控数据。通过 Monitoring,您可以了解各项托管服务的性能、正常运行时间和整体运行状况。

Service Control API 接受相关指标,然后进行批量处理并转发到 Cloud Monitoring。Monitoring 会提取这些指标,并通过信息中心、图表和提醒生成数据分析。

Monitoring 单独可允许托管服务生成监控数据,以供作为托管服务开发者的您使用,而 Service Control API 亦允许您生成供用户使用的监控数据。这使您的用户可以了解和诊断托管服务的使用情况。

请注意,本指南用于监控托管式服务定义的指标。Monitoring 自定义指标无法通过 Service Control API 进行报告。要报告自定义指标,您需要遵循 Monitoring 指南

配置 Monitoring

将监控数据发送到 Service Control API 之前,您需要在服务配置中指定三种不同的信息:

  • 受监控的资源受监控的资源表示生成一些监控数据的云实体。要在服务配置中定义受监控的资源,请参阅 monitored_resource.proto 了解相关技术规范。我们强烈建议您对 Monitoring 和 Logging 使用同一受监控的资源。

  • 指标:您可以报告一个或多个指标。每个指标代表一种状态,其值会被一直跟踪。如需了解定义指标的技术规范,请参阅 metric.proto

  • Monitoring 配置:让您可以指定与各个受监控的资源相关的指标以及每个指标应发送到的服务提供方或服务使用方项目。如需了解详情,请参阅 monitoring.proto

以下服务配置示例定义了受监控的资源和指标。

# 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

创建此类配置后,您需要按照管理服务配置管理服务发布中的说明将服务配置推送到 Service Management API,从而配置 Cloud Monitoring 中的受监控的资源和指标定义。

报表指标

在服务配置推送完成后,您可以调用 Service Control API 来报告指标。以下示例使用 gcurl 命令演示该调用。如需了解如何进行这项设置,请参阅 Service Control API 使用入门

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