모니터링 측정항목 보고

이 페이지에서는 Service Infrastructure를 사용하여 관리형 서비스서비스 제작자서비스 소비자 프로젝트에 보낼 모니터링 데이터를 생성하도록 하는 방법을 설명합니다. Monitoring은 개별 관리형 서비스의 성능, 업타임, 전반적인 상태에 관한 정보를 제공합니다.

Service Control API는 측정 항목을 수락하여 일괄 처리하고 Cloud Monitoring으로 전달합니다. Monitoring은 이러한 측정항목을 내부 데이터화하고 대시보드, 차트, 알림을 통해 유용한 정보를 제공합니다.

Monitoring만으로도 관리형 서비스는 관리형 서비스의 개발자가 사용할 모니터링 데이터를 생성할 수 있지만, Service Control API에서는 사용자까지도 사용할 수 있는 모니터링 데이터를 생성할 수 있습니다. 그러면 사용자들이 자신이 관리형 서비스를 어떻게 사용하고 있는지를 이해하고 진단할 수 있습니다.

이 가이드는 관리형 서비스에 의해 정의된 측정항목을 모니터링하기 위한 것입니다. Service Control API를 통해 모니터링 커스텀 측정항목을 보고할 수 없습니다. 커스텀 측정항목을 보고하려면 Monitoring 가이드를 따라야 합니다.

모니터링 구성

Service Control API에 모니터링 데이터를 보내기 전에 서비스 구성에서 세 가지 정보를 지정해야 합니다.

  • 모니터링 리소스: 모니터링 리소스는 일부 모니터링 데이터를 생산하는 클라우드 항목을 나타냅니다. 서비스 구성에서 모니터링 리소스를 정의하려면 기술 사양에서 monitored_resource.proto를 참조하세요. 모니터링과 로깅 모두에 동일한 모니터링 리소스를 사용하는 것이 좋습니다.

  • 측정항목: 하나 이상의 측정항목을 보고할 수 있습니다. 각 측정항목은 일정 기간 동안 추적되는 상태 값입니다. 측정항목을 정의하는 기술 사양은 metric.proto를 참조하세요.

  • 모니터링 구성: 개별 모니터링 리소스와 연관된 측정항목 그리고 각 측정항목을 받아야 하는 서비스 프로듀서 또는 서비스 소비자 프로젝트를 지정할 수 있습니다. 자세한 내용은 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