Dokumen ini menjelaskan cara data log yang dikirim ke your Google Cloud project
menggunakan Telemetry (OTLP) API dipetakan ke struktur Cloud Logging. API ini mengimplementasikan Protokol OTLP OpenTelemetry. Anda dapat mengirim
data ke API ini saat menginstrumentasikan aplikasi dengan pengekspor
otlphttp dan
OpenTelemetry Collector, atau saat menggunakan OpenTelemetry SDK.
OpenTelemetry adalah project open source yang didukung Google Clouddengan Google Cloud teknisi yang ditugaskan untuk memastikan dukungan dalam menyerap dan memvisualisasikan telemetri Anda.
Struktur umum data log berformat OTLP
Saat data log dikirim ke Google Cloud yourproject menggunakan Telemetry API, data ini harus dalam format yang konsisten dengan OTLP. Struktur umum untuk data ini adalah sebagai berikut:
"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 data log berformat OTLP diproses
Saat Anda mengirim struktur resourceLogs OTLP ke Telemetry API, Google Cloud Observability akan melakukan tindakan berikut:
Untuk setiap
logRecord, sistem akan membuatLogEntry.Dokumen berikut menjelaskan cara sistem mengisi
LogEntrydari data log OTLP:Karena setiap
LogEntryberisi informasi tentang jenis resource Cloud Logging yang sesuai, setiapLogEntrymungkin lebih besar daripadalogRecordOTLP yang sesuai.Konversi dari struktur
resourceLogsOTLP ke serangkaian strukturLogEntrymungkin mengalami kehilangan data. Artinya, Anda mungkin tidak dapat mengonversi dari strukturLogEntryke kolomresourcedanlogRecordasli.LogEntrydirutekan 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 menginstrumentasikan aplikasi untuk mengirim data pelacakan ke Google Cloud project Anda, sebaiknya gunakan pengekspor yang menulis data berformat OTLP ke Collector, yang kemudian mengirim data pelacakan Anda ke Telemetry API. Di pengumpul, 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 pelacakan atau metrik ke Telemetry API, lihat dokumen berikut:
Jika tidak dapat menggunakan pengumpul, Anda dapat menggunakan library OpenTelemetry yang berisi pengekspor OTLP dalam proses untuk mengirim telemetri ke Telemetry API. Untuk mempelajari cara mengekspor data pelacakan secara langsung, lihat Pengekspor Cloud Trace ke endpoint OTLP.
Autentikasi
Anda harus mengonfigurasi pengekspor dengan kredensial yang diperlukan untuk mengirim
data ke your Google Cloud project. Misalnya, saat menggunakan pengumpul, biasanya Anda juga menggunakan ekstensi googleclientauth untuk melakukan autentikasi dengan kredensial Google.
Untuk contoh autentikasi saat menggunakan ekspor data pelacakan langsung, lihat Mengonfigurasi autentikasi. Contoh ini mengilustrasikan cara mengonfigurasi pengekspor 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 Melokalkan log Anda.
Cloud Logging menyediakan setelan yang dapat Anda konfigurasi untuk organisasi dan folder. Setelan ini menentukan lokasi bucket log yang dibuat sistem baru, 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 halaman Logs Explorer dan Observability Analytics. Untuk mengetahui informasi selengkapnya, lihat:
Batasan
Bagian ini menjelaskan batasan. 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 LogEntryyang dibuat dari catatan log OTLP |
256 KiB | Cloud Logging memangkas atau menghapus data dari catatan log OTLP jika diperlukan. Batas. |
| Panjang maksimum kunci atribut | 512 B | Kunci label yang terlalu besar akan dipangkas saat catatan log OTLP dikonversi
menjadi LogEntry. Batas. |
| Panjang maksimum nilai atribut | 64 KiB | Nilai label yang terlalu besar saat catatan log OTLP dikonversi menjadi a
LogEntry. Batas. |
| Kedalaman maksimum nesting atribut | 5 | Atribut yang melebihi batas ini akan dipangkas saat catatan log OTLP dikonversi menjadi LogEntry. |
| Jumlah maksimum byte penyerapan log per menit | 2,4 GB untuk wilayah berikut: 300 MB untuk semua wilayah lainnya. |
Kuota. |
Perilaku
Jika nomor tingkat keparahan OpenTelemetry dan teks tingkat keparahan ditetapkan, sistem akan menggunakan nomor tingkat keparahan untuk menentukan tingkat keparahan Cloud Logging. Jika catatan OTLP tidak berisi informasi tingkat keparahan, tingkat keparahan Cloud Logging akan ditetapkan ke
DEFAULT.Jika catatan OTLP berisi kunci atribut duplikat, sistem akan mempertahankan kunci pertama dan menghapus atribut dengan kunci duplikat.
Sistem mengonversi atribut yang dilampirkan ke catatan log menjadi string. Untuk contoh, lihat kolom Label.
Nama log harus aman untuk URL atau dienkode URL selama penyerapan. Untuk mengetahui informasi tentang cara nama log ditetapkan, lihat Cara kolom
LogEntryditetapkan.