-
不支持 IP
-
仅支持 endpoint ID
可以的,但要理解 cilium monitor 本身不直接按 IP 过滤,它是基于 Cilium Endpoint ID(--from/--to/--related-to)或者事件类型过滤的。
也就是说:
1️⃣ 支持的过滤方式
从 cilium monitor --help:
| 参数 | 含义 |
|---|---|
--from []uint16 | 源 endpoint ID |
--to []uint16 | 目的 endpoint ID |
--related-to []uint16 | 源或目的 endpoint ID |
-t, --type []string | 事件类型(drop / trace / policy-verdict 等) |
没有直接 --ip 参数。
2️⃣ 如果你想按 IP 过滤,有两种方法
方法 A:先查 endpoint ID
cilium endpoint list
输出类似:
ENDPOINT ID IPv4 IPv6
kube-system/xxxx 257 10.66.130.12 ...
- 记录你想监控的 IP 对应的 endpoint ID(例如 257)
- 然后:
cilium monitor --from 257
cilium monitor --to 257
cilium monitor --related-to 257
✅ 这样可以实现“按 IP”间接过滤
方法 B:监控输出后再用 grep
cilium monitor | grep 10.66.130.12
- 简单粗暴,适合临时排查
- 不影响原生 BPF trace / capture
方法 C(高级)
- 使用
-j/--json输出 JSON - 用 jq 过滤:
cilium monitor -j | jq 'select(.ip_dst=="10.66.130.12")'
- 优点:更精准,可用于脚本
🔑 总结
-
cilium monitor不直接支持 IP 过滤 -
想按 IP 过滤,必须:
- 查 endpoint ID → 用
--from/--to/--related-to - 或者输出后 grep / jq
- 查 endpoint ID → 用