介紹如何在主機和 Kubernetes 環境中部署 LoongCollector 資料擷取組件,並通過 AgentLoop 控制台完成 OpenClaw 可觀測資料的一鍵接入。
OpenClaw 可觀測體系概述
OpenClaw 是一個開源 AI Agent 架構,支援意圖理解、任務規劃和工具調用等能力,廣泛應用於智能客服、代碼助手、自動化營運等情境。當大量 OpenClaw 執行個體在生產環境中運行時,需要一套全鏈路可觀測體系來追蹤 Agent 的行為、效能和成本。
AgentLoop 是阿里雲面向 LLM 應用的資料觀測與資料飛輪平台,圍繞 Trace、Log、Metric、Conversation 等運行時資料,提供從採集觀測、問題定位到評估實驗的端到端閉環能力。
接入 OpenClaw 可觀測資料分為兩步:
部署 LoongCollector:在目標主機或叢集中安裝日誌採集組件,實現零侵入的資料擷取。
接入 AgentLoop:通過 AgentLoop 控制台的 OpenClaw 資料接入嚮導,完成會話日誌和運行時日誌的採集配置。
前提條件
已開通Log Service SLS。
目標主機或叢集已部署 OpenClaw。
(主機情境)已約定好機器組的自訂標識(
user_defined_id)。該標識是一個自訂字串,所有相同標識的機器自動組成一個機器組,SLS 以機器組為粒度統一管控採集配置。
步驟一:部署 LoongCollector
在接入 OpenClaw 可觀測資料前,需要在目標主機或叢集中部署 LoongCollector。LoongCollector 是 SLS 推出的資料擷取器,負責將 OpenClaw 的日誌資料寫入到 SLS 的 LogStore。
主機情境
以下命令中的 user_defined_id與region_id 需替換為自訂的機器組標識與地區標識。請記住該機器組自訂標識,後續步驟中會使用。預設所有機器在同一地區。
在 ECS 部署 LoongCollector
ECS 情境的 OpenClaw 批量部署可以參考通過雲助手公用命令安裝OpenClaw。
進入ECS控制台-雲助手,篩選目標執行個體並勾選,單擊發送命令。
將以下命令複製到命令內容。
#!/bin/bash region_id=""; user_defined_id=""; set -euo pipefail; wget -T 30 -t 2 "https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh" -O loongcollector.sh && chmod +x loongcollector.sh && sudo ./loongcollector.sh install "${region_id}-internet" && (sudo /etc/init.d/loongcollectord start >/dev/null 2>&1 || sudo /etc/init.d/ilogtaild start >/dev/null 2>&1 || true) && (sudo /etc/init.d/loongcollectord status >/dev/null 2>&1 || sudo /etc/init.d/ilogtaild status >/dev/null 2>&1) && (sudo test -f /etc/ilogtail/user_defined_id || sudo touch /etc/ilogtail/user_defined_id) && (sudo grep -Fxq "${user_defined_id}" /etc/ilogtail/user_defined_id || echo "${user_defined_id}" | sudo tee -a /etc/ilogtail/user_defined_id >/dev/null)查看執行結果,如果顯示成功執行,則 LoongCollector 部署完成。
在無影雲電腦部署 LoongCollector
無影情境的 OpenClaw 部署可以參考通過無影雲電腦快速部署OpenClaw(Clawdbot)。
在無影雲電腦企業版控制台,單擊發送遠程命令。
將以下命令複製到命令內容,篩選並勾選目標執行個體。
說明無影情境需要在安裝命令中指定
uid參數,為Log Service Project 所屬阿里雲主帳號 ID。#!/bin/bash region_id=""; uid=""; user_defined_id=""; set -euo pipefail; wget -T 30 -t 2 "https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh" -O loongcollector.sh && chmod +x loongcollector.sh && sudo ./loongcollector.sh install "${region_id}-internet" && (sudo /etc/init.d/loongcollectord start >/dev/null 2>&1 || sudo /etc/init.d/ilogtaild start >/dev/null 2>&1 || true) && (sudo /etc/init.d/loongcollectord status >/dev/null 2>&1 || sudo /etc/init.d/ilogtaild status >/dev/null 2>&1) && sudo mkdir -p /etc/ilogtail/users && (sudo test -f "/etc/ilogtail/users/${uid}" || sudo touch "/etc/ilogtail/users/${uid}") && (sudo test -f /etc/ilogtail/user_defined_id || sudo touch /etc/ilogtail/user_defined_id) && (sudo grep -Fxq "${user_defined_id}" /etc/ilogtail/user_defined_id || echo "${user_defined_id}" | sudo tee -a /etc/ilogtail/user_defined_id >/dev/null)查看執行結果,確認命令執行成功。
其他主機情境
其他主機情境,請參考 LoongCollector 安裝採集器官方文檔完成安裝。安裝時請確保已配置使用者標識和自訂標識。
Kubernetes 情境
Kubernetes 情境下,安裝 LoongCollector 組件後會自動建立機器組(命名為 k8s-group-${cluster_id} 的自訂標識型機器組,標識與機器組名一致),直接用於接入 OpenClaw 可觀測資料。
ACK 部署 LoongCollector
在 ACK 叢集中,通過控制台安裝 LoongCollector 組件,支援在建立叢集時啟用或為已有叢集安裝。
方式一:建立叢集時啟用
建立 ACK 叢集時,在組件配置頁面勾選使用Log Service(預設已勾選),並指定目標 Project(預設命名為 k8s-log-{cluster_id})。系統會自動安裝 LoongCollector 並完成基礎配置。
方式二:為已有叢集安裝
登入Container ServiceACK控制台,在左側導覽列選擇叢集列表。
單擊目的地組群名稱,進入叢集詳情頁。
在左側導覽列選擇營運管理-組件管理。
在日誌與監控地區找到 loongcollector 組件,單擊安裝。
在安裝對話方塊中確認參數,單擊確定。
驗證安裝
安裝完成後,在守護進程集中查看 loongcollector-ds 的狀態是否正常。如果狀態正常,則安裝成功。
ACS 部署 LoongCollector
ACS 情境部署 OpenClaw 參考 ACS Sandbox 部署最佳實務。
ACS(容器計算服務)整合了Log Service SLS,支援採集叢集的容器日誌(包括標準輸出和檔案日誌)。
方式一:建立叢集時啟用Log Service
建立 ACS 叢集時,勾選使用Log Service選項。系統會自動安裝Log Service組件 alibaba-log-controller,並完成與 SLS 的整合配置。
方式二:為已有叢集啟用Log Service組件
登入容器計算服務ACS控制台,在左側導覽列選擇叢集列表。
在營運管理-組件管理-日誌與監控地區找到
alibaba-log-controller組件。單擊安裝,在安裝對話方塊中單擊確認。
ACS 叢集安裝完日誌組件後,需要重建業務 Pod,採集才會生效。
執行以下命令確認Log Service組件正常運行:
kubectl get po -n kube-system | grep alibaba-log-controller其他 Kubernetes 情境
對於自建 Kubernetes 叢集,請參考 LoongCollector Kubernetes 安裝配置文檔,下載自訂安裝包,編輯 values.yaml 中的以下必填項後執行安裝指令碼:
projectName:SLS 專案名稱。region:地區。aliUid:阿里雲帳號 UID。accessKeyID和accessKeySecret:存取金鑰。clusterID:叢集 ID。
步驟二:接入 AgentLoop
LoongCollector 部署就緒後,通過 AgentLoop 控制台完成 OpenClaw 日誌資料的接入配置。支援以下兩種接入方式:
通過控制台一鍵接入:適用於主機情境、Kubernetes 情境和容器情境。
通過 CRD 接入:適用於 Kubernetes 情境,支援版本化管理和 GitOps 流程。
通過控制台一鍵接入
AgentLoop 提供了針對 OpenClaw 的一鍵資料接入嚮導,能夠自動建立 LogStore、配置採集規則和資料解析模板,全程只需填寫幾個參數。
進入AgentLoop 控制台首頁,在左側導覽列單擊接入中心,找到AI應用可觀測下的OpenClaw並單擊。
在彈出的頁面中選擇日誌接入頁簽,選擇對應的接入情境(主機情境或 Kubernetes 情境)。
填寫配置參數。
參數
說明
應用程式名稱
用於在單個 Project 下唯一標識一組 OpenClaw 執行個體,可填寫符合格式要求的自訂字串。輸入完成後,單擊初始化資源,等待顯示"初始化資源完成"。
Project
儲存日誌的 SLS 專案。主機情境可使用工作空間預設的 Project。Kubernetes 情境推薦選擇預設建立的
k8s-log-{cluster_id}。機器組
選擇或建立機器組。主機情境單擊立刻建立,自訂機器組名稱,選擇機器組標識為使用者自訂標識,填寫步驟一中自訂的
user_defined_id。Kubernetes 情境推薦選擇預設建立的k8s-group-${cluster_id}。選擇要接入的日誌類型。SLS 已上線會話日誌、運行時日誌和定時任務日誌的一鍵接入能力,並為各記錄檔預填了預設路徑。
說明如果 OpenClaw 的安裝目錄或運行使用者與預設配置不同,請在提交前修改對應的日誌路徑,否則可能導致採集失敗。
單擊下一步,等待提示開通成功,完成接入。
通過 CRD 接入(Kubernetes 情境)
CRD 接入方式適用於 Kubernetes 情境,支援版本化管理,可以納入 GitOps 或 CI/CD 流程。接入流程分為兩步:先通過 CRD 建立 SLS 採集配置,再在 AgentLoop 控制台匯入已採集的資料。
使用 CRD 建立 SLS 採集配置
參考以下 OpenClaw 專用 CR 模板(包含運行時日誌、會話日誌和定時任務日誌),編寫 YAML 檔案。複雜欄位可參考AliyunPipelineConfig參數說明文檔。
模板中的 ${app_name} 用於唯一標識一組 OpenClaw 執行個體,請記住該值,後續在 AgentLoop 控制台接入時需要使用。${cluster_id} 替換為實際叢集 ID。
編寫完成後,執行以下命令將 CR 下發到叢集:
kubectl apply -f <your-openclaw-pipeline.yaml>通過 CRD 方式建立的採集配置,後續變更應通過更新 CR 完成,在 SLS 控制台無法修改。
在 AgentLoop 控制台接入資料
CRD 配置下發完成後,需要在 AgentLoop 控制台完成資料匯入。
進入AgentLoop 控制台首頁,確保左上方的工作空間與上一步 Project 所在地區一致。在左側導覽列單擊接入中心,找到AI應用可觀測下的OpenClaw並單擊。
在彈出的頁面中選擇日誌接入,單擊k8s情境,填寫以下參數:
參數
說明
應用程式名稱
輸入上一步 CRD 中配置的
app_name。輸入完成後單擊初始化資源,等待顯示"初始化資源完成"。Project
選擇 CRD 中配置的 Project。
機器組
選擇 CRD 中配置的機器組。
容器名稱
與 CRD 中
K8sPodRegex參數保持一致。確認日誌類型。已通過 CRD 接入的日誌類型會提示"日誌源已接入 SLS,尚未接入 AgentLoop"。未通過 CRD 接入的日誌類型可以選擇是否開啟並定義日誌路徑,一併接入。
選擇完成後,單擊立刻接入,完成流程。
步驟三:日誌審計效果驗證
接入成功後,AgentLoop 控制台的“審計”->“OpenClaw洞察”中即可查看 OpenClaw 的可觀測報表,協助企業從會話追蹤、成本分析、品質評估等維度全面洞察 Agent 健全狀態。
在AgentLoop控制台左側,點擊“AI應用”,也可以看到已接入的應用,並進行更多的探索。
敏感性資料脫敏
LoongCollector版本要求>3.3.0
OpenClaw 的日誌中可能包含使用者手機號、郵箱、IP 位址等敏感資訊。為避免敏感性資料明文寫入 LogStore,可以使用 SLS SPL 提供的 mask 脫敏運算元進行資料保護。
SLS 支援兩種脫敏方式:
服務端脫敏:通過寫入處理器配置 SPL 脫敏規則,在資料寫入 LogStore 時進行脫敏處理。
端側脫敏:在 LoongCollector 採集端配置 SPL 脫敏規則,將敏感資訊的保護前置到資料擷取階段。
以下樣本展示了在 LoongCollector 中配置端側脫敏的採集規則:
flushers:
- Type: flusher_sls
Logstore: China-agentloop-openclaw
Endpoint: cn-shanghai-intranet.log.aliyuncs.com
Region: cn-shanghai
TelemetryType: logs
processors:
- Type: processor_spl
Script: |
* | extend content = mask(content, 'regex',
'(1[3-9]\d{9})', 'md5')
* | extend content = mask(content, 'regex',
'([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})', 'md5')
* | extend content = mask(content, 'regex',
'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', 'const', '***')
經過端側 SPL 處理後,日誌的上下文資訊仍然完整可讀,不影響審計與問題排查,而其中的個人敏感資訊已在採集階段完成脫敏保護。