Simple Log Service (SLS) mendukung pengunduhan log atau hasil kueri dan analisis ke mesin lokal Anda. Topik ini menjelaskan metode dan prosedur pengunduhan.
Metode pengunduhan
Simple Log Service memungkinkan Anda mengunduh log atau hasil kueri dan analisis melalui konsol, Cloud Shell, command-line interface (CLI) Simple Log Service, atau SDK.
-
Metode CLI dan SDK tidak memiliki batas volume data untuk pengunduhan berbasis kueri. Namun, pengunduhan dapat terganggu oleh ketidakstabilan jaringan.
-
Pengunduhan terkompresi hanya didukung melalui konsol.
-
Panjang maksimum pernyataan kueri SQL adalah 32 KB. Jika melebihi batas tersebut, pecah kueri menjadi beberapa batch.
-
Jika LogStore menggunakan metode penagihan pay-by-ingested-data, pengunduhan hasil kueri dan analisis (hasil SQL) gratis. Untuk informasi selengkapnya, lihat pay-by-ingested-data.
-
Jika LogStore menggunakan metode penagihan pay-by-feature, pengunduhan hasil kueri dan analisis (hasil SQL) memerlukan Dedicated SQL, yang dikenai biaya. Untuk informasi selengkapnya mengenai biaya tersebut, lihat Item yang dikenai biaya untuk metode penagihan pay-by-feature.
|
Item perbandingan |
Konsol (direkomendasikan) |
OpenAPI |
CLI |
Cloud Shell |
SDK |
|
Batas volume data |
|
|
|
|
|
|
Penerapan |
Tidak ada |
Tidak ada |
Instal secara manual CLI Simple Log Service. |
Penerapan otomatis. Tunggu inisialisasi saat pertama kali dijalankan. |
Instal secara manual SDK Simple Log Service dan tulis kode kustom. |
|
Otorisasi |
Konfigurasi manual |
Konfigurasi otomatis |
Konfigurasi manual |
||
|
Dedicated SQL |
Diperlukan untuk mengunduh hasil analisis SQL. |
Diperlukan untuk mengunduh hasil analisis SQL. |
Tidak digunakan |
Tidak digunakan |
Konfigurasikan pengaturan parameter sesuai kebutuhan. |
|
Trafik internet arah keluar |
Tidak ada |
Tidak ada |
Biaya dibebaskan jika tool diterapkan pada instance ECS di wilayah yang sama dengan proyek dan menggunakan private endpoint Simple Log Service. |
Biaya dibebaskan jika proyek berada di wilayah China (Shanghai). |
Biaya dibebaskan jika tool diterapkan pada instance ECS di wilayah yang sama dengan proyek dan menggunakan private endpoint Simple Log Service. |
|
Integrasi Network Attached Storage (NAS) |
Tidak ada |
Tidak ada |
Konfigurasi manual, jika diperlukan. |
Konfigurasi otomatis |
Konfigurasi manual, jika diperlukan. |
Sebagai alternatif, gunakan LogShipper untuk mengirim log ke Object Storage Service (OSS) dan unduh dari OSS. Untuk informasi selengkapnya mengenai pengiriman log, lihat Buat tugas pengiriman OSS (Baru).
Prosedur
Konsol
Konsol Simple Log Service mendukung pengunduhan log maupun hasil kueri dan analisis. Langkah-langkah berikut menggunakan contoh pengunduhan log. Untuk mengunduh hasil kueri dan analisis, jalankan pernyataan kueri, lalu pada tab Graph, klik Download Log.
-
Jika log melebihi batas tugas tunggal, hanya jumlah maksimum yang diizinkan yang akan diunduh. Untuk mendapatkan log lengkap, persempit rentang waktu dan unduh dalam beberapa batch.
-
Setiap Akun Alibaba Cloud mendukung hingga tiga tugas unduh konkuren, tanpa batas pada jumlah total pengunduhan. Jika batas ini terlampaui atau beberapa pengguna Resource Access Management (RAM) memulai pengunduhan secara bersamaan, tunggu hingga tugas yang sedang berjalan selesai sebelum mencoba lagi.
-
Catatan unduh dihapus secara otomatis setelah satu hari.
-
Sistem akan mencoba ulang tugas unduh secara otomatis jika terjadi error jaringan atau kueri tidak akurat. Setelah tiga kali percobaan ulang, status tugas berubah menjadi Failed.
-
Perbedaan antara unduh online (Save As) dan unduh offline (Task Management):
-
Save As: Mengunduh hasil yang saat ini ditampilkan di halaman. Cocok untuk dataset kecil. Mengekspor volume besar, seperti ratusan ribu baris, dapat menyebabkan browser tidak merespons atau crash. Dalam kasus tersebut, gunakan fitur unduh offline di Task Management, atau persempit rentang waktu kueri untuk mengurangi volume.
-
Task Management (unduh offline): Dirancang untuk dataset besar. Tugas berjalan secara asinkron di latar belakang. Anda dapat menutup halaman setelah membuat tugas dan mengunduh file setelah tugas selesai.
-
Jumlah baris yang diunduh dari tugas offline mungkin sedikit berbeda dari jumlah yang ditampilkan dalam hasil kueri antarmuka depan. Perilaku ini merupakan hal yang diharapkan.
-
Jika refresh halaman menyebabkan operasi copy gagal atau unduh online gagal, gunakan fitur unduh log daripada copy-paste manual.
-
-
Tugas unduh offline tidak memiliki durasi tetap. Waktu yang dibutuhkan tergantung pada kondisi jaringan, rasio kompresi data Anda, beban sistem saat ini, dan apakah tugas harus membaca data dari penyimpanan Infrequent Access atau Archive. Simple Log Service tidak menyediakan SLA durasi maupun rumus untuk memperkirakan durasi, sehingga tugas yang lambat belum tentu gagal. Jika pengunduhan lambat atau tugas tidak menunjukkan kemajuan dalam waktu lama, persempit rentang waktu kueri menjadi satu hari atau satu minggu, buat tugas unduh dalam batch, lalu gabungkan file yang diunduh untuk mendapatkan log lengkap. Pengunduhan dalam batch meningkatkan kecepatan dan stabilitas unduhan. Jika rentang kueri mencakup data dari penyimpanan tiered (Infrequent Access atau Archive), waktu baca akan meningkat signifikan. Persempit lebih lanjut rentang waktu atau buat pernyataan kueri lebih selektif untuk mengurangi volume data yang dibaca dari tier penyimpanan tersebut.
-
Pemecahan masalah saat unduh online gagal tetapi unduh offline berhasil:
-
Periksa apakah koneksi jaringan stabil dan apakah kueri terlalu kompleks.
-
Coba unduh offline (Task Management) atau CLI/SDK, yang lebih stabil dan lebih cocok untuk volume data besar.
-
Jika unduh online terus gagal, persempit rentang waktu dan unduh dalam batch yang lebih kecil.
-
-
Jika tombol Download Log berwarna abu-abu dan tidak tersedia, periksa hal berikut:
-
Pastikan Anda berada di tab Raw Logs. Tampilan lain seperti grafik statistik tidak mendukung pengunduhan.
-
Pastikan kueri mengembalikan hasil. Jika hasil kueri kosong, tombol unduh akan berwarna abu-abu. Sesuaikan pernyataan kueri atau rentang waktu Anda dan jalankan kueri lagi.
-
Pastikan pengguna RAM telah diberikan izin terkait unduh, termasuk
log:CreateDownloadJobdanlog:ListDownloadJobs. Untuk informasi selengkapnya, lihat bagian Konfigurasi izin unduh dalam dokumen ini. -
Pastikan jumlah tugas unduh konkuren belum mencapai batas. Setiap Akun Alibaba Cloud mendukung hingga tiga tugas unduh konkuren. Jika batas tercapai, tunggu hingga tugas yang ada selesai sebelum mencoba lagi.
-
Jika kueri hanya mengembalikan sedikit hasil, misalnya hanya 20 baris, kondisi filter mungkin terlalu ketat. Coba perluas rentang waktu atau sesuaikan pernyataan kueri.
-
-
Masuk ke konsol Simple Log Service.
-
Di bagian Projects, klik proyek target.
-
Di panel navigasi kiri, pilih . Di halaman LogStores, klik LogStore target.
-
Masukkan pernyataan kueri dan pilih rentang waktu.
-
Di tab Raw Logs, pilih .
-
Di kotak dialog Download Log, konfigurasikan parameter berikut dan klik OK.
Parameter
Deskripsi
Task Name
Nama tugas unduh.
Log Quantity
Jumlah log yang akan diunduh.
Data Format
CSV atau JSON.
-
CSV: Nama kolom berasal dari 100 field log pertama. Field baru pada log berikutnya disimpan dalam format JSON di kolom terakhir tanpa nama.
-
JSON: Setiap entri log merupakan satu baris JSON.
Quote
Membungkus field yang berisi karakter khusus untuk mencegah escaping yang tidak diinginkan.
Download Inaccurate Results
Jika Anda memilih No, pengunduhan akan gagal jika hasil kueri tidak akurat.
Compression Method
gzip, lz4, zstd, atau none.
Kompresi secara signifikan mengurangi ukuran file dan waktu unduh untuk dataset besar.
-
-
Di kotak dialog Download Tasks, tunggu hingga Status tugas berubah menjadi Successful, lalu klik Download untuk menyimpan log ke mesin lokal Anda.
Atau, di tab Raw Logs, Anda dapat memilih untuk membuka kotak dialog Download Tasks dan melihat catatan unduh.
OpenAPI
Panggil operasi CreateDownloadJob untuk membuat tugas unduh log.
-
Jika log melebihi batas tugas tunggal, hanya jumlah maksimum yang diizinkan yang akan diunduh. Untuk mendapatkan log lengkap, persempit rentang waktu dan unduh dalam beberapa batch.
-
Setiap Akun Alibaba Cloud mendukung hingga tiga tugas unduh konkuren, tanpa batas pada jumlah total pengunduhan. Jika batas ini terlampaui atau beberapa pengguna RAM memulai pengunduhan secara bersamaan, tunggu hingga tugas yang sedang berjalan selesai sebelum mencoba lagi.
-
Catatan unduh dihapus secara otomatis setelah satu hari.
-
Sistem akan mencoba ulang tugas unduh secara otomatis jika terjadi error jaringan atau kueri tidak akurat. Setelah tiga kali percobaan ulang, status tugas berubah menjadi Failed.
Catatan untuk pengunduhan batch OpenAPI:
-
Persyaratan konfigurasi indeks: Saat memanggil API GetLogs atau menjalankan kueri SQL, pastikan field yang dikueri telah dikonfigurasi dalam indeks LogStore. Jika field yang dikueri tidak diindeks, error
ParameterInvalidakan dikembalikan. Untuk informasi selengkapnya, lihat CreateIndex. -
Unduh field tertentu: Untuk mengunduh field tertentu seperti
message, gunakan pernyataan SELECT untuk memfilter hasil, misalnya* | SELECT message, sebelum mengeksekusi unduh. Hal ini mengurangi transfer data yang tidak perlu.
Cloud Shell
Cloud Shell diterapkan di China (Shanghai). Pengunduhan dari LogStore di wilayah lain dikenai biaya trafik internet arah keluar. Harga.
Ekspor log skala besar: Untuk volume log besar, seperti ratusan juta entri, gunakan Cloud Shell atau CLI/SDK daripada mengunduh dalam batch melalui konsol. Cloud Shell tidak memerlukan instalasi dependensi manual dan cocok untuk tugas ekspor skala besar.
Untuk langkah-langkah detail, lihat Gunakan Cloud Shell untuk mengunduh data log.
CLI
Untuk volume log besar, gunakan command line interface.
-
Instal command line interface. Untuk informasi selengkapnya, lihat Instal CLI.
-
Dapatkan pasangan AccessKey akun Anda. Untuk informasi selengkapnya, lihat Pasangan AccessKey.
-
Dapatkan perintah yang mengunduh log. Untuk langkah-langkah detail, lihat get_log_all.
Contoh: Perintah berikut mengunduh log dan menyimpannya ke
downloaded_data.txtdi direktori kerja.aliyunlog log get_log_all --project="aliyun-test-project" --Logstore="aliyun-test-Logstore" --from_time="2024-07-01 15:33:00+8:00" --to_time="2024-07-09 15:23:00+8:00" --query="status:200|select request_method as method,COUNT(*) as pv group by method order by pv" --region-endpoint="cn-hangzhou.log.aliyuncs.com" --format-output=json --access-id="LT***CyGg" --access-key="8P***zi" >> ./downloaded_data.txt
Perintah unduh log dari command-line interface (CLI) Simple Log Service saat ini tidak mendukung parameter --compress dan --query dalam perintah yang sama. Jika Anda perlu memfilter log berdasarkan kondisi dan mengompresi unduhan volume data besar secara bersamaan, panggil operasi CreateDownloadJob untuk membuat tugas unduh sebagai gantinya.
Untuk informasi selengkapnya, lihat Gunakan CLI SLS.
SDK
Untuk volume log besar, gunakan kit pengembangan perangkat lunak (SDK) Simple Log Service.
SDK menggunakan API yang sama untuk mengunduh dan mengkueri log.
Kode berikut adalah contoh SDK Python:
import os
import time
from aliyun.log import LogClient
from aliyun.log import GetLogsRequest
# Titik akhir Simple Log Service.
endpoint = 'cn-qingdao.log.aliyuncs.com'
# Contoh ini mendapatkan ID AccessKey dan rahasia AccessKey dari variabel lingkungan.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Nama proyek.
project = 'your-project-name'
# Nama Logstore.
Logstore = 'your-Logstore-name'
client = LogClient(endpoint, accessKeyId, accessKey)
request = GetLogsRequest(project, Logstore, fromTime=int(time()-3600), toTime=int(time()), topic='', query="*", line=100, offset=0, reverse=False)
# Atau
# request = GetLogsRequest(project, Logstore, fromTime="2018-1-1 10:10:10", toTime="2018-1-1 10:20:10", topic='', query="*", line=100, offset=0, reverse=False)
res = client.get_logs(request)
res.log_print()
Untuk informasi selengkapnya, lihat Ikhtisar Referensi SDK.
FAQ
Bagaimana cara mengunduh hanya field tertentu melalui konsol?
Untuk mengunduh hanya field tertentu melalui konsol, pastikan terlebih dahulu bahwa setiap field yang Anda inginkan, seperti pod_name, time, atau content, telah memiliki field index yang dibuat dalam indeks LogStore dan statistik diaktifkan. Field index hanya berlaku untuk log yang ditulis setelah indeks dibuat atau diperbarui, sehingga log historis harus di-reindex sebelum Anda dapat mengkueri dan mengagregasikannya berdasarkan field.
Di halaman kueri dan analisis, jalankan pernyataan SQL yang hanya menyertakan field yang ingin Anda unduh. Pernyataan tersebut berbentuk kondisi kueri | SELECT "field1", field2. Contohnya:
__tag__:__container_name__: tms-prod-bp-server | SELECT "__tag__:__pod_name__", __time__, content
Setelah kueri dijalankan, buka tab Graph dan klik Download Log untuk mengunduh hasil kueri dan analisis. Untuk mengekspor hasil yang berisi kata kunci tertentu dan menaikkan batas jumlah baris yang dikembalikan, tambahkan limit ke pernyataan tersebut. Contohnya:
keyword | select content limit 999999
Anda juga dapat mengunduh field tertentu melalui OpenAPI. Bagian OpenAPI dalam topik ini menjelaskan persyaratan konfigurasi indeks dan penggunaan pernyataan SELECT. Pengunduhan hasil analisis SQL menggunakan Dedicated SQL. Untuk LogStore yang metode penagihannya adalah pay-by-ingested-data, pengunduhan hasil kueri dan analisis gratis. Untuk aturan penagihan yang berlaku, lihat bagian Metode pengunduhan dalam topik ini.
Apa yang harus dilakukan jika daftar log konsol tidak terbuka, halaman timeout, atau unduh online gagal?
Jika daftar log konsol tidak terbuka, halaman timeout, atau unduh online gagal, pertama-tama bersihkan cache browser, buka konsol lagi dalam mode penyamaran, atau beralih ke Chrome atau Edge. Pastikan juga koneksi jaringan Anda stabil, dan akses konsol dari lingkungan jaringan yang dekat dengan wilayah LogStore.
Jika masalah tetap berlanjut, periksa apakah jumlah tugas unduh konkuren Akun Alibaba Cloud Anda telah mencapai batas. Batas ini juga tercapai ketika beberapa pengguna Resource Access Management (RAM) memulai pengunduhan secara bersamaan. Blok catatan penting di bagian Konsol dalam topik ini menjelaskan batas konkurensi dan pemeriksaan yang harus dilakukan saat unduh online gagal tetapi unduh offline berhasil.
Jika antarmuka depan konsol terus gagal, lakukan ekspor log besar melalui command line interface (CLI), Cloud Shell, atau kit pengembangan perangkat lunak (SDK) Simple Log Service sebagai gantinya. Metode-metode ini tidak bergantung pada browser atau halaman konsol.
Berapa lama catatan ekspor log konsol disimpan, dan bagaimana cara meninjau riwayat unduh?
Daftar Download Tasks di konsol hanya menyimpan catatan ekspor selama 1 hari terakhir. Catatan ekspor yang lebih dari 1 hari dihapus secara otomatis, jadi unduh file sebelum catatan kedaluwarsa.
Untuk meninjau riwayat unduh yang lebih lama, seperti pemanggilan API yang membuat tugas unduh, gunakan audit operasi (ActionTrail) untuk mengkueri catatan operasi API manajemen akun Anda.
Bagaimana cara menghitung ukuran rata-rata satu entri log?
Gunakan fitur unduh offline untuk menghitung ukuran rata-rata satu entri log. Pilih periode dengan lonjakan lalu lintas dan periode dengan lalu lintas normal, buat tugas unduh untuk masing-masing periode di konsol, dan unduh kedua file ke mesin lokal Anda. Lalu bagi jumlah total byte file dengan jumlah entri log di dalamnya. Misalnya, jalankan wc -c di Linux untuk mendapatkan jumlah byte file, atau gunakan skrip Python untuk menghitung byte dan entri dalam satu proses.
Untuk volume data besar, unduh log dalam beberapa rentang waktu dan hitung masing-masing rentang secara terpisah. Satu unduhan dibatasi oleh batasan dalam tabel perbandingan Metode pengunduhan dalam topik ini: untuk kueri tanpa analisis, hingga 20 juta baris di wilayah China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), dan Singapura serta hingga 1 juta baris di wilayah lainnya, dengan volume data tidak lebih dari 20 GB; untuk analisis SQL, volume data tidak lebih dari 2 GB. Jika satu ekspor masih belum memenuhi kebutuhan Anda, gunakan LogShipper untuk mengirim log ke Object Storage Service (OSS) dan unduh dari OSS. Untuk informasi selengkapnya, lihat Buat tugas pengiriman OSS (Baru).
Mengapa Task Name dan Display Name diperlukan di kotak dialog unduh?
Task Name dan Display Name keduanya merupakan parameter yang diperlukan dalam operasi CreateDownloadJob yang membuat tugas unduh log. Task Name mengidentifikasi secara unik tugas unduh dalam proyek yang sama, sehingga konsol dan API dapat mengarah tepat ke satu tugas saat Anda mengkueri statusnya atau menghapusnya. Display Name adalah pengenal yang ditampilkan kepada Anda di daftar konsol, yang memudahkan pengelolaan dan pencarian tugas unduh di kemudian hari.
> Download Log