Impor file log dari Amazon S3 ke Simple Log Service (SLS) untuk kueri, analisis, dan pemrosesan. SLS mendukung impor objek S3 individual hingga 5 GB, dengan batas ini berlaku pada ukuran file setelah dekompresi untuk file yang dikompresi.
Prasyarat
File log telah diunggah ke Amazon S3.
Proyek dan logstore telah dibuat. Untuk informasi selengkapnya, lihat Kelola proyek dan Buat logstore.
Izin kustom:
Buat kebijakan kustom yang memberikan izin untuk mengelola resource S3, seperti pada contoh berikut. Untuk informasi selengkapnya, lihat Buat izin kustom di AWS.
CatatanAnda harus mengonfigurasi izin kustom untuk S3 agar dapat mengimpor objek ke SLS.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your_bucket_name", "arn:aws:s3:::your_bucket_name/*" ] } ] }Buat kebijakan kustom yang memberikan izin untuk mengelola resource Amazon Simple Queue Service (SQS). Untuk informasi selengkapnya, lihat Buat izin kustom di AWS.
CatatanIni hanya diperlukan jika Anda mengaktifkan SQS.
{ "Effect": "Allow", "Action": [ "sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "kms:Decrypt" ], "Resource": "*" }
Buat konfigurasi impor data
Masuk ke Konsol Simple Log Service.
Pada tab Data Import di area Import Data, pilih S3 - Data Import.
Pilih proyek dan logstore tujuan, lalu klik Next.
Konfigurasikan pengaturan impor.
Pada langkah Import Configuration, atur parameter berikut.
Parameter
Deskripsi
Job Name
Nama unik dari task SLS.
S3 Region
Wilayah tempat bucket yang menyimpan objek yang akan diimpor berada.
AWS AccessKey ID
ID AccessKey yang digunakan untuk mengakses AWS.
PentingPastikan AccessKey Anda memiliki izin untuk mengakses resource AWS yang sesuai.
AWS Secret AccessKey
Secret AccessKey yang digunakan untuk mengakses AWS.
SQS Queue URL
Identifier dari antrian SQS. Untuk informasi selengkapnya, lihat Queue and message identifiers.
PentingFitur ini hanya berlaku setelah Anda mengaktifkan SQS.
File Path Prefix Filter
Filter objek S3 berdasarkan awalan path file untuk menemukan objek yang akan diimpor. Misalnya, jika semua objek yang akan diimpor berada di direktori `csv/`, atur awalan menjadi `csv/`.
Jika Anda tidak mengatur parameter ini, seluruh bucket S3 akan ditraversed.
CatatanAtur parameter ini. Jika bucket berisi banyak objek, traversing seluruh bucket tidak efisien.
File Path Regex Filter
Filter objek S3 berdasarkan ekspresi reguler pada path file untuk menemukan objek yang akan diimpor. Hanya objek yang namanya, termasuk path-nya, sesuai dengan ekspresi reguler yang akan diimpor. Secara default, parameter ini kosong, artinya tidak ada penyaringan yang dilakukan.
Misalnya, jika sebuah objek S3 bernama
testdata/csv/bill.csv, atur ekspresi reguler menjadi(testdata/csv/)(.*).Untuk informasi selengkapnya tentang cara men-debug ekspresi reguler, lihat Debug a regular expression.
File Modification Time Filter
Filter objek S3 berdasarkan waktu modifikasinya untuk menemukan objek yang akan diimpor.
All: Pilih opsi ini untuk mengimpor semua objek S3 yang memenuhi kondisi tertentu.
From Specific Time: Pilih opsi ini untuk mengimpor file yang dimodifikasi setelah titik waktu tertentu.
Specific Time Range: Pilih opsi ini jika Anda ingin mengimpor file yang dimodifikasi dalam rentang waktu tertentu.
Data Format
Format parsing objek. Opsi-opsinya dijelaskan sebagai berikut.
CSV: File teks yang dipisahkan oleh delimiter. Tentukan baris pertama sebagai nama field atau tentukan nama field secara manual. Semua baris kecuali baris pertama diparse sebagai nilai field log.
Single-line JSON: File S3 dibaca per baris. Setiap baris diparse sebagai objek JSON. Field dalam objek JSON menjadi field log.
Single-line Text Log: Setiap baris dalam file S3 diparse sebagai log.
Multi-line Text Logs: Beberapa baris dalam objek S3 diparse sebagai satu log. Tentukan ekspresi reguler untuk mencocokkan baris pertama atau baris terakhir dari log.
Compression Format
Format kompresi objek S3 yang akan diimpor. SLS akan mendekompresi objek tersebut dan membaca datanya berdasarkan format yang ditentukan.
Encoding Format
Format encoding objek S3 yang akan diimpor. Hanya UTF-8 dan GBK yang didukung.
New File Check Cycle
Jika objek baru terus-menerus dihasilkan di direktori tertentu dari objek S3, konfigurasikan New File Check Cycle sesuai kebutuhan. Setelah mengonfigurasi parameter ini, task impor data akan terus berjalan di latar belakang, dan objek baru akan dideteksi serta dibaca secara otomatis dalam interval tertentu. Sistem memastikan bahwa data dalam objek S3 tidak ditulis ulang ke SLS.
Jika tidak ada lagi objek baru yang dihasilkan di path S3 target, atur opsi menjadi Never Check. Task impor kemudian akan keluar secara otomatis setelah membaca semua objek yang memenuhi kondisi yang ditentukan.
Log Time Configuration
Time Field
Saat Anda mengatur Data Format ke CSV atau Single-line JSON, tentukan field waktu. Field ini adalah nama kolom dalam file yang merepresentasikan waktu dan digunakan untuk menentukan timestamp log saat diimpor ke SLS.
Regular Expression To Extract Time
Gunakan ekspresi reguler untuk mengekstrak waktu dari log.
Misalnya, jika contoh log adalah 127.0.0.1 - - [10/Sep/2018:12:36:49 0800] "GET /index.html HTTP/1.1", atur Regular Expression To Extract Time menjadi
[0-9]{0,2}\/[0-9a-zA-Z]+\/[0-9:,]+.CatatanUntuk format data lainnya, Anda juga dapat menggunakan ekspresi reguler untuk mengekstrak hanya bagian tertentu dari field waktu.
Time Field Format
Tentukan format waktu untuk memparse nilai field waktu.
Tentukan format waktu yang mengikuti sintaks Java SimpleDateFormat. Contohnya:
yyyy-MM-dd HH:mm:ss. Untuk informasi selengkapnya tentang sintaks tersebut, lihat Class SimpleDateFormat. Untuk informasi selengkapnya tentang format waktu umum, lihat Time formats.Format epoch didukung, termasuk epoch, epochMillis, epochMicro, dan epochNano.
Time Zone
Pilih zona waktu untuk field waktu. Saat format field waktu bertipe epoch, Anda tidak perlu mengatur zona waktu.
Jika waktu daylight saving perlu dipertimbangkan saat memparse waktu log, pilih format UTC. Jika tidak, pilih format GMT.
CatatanZona waktu default adalah UTC+8.
Jika Anda mengatur Data Format ke CSV, Anda harus mengonfigurasi parameter tambahan yang dijelaskan dalam tabel berikut.
Parameter khusus CSV
Parameter
Deskripsi
Delimiter
Atur delimiter untuk log. Nilai default adalah koma (,).
Quote
Karakter quote yang digunakan untuk string CSV.
Escape Character
Konfigurasikan karakter escape untuk log. Nilai default adalah backslash (\).
Maximum Lines
Jika Anda mengaktifkan First Line As Field Name, baris pertama dalam file CSV digunakan sebagai nama field.
Custom Fields
Jika Anda menonaktifkan First Line As Field Name, Anda dapat menentukan nama field kustom. Pisahkan beberapa nama field dengan koma (,).
Lines To Skip
Tentukan jumlah baris log yang dilewati. Misalnya, jika Anda mengatur nilai ini ke 1, pengumpulan log dimulai dari baris kedua file CSV.
Parameter khusus log teks multi-baris
Parameter
Deskripsi
Position to Match Regular Expression
Atur posisi untuk pencocokan ekspresi reguler. Opsi-opsinya dijelaskan sebagai berikut:
Regular Expression To Match First Line: Jika Anda memilih opsi ini, ekspresi reguler yang Anda tentukan digunakan untuk mencocokkan baris pertama entri log. Baris yang tidak cocok dikumpulkan sebagai bagian dari entri log hingga jumlah maksimum baris yang Anda tentukan tercapai.
Regular Expression To Match Last Line: Menggunakan ekspresi reguler untuk mencocokkan baris terakhir entri log. Baris yang tidak cocok dianggap sebagai bagian dari entri log berikutnya hingga jumlah maksimum baris tercapai.
Regular Expression
Atur ekspresi reguler yang benar berdasarkan konten log.
Untuk informasi selengkapnya tentang cara men-debug ekspresi reguler, lihat Debug a regular expression.
Maximum Lines
Jumlah maksimum baris untuk satu entri log.
Klik Preview untuk melihat hasil impor.
Setelah mengonfirmasi informasi, klik Next.
Pratinjau data, konfigurasikan indeks, lalu klik Next.
Secara default, indeks teks penuh diaktifkan di SLS. Anda juga dapat membuat indeks bidang secara manual berdasarkan log yang dikumpulkan, atau klik Automatic Index Generation agar SLS menghasilkannya secara otomatis. Untuk informasi selengkapnya, lihat Buat indeks.
PentingUntuk melakukan kueri dan analisis log, Anda harus mengaktifkan indeks teks penuh atau indeks bidang. Jika keduanya diaktifkan, indeks bidang memiliki prioritas lebih tinggi.
Lihat konfigurasi impor
Setelah membuat konfigurasi impor, lihat konfigurasi tersebut dan laporan statistiknya di Konsol.
Di daftar Project, klik proyek target.
Di , temukan logstore target, pilih , lalu klik nama konfigurasi.
Lihat informasi dasar dan laporan statistik untuk konfigurasi impor data.
Anda juga dapat memodifikasi konfigurasi, memulai atau menghentikan impor, serta menghapus konfigurasi.
PeringatanOperasi penghapusan bersifat ireversibel. Lakukan dengan hati-hati.
Tagihan
Fitur impor di SLS tidak dikenai biaya. Namun, fitur ini memerlukan akses ke API penyedia layanan dan akan dikenai biaya trafik serta permintaan. Model penetapan harga adalah sebagai berikut, dan biaya akhir ditentukan oleh tagihan dari penyedia layanan.

Field | Deskripsi |
| Total volume impor data harian dalam GB. |
| Biaya per GB trafik internet arah keluar. |
| Biaya per 10.000 permintaan Put. |
| Biaya per 10.000 permintaan Get. |
| Interval pemeriksaan file baru dalam menit. Anda dapat mengatur New File Check Cycle saat membuat konfigurasi impor data. |
| Jumlah file yang dapat dicantumkan dalam bucket berdasarkan awalan. |
FAQ
Masalah | Kemungkinan penyebab | Solusi |
Tidak ada data yang ditampilkan dalam pratinjau. | Tidak ada objek di S3, objek tidak berisi data, atau tidak ada objek yang memenuhi kondisi filter. |
|
Teks menjadi tidak terbaca (garbled) dalam data. | Format data, format kompresi, atau format encoding dikonfigurasi secara salah. | Periksa format objek S3, lalu modifikasi pengaturan Data Format, Compression Format, atau Encoding Format sesuai kebutuhan. Untuk memperbaiki data garbled yang sudah ada, Anda harus membuat logstore baru dan konfigurasi impor baru. |
Waktu log di SLS tidak konsisten dengan waktu aktual dalam data. | Saat membuat konfigurasi impor, field waktu log tidak ditentukan, atau format waktu atau zona waktu dikonfigurasi secara salah. | Tentukan field waktu log dan atur format waktu serta zona waktu yang benar. Untuk informasi selengkapnya, lihat Log Time Configuration. |
Data tidak dapat dikueri atau dianalisis setelah diimpor. |
|
|
Jumlah entri log yang diimpor lebih sedikit dari yang diharapkan. | Beberapa objek berisi satu baris data yang lebih besar dari 3 MB, sehingga dibuang selama impor. Untuk informasi selengkapnya, lihat Collection limits. | Saat menulis data ke objek S3, pastikan satu baris data tidak melebihi 3 MB. |
Jumlah objek dan total volume data besar, tetapi kecepatan impor lebih lambat dari kecepatan yang diharapkan hingga 80 MB/detik. | Jumlah shard dalam logstore terlalu sedikit. Untuk informasi selengkapnya, lihat Performance limits. | Jika jumlah shard dalam logstore kecil, tingkatkan jumlah shard menjadi 10 atau lebih, lalu periksa latensi. Untuk informasi selengkapnya, lihat Kelola shard. |
Beberapa objek tidak diimpor. | Kondisi filter diatur secara salah, atau beberapa objek individual melebihi ukuran 5 GB. Untuk informasi selengkapnya, lihat Collection limits. |
|
Log teks multi-baris diparse secara salah. | Ekspresi reguler baris pertama atau ekspresi reguler baris terakhir diatur secara salah. | Verifikasi kebenaran ekspresi reguler baris pertama atau ekspresi reguler baris terakhir. |
Latensi tinggi terjadi saat mengimpor objek baru. | Terlalu banyak objek yang sudah ada. Artinya, terlalu banyak objek yang sesuai dengan filter awalan path file. | Jika jumlah objek yang sesuai dengan filter awalan path file terlalu besar (misalnya, lebih dari 1 juta), kami menyarankan agar Anda menetapkan awalan yang lebih spesifik dan membuat beberapa task impor data. Jika tidak, efisiensi penemuan file baru akan berkurang secara signifikan. |
Penanganan error
Error | Deskripsi |
File read failure | Saat membaca file, jika terjadi error file tidak lengkap karena pengecualian jaringan atau kerusakan file, task impor akan mencoba ulang secara otomatis. Jika pembacaan gagal setelah tiga kali percobaan ulang, file tersebut dilewati. Interval percobaan ulang sama dengan interval pemeriksaan file baru. Jika interval pemeriksaan file baru diatur ke Never Check, interval percobaan ulang adalah 5 menit. |
Compression format parsing error | Saat mendekompresi file, jika terjadi error format kompresi tidak valid, task impor akan melewati file tersebut. |
Data format parsing error | Jika data gagal diparse, job impor data akan menyimpan konten teks asli dalam field content log. |
S3 bucket does not exist | Task impor mencoba ulang secara berkala. Setelah bucket dibuat ulang, task impor akan melanjutkan secara otomatis. |
Permission error | Jika terjadi error izin saat membaca data dari bucket S3 atau menulis data ke logstore SLS, task impor akan mencoba ulang secara berkala. Setelah masalah izin diperbaiki, task impor akan melanjutkan secara otomatis. Saat terjadi error izin, task impor tidak melewatkan file apa pun. Oleh karena itu, setelah masalah izin diperbaiki, task impor akan secara otomatis mengimpor data dari objek yang belum diproses di bucket ke logstore SLS. |