alibabacloud-sls-query adalah Agent Skill yang memungkinkan Anda menggunakan bahasa alami untuk melakukan kueri dan menganalisis data log Simple Log Service (SLS) dalam AI Agent. Setelah menginstal skill ini, Agent secara otomatis mengonversi maksud kueri Anda menjadi pernyataan kueri SLS, mengeksekusinya, dan mengembalikan hasil analisis terstruktur.
Skenario
Skenario | Deskripsi | Contoh prompt |
Log retrieval | Lakukan kueri detail log berdasarkan kondisi seperti kata kunci, field, kode status, Trace ID, atau user ID. | 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 | Mengonversi permintaan 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 | Mengoptimalkan 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
Anda telah membuat proyek Simple Log Service dan Logstore, serta mengumpulkan data log.
Anda telah membuat indeks untuk LogStore target. Anda tidak dapat menjalankan kueri SLS, analisis SQL, atau kueri SPL tanpa indeks.
Dapatkan kredensial Akun Alibaba Cloud yang diperlukan untuk mengakses proyek dan Logstore tujuan.
PeringatanUntuk mencegah kebocoran kredensial, jangan tempelkan ID AccessKey atau Rahasia AccessKey Anda ke dalam obrolan Agent. Kelola kredensial menggunakan variabel lingkungan atau file konfigurasi Alibaba Cloud command-line interface (CLI).
Instal skill
alibabacloud-sls-query dipublikasikan di Alibaba Cloud Skill dan ClawHub dan dapat diinstal menggunakan metode berikut.
Metode 1 (disarankan): Instal menggunakan perintah npx
Perintah npx disertakan bersama Node.js. Sebelum menginstal skill, jalankan perintah berikut untuk memastikan lingkungan lokal Anda siap:
node -v
npx -vJika terminal menunjukkan bahwa node atau npx tidak ada, 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-depthSetelah instalasi selesai, pastikan folder alibabacloud-sls-query ada di dalam folder skills. Kemudian, 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 dan salin file-filenya ke folder instalasi skills Agent.
Setelah menyalin, pastikan folder alibabacloud-sls-query ada di dalam folder skills. Kemudian, 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 langsung di Agent. Agent secara otomatis melakukan langkah-langkah berikut:
Memeriksa lingkungan runtime (Alibaba Cloud CLI dan plugin SLS).
Membaca konfigurasi indeks Logstore tujuan.
Membuat pernyataan kueri (kueri indeks, SQL, atau SPL) berdasarkan permintaan Anda.
Menjalankan kueri menggunakan Alibaba Cloud CLI.
Menampilkan hasil terstruktur yang telah diformat.
Pada kueri pertama kali, Agent akan memandu Anda melalui proses instalasi Alibaba Cloud CLI dan konfigurasi kredensial. Ikuti petunjuk untuk memberikan izin eksekusi dan menyelesaikan konfigurasi.
Praktik terbaik untuk prompt
Kualitas prompt Anda 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 year-over-year pada latensi permintaan 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 jumlahnya 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: Agent Output
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 dibandingkan API lain. Selidiki 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 dibandingkan 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 drill down 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 kueri sebelumnya untuk secara bertahap mempersempit investigasi Anda.
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 (drill-down lebih lanjut)
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 melakukan drill down dari statistik tingkat tinggi ke log mentah untuk periode waktu tertentu guna mengidentifikasi penyebab kegagalan secara cepat.
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 melalui 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, gunakan perintah aliyun configure.
Batasan
Batasan | Deskripsi |
Konfigurasi indeks | Indeks harus dibuat untuk Logstore tujuan. Jika indeks tidak dikonfigurasi, tidak ada jenis kueri yang dapat dijalankan. |
Timeout kueri | Timeout default untuk satu kueri adalah 60 detik. Jika kueri timeout, coba persempit rentang waktu atau sederhanakan kondisi kueri. |
Volume pemindaian data | Biaya kueri berkaitan dengan volume data yang dipindai. Persempit rentang waktu dan gunakan indeks field untuk mengurangi pemindaian penuh yang tidak perlu. |
Lingkungan runtime | 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 di Agent, Agent secara otomatis memeriksa lingkungan (aliyun version), mengaktifkan AI Mode, mengatur User-Agent, dan memperbarui plugin.
Jika Alibaba Cloud CLI belum diinstal di mesin lokal Anda atau versinya terlalu lama, Agent akan memberikan instruksi instalasi atau peningkatan. Jalankan perintah yang disediakan oleh Agent di lingkungan lokal Anda untuk menyelesaikan pengaturan.
Bagaimana cara mengonfigurasi kredensial Akun Alibaba Cloud saya?
Anda dapat mengikuti petunjuk Agent untuk mengonfigurasi kredensial akun Anda, atau Anda dapat menjalankan perintah aliyun configure secara manual. Beberapa metode konfigurasi kredensial didukung, seperti AK, StsToken, OAuth, dan RamRole. Untuk informasi lebih lanjut, lihat Konfigurasi dan kelola kredensial identitas.
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:
Pastikan indeks dikonfigurasi dengan benar untuk field tujuan dan tipe field sesuai dengan kondisi kueri. Misalnya, field `status` harus 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 konfigurasi 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 RAM user 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: Pastikan informasi berikut:
Apakah nama proyek akurat?
Wilayah sesuai dengan wilayah proyek.
Periksa apakah lingkungan jaringan Anda memerlukan endpoint internal same-region.