All Products
Search
Document Center

Simple Log Service:Kumpulkan log observabilitas AI Agent (AgentSight)

Last Updated:Sep 24, 2026

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 -r
  • LoongCollector 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 enableEBPF telah 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

  1. Login ke Konsol Simple Log Service.

  2. Pada bagian Data Import, pilih entri konfigurasi pengumpulan LoongCollector, lalu pilih Project dan Logstore target.

  3. Pada halaman Machine Group Configuration, konfigurasikan dan terapkan kelompok mesin target.

    Penting

    Jika Anda menerapkan kelompok mesin segera setelah membuatnya, status heartbeat mungkin menampilkan FAIL karena koneksi belum berlaku. Klik Automatic Retry untuk mengatasi masalah ini.

  4. 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.RawHttpsFallback diaktifkan, 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"
            }
        ]
    }
    Catatan

    Perhatikan perilaku berikut:

    • Log HTTP mentah yang dihasilkan oleh RawHttpsFallback: true hanya dibuat ketika AgentSight tidak dapat menguraikan trafik menjadi semantik GenAI. Log ini saling eksklusif dengan log gen_ai.*: satu permintaan menghasilkan paling banyak salah satu dari keduanya.

    • Trafik HTTP mentah dilaporkan dengan nama event event.name=http.request dan event.name=http.response.

    • Fitur ini hanya didukung di LoongCollector v3.3.10 dan lebih baru.

  5. Buat indeks dan pratinjau data. Anda dapat membuat indeks bidang secara manual berdasarkan bidang yang dikumpulkan, atau klik Auto Generate Index.

  6. 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, dan gen_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 input_agentsight.

ProbeConfig

object

Tidak

N/A

Konfigurasi probe AgentSight. Jika tidak dikonfigurasi, semua sub-parameter menggunakan nilai default.

ProbeConfig.Verbose

uint

Tidak

0

Menentukan apakah akan mencetak log eBPF detail. 1: diaktifkan. 0: dinonaktifkan.

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 AgentType (ditulis ke bidang log gen_ai.agent.type) dan Args (array string yang melakukan pencocokan glob terhadap setiap segmen command line proses berdasarkan posisi). Jika parameter ini maupun CmdlineBlacklist tidak dikonfigurasi, daftar putih default bawaan disuntikkan. Setelah dikonfigurasi, hanya aturan yang ditentukan pengguna yang digunakan dan default bawaan tidak ditambahkan. Array kosong [] dianggap sebagai konfigurasi tidak valid.

ProbeConfig.CmdlineBlacklist

array

Tidak

N/A

Daftar hitam filter Agent proses. Setiap entri adalah array string glob (tanpa AgentType). Proses yang cocok dikecualikan dari pengumpulan. Memiliki prioritas lebih tinggi daripada daftar putih.

ProbeConfig.Https

array

Tidak

7 aturan bawaan

Daftar putih domain lalu lintas terenkripsi HTTPS (array string, wildcard glob *, tidak peka huruf besar/kecil). Proses yang mengakses domain dalam daftar ini diidentifikasi sebagai target pengumpulan. Jika tidak dikonfigurasi, daftar default bawaan disuntikkan.

ProbeConfig.Http

array

Tidak

[] (dinonaktifkan)

Daftar target lalu lintas teks biasa HTTP. Setiap entri dapat berupa :port, IP, IP:port, atau domain. Jika dibiarkan kosong, lalu lintas teks biasa HTTP tidak dikumpulkan.

ProbeConfig.RawHttpsFallback

bool

Tidak

false

Jika diatur ke true, lalu lintas yang tidak dapat diurai menjadi semantik LLM (jalur API tidak dikenal atau body tidak standar) tidak lagi dibuang. Sebaliknya, lalu lintas tersebut dilaporkan sebagai lalu lintas HTTP mentah dengan nama event event.name=http.request dan event.name=http.response. Log HTTP mentah semacam ini hanya dihasilkan ketika AgentSight tidak dapat menguraikan lalu lintas menjadi semantik GenAI, dan saling eksklusif dengan log gen_ai.*: satu permintaan menghasilkan paling banyak salah satu dari keduanya. Hanya didukung di LoongCollector v3.3.9 dan lebih baru.

ProbeConfig.EventStreamFormat

bool

Tidak

true

Jika true, setiap panggilan LLM menghasilkan dua log dalam kelompok log yang sama: gen_ai.model.request (permintaan) dan gen_ai.model.response (respons), masing-masing dengan event.id. Jika false, satu log gabungan dihasilkan tanpa event.name atau event.id.

ProbeConfig.MessageDeltaOnly

bool

Tidak

true

Jika true, gen_ai.input.messages lengkap tidak dioutput. Hanya gen_ai.input.messages_delta inkremental yang dioutput, bersama dengan teks sistem/tool lengkap saat hash berubah. Jika false, gen_ai.input.messages lengkap yang tidak kosong dioutput setiap kali. Tidak memengaruhi gen_ai.output.messages.

Logika penentuan cakupan pengumpulan

Lalu lintas terenkripsi HTTPS (level proses) ditentukan dalam urutan tetap berikut:

  1. Cocok dengan CmdlineBlacklist → tidak dikumpulkan (daftar hitam memiliki prioritas).

  2. Tidak cocok dengan daftar hitam dan cocok dengan CmdlineWhitelist → dikumpulkan.

  3. Masih belum termasuk, dan proses mengakses domain yang cocok dengan Https → dikumpulkan.

  4. 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)

hermes

hermes*

hermes

*python*, *hermes*

hermes

*python*, -m, *hermes*

cosh

node*, */usr/bin/co*

cosh

node*, */usr/bin/cosh*

cosh

node*, */usr/bin/copliot*

cosh

node*, *copilot-shell*

openclaw

*openclaw-gatewa*

openclaw

node*, *openclaw*

Entri daftar putih domain default bawaan

Domain

Deskripsi

api.openai.com

OpenAI

api.anthropic.com

Anthropic

dashscope.aliyuncs.com

DashScope bayar sesuai penggunaan, Tiongkok (Beijing)

dashscope-intl.aliyuncs.com

DashScope bayar sesuai penggunaan, Singapura

dashscope-us.aliyuncs.com

DashScope bayar sesuai penggunaan, AS (Virginia)

coding.dashscope.aliyuncs.com

Rencana Coding DashScope

*.maas.aliyuncs.com

Domain ruang kerja khusus / uji coba / Rencana Token DashScope

Penting

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 aturan CmdlineWhitelist, atau domain yang diaksesnya ada dalam daftar Https. Jalankan perintah berikut di server untuk melihat command line aktual suatu proses sebelum menulis aturan glob:

    tr '\0' ' ' < /proc/<PID>/cmdline; echo

    Apendiks 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 SSL_read dan SSL_write melalui simbol. Contoh: OpenClaw, Hermes, Cosh, dan Claude Code.

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.