alibabacloud-sls-query adalah Agent Skill yang memungkinkan Anda melakukan kueri dan analisis data log Simple Log Service (SLS) dalam bahasa alami melalui AI Agent. Setelah diinstal, Agent akan mengonversi maksud kueri Anda menjadi pernyataan kueri SLS, mengeksekusinya, dan mengembalikan hasil terstruktur.
Skenario
|
Skenario |
Deskripsi |
Contoh prompt |
|
Log retrieval |
Kueri detail log berdasarkan kondisi seperti kata kunci, field, kode status, Trace ID, atau ID pengguna. |
Kueri detail log akses NGINX dengan status lebih besar dari atau sama dengan 500 dalam 10 menit terakhir. |
|
SQL statistical analysis |
Lakukan agregasi, pengelompokan, pengurutan, analisis Top-N, analisis tren, atau proyeksi field pada log. |
Cari 10 API teratas dengan jumlah error 5xx terbanyak dalam satu jam terakhir. |
|
Query statement generation |
Konversi permintaan dalam bahasa alami menjadi pernyataan kueri indeks SLS, pernyataan SQL, atau pernyataan Structured Process Language (SPL). |
Buat pernyataan kueri untuk menghitung latensi rata-rata dan latensi P95 per menit. |
|
Query optimization |
Optimalkan kueri yang ada berdasarkan konfigurasi indeks dan tipe field untuk mengurangi pemindaian data yang tidak perlu. |
Optimalkan pernyataan kueri yang ada agar memprioritaskan penggunaan indeks field dan mengurangi pemindaian data yang tidak perlu. |
Prasyarat
-
Proyek Simple Log Service dan Logstore telah dibuat, serta data log telah dikumpulkan.
-
Indeks telah dibuat untuk Logstore target. Kueri SLS, analisis SQL, dan kueri SPL tidak dapat dijalankan tanpa indeks.
-
Kredensial Akun Alibaba Cloud yang diperlukan untuk mengakses proyek dan Logstore tujuan telah diperoleh.
PeringatanUntuk mencegah kebocoran kredensial, jangan tempelkan ID AccessKey atau Rahasia AccessKey Anda ke dalam obrolan Agent. Kelola kredensial dengan menggunakan variabel lingkungan atau file konfigurasi Alibaba Cloud CLI.
Instal skill
alibabacloud-sls-query tersedia di Alibaba Cloud Skill dan ClawHub. Anda dapat menginstalnya dengan salah satu metode berikut.
Metode 1 (direkomendasikan): Instal menggunakan perintah npx
Perintah npx disertakan bersama Node.js. Sebelum menginstal skill, jalankan perintah berikut untuk memverifikasi bahwa lingkungan lokal Anda siap:
node -v
npx -v
Jika terminal menunjukkan bahwa node atau npx tidak ditemukan, kunjungi website resmi Node.js untuk mengunduh dan menginstalnya.
Jalankan perintah berikut untuk menginstal skill alibabacloud-sls-query:
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-sls-query --full-depth
Setelah instalasi selesai, verifikasi bahwa folder alibabacloud-sls-query ada di folder skills, lalu restart Agent agar skill tersebut berlaku.
Metode 2: Unduh dan instal secara manual
Unduh paket instalasi alibabacloud-sls-query dari GitHub Releases, ekstrak paket tersebut, lalu salin file-filenya ke folder instalasi skills Agent.
Setelah menyalin, pastikan folder alibabacloud-sls-query ada di folder skills, lalu restart Agent untuk memuat skill tersebut.
Folder instalasi skills untuk Agent umum adalah sebagai berikut:
|
Agent |
Folder instalasi tingkat proyek |
Folder instalasi tingkat pengguna |
|
Claude Code |
|
|
|
Codex |
|
|
|
Qoder |
|
|
|
QwenCode |
|
|
|
OpenClaw |
|
|
Kueri dan analisis log
Setelah instalasi, Anda dapat memicu skill ini dengan mendeskripsikan permintaan kueri atau analisis SLS Anda di Agent. Agent secara otomatis melakukan langkah-langkah berikut:
-
Memeriksa lingkungan runtime, termasuk Alibaba Cloud CLI dan plugin SLS.
-
Membaca konfigurasi indeks Logstore tujuan.
-
Menghasilkan pernyataan kueri (kueri indeks, SQL, atau SPL) berdasarkan permintaan Anda.
-
Menjalankan kueri menggunakan Alibaba Cloud CLI.
-
Mengembalikan hasil terformat dan terstruktur.
Pada kueri pertama kali, Agent akan memandu Anda melalui proses instalasi Alibaba Cloud CLI dan konfigurasi kredensial. Ikuti prompt untuk memberikan izin eksekusi dan menyelesaikan konfigurasi.
Praktik terbaik untuk prompt
Kualitas prompt secara langsung memengaruhi akurasi hasil kueri. Prompt yang baik mencakup informasi berikut:
-
Nama proyek dan nama Logstore.
-
Maksud kueri atau analisis yang jelas. Misalnya, "Analisis perubahan latensi permintaan periode ke periode dan hitung latensi rata-rata per menit."
-
Rentang waktu untuk kueri. Misalnya, "15 menit terakhir" atau "dari pukul 10.00 hingga 11.00 pada 24 April 2026, UTC+8".
-
Format output yang diinginkan. Misalnya, "kembalikan log mentah", "hitung 10 teratas", "tampilkan tren per menit", atau "kembalikan hanya field-field ini".
Untuk meningkatkan efisiensi kueri dan mengurangi biaya:
-
Persempit rentang waktu sebanyak mungkin untuk menghindari pemindaian penuh.
-
Tentukan nama field secara eksplisit, seperti
statusdanrequest_uri, daripada menggunakan deskripsi yang samar. -
Jika Anda membutuhkan hasil Top-N, tentukan angkanya dalam prompt, misalnya "Top 10".
Proyek, Logstore, nama field, dan hasil kueri dalam contoh berikut hanya untuk tujuan demonstrasi. Gantilah dengan nama resource dan field log aktual Anda.
Skenario 1: Kueri log error 5xx dari 15 menit terakhir
Prompt
Kueri SLS Logstore dengan Project=prod-web dan Logstore=nginx-access untuk permintaan dengan status >= 500 dalam 15 menit terakhir, diurutkan menurun berdasarkan waktu.
Contoh output Agent
Mode kueri: Kueri indeks.
Alasan: Pengguna meminta log mentah berdasarkan kondisi, yang tidak melibatkan agregasi, pengurutan, analisis, atau proyeksi field. Field status dikonfigurasi dengan indeks tipe numerik, sehingga kueri rentang dapat digunakan langsung.
Perintah yang dijalankan:
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1777016700 \
--to 1777017600 \
--query 'status>=500' \
--line 100 \
--offset 0 \
--reverse true
Hasil kueri:
| Time | status | request_uri | upstream_status | request_time | message |
| --- | ---: | --- | ---: | ---: | --- |
| 2026-04-24 15:59:31 | 502 | /api/order/create | 502 | 1.238 | upstream connect timeout |
| 2026-04-24 15:58:44 | 500 | /api/pay/notify | 500 | 0.412 | internal server error |
| 2026-04-24 15:57:09 | 502 | /api/order/create | 502 | 1.104 | bad gateway |
Kesimpulan: Log mentah error 5xx dari 15 menit terakhir telah dikembalikan dalam urutan menurun berdasarkan waktu. Error terbaru terkonsentrasi di /api/order/create.
Skenario 2: Cari 10 API teratas dengan error 5xx
Prompt
Cari 10 API teratas dengan jumlah error 5xx terbanyak dalam satu jam terakhir di SLS Logstore prod-web/nginx-access.
Contoh output Agent
Mode kueri: Kueri indeks + SQL.
Alasan: Untuk mencari 10 API teratas dengan jumlah error 5xx terbanyak, kueri indeks digunakan terlebih dahulu untuk memfilter kode status dari 500 hingga 599. Kemudian, SQL digunakan untuk mengelompokkan berdasarkan request_uri, menghitung jumlah error, dan mengurutkan hasilnya.
Perintah yang dijalankan:
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1777014000 \
--to 1777017600 \
--query 'status in [500 599] | SELECT request_uri, count(*) AS errors FROM log GROUP BY request_uri ORDER BY errors DESC LIMIT 10'
Hasil kueri:
| Rank | request_uri | errors |
| --- | --- | ---: |
| 1 | /api/order/create | 186 |
| 2 | /api/pay/notify | 73 |
.....
| 10 | /api/user/login | 1 |
Kesimpulan: API dengan jumlah error 5xx tertinggi dalam satu jam terakhir adalah /api/order/create. Jumlah error-nya jauh lebih tinggi dibanding API lain. Investigasi API ini dan dependensi backend-nya terlebih dahulu.
Skenario 3: Bandingkan tren latensi satu jam terakhir dengan periode yang sama kemarin
Prompt
Di SLS Logstore prod-web/nginx-access, analisis perubahan latensi rata-rata selama satu jam terakhir dibandingkan dengan periode yang sama kemarin. Hitung nilai rata-rata per menit dan tentukan apakah terdapat anomali latensi signifikan.
Contoh output Agent
Mode kueri: Kueri indeks + SQL
Alasan: Permintaan ini memerlukan agregasi latensi rata-rata per menit untuk satu jam terakhir dan periode yang sama kemarin. Hasilnya kemudian disejajarkan per menit untuk menghitung perubahan dan laju perubahannya.
Perintah yang dijalankan (untuk satu jam terakhir):
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1777014000 \
--to 1777017600 \
--query "* | SELECT date_trunc('minute', __time__) AS minute, avg(request_time) AS avg_latency FROM log GROUP BY minute ORDER BY minute LIMIT 60"
Perintah yang dijalankan (untuk periode yang sama kemarin):
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1776927600 \
--to 1776931200 \
--query "* | SELECT date_trunc('minute', __time__) AS minute, avg(request_time) AS avg_latency FROM log GROUP BY minute ORDER BY minute LIMIT 60"
Hasil kueri:
| Minute | Current average latency | Average latency (yesterday) | Change | Change rate |
| --- | ---: | ---: | ---: | ---: |
| 2026-04-24 15:00 | 0.132s | 0.118s | +14ms | +11.9% |
| 2026-04-24 15:01 | 0.141s | 0.116s | +25ms | +21.6% |
| 2026-04-24 15:02 | 0.338s | 0.129s | +209ms | +162.0% |
| 2026-04-24 15:03 | 0.351s | 0.131s | +220ms | +167.9% |
Kesimpulan: Latensi rata-rata keseluruhan dalam satu jam terakhir lebih tinggi dibanding periode yang sama kemarin. Peningkatan paling signifikan terjadi antara pukul 15:02 dan 15:03, di mana latensi rata-rata meningkat lebih dari 160%. Lakukan penyelidikan lebih dalam berdasarkan dimensi request_uri, upstream_addr, atau layanan untuk mengidentifikasi sumber peningkatan latensi.
Skenario 4: Ajukan pertanyaan lanjutan berdasarkan hasil kueri
SLS Query Skill mendukung percakapan multi-putaran. Anda dapat mengajukan pertanyaan lanjutan berdasarkan hasil sebelumnya untuk mempersempit investigasi secara bertahap.
Prompt pertama
Cari 5 API teratas dengan jumlah error 5xx terbanyak dalam satu jam terakhir di SLS Logstore prod-web/nginx-access.
Prompt kedua (lanjutan berdasarkan hasil pertama)
Untuk API /api/order/create, tampilkan tren jumlah error per menit untuk melihat apakah error terjadi secara mendadak atau tersebar merata.
Prompt ketiga (penyelidikan lebih dalam)
Tampilkan log mentah error 5xx untuk /api/order/create antara pukul 15:02 dan 15:05, dan kembalikan field upstream_addr dan message.
Dengan mengajukan pertanyaan lanjutan, Anda dapat menyelidiki lebih dalam dari statistik tingkat tinggi hingga log mentah untuk periode waktu tertentu dan dengan cepat mengidentifikasi akar penyebab kegagalan.
Keamanan dan privasi data
SLS Query Skill menjalankan kueri menggunakan Alibaba Cloud CLI. Proses kueri mengikuti prinsip keamanan berikut:
-
Permintaan kueri dienkripsi dan ditransmisikan melalui HTTPS. Data log tidak melewati layanan pihak ketiga apa pun.
-
Agent menghasilkan dan menjalankan perintah kueri secara lokal. Data log tidak dikirim ke penyedia model AI.
-
Informasi kredensial (AccessKey) dikelola menggunakan file konfigurasi Alibaba Cloud CLI atau variabel lingkungan dan tidak muncul dalam riwayat obrolan Agent.
Jangan tempelkan ID AccessKey atau Rahasia AccessKey Anda langsung ke dalam obrolan Agent. Untuk mengonfigurasi kredensial, jalankan perintah aliyun configure.
Batasan
|
Batasan |
Deskripsi |
|
Index configuration |
Indeks harus dibuat untuk Logstore tujuan. Jika tidak ada indeks yang dikonfigurasi, semua jenis kueri tidak dapat dijalankan. |
|
Query timeout |
Timeout default untuk satu kueri adalah 60 detik. Jika kueri timeout, coba persempit rentang waktu atau sederhanakan kondisi kueri. |
|
Data scan volume |
Biaya kueri bergantung pada volume data yang dipindai. Persempit rentang waktu dan gunakan indeks field untuk mengurangi pemindaian penuh yang tidak perlu. |
|
Runtime environment |
Memerlukan runtime Node.js (untuk menginstal skill) dan Alibaba Cloud CLI (untuk menjalankan kueri). |
FAQ
Apakah saya perlu menginstal Alibaba Cloud CLI dan plugin SLS secara manual?
Dalam kebanyakan kasus, instalasi manual tidak diperlukan. Saat Anda mengirim permintaan kueri, Agent secara otomatis memeriksa lingkungan (aliyun version), mengaktifkan AI Mode, mengatur User-Agent, dan memperbarui plugin.
Jika Alibaba Cloud CLI belum diinstal atau versinya sudah usang, Agent akan memberikan instruksi instalasi atau peningkatan. Jalankan perintah yang diberikan oleh Agent di lingkungan lokal Anda untuk menyelesaikan penyiapan.
Bagaimana cara mengonfigurasi kredensial Akun Alibaba Cloud saya?
Anda dapat mengikuti prompt Agent untuk mengonfigurasi kredensial akun, atau jalankan perintah aliyun configure secara manual. Beberapa metode konfigurasi kredensial didukung, seperti AK, StsToken, OAuth, dan RamRole. Untuk informasi lebih lanjut, lihat Configure and manage credentials.
Apakah endpoint internal same-region, titik akhir percepatan, dan domain kustom didukung?
Ya. Dalam prompt Anda, Anda dapat menginstruksikan Agent untuk menggunakan endpoint tertentu dengan menyertakan parameter --endpoint <domain_name>.
Apa yang harus saya lakukan jika hasil kueri tidak akurat?
Periksa dan optimalkan hal berikut:
-
Konfirmasi bahwa indeks dikonfigurasi dengan benar untuk field tujuan dan tipe field sesuai dengan kondisi kueri. Misalnya, field
statusharus bertipe long, bukan text. -
Tentukan nama field, rentang waktu, dan format yang diinginkan secara jelas dalam prompt Anda untuk menghindari ambiguitas.
-
Tinjau pernyataan kueri yang dikembalikan oleh Agent untuk memeriksa apakah logikanya benar. Gunakan pertanyaan lanjutan untuk memperbaiki kondisi kueri.
Pemecahan Masalah
Error IndexConfigNotExist
Error ini menunjukkan bahwa Logstore tujuan tidak memiliki konfigurasi indeks atau indeksnya kosong.
Solusi: Di Konsol Simple Log Service, buat indeks untuk Logstore tujuan. Setelah indeks dibuat, tunggu hingga data baru diindeks sebelum menjalankan kueri lagi.
Error Unauthorized
Error ini menunjukkan bahwa akun atau Pengguna RAM saat ini tidak memiliki izin yang diperlukan.
Solusi: Berikan izin berikut kepada akun saat ini:
|
Nama API |
Action |
Resource |
|
GetLogsV2 |
|
|
|
GetIndex |
|
|
Error ProjectNotExist
Error ini biasanya terjadi jika nama proyek salah, wilayah tidak sesuai, atau Anda mengakses endpoint yang salah.
Solusi: Konfirmasi informasi berikut:
-
Verifikasi bahwa nama proyek benar.
-
Verifikasi bahwa wilayah sesuai dengan wilayah proyek.
-
Periksa apakah lingkungan jaringan Anda memerlukan endpoint internal same-region.