Melaporkan Metrik Pemantauan

Halaman ini menjelaskan cara menggunakan Infrastruktur Layanan untuk mengaktifkan layanan terkelola guna menghasilkan data pemantauan yang akan dikirim ke project produsen layanan dan konsumen layanan. Pemantauan memberikan visibilitas pada performa, waktu beroperasi, dan respons keseluruhan untuk setiap layanan terkelola.

Service Control API menerima metrik, yang dikelompokkan dan diteruskan ke Cloud Monitoring. Pemantauan menyerap metrik ini dan menghasilkan insight melalui dasbor, diagram, dan pemberitahuan.

Meskipun Monitoring saja memungkinkan layanan terkelola menghasilkan data pemantauan untuk digunakan oleh Anda sebagai developer layanan terkelola, Service Control API juga memungkinkan Anda menghasilkan data pemantauan yang diperuntukkan bagi pengguna. Hal ini memungkinkan pengguna memahami dan mendiagnosis penggunaan layanan terkelola Anda.

Perhatikan bahwa panduan ini ditujukan untuk memantau metrik yang ditentukan oleh layanan terkelola. Metrik Kustom Monitoring tidak dapat dilaporkan melalui Service Control API. Untuk melaporkan Metrik Kustom, Anda harus mengikuti panduan Monitoring.

Mengonfigurasi pemantauan

Sebelum mengirim data pemantauan ke Service Control API, Anda harus menentukan tiga bit informasi yang berbeda dalam konfigurasi layanan:

  • Resource yang dimonitor: Resource yang dimonitor mewakili entitas cloud yang menghasilkan beberapa data pemantauan. Untuk menentukan resource yang dipantau dalam konfigurasi layanan, lihat monitored_resource.proto untuk mengetahui spesifikasi teknisnya. Sebaiknya gunakan resource yang dipantau yang sama untuk pemantauan dan logging.

  • Metrik: Anda dapat melaporkan satu atau beberapa metrik. Setiap metrik mewakili satu bagian status yang nilainya dilacak dari waktu ke waktu. Lihat metric.proto untuk mengetahui spesifikasi teknis guna menentukan metrik.

  • Konfigurasi pemantauan: Memungkinkan Anda menentukan metrik yang terkait dengan setiap resource yang dipantau dan project produsen layanan atau konsumen layanan tempat setiap metrik harus dikirim. Lihat monitoring.proto untuk mengetahui detailnya.

Contoh konfigurasi layanan berikut menentukan resource dan metrik yang dipantau.

# 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

Setelah menulis konfigurasi tersebut, Anda harus mengikuti artikel Mengelola Konfigurasi Layanan dan Mengelola Peluncuran Layanan untuk mendorong konfigurasi layanan ke Service Management API, yang akan mengonfigurasi definisi metrik dan resource yang dipantau di Cloud Monitoring.

Metrik pelaporan

Setelah push konfigurasi layanan selesai, Anda dapat memanggil Service Control API untuk melaporkan metrik. Contoh berikut menggunakan perintah gcurl untuk menunjukkan panggilan. Untuk informasi tentang cara menyiapkannya, lihat Memulai 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