Merutekan log ke tujuan yang didukung

Dokumen ini menjelaskan cara membuat dan mengelola sink log, yang merutekan entri log yang berasal dari project ke tujuan yang didukung. Google Cloud

Sink melakukan tindakan tulis dan oleh karena itu, sink harus diizinkan untuk menulis ke tujuan. Jika tujuannya adalah bucket log dalam project yang sama dengan sink, sink akan otomatis diizinkan. Untuk semua tujuan lainnya, sink harus dilampirkan ke akun layanan yang telah diberi izin yang diperlukan untuk menulis data ke tujuan.

Jika akun layanan diperlukan, Cloud Logging akan otomatis membuat dan mengelolanya. Namun, Anda mungkin perlu mengubah izin yang diberikan ke akun layanan. Anda tidak harus menggunakan akun layanan yang dibuat oleh Logging. Anda dapat membuat dan mengelola akun layanan yang digunakan oleh sink di beberapa project. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi sink log dengan akun layanan yang dikelola pengguna.

Ringkasan

Halaman ini menjelaskan cara membuat sink dan cara mengonfigurasi opsi yang mungkin Anda lihat saat menggunakan konsol Google Cloud atau API.

Sink termasuk dalam Google Cloud resource tertentu: Google Cloud project, akun penagihan, folder, atau organisasi. Saat resource menerima entri log, setiap sink di resource tersebut akan memproses entri log. Jika entri log cocok dengan filter sink, entri log tersebut akan dirutekan ke tujuan sink.

Biasanya, tujuan hanya merutekan entri log yang berasal dari suatu resource. Namun, untuk folder dan organisasi, Anda dapat membuat sink gabungan, yang merutekan entri log dari folder atau organisasi, dan resource yang ada di dalamnya. Dokumen ini tidak membahas sink gabungan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan sink gabungan.

Untuk membuat dan mengelola sink, Anda dapat menggunakan Google Cloud konsol, Cloud Logging API, dan Google Cloud CLI. Sebaiknya gunakan konsol Google Cloud :

  • Halaman Logs Router mencantumkan semua tujuan dan menyediakan opsi untuk mengelola tujuan Anda.
  • Saat membuat sink, Anda dapat melihat pratinjau entri log mana yang cocok dengan filter sink.
  • Anda dapat mengonfigurasi tujuan sink saat membuat sink.
  • Beberapa langkah otorisasi telah diselesaikan untuk Anda.

Tujuan yang didukung

Tujuan sink dapat berada di resource yang berbeda dengan sink. Misalnya, Anda dapat menggunakan sink log untuk merutekan entri log dari satu project ke bucket log yang disimpan di project lain.

Tujuan berikut didukung:

Google Cloud project

Pilih tujuan ini jika Anda ingin sink log di project tujuan merutekan ulang entri log Anda, atau jika Anda telah membuat sink gabungan yang mencegat. Sink log di project yang menjadi tujuan sink dapat mengalihkan entri log ke tujuan yang didukung kecuali project.

Bucket log
Pilih tujuan ini jika Anda ingin menyimpan data log di resource yang dikelola oleh Cloud Logging. Data log yang disimpan di bucket log dapat dilihat dan dianalisis menggunakan layanan seperti Logs Explorer.
Set data BigQuery
Pilih tujuan ini jika Anda ingin menggabungkan data log dengan data bisnis lainnya. Set data yang Anda tentukan harus diaktifkan untuk penulisan. Jangan menetapkan tujuan sink ke set data BigQuery yang ditautkan. Set data tertaut bersifat hanya baca.
Bucket Cloud Storage
Pilih tujuan ini jika Anda menginginkan penyimpanan jangka panjang untuk data log Anda. Bucket Cloud Storage dapat berada dalam project yang sama dengan tempat asal entri log, atau dalam project yang berbeda. Entri log disimpan sebagai file JSON.
Topik Pub/Sub
Pilih tujuan ini jika Anda ingin mengekspor data log dari Google Cloud , lalu menggunakan integrasi pihak ketiga seperti Splunk atau Datadog. Entri log diformat ke dalam JSON, lalu dirutekan ke topik Pub/Sub.

Batasan tujuan

Bagian ini menjelaskan batasan khusus tujuan:

  • Jika Anda mengarahkan entri log ke bucket log di project yang berbeda, Error Reporting tidak akan menganalisis entri log tersebut. Google Cloud Untuk mengetahui informasi selengkapnya, lihat Ringkasan Error Reporting.
  • Jika Anda mengarahkan entri log ke set data BigQuery, set data BigQuery harus diaktifkan untuk penulisan. Anda tidak dapat merutekan entri log ke set data tertaut, yang bersifat hanya baca.
  • Sink baru yang merutekan data log ke bucket Cloud Storage mungkin memerlukan waktu beberapa jam untuk mulai merutekan entri log. Sinkronisasi ini diproses setiap jam.
  • Batasan berikut berlaku saat tujuan sink log adalah project Google Cloud :

    • Ada batas satu lompatan.
    • Entri log yang cocok dengan filter sink log _Required hanya dirutekan ke bucket log _Required project tujuan jika berasal dari project tujuan.
    • Hanya sink gabungan yang berada dalam hierarki resource entri log yang memproses entri log.

    Misalnya, asumsikan tujuan sink log di project A adalah project B. Kemudian, hal berikut berlaku:

    • Karena batas satu hop, sink log di project B tidak dapat mengalihkan entri log ke project Google Cloud .
    • Bucket log _Required project B hanya menyimpan entri log yang berasal dari project B. Bucket log ini tidak menyimpan entri log apa pun yang berasal dari resource lain, termasuk yang berasal dari project A.
    • Jika hierarki resource project A dan project B berbeda, maka entri log yang dirutekan sink log di project A ke project B tidak dikirim ke sink gabungan dalam hierarki resource project B.
    • Jika project A dan project B memiliki hierarki resource yang sama, entri log akan dikirim ke sink gabungan dalam hierarki tersebut. Jika entri log tidak dicegat oleh sink gabungan, Log Router akan mengirimkan entri log ke sink di project A.

Sebelum memulai

Petunjuk dalam dokumen ini menjelaskan cara membuat dan mengelola sink di Google Cloud level project. Anda dapat menggunakan prosedur yang sama untuk membuat sink yang merutekan entri log yang berasal dari organisasi, folder, atau akun penagihan.

Untuk memulai, lakukan hal berikut:

  1. Enable the Cloud Logging API.

    Enable the API

  2. Pastikan project Anda berisi entri log yang dapat Anda lihat di Logs Explorer. Google Cloud

  3. Untuk mendapatkan izin yang diperlukan untuk membuat, mengubah, atau menghapus sink, minta administrator Anda untuk memberi Anda peran IAM Logs Configuration Writer (roles/logging.configWriter) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

    Untuk mengetahui informasi tentang cara memberikan peran IAM, lihat Panduan kontrol akses Logging.

  4. Anda memiliki resource di tujuan yang didukung atau dapat membuatnya.

    Untuk merutekan entri log ke tujuan, tujuan harus ada sebelum Anda membuat sink. Anda dapat membuat tujuan di Google Cloud project mana pun di organisasi mana pun.

  5. Sebelum membuat sink, tinjau batasan yang berlaku untuk tujuan sink. Untuk mengetahui informasi selengkapnya, lihat bagian Batasan tujuan dalam dokumen ini.

  6. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

      REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

      Membuat sink

      Bagian ini menjelaskan cara membuat sink di project Google Cloud . Anda dapat membuat hingga 200 sink per project. Google Cloud Untuk melihat jumlah dan volume entri log yang dirutekan, lihat metrik logging.googleapis.com/exports/.

      Anda menggunakan Bahasa kueri logging untuk membuat ekspresi filter yang cocok dengan entri log yang ingin Anda sertakan. Jangan menempatkan informasi sensitif dalam filter sink. Filter sink dianggap sebagai data layanan.

      Jika kueri berisi beberapa pernyataan, Anda dapat menentukan cara penggabungan pernyataan tersebut atau mengandalkan Cloud Logging yang secara implisit menambahkan batasan konjungtif, AND, di antara pernyataan. Misalnya, anggaplah dialog kueri atau filter berisi dua pernyataan, resource.type = "gce_instance" dan severity >= "ERROR". Kueri sebenarnya adalah resource.type = "gce_instance" AND severity >= "ERROR". Cloud Logging mendukung batasan disjungtif, OR, dan batasan konjungtif, AND. Saat menggunakan pernyataan OR, sebaiknya Anda mengelompokkan klausa dengan tanda kurung.

      Untuk membuat sink, lakukan hal berikut:

      Konsol

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

        Buka Log Router

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

      2. Pilih Google Cloud project tempat asal entri log yang ingin Anda rutekan.

        Misalnya, jika Anda ingin merutekan entri log Akses Data dari project bernama Project-A ke bucket log di project bernama Project-B, pilih Project-A.

      3. Pilih Buat sink.

      4. Di panel Sink details, masukkan detail berikut:

        • Nama sink: Berikan ID untuk sink; perhatikan bahwa setelah Anda membuat sink, Anda tidak dapat mengganti nama sink, tetapi Anda dapat menghapusnya dan membuat sink baru.

        • Deskripsi sink (opsional): Jelaskan tujuan atau kasus penggunaan sink.

      5. Di panel Sink destination, pilih layanan dan tujuan sink dengan menggunakan menu Select sink service. Lakukan salah satu hal berikut:

        • Untuk merutekan entri log ke layanan yang berada dalam project Google Cloud yang sama, pilih salah satu opsi berikut:

          • Set data BigQuery: Pilih atau buat set data yang dapat ditulis untuk menerima entri log yang dirutekan. Anda juga memiliki opsi untuk menggunakan tabel berpartisi.
          • Bucket Cloud Storage: Pilih atau buat bucket Cloud Storage tertentu untuk menerima entri log yang dirutekan.
          • Topik Pub/Sub: Pilih atau buat topik tertentu untuk menerima entri log yang dirutekan.
          • Splunk: Pilih topik Pub/Sub untuk layanan Splunk Anda.
        • Untuk merutekan entri log ke project Google Cloud lain, pilih Google Cloud project, lalu masukkan nama lengkap untuk tujuan:

          logging.googleapis.com/projects/DESTINATION_PROJECT_ID
          
        • Untuk merutekan entri log ke layanan yang berada diGoogle Cloud project lain, lakukan hal berikut:

          1. Pilih Resource lain.
          2. Masukkan nama yang sepenuhnya memenuhi syarat untuk tujuan. Untuk informasi tentang sintaksis, lihat Format jalur tujuan.
      6. Tentukan entri log yang akan disertakan:

        1. Buka panel Pilih log untuk disertakan dalam sink.

        2. Di kolom Buat filter penyertaan, masukkan ekspresi filter yang cocok dengan entri log yang ingin Anda sertakan. Untuk mempelajari lebih lanjut sintaksis untuk menulis filter, lihat Bahasa kueri logging.

          Jika Anda tidak menyetel filter, semua entri log dari resource yang dipilih akan dirutekan ke tujuan.

          Misalnya, untuk merutekan semua entri log Akses Data ke bucket Logging, Anda dapat menggunakan filter berikut:

          log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
          

          Panjang filter tidak boleh melebihi 20.000 karakter.

        3. Untuk memverifikasi bahwa Anda memasukkan filter yang benar, pilih Pratinjau log. Logs Explorer akan terbuka di tab baru dengan filter yang telah diisi sebelumnya.

      7. (Opsional) Konfigurasi filter pengecualian untuk menghilangkan beberapa entri log yang disertakan:

        1. Buka panel Choose logs to filter out of sink.

        2. Di kolom Nama filter pengecualian, masukkan nama.

        3. Di kolom Buat filter pengecualian, masukkan ekspresi filter yang cocok dengan entri log yang ingin Anda kecualikan. Anda juga dapat menggunakan fungsi sample untuk memilih sebagian entri log yang akan dikecualikan.

        Anda dapat membuat hingga 50 filter pengecualian per tujuan. Perhatikan bahwa panjang filter tidak boleh melebihi 20.000 karakter.

      8. Pilih Buat sink.

      9. Beri akun layanan untuk sink izin untuk menulis entri log ke tujuan sink Anda. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan.

      gcloud

      Untuk membuat sink, lakukan hal berikut:

      1. Jalankan perintah gcloud logging sinks create berikut:

        gcloud logging sinks create SINK_NAME SINK_DESTINATION
        

        Sebelum menjalankan perintah, lakukan penggantian berikut:

        • SINK_NAME: Nama sink log. Anda tidak dapat mengubah nama sink setelah membuatnya.
        • SINK_DESTINATION: Layanan atau project tempat Anda ingin merutekan entri log. Tetapkan SINK_DESTINATION dengan jalur yang sesuai, seperti yang dijelaskan dalam Format jalur tujuan.

          Misalnya, jika tujuan sink Anda adalah topik Pub/Sub, maka SINK_DESTINATION akan terlihat seperti berikut:

          pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
          

        Anda juga dapat memberikan opsi berikut:

        • --log-filter : Gunakan opsi ini untuk menetapkan filter yang cocok dengan entri log yang ingin Anda sertakan dalam sink. Jika Anda tidak memberikan nilai untuk filter inklusi, filter ini akan cocok dengan semua entri log.
        • --exclusion: Gunakan opsi ini untuk menetapkan filter pengecualian bagi entri log yang ingin Anda kecualikan dari perutean sink. Anda juga dapat menggunakan fungsi sample untuk memilih sebagian entri log yang akan dikecualikan. Opsi ini dapat diulang; Anda dapat membuat hingga 50 filter pengecualian per tujuan.
        • --description: Gunakan opsi ini untuk mendeskripsikan tujuan atau kasus penggunaan untuk sink.

        Misalnya, untuk membuat sink ke bucket Logging, perintah Anda mungkin terlihat seperti ini:

        gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
         --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
        

        Untuk mengetahui informasi selengkapnya tentang cara membuat sink menggunakan Google Cloud CLI, lihat referensi gcloud logging sinks.

      2. Jika respons perintah berisi kunci JSON berlabel "writerIdentity", berikan izin akun layanan sink untuk menulis ke tujuan sink. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan.

        Anda tidak perlu menyetel izin tujuan jika respons tidak berisi kunci JSON berlabel "writerIdentity".

      REST

      1. Untuk membuat sink log di Google Cloud project, gunakan projects.sinks.create di Logging API. Dalam objek LogSink, berikan nilai yang diperlukan yang sesuai dalam isi permintaan metode:

        • name: ID untuk sink. Perhatikan bahwa setelah membuat sink, Anda tidak dapat mengganti nama sink, tetapi Anda dapat menghapusnya dan membuat sink baru.
        • destination: Layanan dan tujuan tempat Anda ingin merutekan entri log. Untuk merutekan entri log ke project lain, atau ke tujuan yang berada di project lain, tetapkan kolom destination dengan jalur yang sesuai, seperti yang dijelaskan dalam Format jalur tujuan.

          Misalnya, jika tujuan sink Anda adalah topik Pub/Sub, maka destination akan terlihat seperti berikut:

          pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
          
      2. Di objek LogSink, berikan informasi opsional yang sesuai:

        • filter : Tetapkan kolom filter agar cocok dengan entri log yang ingin Anda sertakan dalam sink. Jika Anda tidak menyetel filter, semua entri log dari projectGoogle Cloud akan dirutekan ke tujuan. Perhatikan bahwa panjang filter tidak boleh melebihi 20.000 karakter.
        • exclusions: Tetapkan kolom ini agar cocok dengan entri log yang ingin Anda kecualikan dari sink. Anda juga dapat menggunakan fungsi sample untuk memilih sebagian entri log yang akan dikecualikan. Anda dapat membuat hingga 50 filter pengecualian per tujuan.
        • description: Tetapkan kolom ini untuk mendeskripsikan tujuan atau kasus penggunaan sink.
      3. Panggil projects.sinks.create untuk membuat sink.

      4. Jika respons API berisi kunci JSON berlabel "writerIdentity", berikan izin kepada akun layanan sink untuk menulis ke tujuan sink. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan.

        Anda tidak perlu menyetel izin tujuan jika respons API tidak berisi kunci JSON berlabel "writerIdentity".

      Untuk mengetahui informasi selengkapnya tentang cara membuat sink menggunakan Logging API, lihat referensi LogSink.

      Jika Anda menerima notifikasi error, lihat Memecahkan masalah perutean dan tujuan.

      Format jalur tujuan

      Jika merutekan entri log ke layanan yang berada di project lain, Anda harus memberikan nama yang sepenuhnya memenuhi syarat untuk layanan tersebut ke sink. Demikian pula, jika Anda merutekan entri log ke project Google Cloud lain, Anda harus memberikan nama tujuan project yang sepenuhnya memenuhi syarat ke sink:

      • Bucket log Cloud Logging:

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
        
      • Project Google Cloud lainnya:

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID
        
      • Set data BigQuery:

        bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
        
      • Cloud Storage:

        storage.googleapis.com/BUCKET_NAME
        
      • Topik Pub/Sub:

        pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
        

      Menetapkan izin tujuan

      Bagian ini menjelaskan cara memberikan izin Identity and Access Management kepada Logging untuk menulis entri log ke tujuan sink Anda. Untuk mengetahui daftar lengkap peran dan izin Logging, lihat Kontrol akses.

      Cloud Logging membuat akun layanan bersama untuk resource saat sink dibuat, kecuali jika akun layanan yang diperlukan sudah ada. Akun layanan mungkin ada karena akun layanan yang sama digunakan untuk semua sink di resource pokok. Resource dapat berupa Google Cloud project, organisasi, folder, atau akun penagihan.

      Identitas penulis sink adalah ID akun layanan yang terkait dengan sink tersebut. Semua sink memiliki identitas penulis, kecuali sink yang menulis ke bucket log dalam project yang sama dengan asal entri log. Google Cloud Untuk konfigurasi yang terakhir, akun layanan tidak diperlukan dan oleh karena itu, kolom identitas penulis sink dicantumkan sebagai None di konsol. Perintah API dan Google Cloud CLI tidak melaporkan identitas penulis.

      Petunjuk berikut berlaku untuk project, folder, organisasi, dan akun penagihan:

      Konsol

      1. Pastikan Anda memiliki akses Pemilik di projectGoogle Cloud yang berisi tujuan. Jika Anda tidak memiliki akses Pemilik ke tujuan sink, minta pemilik project untuk menambahkan identitas penulis sebagai akun utama.

      2. Untuk mendapatkan identitas penulis sink—alamat email—dari sink baru, lakukan hal berikut:

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

          Buka Log Router

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

        2. Di toolbar, pilih project yang berisi sink.
        3. Pilih Menu, lalu pilih Lihat detail sinkronisasi. Identitas penulis muncul di panel Sink details.
      3. Jika nilai kolom writerIdentity berisi alamat email, lanjutkan ke langkah berikutnya. Jika nilainya adalah None, Anda tidak perlu mengonfigurasi izin tujuan untuk sink.

      4. Salin identitas penulis sink ke papan klip Anda.

        Alamat email mengidentifikasi prinsipal. Awalan, serviceAccount:, menentukan jenis akun.

      5. Berikan izin kepada akun utama yang ditentukan dalam identitas penulis sink untuk menulis data log ke tujuan:

        1. Di Google Cloud konsol, buka halaman IAM:

          Buka IAM

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

        2. Di toolbar, pastikan project yang dipilih adalah project yang menyimpan tujuan atau merupakan tujuan sink. Misalnya, jika tujuannya adalah bucket log, pastikan toolbar menampilkan project yang menyimpan bucket log.

        3. Klik Berikan akses.

        4. Berikan peran IAM kepada akun utama yang ditentukan dalam identitas penulis sink berdasarkan tujuan sink log:

      gcloud

      1. Pastikan Anda memiliki akses Pemilik di projectGoogle Cloud yang berisi tujuan. Jika Anda tidak memiliki akses Pemilik ke tujuan sink, minta pemilik project untuk menambahkan identitas penulis sebagai akun utama.

      2. Dapatkan akun layanan dari kolom writerIdentity di sink Anda:

        gcloud logging sinks describe SINK_NAME
        
      3. Cari sink yang izinnya ingin Anda ubah, dan jika detail sink berisi baris dengan writerIdentity, lanjutkan ke langkah berikutnya. Jika detail tidak menyertakan kolom writerIdentity, Anda tidak perlu mengonfigurasi izin tujuan untuk sink.

        Identitas penulis untuk akun layanan akan terlihat mirip dengan berikut:

        serviceAccount:service-123456789012@gcp-sa-logging.
        
      4. Berikan izin kepada identitas penulis sink untuk menulis data log ke tujuan dengan memanggil perintah gcloud projects add-iam-policy-binding.

        Sebelum menggunakan perintah berikut, lakukan penggantian berikut:

        • PROJECT_ID: ID project. Tentukan project yang menyimpan tujuan sink log. Jika tujuannya adalah project, tentukan project tersebut.
        • PRINCIPAL: ID untuk akun utama yang ingin Anda berikan peran. ID utama biasanya memiliki bentuk berikut: PRINCIPAL-TYPE:ID. Misalnya, user:my-user@example.com. Untuk mengetahui daftar lengkap format yang dapat dimiliki PRINCIPAL, lihat ID utama.
        • ROLE: Peran IAM. Beri identitas penulis sink peran IAM berdasarkan tujuan sink log:

        Jalankan perintah gcloud projects add-iam-policy-binding:

        gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
        

      REST

      Sebaiknya gunakan konsol Google Cloud atau Google Cloud CLI untuk memberikan peran ke akun layanan.

      Mengelola sink

      Setelah sink dibuat, Anda dapat melakukan tindakan berikut padanya. Setiap perubahan yang dilakukan pada sink mungkin memerlukan waktu beberapa menit untuk diterapkan:

      • Lihat detail
      • Perbarui
      • Nonaktifkan

        • Anda tidak dapat menonaktifkan sink _Required.
        • Anda dapat menonaktifkan sink _Default untuk menghentikannya merutekan entri log ke bucket Logging _Default.
        • Jika Anda ingin menonaktifkan sink _Default untuk project atau folderGoogle Cloud baru yang dibuat di organisasi Anda, sebaiknya konfigurasi setelan resource default.
      • Hapus

        • Anda tidak dapat menghapus sink _Default atau _Required.
        • Saat Anda menghapus sink, sink tersebut tidak lagi merutekan entri log.
        • Jika sink memiliki akun layanan khusus, penghapusan sink tersebut juga akan menghapus akun layanan. Sink yang dibuat sebelum 22 Mei 2023 memiliki akun layanan khusus. Sink yang dibuat pada atau setelah 22 Mei 2023 memiliki akun layanan bersama. Menghapus sink tidak akan menghapus akun layanan bersama.
      • Memecahkan masalah kegagalan

      • Melihat volume log dan tingkat error

      Berikut adalah petunjuk untuk mengelola sink di Google Cloud project. Daripada Google Cloud project, Anda dapat menentukan akun penagihan, folder, atau organisasi:

      Konsol

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

        Buka Log Router

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

      2. Di toolbar, pilih resource yang berisi sink Anda. Aset dapat berupa project, folder, organisasi, atau akun penagihan.

      Halaman Log Router menampilkan sink di resource yang dipilih. Setiap baris tabel berisi informasi tentang properti sink:

      • Diaktifkan: Menunjukkan apakah status sink diaktifkan atau dinonaktifkan.
      • Type: Layanan tujuan sink; misalnya, Cloud Logging bucket.
      • Nama: ID sink, seperti yang diberikan saat sink dibuat; misalnya _Default.
      • Deskripsi: Deskripsi sink, sebagaimana diberikan saat sink dibuat.
      • Tujuan: Nama lengkap tujuan tempat entri log yang dirutekan dikirim.
      • Dibuat: Tanggal dan waktu saat sink dibuat.
      • Terakhir diperbarui: Tanggal dan waktu saat sink terakhir diedit.
      • Volume: Melaporkan total volume log yang dirutekan ke sink log. Nilai ini mencakup volume yang dirutekan ke bucket log, project, atau tujuan lain.

      Untuk setiap baris tabel, menu Tindakan lainnya memberikan opsi berikut:

      • Lihat detail sink: Menampilkan nama, deskripsi, layanan tujuan, tujuan, serta filter penyertaan dan pengecualian sink. Memilih Edit akan membuka panel Edit Sinkronisasi.
      • Edit sink: Membuka panel Edit Sink tempat Anda dapat memperbarui parameter sink.
      • Nonaktifkan sink: Memungkinkan Anda menonaktifkan sink dan menghentikan perutean entri log ke tujuan sink. Untuk mengetahui informasi selengkapnya tentang menonaktifkan sink, lihat artikel Berhenti menyimpan log di bucket log.
      • Aktifkan sink: Memungkinkan Anda mengaktifkan sink yang dinonaktifkan dan memulai ulang entri log perutean ke tujuan sink.
      • Menghapus sink: Memungkinkan Anda menghapus sink dan menghentikan perutean entri log ke tujuan sink.
      • Memecahkan masalah sink: Membuka Logs Explorer tempat Anda dapat memecahkan masalah error dengan sink.
      • Melihat volume log dan tingkat error sink: Membuka Metrics Explorer tempat Anda dapat melihat dan menganalisis data dari sink.

      Untuk mengurutkan tabel berdasarkan kolom, pilih nama kolom.

      gcloud

      • Untuk melihat daftar sink untuk project Google Cloud Anda, gunakan perintah gcloud logging sinks list, yang sesuai dengan metode Logging API projects.sinks.list:

        gcloud logging sinks list
        

        Untuk melihat daftar sink gabungan, gunakan opsi yang sesuai untuk menentukan resource yang berisi sink. Misalnya, jika Anda membuat sink di tingkat organisasi, gunakan opsi --organization=ORGANIZATION_ID untuk mencantumkan sink untuk organisasi.

      • Untuk mendeskripsikan sink, gunakan perintah gcloud logging sinks describe, yang sesuai dengan metode Logging API projects.sinks.get:

        gcloud logging sinks describe SINK_NAME
        
      • Untuk memperbarui sink, gunakan perintah gcloud logging sinks update, yang sesuai dengan metode API projects.sink.update.

        Anda dapat memperbarui sink untuk mengubah tujuan, filter, dan deskripsi, atau untuk menonaktifkan atau mengaktifkan kembali sink:

        gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

        Hapus NEW_DESTINATION atau --log-filter jika bagian tersebut tidak berubah.

        Misalnya, untuk memperbarui tujuan sink bernama my-project-sink ke tujuan bucket Cloud Storage baru bernama my-second-gcs-bucket, perintah Anda akan terlihat seperti ini:

        gcloud logging sinks update  my-project-sink storage.googleapis.com/my-second-gcs-bucket
        
      • Untuk menonaktifkan sink, gunakan perintah gcloud logging sinks update, yang sesuai dengan metode API projects.sink.update, dan sertakan opsi --disabled:

        gcloud logging sinks update SINK_NAME --disabled
        

        Untuk mengaktifkan kembali sink, gunakan perintah gcloud logging sinks update, hapus opsi --disabled, dan sertakan opsi --no-disabled:

        gcloud logging sinks update SINK_NAME --no-disabled
        
      • Untuk menghapus sink, gunakan perintah gcloud logging sinks delete, yang sesuai dengan metode API projects.sinks.delete:

        gcloud logging sinks delete SINK_NAME
        

        Untuk mengetahui informasi selengkapnya tentang cara mengelola sink menggunakan Google Cloud CLI, lihat referensi gcloud logging sinks.

      REST

      • Untuk melihat sink untuk project Google Cloud , panggil projects.sinks.list.

      • Untuk melihat detail sink, panggil projects.sinks.get.

      • Untuk memperbarui sink, panggil projects.sink.update.

        Anda dapat memperbarui tujuan, filter, dan deskripsi sink. Anda juga dapat menonaktifkan atau mengaktifkan kembali sink.

      • Untuk menonaktifkan sink, tetapkan kolom disabled di objek LogSink ke true, lalu panggil projects.sink.update.

        Untuk mengaktifkan kembali sink, tetapkan kolom disabled di objek LogSink ke false, lalu panggil projects.sink.update.

      • Untuk menghapus sink, panggil projects.sinks.delete.

        Untuk mengetahui informasi selengkapnya tentang cara mengelola sink menggunakan Logging API, lihat referensi LogSink.

      Berhenti menyimpan entri log di bucket log

      Anda dapat menonaktifkan sink _Default dan sink yang ditentukan pengguna. Saat Anda menonaktifkan sink, sink tersebut akan berhenti merutekan entri log ke tujuannya. Misalnya, jika Anda menonaktifkan sink _Default, tidak ada entri log yang dirutekan ke bucket _Default. Bucket _Default akan kosong jika semua entri log yang disimpan sebelumnya telah memenuhi periode retensi bucket.

      Petunjuk berikut menggambarkan cara menonaktifkan sink project Google Cloud yang merutekan entri log ke bucket log_Default:

      Konsol

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

        Buka Log Router

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

      2. Untuk menemukan semua sink yang merutekan entri log ke bucket log _Default, filter sink menurut tujuan, lalu masukkan _Default.
      3. Untuk setiap sink, pilih Menu, lalu pilih Nonaktifkan sink.

        Sink kini dinonaktifkan dan sink project Anda tidak lagi merutekan entri log ke bucket _Default. Google Cloud

      Untuk mengaktifkan kembali sink yang dinonaktifkan dan memulai ulang entri log perutean ke tujuan sink, lakukan hal berikut:

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

        Buka Log Router

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

      2. Untuk menemukan semua sink yang merutekan entri log ke bucket log _Default, filter sink menurut tujuan, lalu masukkan _Default.
      3. Untuk setiap tujuan, pilih Menu, lalu pilih Aktifkan tujuan.

      gcloud

      1. Untuk melihat daftar sink untuk project Google Cloud Anda, gunakan perintah gcloud logging sinks list, yang sesuai dengan metode Logging API projects.sinks.list:

        gcloud logging sinks list
        
      2. Identifikasi sink apa pun yang merutekan ke bucket log _Default. Untuk mendeskripsikan sink, termasuk melihat nama tujuan, gunakan perintah gcloud logging sinks describe, yang sesuai dengan metode Logging API projects.sinks.get:

        gcloud logging sinks describe SINK_NAME
        
      3. Jalankan perintah gcloud logging sinks update dan sertakan opsi --disabled. Misalnya, untuk menonaktifkan sink _Default, gunakan perintah berikut:

        gcloud logging sinks update _Default  --disabled
        

        Sink _Default kini dinonaktifkan; sink ini tidak lagi merutekan entri log ke bucket log _Default.

      Untuk menonaktifkan sink lain di project Google Cloud Anda yang merutekan ke bucket _Default, ulangi langkah-langkah sebelumnya.

      Untuk mengaktifkan kembali sink, gunakan perintah gcloud logging sinks update, hapus opsi --disabled, dan sertakan opsi --no-disabled:

      gcloud logging sinks update _Default  --no-disabled
      

      REST

      1. Untuk melihat sink untuk project Google Cloud Anda, panggil metode Logging API projects.sinks.list.

        Identifikasi sink apa pun yang merutekan ke bucket _Default.

      2. Misalnya, untuk menonaktifkan sink _Default, tetapkan kolom disabled di objek LogSink ke true, lalu panggil projects.sink.update.

        Sink _Default kini dinonaktifkan; sink ini tidak lagi merutekan entri log ke bucket _Default.

      Untuk menonaktifkan sink lain di project Google Cloud Anda yang merutekan ke bucket _Default, ulangi langkah-langkah sebelumnya.

      Untuk mengaktifkan kembali sink, tetapkan kolom disabled di objek LogSink ke false, lalu panggil projects.sink.update.

      Contoh kode

      Untuk menggunakan kode library klien guna mengonfigurasi sink dalam bahasa pilihan Anda, lihat Library klien Logging: Sink log.

      Contoh filter

      Berikut beberapa contoh filter yang sangat berguna saat membuat sink. Untuk contoh tambahan yang mungkin berguna saat Anda membuat filter penyertaan dan filter pengecualian, lihat Contoh kueri.

      Memulihkan filter sink _Default

      Jika Anda mengedit filter untuk sink _Default, Anda mungkin ingin memulihkan sink ini ke konfigurasi aslinya. Saat dibuat, sink _Default dikonfigurasi dengan filter inklusi berikut dan filter pengecualian kosong:

        NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
        log_id("externalaudit.googleapis.com/activity") AND NOT \
        log_id("cloudaudit.googleapis.com/system_event") AND NOT \
        log_id("externalaudit.googleapis.com/system_event") AND NOT \
        log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
        log_id("externalaudit.googleapis.com/access_transparency")
      

      Mengecualikan log container dan pod Google Kubernetes Engine

      Untuk mengecualikan entri log pod dan container Google Kubernetes Engine untuk namespaces sistem GKE, gunakan filter berikut:

      resource.type = ("k8s_container" OR "k8s_pod")
      resource.labels.namespace_name = (
      "cnrm-system" OR
      "config-management-system" OR
      "gatekeeper-system" OR
      "gke-connect" OR
      "gke-system" OR
      "istio-system" OR
      "knative-serving" OR
      "monitoring-system" OR
      "kube-system")
      

      Untuk mengecualikan entri log node Google Kubernetes Engine untuk logNames sistem GKE, gunakan filter berikut:

      resource.type = "k8s_node"
      logName:( "logs/container-runtime" OR
      "logs/docker" OR
      "logs/kube-container-runtime-monitor" OR
      "logs/kube-logrotate" OR
      "logs/kube-node-configuration" OR
      "logs/kube-node-installation" OR
      "logs/kubelet" OR
      "logs/kubelet-monitor" OR
      "logs/node-journal" OR
      "logs/node-problem-detector")
      

      Untuk melihat volume entri log node, pod, dan container Google Kubernetes Engine yang disimpan di bucket log, gunakan Metrics Explorer:

      Mengecualikan log Dataflow yang tidak diperlukan untuk dukungan

      Untuk mengecualikan entri log Dataflow yang tidak diperlukan untuk kemampuan dukungan, gunakan filter berikut:

      resource.type="dataflow_step"
      labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"
      

      Untuk melihat volume log Dataflow yang disimpan di bucket log, gunakan Metrics Explorer.

      Kemampuan dukungan

      Meskipun Cloud Logging memungkinkan Anda mengecualikan entri log dan mencegahnya disimpan di bucket log, sebaiknya Anda tetap menyimpan entri log yang membantu dukungan. Menggunakan entri log ini dapat membantu Anda memecahkan masalah dan mengidentifikasi masalah pada aplikasi Anda.

      Misalnya, entri log sistem GKE berguna untuk memecahkan masalah aplikasi dan cluster GKE Anda karena entri tersebut dibuat untuk peristiwa yang terjadi di cluster Anda. Entri log ini dapat membantu Anda menentukan apakah kode aplikasi atau cluster GKE yang mendasarinya menyebabkan error aplikasi. Log sistem GKE juga mencakup Kubernetes Audit Logging yang dihasilkan oleh komponen Server Kubernetes API, yang mencakup perubahan yang dilakukan menggunakan perintah kubectl dan peristiwa Kubernetes.

      Untuk Dataflow, sebaiknya Anda menulis log sistem (labels."dataflow.googleapis.com/log_type"="system") dan log dukungan (labels."dataflow.googleapis.com/log_type"="supportability") ke bucket log. Log ini sangat penting bagi developer untuk mengamati dan memecahkan masalah pipeline Dataflow mereka, dan pengguna mungkin tidak dapat menggunakan halaman Detail tugas Dataflow untuk melihat log tugas.

      Langkah berikutnya