Melihat log yang dirutekan ke Pub/Sub

Dokumen ini menjelaskan cara menemukan entri log yang Anda rutekan dari Cloud Logging ke topik Pub/Sub, yang terjadi hampir secara real time. Sebaiknya gunakan Pub/Sub untuk mengintegrasikan log Cloud Logging dengan software pihak ketiga.

Saat Anda merutekan entri log ke topik Pub/Sub, Logging akan memublikasikan setiap entri log sebagai pesan Pub/Sub segera setelah Logging menerima entri log tersebut. Entri log yang dirutekan umumnya tersedia dalam hitungan detik setelah tiba di Logging, dengan 99% entri log tersedia dalam waktu kurang dari 60 detik.

Sebelum memulai

Untuk diskusi konseptual tentang sink, lihat Ringkasan model perutean dan penyimpanan: Sink.

Untuk mengetahui petunjuk tentang cara merutekan entri log, lihat Merutekan log ke tujuan yang didukung.

Lihat log

Untuk melihat log saat di-streaming melalui Pub/Sub, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Topics:

    Buka Topics

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Pub/Sub.

  2. Temukan atau buat langganan ke topik yang digunakan di sink log, dan tarik entri log darinya. Anda mungkin harus menunggu entri log baru dipublikasikan.

Pengaturan log

Kolom data dari setiap pesan adalah objek LogEntry berenkode base64. Misalnya, pelanggan Pub/Sub dapat mengambil objek berikut dari topik yang menerima entri log. Objek yang ditampilkan berisi daftar dengan satu pesan, meskipun Pub/Sub mungkin menampilkan beberapa pesan jika beberapa entri log tersedia. Nilai data (sekitar 600 karakter) dan nilai ackId (sekitar 200 karakter) telah dipersingkat agar contoh lebih mudah dibaca:

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

Jika mendekode kolom data dan memformatnya, Anda akan mendapatkan objek LogEntry berikut:

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

Integrasi pihak ketiga dengan Pub/Sub

Anda merutekan entri log ke topik Pub/Sub. Pihak ketiga menerima entri log Anda dengan berlangganan topik yang sama. Logging mendukung integrasi logging dengan pihak ketiga, seperti Splunk atau Datadog. Untuk mengetahui daftar integrasi saat ini, lihat Partner untuk integrasi Google Cloud Observability.

Untuk melakukan integrasi, Anda harus melakukan hal seperti berikut:

  1. Di project tempat entri log berasal, buat topik Pub/Sub dengan langganan default:

    1. Aktifkan Pub/Sub API.

      Enable the API

    2. Di konsol Google Cloud, buka halaman Topics:

      Buka Topics

      Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Pub/Sub.

    3. Klik Create topic.

    4. Di kolom ID Topik, masukkan ID untuk topik Anda. Contoh, projects/my-project-id/topics/my-pubsub-topic.

      Setiap pesan yang dikirim ke topik menyertakan stempel waktu entri log yang dirutekan dalam attributes pesan Pub/Sub; misalnya:

      "attributes": {
        "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z"
      }
      
    5. Pertahankan opsi Tambahkan langganan default. Jangan pilih opsi lain.

    6. Klik Create topic.

  2. Di project tempat entri log berasal, konfigurasikan logging untuk merutekan entri log ke topik Anda:

    1. Di konsol Google Cloud, buka halaman Log Router:

      Buka Router Log

      Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

    2. Klik Create Sink, masukkan nama dan deskripsi untuk sink, lalu klik Next.
    3. Di menu Sink Service, pilih Cloud Pub/Sub topic, pilih topik Pub/Sub, lalu klik Next.
    4. Pilih entri log yang akan disertakan dalam sink, lalu klik Berikutnya.
    5. Opsional: Pilih entri log yang akan dikecualikan.
    6. Klik Create Sink.

      Dialog dengan pesan Sink created akan muncul. Pesan ini menunjukkan bahwa sink Anda berhasil dibuat dengan izin untuk merutekan entri log yang cocok di masa mendatang ke tujuan yang Anda pilih.

    7. Berikan peran Pub/Sub Publisher (roles/pubsub.publisher) ke identitas penulis sink. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan identitas penulis dan memberikan peran, lihat Menetapkan izin tujuan.

    Cloud Logging kini mengirimkan entri log ke topik Pub/Sub Anda.

  3. Buat langganan.

    Misalnya, jika Anda menggunakan Dataflow untuk menarik data dari topik Pub/Sub dan mengirimkannya ke Datadog, Anda perlu melakukan dua langkah:

    1. Buat, atau dapatkan, akun layanan, lalu berikan peran IAM yang diperlukan untuk berlangganan topik Anda. Setidaknya, akun layanan memerlukan peran berikut:

      Untuk informasi selengkapnya, baca dokumen berikut:

    2. Buat tugas dari template, lalu jalankan tugas tersebut. Untuk contoh ini, Anda akan menggunakan template Pub/Sub ke Datadog.

Pihak ketiga Anda akan segera mulai menerima entri log.

Untuk eksplorasi skenario pemilihan rute log umum menggunakan Pub/Sub, lihat Skenario untuk mengekspor data Cloud Logging: Splunk.

Pemecahan masalah

Jika entri log tampaknya tidak ada di tujuan sink atau Anda mencurigai bahwa sink tidak merutekan entri log dengan benar, lihat Memecahkan masalah log pemilihan rute.

Harga

Cloud Logging tidak mengenakan biaya untuk merutekan log ke tujuan yang didukung; tetapi, tujuan tersebut mungkin mengenakan biaya. Dengan pengecualian bucket log _Required, Cloud Logging mengenakan biaya untuk melakukan streaming log ke bucket log dan untuk penyimpanan yang lebih lama dari periode retensi data default bucket log.

Cloud Logging tidak mengenakan biaya untuk menyalin log, menentukan cakupan log, atau untuk kueri yang dikeluarkan melalui halaman Logs Explorer atau Log Analytics.

Untuk informasi selengkapnya, baca dokumen berikut: