全部产品
Search
文档中心

Simple Log Service:Model data

更新时间:Jul 06, 2025

Topik ini menjelaskan model data dari log yang dikirim ke Simple Log Service.

Berikut adalah penjelasan istilah dasar dalam Simple Log Service.

Wilayah

Wilayah adalah node layanan dari Alibaba Cloud. Alibaba Cloud menyebarkan layanannya di beberapa wilayah. Anda dapat memilih wilayah terdekat untuk mengurangi latensi akses dan meningkatkan pengalaman pengguna.

Proyek

Proyek adalah unit manajemen dasar dalam Simple Log Service, digunakan untuk mengisolasi dan mengontrol sumber daya. Anda dapat menggunakan Proyek untuk mengelola semua log dan sumber log dari sebuah aplikasi.

Penyimpanan log

Penyimpanan log adalah unit untuk pengumpulan, penyimpanan, dan konsumsi log. Setiap Penyimpanan log termasuk dalam satu Proyek, dan setiap Proyek dapat memiliki beberapa Penyimpanan log. Kami menyarankan Anda membuat Penyimpanan log untuk setiap jenis log dalam sebuah aplikasi. Sebagai contoh, jika Anda memiliki aplikasi game bernama big-game dengan tiga jenis log (log operasional, log aplikasi, dan log akses), Anda dapat membuat Proyek bernama big-game dan kemudian membuat Penyimpanan log untuk masing-masing jenis log tersebut. Penyimpanan log ini dapat digunakan untuk menyimpan dan mengonsumsi log.

Entri log

Entri log adalah unit data dasar yang diproses dalam Simple Log Service. Simple Log Service menggunakan model data semi-terstruktur untuk mendefinisikan entri log. Tabel berikut menjelaskan model tersebut.

Bidang

Deskripsi

Persyaratan

waktu

Waktu ketika entri log dihasilkan. Pada sebagian besar kasus, nilai bidang ini dibuat berdasarkan informasi waktu dalam entri log.

Nilainya adalah timestamp UNIX, yaitu jumlah detik yang telah berlalu sejak 00:00:00 pada tanggal 1 Januari 1970, 00:00:00 UTC.

topik

Bidang yang ditentukan pengguna dalam entri log. Bidang ini dapat digunakan untuk menandai sekelompok log. Contohnya, Anda dapat menentukan topik untuk log akses berdasarkan situs.

Nilai bidang dapat berupa string hingga 128 byte panjangnya, termasuk string kosong. Nilai default dari bidang ini adalah string kosong.

sumber

Sumber dari entri log. Contohnya, nilai parameter ini bisa berupa alamat IP dari server tempat entri log dihasilkan.

Nilai bidang adalah string yang dikodekan UTF-8 hingga 128 byte panjangnya. Nilai default dari bidang ini adalah string kosong.

konten

Konten spesifik dari entri log. Konten terdiri dari satu atau lebih item konten, di mana setiap item adalah pasangan kunci-nilai.

Kunci adalah string yang dikodekan UTF-8 hingga 128 byte panjangnya. Kunci dapat berisi huruf, angka, dan garis bawah (_). Kunci tidak boleh dimulai dengan angka dan tidak boleh berisi kata kunci berikut:

  • __time__

  • __source__

  • __topic__

  • __partition_time__

  • __extract_others__

  • __extract_others__

Nilai adalah string yang dikodekan UTF-8 hingga 1024 × 1024 byte panjangnya.

tag

Tag log mencakup:

  • Tag kustom: tag yang Anda tambahkan saat memanggil operasi PutLogs untuk menulis data.

  • Tag sistem: tag yang ditambahkan oleh Simple Log Service, termasuk __client_ip__ dan __receive_time__.

Nilai bidang adalah kamus. Baik kunci maupun nilai adalah string. Nama bidang diawali dengan format __tag__:.

Topik

Log dalam Penyimpanan log dapat dikelompokkan berdasarkan topik. Anda dapat menentukan topik untuk log yang ditulis ke Simple Log Service dan menentukan topik tersebut saat meminta log. Sebagai contoh, Anda dapat menggunakan ID pengguna sebagai topik log saat menulis log ke Simple Log Service. Dengan cara ini, Anda hanya akan melihat log milik Anda sendiri saat meminta log berdasarkan topik. Jika Anda tidak perlu mengklasifikasikan log dalam Penyimpanan log, gunakan topik yang sama untuk semua log.

Catatan

Topik log default adalah string kosong. Jika Anda tidak menentukan topik log saat menulis atau meminta log, Anda dapat menggunakan string kosong sebagai topik default.

Log yang dihasilkan dalam skenario yang berbeda mungkin memiliki format yang berbeda. Contoh berikut menjelaskan cara mengonversi entri log mentah NGINX menjadi model data yang diperlukan oleh Simple Log Service. Dalam contoh ini, alamat IP server NGINX Anda adalah 10.10.10.1. Berikut adalah sampel log mentah pada server ini:

10.1.1.1 - - [01/Mar/2012:16:12:07 +0800] "GET /Send? AccessKeyId=82251054** HTTP/1.1" 200 5 "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2"

Tabel berikut menjelaskan cara mengonversi entri log mentah menjadi model data yang diperlukan oleh Simple Log Service.

Bidang

Nilai bidang

Deskripsi

topik

Tidak ada

Nilai default (string kosong) digunakan.

waktu

1330589527

Waktu ketika entri log dihasilkan. Waktu dikonversi dari timestamp log mentah. Satuan: detik.

sumber

10.10.10.1

Alamat IP dari server tempat entri log dikumpulkan.

konten

Pasangan kunci-nilai

Konten dari entri log.

Anda dapat memutuskan cara mengekstraksi konten log mentah dan menggabungkan konten yang diekstraksi menjadi pasangan kunci-nilai. Tabel berikut menjelaskan pasangan kunci-nilai kustom.

kunci

nilai

ip

10.1.1.1

metode

GET

status

200

panjang

5

ref_url

-

browser

Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2

Log

Koleksi entri log.

LogGroup

Sebuah kelompok entri log.

LogGroupList

Koleksi grup log yang digunakan untuk mengembalikan hasil.

Aturan pengkodean

Tabel berikut mencantumkan metode pengkodean konten yang didukung sistem. Metode pengkodean lainnya akan tersedia di masa mendatang. Metode pengkodean yang didukung ditentukan dalam bidang Content-Type dalam RESTful API.

Deskripsi

Deskripsi

Content-Type

Protobuf

Model data dikodekan oleh Protocol Buffer (Protobuf).

application/x-protobuf

Untuk informasi lebih lanjut tentang format Protobuf, lihat Pengkodean data.

Catatan

Protobuf tidak memerlukan pasangan kunci-nilai bersifat unik. Namun, Anda tidak dapat menggunakan kunci yang sama. Jika tidak, kesalahan yang menunjukkan perilaku tidak terdefinisi akan terjadi.

Protobuf harus mengikuti urutan nomor bidang untuk mengkodekan bidang dalam entri log. Jika tidak, data mungkin gagal diproses.