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