Ringkasan v1.logs

Dokumen ini menjelaskan cara data log yang dikirim ke project Google Cloud Anda menggunakan Telemetry (OTLP) API dipetakan ke struktur Cloud Logging. API ini mengimplementasikan OpenTelemetry Line Protocol. Anda dapat mengirim data ke API ini saat menginstrumentasikan aplikasi dengan pengekspor otlphttp dan OpenTelemetry Collector, atau saat menggunakan SDK OpenTelemetry.

OpenTelemetry adalah project open source yang didukung Google Cloud-dengan staf engineer yang memastikan dukungan untuk penyerapan dan visualisasi telemetri Anda. Google Cloud

Struktur umum data log berformat OTLP

Saat data log dikirim ke Google Cloud menggunakan Telemetry API, data ini harus dalam format yang konsisten dengan OTLP. Struktur umum untuk data ini adalah seperti yang ditunjukkan:

"resourceLogs": [
    {
      "resource": {
        "attributes": [...]
      },
      "scopeLogs": [
        {
          "logRecords": [...]
        }
      ]
    }
]

Perhatikan bahwa OpenTelemetry mengelompokkan log individual, yang masing-masing direpresentasikan oleh struktur logRecord, dengan informasi tentang sumber log tersebut, yang direpresentasikan oleh struktur resource.

Saat menerima objek resourceLogs, Google Cloud Observability akan membuat satu LogEntry untuk setiap logRecord. Tidak seperti OTLP yang mengelompokkan informasi sumber dengan kumpulan log individual, setiap struktur LogEntry berisi informasi tentang sumber log dan log itu sendiri.

Untuk mempelajari lebih lanjut struktur data log berformat OTLP, lihat logs.proto OpenTelemetry.

Cara pemrosesan data log berformat OTLP

Saat Anda mengirim struktur resourceLogs OTLP ke Telemetry API, Google Cloud Observability akan melakukan tindakan berikut:

  1. Untuk setiap logRecord, sistem akan membuat LogEntry.

    Dokumen berikut menjelaskan cara sistem mengisi LogEntry dari data log OTLP:

    Karena setiap LogEntry berisi informasi tentang jenis resource Cloud Logging yang sesuai, setiap LogEntry mungkin lebih besar daripada logRecord OTLP yang sesuai.

    Konversi dari struktur resourceLogs OTLP menjadi serangkaian struktur LogEntry mungkin menyebabkan kehilangan data. Artinya, Anda mungkin tidak dapat mengonversi dari struktur LogEntry ke kolom resource dan logRecord asli.

  2. LogEntry dirutekan oleh sink gabungan dalam hierarki project dan oleh sink dalam project, dengan cara yang sama persis seperti jika entri log dikirim ke project Anda menggunakan Cloud Logging API.

Praktik terbaik

Saat menginstrumentasi aplikasi untuk mengirim data rekaman aktivitas ke projectGoogle Cloud , sebaiknya Anda menggunakan eksportir yang menulis data berformat OTLP ke Collector, yang kemudian mengirimkan data rekaman aktivitas Anda ke Telemetry API. Di pengumpul Anda, tentukan hanya URL root:

exporters:
  otlphttp:
    encoding: proto
    endpoint: https://telemetry.googleapis.com

OpenTelemetry mendeteksi jenis data dan otomatis menambahkan /v1/traces, /v1/metrics, atau /v1/logs sebagaimana mestinya. Untuk mengetahui informasi selengkapnya, lihat Permintaan OTLP/HTTP.

Untuk contoh yang mengekspor data metrik atau rekaman aktivitas ke Telemetry API, lihat dokumen berikut:

Jika tidak dapat menggunakan pengumpul, Anda dapat menggunakan library OpenTelemetry yang berisi eksportir OTLP dalam proses untuk mengirim telemetri ke Telemetry API. Untuk mempelajari cara mengekspor data trace secara langsung, lihat Pengekspor Cloud Trace ke endpoint OTLP.

Autentikasi

Anda harus mengonfigurasi pengekspor dengan kredensial yang diperlukan untuk mengirim data ke project Google Cloud . Misalnya, saat menggunakan pengumpul, biasanya Anda juga menggunakan ekstensi googleclientauth untuk mengautentikasi dengan kredensial Google.

Untuk contoh autentikasi saat menggunakan ekspor langsung data rekaman aktivitas, lihat Mengonfigurasi autentikasi. Contoh ini menggambarkan cara mengonfigurasi eksportir dengan Google Cloud Kredensial Default Aplikasi (ADC) dan menambahkan Google Auth Library khusus bahasa ke aplikasi Anda.

Cloud Logging dan residensi data

Secara default, Cloud Logging merutekan entri log yang berasal dari project ke bucket log yang dibuat sistem. Bucket log adalah resource regional. Anda dapat memperbarui sink log default untuk mengirim entri log ke bucket log kustom yang berada di lokasi pilihan Anda. Untuk mempelajari lebih lanjut, lihat Menjadikan log Anda regional.

Cloud Logging menyediakan setelan yang dapat Anda konfigurasi untuk organisasi dan folder. Setelan ini menentukan lokasi bucket log baru yang dibuat sistem, apakah bucket log ini menggunakan kunci enkripsi yang dikelola pelanggan (CMEK), dan konfigurasi sink log default. Untuk mempelajari lebih lanjut, lihat Dukungan untuk organisasi dan folder.

Tempat melihat data yang diserap

Anda dapat melihat data log menggunakan Logs Explorer dan halaman Observability Analytics. Untuk mengetahui informasi, lihat referensi berikut:

Batasan

Bagian ini menjelaskan batas. Bagian ini juga menjelaskan cara Google Cloud Observability menangani jenis data tertentu.

Batas

Deskripsi Nilai Catatan
Jumlah maksimum log per permintaan OTLP 8192 Mengacu pada jumlah maksimum logRecords dalam struktur OTLP resourceLogs. Batas.
Ukuran maksimum setiap permintaan 5 MiB Batas.
Ukuran maksimum LogEntry
yang dibuat dari rekaman log OTLP
256 KiB Cloud Logging memangkas atau menghapus data dari rekaman log OTLP jika diperlukan. Batas.
Panjang maksimum kunci atribut 512 B Kunci label berukuran besar akan dipangkas saat rekaman log OTLP dikonversi menjadi LogEntry. Batas.
Panjang maksimum nilai atribut 64 KiB Nilai label yang terlalu besar saat rekaman log OTLP dikonversi menjadi LogEntry. Batas.
Kedalaman maksimum nesting atribut 5 Atribut yang melebihi batas ini akan dipangkas saat rekaman log OTLP dikonversi menjadi LogEntry.
Jumlah maksimum byte penyerapan log per menit

2,4 GB untuk wilayah berikut: asia-east1, asia-northeast1, asia-southeast1, asia-south1, europe-west1, europe-west2, europe-west3, europe-west4, us-central1, us-east4, us-west1.

300 MB untuk semua region lainnya.

Kuota.

Perilaku

  • Jika nomor tingkat keparahan dan teks tingkat keparahan OpenTelemetry ditetapkan, sistem akan menggunakan nomor tingkat keparahan untuk menentukan tingkat keparahan Cloud Logging. Jika rekaman OTLP tidak berisi informasi tingkat keparahan, maka tingkat keparahan Cloud Logging akan ditetapkan ke DEFAULT.

  • Jika rekaman OTLP berisi kunci atribut duplikat, sistem akan mempertahankan kunci pertama dan menghapus atribut dengan kunci duplikat.

  • Sistem mengonversi atribut yang dilampirkan ke rekaman log menjadi string. Sebagai contoh, lihat Kolom label.

  • Nama log harus aman untuk URL atau dienkode URL selama penyerapan. Untuk mengetahui informasi tentang cara menetapkan nama log, lihat Cara menetapkan kolom LogEntry.