6.5. 在 ingestion 处过滤网络流
您可以创建过滤器来减少生成的网络流数量。过滤网络流可减少 Network Observability 组件的资源使用情况。
您可以配置两种类型的过滤器:
- eBPF 代理过滤器
- flowlogs-pipeline 过滤器
6.5.1. eBPF 代理过滤器 复制链接链接已复制到粘贴板!
eBPF 代理过滤可提高性能,因为它们在网络流集合过程的最早阶段生效。
要使用 Network Observability Operator 配置 eBPF 代理过滤器,请参阅 "Filtering eBPF flow data using multiple rules"。
6.5.2. flowlogs-pipeline 过滤器 复制链接链接已复制到粘贴板!
flowlogs-pipeline 过滤器提供对流量选择的更多控制,因为它们在网络流集合过程中生效。它们主要用于改进数据存储。
flowlogs-pipeline 过滤器使用简单的查询语言来过滤网络流,如下例所示:
(srcnamespace="netobserv" OR (srcnamespace="ingress" AND dstnamespace="netobserv")) AND srckind!="service"
(srcnamespace="netobserv" OR (srcnamespace="ingress" AND dstnamespace="netobserv")) AND srckind!="service"
查询语言使用以下语法:
| 类别 | Operator |
|---|---|
| 逻辑布尔值运算符(不区分大小写) |
|
| 比较运算符 |
|
| Unary 操作 |
|
您可以在 FlowCollector 资源的 spec.processor.filters 部分中配置 flowlogs-pipeline 过滤器。例如:
YAML Flowlogs-pipeline 过滤器示例