Menulis dan membuat kueri entri log dengan gcloud CLI

Dokumen ini memperkenalkan Anda pada beberapa kemampuan Cloud Logging dan menunjukkan cara melakukan hal berikut:

  • Menulis entri log menggunakan Google Cloud CLI.
  • Mencantumkan entri log menggunakan gcloud CLI.
  • Mencantumkan entri log menggunakan Logging API.
  • Melihat dan membuat kueri entri log menggunakan Logs Explorer.

Sebelum memulai

Anda harus memiliki project Google Cloud dengan penagihan yang diaktifkan untuk menyelesaikan panduan memulai cepat ini. Jika Anda tidak memiliki project Google Cloud , atau jika Anda belum mengaktifkan penagihan untuk project Google Cloud , lakukan hal berikut:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Install the Google Cloud CLI.

  8. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  9. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  10. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  11. Verify that billing is enabled for your Google Cloud project.

  12. Menulis entri log menggunakan gcloud CLI

    Logging mendukung entri log dengan data terstruktur dan tidak terstruktur. Data terstruktur terdiri dari struktur data JSON; misalnya, {"weather": "partly cloudy"}. Data tidak terstruktur adalah string karakter; misalnya, "A simple entry".

    Pada langkah berikutnya, Anda akan menggunakan gcloud CLI untuk menulis entri log dengan data tidak terstruktur dan entri log dengan data terstruktur. gcloud CLI menyediakan antarmuka command line ke Cloud Logging API.

    1. Untuk menulis entri log dengan data tidak terstruktur ke log my-test-log, jalankan perintah gcloud logging write:

      gcloud logging write my-test-log "A simple entry."
      

      Setelah perintah selesai, Anda akan melihat pesan: Created log entry.

    2. Tulis entri log dengan data terstruktur ke log my-test-log:

      gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
      

      Saat menulis entri log dengan data terstruktur, Anda harus menyertakan --payload-type=json. Jika Anda tidak menyertakan kolom ini, Logging akan menafsirkan payload sebagai data tidak terstruktur.

    Jika log my-test-log tidak ada, Logging akan membuat log saat entri log diterima.

    Mencantumkan entri log menggunakan gcloud CLI

    Anda dapat mengambil entri log dari Logging dan menampilkannya menggunakan gcloud CLI. Misalnya, untuk mengambil dan menampilkan entri log dengan jenis resource global, jalankan perintah berikut:

    gcloud logging read "resource.type=global"
    

    Perintah ini akan menampilkan hasil yang mirip dengan berikut ini:

    ---
    insertId: jpj9zjf73t1mn
    jsonPayload:
      message: My second entry
      weather: partly cloudy
    logName: projects/myloggingproject/logs/my-test-log
    receiveTimestamp: '2018-11-01T18:39:31.114507977Z'
    resource:
      labels:
        project_id: myloggingproject
      type: global
    timestamp: '2018-11-01T18:39:31.114507977Z'
    ---
    insertId: vd4m1if7h7u1a
    logName: projects/myloggingproject/logs/my-test-log
    receiveTimestamp: '2018-11-01T18:39:19.718100792Z'
    resource:
      labels:
        project_id: myloggingproject
      type: global
    textPayload: A simple entry
    timestamp: '2018-11-01T18:39:19.718100792Z'
    

    Untuk mengetahui informasi tentang cara membaca log, lihat dokumentasi referensi gcloud logging read.

    Mencantumkan entri log menggunakan APIs Explorer

    Untuk menjalankan metode Logging API tanpa menulis kode apa pun, lihat Menggunakan API Explorer. Untuk membaca daftar entri log dari Logging, lakukan langkah berikut:

    1. Buka halaman referensi API untuk metode API entries.list:

      Buka halaman API entries.list

    2. Konfigurasi dan jalankan perintah API:

      1. Ganti PROJECT_ID dalam teks berikut:

        "resourceNames": [
        "projects/PROJECT_ID"
        ],
        "filter": "resource.type=global",
        "orderBy": "timestamp desc"
        
      2. Salin teks yang telah diubah dari langkah sebelumnya, lalu tempelkan ke kolom Isi permintaan di APIs Explorer.

      3. Klik Jalankan.

      Metode ini menampilkan respons yang mirip dengan berikut ini:

      {
        "entries": [
          {
            "textPayload": "A simple entry",
            "insertId": "vd4m1if7h7u1a",
            "resource": {
              "type": "global",
              "labels": {
                "project_id": "myloggingproject"
              }
            },
            "timestamp": "2018-11-01T18:39:19.718100792Z",
            "logName": "projects/myloggingproject/logs/my-test-log",
            "receiveTimestamp": "2018-11-01T18:39:19.718100792Z"
          },
          {
            "insertId": "jpj9zjf73t1mn",
            "jsonPayload": {
              "message": "My second entry",
              "weather": "partly cloudy"
            },
            "resource": {
              "type": "global",
              "labels": {
                "project_id": "myloggingproject"
              }
            },
            "timestamp": "2018-11-01T18:39:31.114507977Z",
            "logName": "projects/myloggingproject/logs/my-test-log",
            "receiveTimestamp": "2018-11-01T18:39:31.114507977Z"
          }
        ]
      }
      

    Melihat entri log di Logs Explorer

    Untuk melihat entri log di konsol Google Cloud , Anda dapat menggunakan Logs Explorer. Sebagian besar project menyimpan banyak log; Anda dapat memilih entri log tertentu dengan menulis kueri. Google Cloud

    Untuk melihat entri log yang Anda tulis menggunakan Logs Explorer, lakukan langkah berikut:

    1. Di konsol Google Cloud , buka halaman Logs Explorer:

      Buka Logs Explorer

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

      Pastikan project Google Cloud Anda dipilih di Google Cloud panel navigasi. Jika perlu, gunakan Google Cloud daftar drop-down project untuk memilih Google Cloud project Anda.

    2. Di menu Resource, pilih Global.

      Jika Anda tidak melihat opsi menu Global atau jika Anda tidak melihat entri log, tunggu beberapa menit, lalu muat ulang halaman. Mungkin perlu waktu beberapa menit agar Logging menerima entri log.

    3. Untuk melihat detail entri log, klik Menu-nya.

      Entri log pertama memiliki data yang disimpan di textPayload. Entri log kedua berisi data terstruktur yang disimpan di jsonPayload. Payload terstruktur berisi kunci message dan weather.

    Untuk mengetahui informasi tentang format data entri log, lihat jenis LogEntry.

    Mengajukan kueri entri log di Logs Explorer

    Anda dapat membuat kueri entri log menggunakan editor kueri dan, dengan log terstruktur, berdasarkan kunci dan nilai. Misalnya, untuk menampilkan semua entri log yang berisi teks simple, lakukan hal berikut:

    1. Di konsol Google Cloud , buka halaman Logs Explorer:

      Buka Logs Explorer

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

    2. Di menu Resource, pilih Global.

    3. Di editor kueri, masukkan string simple dalam tanda kutip. Tampilan log hanya menampilkan entri log A simple entry.

    4. Setelah melihat log, hapus string kueri yang Anda tambahkan dan klik Run query. Kedua entri log akan muncul kembali di layar.

    Untuk menampilkan semua entri log dengan data terstruktur yang memiliki kunci weather dengan kolom value berisi partly, lakukan hal berikut:

    1. Editor kueri berisi baris resource.type="global". Masukkan perintah berikut:

      jsonPayload.weather:partly
      
    2. Klik Run query. Hasilnya adalah satu entri log My second entry.

    Logs Explorer juga menawarkan kueri tersimpan, yang disarankan, dan terbaru. Untuk mengetahui informasi selengkapnya tentang kueri, lihat Membuat kueri di Logs Explorer.

    Untuk contoh kueri, lihat Contoh kueri menggunakan Logs Explorer.

    Pemecahan masalah

    • Error ketik dan nama kolom yang tidak diketahui akan menyebabkan perintah gcloud CLI selesai dengan pesan argumen tidak valid. Misalnya, jika Anda lupa titik di resource.type, maka akan menghasilkan error:

       ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
      
    • Jika Cloud Logging belum diberi izin akses yang diperlukan, perintah gcloud CLI akan selesai dengan pesan permission denied. Misalnya, jika instance VM Compute Engine dikonfigurasi dengan setelan API default, perintah list akan selesai dengan error penolakan izin:

       ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.
      

      Untuk memperbaiki kondisi ini, ubah izin instance VM Compute Engine Anda untuk memberikan izin baca Cloud Logging dengan melakukan hal berikut:

      1. Buka halaman VM instance details untuk instance VM Anda. Klik Hentikan. Tindakan ini mungkin memerlukan waktu satu atau dua menit hingga selesai.
      2. Untuk mengubah konfigurasi, klik Edit.
      3. Cari header Cloud API access scopes, lalu klik Details untuk menampilkan setelan setiap API. Ubah entri dari Cloud Logging API menjadi Penuh. Klik Save.
      4. Untuk memulai ulang instance VM, klik Start. Setelah beberapa saat, VM Anda siap digunakan.
    • Jika tidak dapat menyelesaikan perintah Anda, atau memerlukan otorisasi tambahan, APIs Explorer akan menampilkan pesan atau kode error:

      • Kode respons 200 dan tidak ada entri: Jika pesan nextPageToken ditampilkan, berarti APIs Explorer tidak punya waktu untuk menyelesaikan penelusuran. Tambahkan pageToken ke permintaan Anda, tetapkan nilainya agar sama dengan yang diberikan dengan kunci nextPageToken, lalu coba lagi perintah.
      • Kode respons 400: Nilai kueri tidak valid. Misalnya, jika Anda salah mengeja global sebagai gloobal, maka pesannya adalah Unsupported resource type: gloobal.
      • Kode respons 404: ID project tidak valid. Periksa ejaan ID project Anda.
      • Anda mungkin diminta untuk login ke projectGoogle Cloud Anda dan mengizinkan APIs Explorer mengakses akun Anda.

    Pembersihan

    Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.

    1. (Opsional) Untuk menghapus entri log yang Anda buat, jalankan perintah gcloud berikut:

      gcloud logging logs delete my-test-log
      

      Jika Anda tidak menghapus entri log, entri tersebut akan kedaluwarsa dan dihapus. Untuk mengetahui informasi retensi, lihat Kuota & batas.

    Langkah berikutnya