第5章 Network Observability Operator の設定
Flow Collector API リソースを更新して、Network Observability Operator とそのマネージドコンポーネントを設定できます。Flow Collector は、インストール中に明示的に作成されます。このリソースはクラスター全体で動作するため、単一の FlowCollector のみが許可され、cluster という名前を付ける必要があります。
5.1. FlowCollector リソースを表示する リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールで YAML を直接表示および編集できます。
手順
-
Web コンソールで、Operators
Installed Operators に移動します。 - NetObserv Operator の Provided APIs 見出しの下で、Flow Collector を選択します。
-
cluster を選択し、YAML タブを選択します。そこで、
FlowCollectorリソースを変更して Network Observability Operator を設定できます。
以下の例は、OpenShift Container Platform Network Observability Operator のサンプル FlowCollector リソースを示しています。
FlowCollector リソースのサンプル
apiVersion: flows.netobserv.io/v1beta1
kind: FlowCollector
metadata:
name: cluster
spec:
namespace: netobserv
deploymentModel: DIRECT
agent:
type: EBPF
ebpf:
sampling: 50
logLevel: info
privileged: false
resources:
requests:
memory: 50Mi
cpu: 100m
limits:
memory: 800Mi
processor:
logLevel: info
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 800Mi
conversationEndTimeout: 10s
logTypes: FLOWS
conversationHeartbeatInterval: 30s
loki:
url: 'https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network'
statusUrl: 'https://loki-query-frontend-http.netobserv.svc:3100/'
authToken: FORWARD
tls:
enable: true
caCert:
type: configmap
name: loki-gateway-ca-bundle
certFile: service-ca.crt
namespace: loki-namespace #
consolePlugin:
register: true
logLevel: info
portNaming:
enable: true
portNames:
"3100": loki
quickFilters:
- name: Applications
filter:
src_namespace!: 'openshift-,netobserv'
dst_namespace!: 'openshift-,netobserv'
default: true
- name: Infrastructure
filter:
src_namespace: 'openshift-,netobserv'
dst_namespace: 'openshift-,netobserv'
- name: Pods network
filter:
src_kind: 'Pod'
dst_kind: 'Pod'
default: true
- name: Services network
filter:
dst_kind: 'Service'
- 1
- エージェント仕様
spec.agent.typeはEBPFでなければなりません。eBPF は、OpenShift Container Platform でサポートされる唯一のオプションです。 - 2
- サンプリング仕様
spec.agent.ebpf.samplingを設定して、リソースを管理できます。サンプリング値が低いと、大量の計算、メモリー、およびストレージリソースが消費される可能性があります。これは、サンプリング比の値を指定することで軽減できます。値 100 は、100 ごとに 1 つのフローがサンプリングされることを意味します。0 または 1 の値は、すべてのフローがキャプチャーされることを意味します。値が低いほど、返されるフローが増加し、派生メトリクスの精度が向上します。デフォルトでは、eBPF サンプリングは値 50 に設定されているため、50 ごとに 1 つのフローがサンプリングされます。より多くのサンプルフローは、より多くのストレージが必要になることにも注意してください。デフォルト値から始めて経験的に調整し、クラスターが管理できる設定を決定することを推奨します。 - 3
- オプションの仕様
spec.processor.logTypes、spec.processor.conversationHeartbeatInterval、およびspec.processor.conversationEndTimeoutを設定して、会話追跡を有効にすることができます。有効にすると、Web コンソールで会話イベントをクエリーできるようになります。spec.processor.logTypesの値は次のとおりです:FLOWSCONVERSATIONS、ENDED_CONVERSATIONS、またはALL。ストレージ要件はALLで最も高く、ENDED_CONVERSATIONSで最も低くなります。 - 4
- Loki 仕様である
spec.lokiは、Loki クライアントを指定します。デフォルト値は、Loki Operator のインストールセクションに記載されている Loki インストールパスと一致します。Loki の別のインストール方法を使用した場合は、インストールに適切なクライアント情報を指定します。 - 5
- 元の証明書は Network Observability インスタンスの namespace にコピーされ、更新が監視されます。指定しない場合、namespace はデフォルトで "spec.namespace" と同じになります。Loki を別の namespace にインストールすることを選択した場合は、
spec.loki.tls.caCert.namespaceフィールドにその namespace を指定する必要があります。同様に、Kafka を別の namespace にインストールした場合は、spec.exporters.kafka.tls.caCert.namespaceフィールドを指定できます。 - 6
spec.quickFilters仕様は、Web コンソールに表示されるフィルターを定義します。Applicationフィルターキー、src_namespaceおよびdst_namespaceは否定 (!) されているため、Applicationフィルターは、openshift-またはnetobservnamespace から発信されて いない、または宛先がないすべてのトラフィックを表示します。詳細は、以下のクイックフィルターの設定を参照してください。