Log Pelaporan

Halaman ini menjelaskan cara menggunakan Infrastruktur Layanan untuk memungkinkan layanan terkelola mengirim log ke project produsen layanan dan konsumen layanan.

Service Control API menerima data log terstruktur atau tidak terstruktur, yang dikelompokkan dan diteruskan ke Cloud Logging. Anda dan pengguna layanan terkelola dapat menggunakan Google Cloud Console dan Konsol API Google untuk melihat data log, atau menggunakan Cloud Logging API untuk mengakses data secara terprogram.

Jika Logging saja memungkinkan layanan terkelola untuk menghasilkan log untuk digunakan oleh Anda sebagai developer layanan terkelola, Service Control API juga memungkinkan Anda membuat log yang ditujukan untuk pengguna Anda. Hal ini memungkinkan pengguna Anda memahami dan mendiagnosis penggunaan mereka atas layanan terkelola Anda.

Mengonfigurasi log

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

  • Nama log: Anda dapat memiliki satu atau beberapa log yang berbeda. Setiap log diidentifikasi dengan nama yang unik. Log individual memungkinkan Anda mengisolasi jenis data yang berbeda jika itu membuat data lebih mudah divisualisasikan atau digunakan.

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

  • Konfigurasi log: Memungkinkan Anda menentukan resource yang dimonitor yang terkait dengan aliran log apa pun dan produsen layanan atau project konsumen layanan tempat setiap log harus dikirim. Untuk mengonfigurasi pengaitan log, lihat logging.proto untuk mengetahui spesifikasi teknis.

Pada contoh konfigurasi layanan berikut, log activity_log dikonfigurasi untuk dikirim ke konsumen layanan.

# 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 log name to be used.
logs:
- name: activity_log

# The logging configuration.
logging:
  consumer_destinations:
  - monitored_resource: library.appspot.com/Branch
    logs:
    - activity_log

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 resource yang dipantau di Cloud Logging.

Log pelaporan

Setelah push konfigurasi layanan selesai, Anda dapat memanggil Service Control API untuk melaporkan entri log. Contoh berikut menggunakan perintah gcurl untuk mendemonstrasikan panggilan. Untuk mempelajari cara menyiapkannya, lihat Mulai Menggunakan Service Control API.

gcurl -d "{
  'operations': [ {
    'operationId': 'e8bf36ef-f9b5-4274-b4f9-079a3731e6e5',
    'operationName': 'New book arrived',
    'consumerId': 'projects/library-consumer',
    'startTime': '`date +%FT%T%:z`',
    'endTime': '`date +%FT%T%:z`',
    'labels': {
      'location': 'us-east1',
      'branch_id': 'my-test-library-branch'
    },
    'logEntries': [ {
      'severity': 'INFO',
      'textPayload': 'new book arrived',
      'name': 'activity_log'
    } ]
  } ]
}" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report