Halaman ini menjelaskan cara menggunakan Infrastruktur Layanan untuk memungkinkan layanan terkelola menghasilkan data pemantauan yang akan dikirim ke project produsen layanan dan konsumen layanan. Monitoring memberikan visibilitas pada performa, waktu beroperasi, dan kondisi keseluruhan layanan terkelola dari setiap layanan.
Service Control API menerima metrik, yang dikelompokkan dan diteruskan ke Cloud Monitoring. Monitoring menyerap metrik ini dan menghasilkan insight melalui dasbor, diagram, dan pemberitahuan.
Jika Monitoring sendiri memungkinkan layanan terkelola membuat data pemantauan untuk digunakan oleh Anda sebagai developer layanan terkelola, Service Control API juga dapat digunakan untuk menghasilkan data pemantauan yang ditujukan bagi pengguna. Hal ini memungkinkan pengguna Anda 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 berbeda dalam konfigurasi layanan:
Resource yang dimonitor: Resource yang dimonitor mewakili entity cloud yang menghasilkan beberapa data pemantauan. Untuk menentukan resource yang dimonitor dalam konfigurasi layanan, lihat monitored_resource.proto untuk mengetahui spesifikasi teknis. Sebaiknya gunakan resource yang dimonitor 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 dalam menentukan metrik.
Monitoring configuration: Memungkinkan Anda menentukan metrik yang terkait dengan setiap resource yang dipantau dan produsen layanan atau project konsumen layanan tempat setiap metrik harus dikirim. Lihat monitoring.proto untuk mengetahui detailnya.
Contoh konfigurasi layanan berikut mendefinisikan resource dan metrik yang dimonitor.
# 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 Mengelola Konfigurasi Layanan dan Mengelola Peluncuran Layanan untuk mengirim konfigurasi layanan ke Service Management API, yang akan mengonfigurasi definisi metrik dan resource yang dimonitor 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 mendemonstrasikan panggilan. Untuk mengetahui informasi tentang cara menyiapkannya, lihat Mulai Menggunakan 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