Plugin input_agentsight untuk LoongCollector mengumpulkan log observabilitas dari interaksi antara AI Agent dan model bahasa besar (LLM). Dengan memanfaatkan eBPF untuk mengamati proses Agent pada level sistem tanpa modifikasi kode, plugin ini menangkap permintaan, respons, penggunaan token, definisi tool, serta data lain yang dipertukarkan antara Agent dan LLM. Penyedia LLM yang didukung meliputi OpenAI, Anthropic, dan DashScope. Topik ini menjelaskan cara membuat konfigurasi pengumpulan LoongCollector di Konsol Simple Log Service untuk mengumpulkan log AgentSight.
Prasyarat
Versi kernel sistem operasi server adalah Linux 5.10 atau lebih baru.
Plugin ini bergantung pada eBPF untuk pengamatan level sistem. Kernel versi sebelum 5.10 tidak mendukung fitur eBPF yang diperlukan sehingga tidak dapat melakukan pengumpulan.
Lingkungan yang telah diverifikasi dan didukung meliputi:
Alibaba Cloud Linux 3
Ubuntu 22.04
Ubuntu 24.04
Jalankan perintah berikut untuk memeriksa versi kernel Anda saat ini:
uname -rLoongCollector v3.3.9 atau lebih baru telah diinstal pada server.
Kemampuan pengumpulan AgentSight memerlukan versi terbaru LoongCollector. Lakukan upgrade ke versi terbaru sebelum mengonfigurasi plugin ini.
AI Agent target (seperti OpenClaw atau Hermes) telah dideploy dan sedang berjalan di server.
Lingkungan kontainer ACK: Untuk mengumpulkan log LLM dari Pod Agent dalam kluster Container Service for Kubernetes (ACK), pastikan persyaratan berikut terpenuhi:
LoongCollector telah di-upgrade ke v3.3.10 atau lebih baru.
Sakelar
enableEBPFtelah diaktifkan pada halaman Component Management di Konsol ACK.
Setelah persyaratan ini terpenuhi, Anda dapat membuat konfigurasi pengumpulan Logtail AgentSight di Simple Log Service untuk mengumpulkan log LLM Agent. Konfigurasi ini berlaku untuk kelompok mesin yang sama dengan konfigurasi LoongCollector lainnya.
Cara kerja
Instrumen aplikasi tradisional tidak mampu mengikuti iterasi cepat dan sifat sangat kustom dari AI Agent, serta tidak dapat melacak rantai pemanggilan tool untuk mengidentifikasi perilaku aktual Agent. Plugin input_agentsight menyambungkan probe SSL/TLS dan pengamat proses pada level kernel melalui eBPF, menangkap permintaan dan respons TLS terenkripsi antara proses Agent dan layanan LLM. Hal ini mencapai observabilitas end-to-end tanpa mengubah kode Agent.
Fitur
Mengumpulkan data interaksi lengkap antara AI Agent dan LLM: pesan permintaan, pesan respons, nama model, penggunaan token, latensi, kode status, dan lainnya.
Mengidentifikasi proses yang mengakses API LLM berdasarkan daftar putih domain dengan domain API LLM umum yang telah ditanamkan.
Penyedia LLM yang didukung
Penyedia / Protokol | Didukung |
OpenAI | Ya |
Anthropic | Ya |
DashScope | Ya |
Untuk protokol muatan yang didukung, plugin ini menghasilkan field OTel GenAI standar (seperti gen_ai.*). Untuk protokol yang belum diadaptasi, plugin ini melaporkan muatan mentah yang telah didesensitisasi untuk adaptasi di sisi server.
Contoh AI Agent yang didukung
Kategori | Contoh |
Agent Umum | Claude Code, OpenClaw, QwenPaw, Hermes |
Framework LLM Umum | LangChain, LangGraph, Dify, AgentScope |
Agent Kustom | Agent kustom berbasis Python, Agent kustom berbasis Node.js |
Prosedur
Login ke Konsol Simple Log Service.
Pada bagian Data Import, pilih entri konfigurasi pengumpulan LoongCollector, lalu pilih Project dan Logstore target.
Pada halaman Machine Group Configuration, konfigurasikan dan terapkan kelompok mesin target.
PentingJika Anda menerapkan kelompok mesin segera setelah membuatnya, status heartbeat mungkin menampilkan FAIL karena koneksi belum berlaku. Klik Automatic Retry untuk mengatasi masalah ini.
Pada tab Data Source Settings, tentukan Configuration Name dan masukkan konfigurasi plugin. Jenis plugin tetap sebagai
input_agentsight.Pilih pola konfigurasi berdasarkan skenario Anda:
Gunakan konfigurasi minimal jika Agent dan penyedia LLM Anda sudah tercakup oleh pengaturan default bawaan.
Gunakan daftar putih domain kustom jika Agent Anda terhubung ke titik akhir LLM non-default.
Gunakan daftar putih command line kustom jika proses Agent Anda tidak sesuai dengan aturan bawaan.
Gunakan pelaporan trafik HTTP mentah jika Anda perlu memeriksa trafik yang tidak dapat diurai oleh AgentSight menjadi semantik GenAI.
Konfigurasi minimal
Konfigurasi minimal: Tentukan hanya jenis plugin. Semua pengaturan menggunakan nilai default (daftar putih command line dan daftar domain default bawaan disuntikkan).
{ "inputs": [ { "type": "input_agentsight" } ] }Daftar putih domain kustom: Tentukan domain HTTPS kustom yang akan dipantau.
{ "inputs": [ { "detail": { "ProbeConfig": { "Https": [ "api.openai.com", "api.anthropic.com", "dashscope-intl.aliyuncs.com", "dashscope.aliyuncs.com" ] } }, "type": "input_agentsight" } ] }Daftar putih command line kustom: Filter Agent target berdasarkan command line proses dan tandai jenisnya.
{ "inputs": [ { "detail": { "ProbeConfig": { "CmdlineWhitelist": [ { "AgentType": "openclaw", "Args": ["node*", "*openclaw*"] }, { "AgentType": "claude-code", "Args": ["node*", "*claude*"] } ] } }, "type": "input_agentsight" } ] }Laporkan protokol tidak dikenal sebagai trafik HTTP mentah: Saat
ProbeConfig.RawHttpsFallbackdiaktifkan, trafik yang tidak dapat diurai oleh AgentSight menjadi semantik GenAI (jalur API tidak dikenal atau body tidak standar) tidak lagi dibuang. Sebaliknya, trafik tersebut dilaporkan sebagai trafik HTTP mentah. Buat indeks bidang untuk event HTTP mentah tersebut, lalu gunakan fitur kueri dan analisis LogStore untuk memeriksanya.{ "inputs": [ { "detail": { "ProbeConfig": { "RawHttpsFallback": true } }, "type": "input_agentsight" } ] }CatatanPerhatikan perilaku berikut:
Log HTTP mentah yang dihasilkan oleh
RawHttpsFallback: truehanya dibuat ketika AgentSight tidak dapat menguraikan trafik menjadi semantik GenAI. Log ini saling eksklusif dengan loggen_ai.*: satu permintaan menghasilkan paling banyak salah satu dari keduanya.Trafik HTTP mentah dilaporkan dengan nama event
event.name=http.requestdanevent.name=http.response.Fitur ini hanya didukung di LoongCollector v3.3.10 dan lebih baru.
Buat indeks dan pratinjau data. Anda dapat membuat indeks bidang secara manual berdasarkan bidang yang dikumpulkan, atau klik Auto Generate Index.
Setelah konfigurasi selesai, tunggu sekitar 1 menit hingga indeks berlaku. Anda kemudian dapat melihat log yang dikumpulkan di halaman kueri dan analisis Logstore.
Anda seharusnya melihat entri log yang berisi bidang seperti
gen_ai.agent.type,gen_ai.model.request, dangen_ai.model.response. Kehadiran bidang-bidang ini mengonfirmasi bahwa pengumpulan berjalan dengan benar.
Parameter konfigurasi
Parameter | Tipe | Wajib | Default | Deskripsi |
Type | string | Ya | N/A | Jenis plugin. Tetap sebagai |
ProbeConfig | object | Tidak | N/A | Konfigurasi probe AgentSight. Jika tidak dikonfigurasi, semua sub-parameter menggunakan nilai default. |
ProbeConfig.Verbose | uint | Tidak |
| Menentukan apakah akan mencetak log eBPF detail. |
ProbeConfig.LogPath | string | Tidak |
| Jalur output untuk log eBPF. |
ProbeConfig.CmdlineWhitelist | array | Tidak | 9 aturan bawaan | Daftar putih filter Agent proses. Setiap entri adalah objek dengan |
ProbeConfig.CmdlineBlacklist | array | Tidak | N/A | Daftar hitam filter Agent proses. Setiap entri adalah array string glob (tanpa |
ProbeConfig.Https | array | Tidak | 7 aturan bawaan | Daftar putih domain lalu lintas terenkripsi HTTPS (array string, wildcard glob |
ProbeConfig.Http | array | Tidak |
| Daftar target lalu lintas teks biasa HTTP. Setiap entri dapat berupa |
ProbeConfig.RawHttpsFallback | bool | Tidak |
| Jika diatur ke |
ProbeConfig.EventStreamFormat | bool | Tidak |
| Jika |
ProbeConfig.MessageDeltaOnly | bool | Tidak |
| Jika |
Logika penentuan cakupan pengumpulan
Lalu lintas terenkripsi HTTPS (level proses) ditentukan dalam urutan tetap berikut:
Cocok dengan
CmdlineBlacklist→ tidak dikumpulkan (daftar hitam memiliki prioritas).Tidak cocok dengan daftar hitam dan cocok dengan
CmdlineWhitelist→ dikumpulkan.Masih belum termasuk, dan proses mengakses domain yang cocok dengan
Https→ dikumpulkan.Tidak ada yang cocok → tidak dikumpulkan.
Aturan injeksi default: Jika baik CmdlineWhitelist maupun CmdlineBlacklist tidak dikonfigurasi, 9 aturan daftar putih command line default bawaan berikut disuntikkan. Jika Https kosong, 7 entri domain default bawaan berikut disuntikkan.
Aturan daftar putih command line default bawaan
AgentType | Args (pola glob untuk setiap segmen command line) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Entri daftar putih domain default bawaan
Domain | Deskripsi |
| OpenAI |
| Anthropic |
| DashScope bayar sesuai penggunaan, Tiongkok (Beijing) |
| DashScope bayar sesuai penggunaan, Singapura |
| DashScope bayar sesuai penggunaan, AS (Virginia) |
| Rencana Coding DashScope |
| Domain ruang kerja khusus / uji coba / Rencana Token DashScope |
Menggantikan, bukan menambahkan: Konfigurasi yang ditentukan pengguna sepenuhnya menggantikan default bawaan, bukan menambahkannya. Begitu Anda menentukan aturan apa pun, seluruh daftar default bawaan menjadi tidak aktif. Untuk mempertahankan entri default bawaan, Anda harus secara eksplisit memasukkannya dalam konfigurasi Anda (tambahkan secara manual). Jika tidak, jenis Agent atau domain default apa pun yang tidak tercantum dalam konfigurasi Anda tidak akan lagi dikumpulkan. Gunakan hanya huruf kecil, angka, dan tanda hubung (-) untuk nilai AgentType (seperti openclaw atau claude-code) untuk memfasilitasi agregasi dan analisis lintas produk.
Batasan dan troubleshooting
Tidak ada data di halaman pratinjau atau kueri: Verifikasi bahwa versi kernel server adalah 5.10 atau lebih baru (
uname -r) dan LoongCollector telah di-upgrade ke v3.3.9 atau lebih baru. Kemudian verifikasi bahwa command line proses target sesuai dengan aturanCmdlineWhitelist, atau domain yang diaksesnya ada dalam daftarHttps. Jalankan perintah berikut di server untuk melihat command line aktual suatu proses sebelum menulis aturan glob:tr '\0' ' ' < /proc/<PID>/cmdline; echoApendiks teknis untuk batasan kompatibilitas hook eBPF yang dapat mencegah pengumpulan untuk biner Agent tertentu.
Untuk panduan troubleshooting tambahan, lihat Troubleshoot Logtail log collection failures.
Fitur ini saat ini dalam rilis canary dan tersedia di wilayah berikut: AS (Virginia), AS (Silicon Valley), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Korea Selatan (Seoul), dan lainnya.
Apendiks teknis
Plugin input_agentsight menggunakan eBPF untuk pengumpulan. Apakah plugin ini dapat menangkap lalu lintas terenkripsi HTTPS dari Agent tertentu bergantung pada apakah eBPF dapat menemukan fungsi kirim/terima SSL dalam executable Agent tersebut. Gunakan tabel berikut untuk menentukan dukungan:
Skenario | Didukung | Metode Pencarian | Deskripsi |
Agent yang berjalan melalui Node.js atau Python, atau Agent yang mempertahankan tabel simbol | Ya | Berdasarkan simbol | Program-program ini mengirim dan menerima data melalui pustaka SSL umum (terutama OpenSSL) dengan simbol yang diekspor. eBPF menemukan fungsi seperti |
Tidak ada tabel simbol (stripped), tetapi ditautkan statis ke pustaka SSL C umum (OpenSSL) | Sebagian | Pencocokan pola bytecode | Tanpa tabel simbol, penemuan berbasis simbol tidak mungkin dilakukan. Namun, ketika pustaka dasar adalah pustaka C umum seperti OpenSSL, eBPF masih dapat menemukan fungsi kirim/terima melalui pencocokan pola bytecode. Contoh: alat Python yang dikemas dengan uv yang menautkan OpenSSL secara statis dan stripped. |
Tidak ada tabel simbol (stripped), ditautkan statis tanpa simbol yang diekspor, dan pola bytecode tidak dapat dicocokkan | Tidak | Tidak dapat ditemukan | Baik tabel simbol maupun pola bytecode tidak dapat menemukan fungsi kirim/terima, sehingga tidak ada titik hook yang dapat dibuat. Contoh: rilis resmi CLI Codex (stripped, ditautkan statis, tanpa simbol yang diekspor) termasuk dalam kategori ini dan tidak dapat dikumpulkan oleh plugin ini. |