All Products
Search
Document Center

Simple Log Service:Gunakan SLS Query Skill untuk kueri dan analisis log cerdas

Last Updated:Jul 04, 2026

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

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.

    Peringatan

    Untuk 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 -v

Jika 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-depth

Setelah 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

.claude/skills

~/.claude/skills

Codex

.agents/skills

~/.agents/skills

Qoder

.qoder/skills

~/.qoder/skills

QwenCode

.qwen/skills

~/.qwen/skills

OpenClaw

.openclaw/skills

~/.openclaw/skills

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:

  1. Memeriksa lingkungan runtime (Alibaba Cloud CLI dan plugin SLS).

  2. Membaca konfigurasi indeks Logstore tujuan.

  3. Membuat pernyataan kueri (kueri indeks, SQL, atau SPL) berdasarkan permintaan Anda.

  4. Menjalankan kueri menggunakan Alibaba Cloud CLI.

  5. 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 status dan request_uri, daripada menggunakan deskripsi yang samar.

  • Jika Anda membutuhkan hasil Top-N, tentukan jumlahnya dalam prompt, misalnya "Top 10".

Catatan

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.

Penting

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

log:GetLogStoreLogs

acs:log:<account>:<region>:project/<Project>/logstore/<Logstore>

GetIndex

log:GetIndex

acs:log:<account>:<region>:project/<Project>

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.