Metrik Pemantauan Pelaporan

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