cilium monitor 支持指定 ip 过滤么

5 阅读1分钟
  • 不支持 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 过滤,必须:

    1. 查 endpoint ID → 用 --from/--to/--related-to
    2. 或者输出后 grep / jq