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:
Nilai adalah string yang dikodekan UTF-8 hingga 1024 × 1024 byte panjangnya. |
tag | Tag log mencakup:
| Nilai bidang adalah kamus. Baik kunci maupun nilai adalah string. Nama bidang diawali dengan format |
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.
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.
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.