Istio WASM 插件安装
将 SP-Istio Agent 部署到您的生产 Istio 服务网格中。
部署 SP‑Istio Agent 并初始化 SESSIFY 后,先在应用中产生一些流量,然后:
- 打开 Softprobe 仪表盘 → Context View
- 选择与部署相匹配的时间范围与环境(env)
- 如有需要可按 serviceName 过滤;也可用 userId/sessionId/request_body_hash 搜索定位会话
- 点击会话查看端到端图谱、span、客户端指标与交互事件
无需改动服务端代码即可获得完整上下文可视化。

安装完成后即可在 Context View 中探索端到端会话图谱。
先决条件
在生产环境中安装 SP-Istio Agent 之前,请确保您拥有:
- 一个正在运行的 Kubernetes 集群
- 已安装并配置好 Istio
- 具有适当权限的 kubectl 访问权限
- 到 Softprobe 端点的网络连接
安装
使用您在 账户设置 阶段下载的个性化 minimal.yaml 文件安装 SP-Istio Agent。此文件包含您唯一的 API 密钥和预配置设置。
# 确保您使用的是从 Softprobe 控制台下载的 minimal.yaml 文件
kubectl apply -f minimal.yaml
这将在您的 Istio 服务网格中全局部署 WasmPlugin。
若要在浏览器侧采集性能与用户行为数据,请在应用前端安装 Softprobe SESSIFY。详见 前端插件安装。
验证安装
检查 WasmPlugin 是否已成功创建:
kubectl get wasmplugin -A
您应该会看到列出的 SP-Istio Agent 插件。
配置
默认配置会捕获网格中所有服务的 HTTP 流量。您可以通过修改 WasmPlugin 资源来自定义行为。
前端可观测性与会话关联(sessionId)
若要实现从浏览器到后端的全链路追踪,请在应用前端集成 Softprobe SESSIFY。SDK 会在每个浏览器标签页初始化时自动生成并复用唯一的 sessionId:
- 同一标签页内的页面跳转与交互会复用同一个 sessionId,使一次用户访问能够完整串联。
- 打开新的标签页或窗口会生成新的 sessionId;关闭标签页或重新初始化后,会话也会随之重置。
- 所有上报的前端事件、性能指标与网络请求都会携带该 sessionId,便于与后端链路数据进行关联,形成端到端视图。
最佳实践:
- 在前端将 sessionId 通过请求头(例如
X-Session-Id)或 Tracing Context 传递到后端; - 在后端采集与日志中记录该标识,或在可观测性系统中进行关联,以提升排障与定位效率。
参考文档:
范围化部署
要仅将代理部署到特定的命名空间或工作负载,您可以创建一个范围化的 WasmPlugin 配置。请参阅 配置指南 以获取详细的配置选项。
使用 Bookinfo 演示进行测试
要使用 Istio 的 Bookinfo 演示应用程序验证安装:
# 为默认命名空间启用 Istio 注入
kubectl label namespace default istio-injection=enabled --overwrite
# 部署 Bookinfo 应用程序
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/bookinfo/platform/kube/bookinfo.yaml
# 部署 Bookinfo 网关
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.22/samples/bookinfo/networking/bookinfo-gateway.yaml
# 应用范围化的测试配置
kubectl apply -f https://raw.githubusercontent.com/softprobe/softprobe/main/deploy/test-bookinfo.yaml
生成测试流量
# 获取入口网关 URL
export GATEWAY_URL=$(kubectl -n istio-system get svc istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
# 生成一些流量
curl -sf "http://${GATEWAY_URL}/productpage" >/dev/null
# 验证插件是否正常工作
kubectl get wasmplugin -A
卸载
要从您的集群中移除 SP-Istio Agent:
kubectl delete wasmplugin -n istio-system sp-istio-agent
端到端追踪与会话关联(sessionId)
若要实现从浏览器到后端的全链路追踪,请在应用前端集成 Softprobe SESSIFY。SDK 会在每个浏览器标签页初始化时自动生成并复用唯一的 sessionId:
- 同一标签页内的页面跳转与交互会复用同一个 sessionId,使一次用户访问能够完整串联。
- 打开新的标签页或窗口会生成新的 sessionId;关闭标签页或重新初始化后,会话也会随之重置。
- 所有上报的前端事件、性能指标与网络请求都会携带该 sessionId,便于与后端链路数据进行关联,形成端到端视图。
最佳实践:
- 在前端将 sessionId 通过请求头(例如
X-Session-Id)或 Tracing Context 传递到后端; - 在后端采集与日志中记录该标识,或在可观测性系统中进行关联,以提升排障与定位效率。
参考文档: