alibabacloud-sls-sdk-guidance adalah Agent Skill yang disediakan oleh Simple Log Service (SLS) untuk skenario integrasi SDK. Kemampuan ini membantu agen memberikan hasil yang lebih baik dalam memilih SDK, mengonfigurasi instalasi, dan menulis kode integrasi.
Kemampuan ini menyediakan fitur-fitur berikut:
Dukungan multi-bahasa: mencakup lebih dari 10 bahasa SDK, termasuk Java, Go, Python, dan Node.js.
Cakupan seluruh pipeline: mendukung ingestion log, konsumsi, kueri, dan manajemen sumber daya.
Pemilihan SDK cerdas: secara otomatis merekomendasikan SDK dan metode integrasi terbaik berdasarkan bahasa pemrograman dan kasus penggunaan Anda.
Generasi kode instan: menghasilkan perintah instalasi SDK, kode inisialisasi, dan contoh lengkap dari prompt bahasa alami.
Skema Penggunaan
Skenario | Deskripsi | Contoh prompt |
Pemilihan SDK | Merekomendasikan SDK terbaik berdasarkan bahasa pemrograman dan kasus penggunaan Anda (ingestion, konsumsi, kueri, atau manajemen sumber daya), serta menjelaskan alasan pemilihannya. | Proyek Java saya memerlukan ingestion log throughput tinggi ke SLS dan konsumsi log berbasis Consumer Group. SDK apa yang harus saya gunakan? |
Instalasi dan konfigurasi | Menyediakan konfigurasi dependensi dan perintah instalasi untuk Maven, pip, go get, npm, NuGet, Composer, Cargo, dan manajer paket lainnya. | Bagaimana cara menginstal SLS SDK di proyek Go? Berikan perintah |
Ingestion log | Memandu Anda dalam mengirimkan log menggunakan Producer SDK, SDK spesifik bahasa, atau Appender framework log. Termasuk contoh kode lengkap. | Gunakan Java Producer SDK untuk menulis log secara asinkron dalam batch ke SLS. Berikan dependensi Maven dan contoh kodenya. |
Konsumsi log | Memandu Anda dalam mengonsumsi log dari Logstore SLS menggunakan consumer group, termasuk implementasi Processor dan manajemen checkpoint. | Proyek Java saya memerlukan konsumsi log berbasis Consumer Group dari SLS dengan checkpointing otomatis dan load balancing multi-instans. Berikan kodenya. |
Integrasi Appender | Memandu Anda mengintegrasikan aplikasi Log4j, Log4j 2, atau Logback dengan SLS melalui file konfigurasi tanpa perubahan kode sama sekali. | Proyek saya menggunakan Log4j 2. Bagaimana cara mengirim log ke SLS melalui Appender? Berikan dependensi Maven dan konfigurasi log4j2.xml. |
Perbandingan SDK | Menjelaskan perbedaan antara keluarga SDK alibabacloud (OpenAPI) dan aliyun (tradisional), serta skenario penggunaan masing-masing. | Apa perbedaan antara |
Prasyarat
Kredensial Akun Alibaba Cloud (ID AccessKey dan Secret AccessKey) hanya diperlukan ketika kode SDK Anda mengakses sumber daya SLS.
Tersedia setidaknya satu agen yang mendukung instalasi skill, seperti Qoder, Claude Code, Codex, atau OpenClaw.
Untuk mencegah kebocoran kredensial, jangan tempelkan ID AccessKey atau Secret AccessKey Anda ke percakapan agen. Contoh kode yang dihasilkan oleh skill ini membaca kredensial dari variabel lingkungan.
Instalasi skill
alibabacloud-sls-sdk-guidance dipublikasikan di Alibaba Cloud Skills, ClawHub, dan platform lainnya. Anda dapat menginstalnya dengan salah satu metode berikut.
Metode 1 (disarankan): Instal dengan npx
Perintah npx disertakan bersama Node.js. Sebelum instalasi, jalankan perintah berikut untuk memastikan Node.js tersedia:
node -v
npx -vJika terminal melaporkan bahwa node atau npx tidak ditemukan, unduh dan instal Node.js dari situs resmi Node.js.
Jalankan perintah berikut untuk menginstal skill alibabacloud-sls-sdk-guidance:
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-sls-sdk-guidance --full-depthMetode 2: Instalasi manual
Unduh paket alibabacloud-sls-sdk-guidance dari GitHub Releases. Ekstrak paket tersebut dan salin isinya ke direktori instalasi skill agen Anda. Pastikan direktori alibabacloud-sls-sdk-guidance ada di dalam direktori skill, lalu restart agen untuk memuat skill tersebut.
Tabel berikut mencantumkan direktori instalasi skill untuk agen umum:
Agen | Direktori tingkat proyek | Direktori tingkat pengguna |
Claude Code |
|
|
Codex |
|
|
Qoder |
|
|
QwenCode |
|
|
OpenClaw |
|
|
Panduan penggunaan
Setelah instalasi, jelaskan kebutuhan SDK Anda dalam percakapan agen untuk memicu skill ini. Agen akan mengikuti tabel routing SDK dan aturan pemilihan bawaan untuk merekomendasikan SDK terbaik, serta menyediakan perintah instalasi dan contoh kode.
Tips penulisan prompt
Agar agen dapat merekomendasikan SDK dan menghasilkan kode dengan lebih akurat, sertakan informasi berikut dalam prompt Anda:
Bahasa pemrograman dan versinya. Misalnya, "Java 17" atau "Go 1.21".
Kasus penggunaan. Misalnya, "ingestion log throughput tinggi", "konsumsi log berbasis Consumer Group", "kueri log", atau "buat konfigurasi indeks".
Tumpukan teknologi yang sudah ada. Misalnya, "proyek Spring Boot" atau "proyek ini sudah menggunakan Log4j 2".
Nama proyek, nama Logstore, dan kode dalam contoh berikut hanya untuk tujuan demonstrasi. Gantilah dengan nama sumber daya aktual Anda saat menggunakan skill ini.
Skema Penggunaan 1: Pilih SDK yang tepat untuk kasus penggunaan Anda
Prompt
Proyek Java saya memerlukan ingestion log throughput tinggi ke Alibaba Cloud SLS dan konsumsi log berbasis Consumer Group untuk pemrosesan real-time. SDK apa yang harus saya gunakan? Berikan dependensi Maven untuk masing-masing.
Contoh output agen
Berdasarkan kebutuhan Anda, saya merekomendasikan dua SDK berikut untuk ingestion dan konsumsi:
### Ingestion: aliyun-log-java-producer
Untuk ingestion log throughput tinggi di Java, gunakan Producer SDK alih-alih API PutLogs SDK Java dasar.
Producer menyediakan pengiriman asinkron non-blocking, batching otomatis, retry otomatis, dan pembatasan kecepatan memori. Cocok untuk skenario data besar seperti Flink dan Spark.
Dependensi Maven:
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>aliyun-log-producer</artifactId>
<version>0.3.25</version>
</dependency>
### Konsumsi: loghub-client-lib (aliyun-log-consumer-java)
Untuk skenario Consumer Group, gunakan Consumer Library. Library ini secara otomatis menangani penugasan shard, heartbeat,
persistensi checkpoint, dan load balancing multi-instans. Anda hanya perlu mengimplementasikan logika pemrosesan untuk satu shard.
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>loghub-client-lib</artifactId>
<version>0.6.50</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
### Mengapa tidak menggunakan SDK Java dasar?
aliyun-log-java-sdk mendukung ingestion dan kueri, tetapi ingestion-nya menggunakan API PutLogs sinkron tanpa
batching atau retry. Ini tidak cukup untuk skenario throughput tinggi. Konsumsi memerlukan Consumer Library terpisah.Skema Penggunaan 2: Kirim log dengan Java Producer SDK
Prompt
Proyek Java Spring Boot saya perlu menggunakan Producer SDK untuk menulis log bisnis secara asinkron ke SLS. Proyeknya bernama prod-web, Logstore-nya app-logs, dan wilayahnya China (Hangzhou). Berikan contoh kode lengkap.
Contoh output agen
Saya merekomendasikan menggunakan aliyun-log-java-producer, yang menyediakan pengiriman asinkron, batching otomatis, dan retry otomatis.
Cocok untuk ingestion log server-side throughput tinggi.
### Dependensi Maven
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>aliyun-log-producer</artifactId>
<version>0.3.25</version>
</dependency>
### Contoh kode
import com.aliyun.openservices.aliyun.log.producer.LogProducer;
import com.aliyun.openservices.aliyun.log.producer.ProducerConfig;
import com.aliyun.openservices.aliyun.log.producer.ProjectConfig;
import com.aliyun.openservices.log.common.LogItem;
// 1. Buat Producer (singleton global, thread-safe)
ProducerConfig producerConfig = new ProducerConfig();
LogProducer producer = new LogProducer(producerConfig);
producer.putProjectConfig(new ProjectConfig(
"prod-web", "cn-hangzhou.log.aliyuncs.com",
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")));
// 2. Buat entri log dan kirim (asinkron, langsung mengembalikan nilai)
LogItem item = new LogItem();
item.PushBack("level", "INFO");
item.PushBack("service", "order-service");
item.PushBack("message", "Order created successfully");
item.PushBack("orderId", "202604240001");
producer.send("prod-web", "app-logs", "", "", item);Skema Penggunaan 3: Konsumsi log dengan Java Consumer Group
Prompt
Proyek Java saya perlu mengonsumsi log dari Logstore SLS secara real-time, dengan checkpointing otomatis dan load balancing multi-instans. Proyeknya bernama prod-web, dan Logstore-nya app-logs. Berikan kode lengkap Consumer Group.
Contoh output agen
Saya merekomendasikan menggunakan aliyun-log-consumer-java (loghub-client-lib). Library ini secara otomatis menangani penugasan shard,
heartbeat, persistensi checkpoint, dan load balancing multi-instans. Anda hanya perlu mengimplementasikan antarmuka ILogHubProcessor.
### Dependensi Maven
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>loghub-client-lib</artifactId>
<version>0.6.50</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
### Mulai Consumer Worker
LogHubConfig config = new LogHubConfig(
"my-consumer-group",
"consumer-1", // Harus unik dalam consumer group yang sama
"cn-hangzhou.log.aliyuncs.com",
"prod-web", "app-logs",
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
LogHubConfig.ConsumePosition.BEGIN_CURSOR);
ClientWorker worker = new ClientWorker(new SampleProcessorFactory(), config);
Thread thread = new Thread(worker);
thread.start();
// Matikan secara graceful saat proses berakhir
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
worker.shutdown();
try { Thread.sleep(30_000); } catch (InterruptedException ignored) {}
}));Skema Penggunaan 4: Integrasikan Log4j 2 Appender tanpa perubahan kode
Prompt
Proyek Java saya sudah menggunakan Log4j 2 untuk logging. Saya ingin mengirim log langsung ke Alibaba Cloud SLS tanpa mengubah kode aplikasi sama sekali. Bagaimana cara mengonfigurasinya?
Contoh output agen
Saya merekomendasikan menggunakan aliyun-log-log4j2-appender. Anda hanya perlu menambahkan dependensi Maven dan memperbarui konfigurasi log4j2.xml.
Tidak diperlukan perubahan pada kode aplikasi Anda. Appender ini menggunakan Java Producer di balik layar
untuk mengirim log secara asinkron dalam batch.
### Dependensi Maven
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>aliyun-log-log4j2-appender</artifactId>
<version>0.1.15</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
### Konfigurasi log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Loghub name="Loghub"
project="your_project"
logStore="your_logstore"
endpoint="cn-hangzhou.log.aliyuncs.com"
accessKeyId="${env:ALIBABA_CLOUD_ACCESS_KEY_ID}"
accessKeySecret="${env:ALIBABA_CLOUD_ACCESS_KEY_SECRET}"
totalSizeInBytes="104857600"
maxBlockMs="0"
ioThreadCount="8"
batchSizeThresholdInBytes="524288"
batchCountThreshold="4096"
lingerMs="2000"
retries="10"
baseRetryBackoffMs="100"
maxRetryBackoffMs="50000"
/>
</Appenders>
</Configuration>FAQ
SDK dan bahasa pemrograman apa saja yang didukung?
Skill ini mencakup 10 platform bahasa: Java, Go, Python, Node.js, PHP, .NET, Rust, C/C++, iOS, dan Android. Skill ini mendukung lebih dari 20 SDK, termasuk SDK spesifik bahasa, Producer SDK, pustaka konsumen, Appender Log4j / Log4j 2 / Logback, dan SDK OpenAPI alibabacloud.
Kapan saya tidak boleh menggunakan skill ini?
Untuk kueri log ad-hoc, sederhana, atau berbasis skrip operasional, Anda tidak perlu menulis kode SDK. Kami merekomendasikan menggunakan skill
alibabacloud-sls-querysebagai gantinya, yang melakukan kueri log melalui CLI dan lebih cepat serta ringan.Ketika alur kerja agen Anda memerlukan generasi kueri dinamis, kami merekomendasikan menggunakan skill
alibabacloud-sls-query. Agen menghasilkan perintah CLI dan pernyataan kueri secara lebih fleksibel, serta dapat memproses output log dengan alat command-line.