本页面介绍如何使用 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