7.5. ネットワークフロー取り込み時のフィルタリング
フィルターを作成すると、生成されるネットワークフローの数を減らすことができます。ネットワークフローをフィルタリングすると、Network Observability コンポーネントのリソース使用量を削減できます。
次の 2 種類のフィルターを設定できます。
- eBPF エージェントフィルター
- flowlogs-pipeline フィルター
7.5.1. eBPF エージェントフィルター リンクのコピーリンクがクリップボードにコピーされました!
eBPF エージェントフィルターはパフォーマンスを最大化します。このフィルターは、ネットワークフロー収集プロセスの最も早い段階で有効になるためです。
Network Observability Operator を使用して eBPF エージェントフィルターを設定するには、「複数のルールを使用した eBPF フローデータのフィルタリング」を参照してください。
7.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"
クエリー言語では次の構文を使用します。
カテゴリー | 演算子 |
---|---|
論理ブール演算子 (大文字と小文字の区別なし) |
|
比較演算子 |
|
単項演算子 |
|
flowlogs-pipeline フィルターは、FlowCollector
リソースの spec.processor.filters
セクションで設定できます。以下に例を示します。
flowlogs-pipeline フィルターの YAML の例