34.8. FlowCollector 設定パラメーター

FlowCollector は、netflow コレクションをパイロットおよび設定する flowcollectors API のスキーマです。

34.8.1. FlowCollector API 仕様

object
プロパティー説明

apiVersion

string

APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーは、クライアントが要求を送信するエンドポイントからこれを推測できることがあります。CamelCase の場合、詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

FlowCollectorSpec は FlowCollector の望ましい状態を定義します。

status

object

FlowCollectorStatus は、FlowCollector の監視状態を定義します。

34.8.1.1. .spec

説明
FlowCollectorSpec は FlowCollector の望ましい状態を定義します。
object
必須
  • agent (エージェント)
  • deploymentModel
プロパティー説明

agent (エージェント)

object

フロー抽出のエージェント。

consolePlugin

object

consolePlugin は、利用可能な場合、OpenShift Container Platform コンソールプラグインに関連する設定を定義します。

deploymentModel

string

deploymentModel は、フロー処理に必要なデプロイメントのタイプを定義します。可能な値は、フロープロセッサーがエージェントから直接リッスンするようにする "DIRECT" (デフォルト)、またはプロセッサーによって消費される前にフローを Kafka パイプラインに送信するようにする "KAFKA" です。Kafka は、より優れたスケーラビリティ、回復性、および高可用性を提供できます (詳細は、https://www.redhat.com/en/topics/integration/what-is-apache-kafka を参照してください)。

exporters

array

exporters は、カスタム消費またはストレージ用の追加のオプションのエクスポータを定義します。これは実験的な機能です。現在、KAFKA エクスポーターのみが利用可能です。

exporters[]

object

FlowCollectorExporter は、強化されたフローを送信する追加のエクスポーターを定義します

kafka

object

Kafka 設定。Kafka をフローコレクションパイプラインの一部としてブローカーとして使用できます。spec.deploymentModel が KAFKA の場合に利用できます。

loki

object

ロキ、フローストア、クライアント設定。

namespace

string

NetObserv Pod がデプロイされる namespace。空の場合は、Operator の namespace が使用されます。

processor

object

プロセッサーは、エージェントからフローを受信し、フローを充実させ、Loki 永続層に転送するコンポーネントの設定を定義します。

34.8.1.2. .spec.agent

説明
フロー抽出のエージェント。
object
必須
  • type
プロパティー説明

ebpf

object

ebpf は、agent.type プロパティーが EBPF に設定されている場合の eBPF ベースのフローレポーターに関連する設定を説明します。

ipfix

object

ipfix は、"agent.type" プロパティーが "IPFIX" に設定されている場合の IPFIX ベースのフローレポーターに関連する設定を記述します。

type

string

type は、フロートレースエージェントを選択します。可能な値は、NetObserv eBPF エージェントを使用する場合は "EBPF" (デフォルト)、レガシー IPFIX コレクターを使用する場合は "IPFIX" です。"EBPF" は、より優れたパフォーマンスを提供し、クラスターにインストールされている CNI に関係なく動作するため、ほとんどの場合に推奨されます。IPFIX は OVN-Kubernetes CNI で動作します (IPFIX のエクスポートをサポートしている場合は、他の CNI も動作しますが、手動設定が必要になります)。

34.8.1.2.1. .spec.agent.ebpf
説明
ebpf は、agent.type プロパティーが EBPF に設定されている場合の eBPF ベースのフローレポーターに関連する設定を説明します。
object
プロパティー説明

cacheActiveTimeout

string

cacheActiveTimeout は、レポーターが送信前にフローを集約する最大期間です。cacheMaxFlowscacheActiveTimeout を増やすと、ネットワークトラフィックのオーバーヘッドと CPU 負荷を減らすことができますが、メモリー消費量が増え、フローコレクションのレイテンシーが増加することが予想されます。

cacheMaxFlows

integer

cacheMaxFlows は、集約内のフローの最大数です。到達すると、レポーターはフローを送信します。cacheMaxFlowscacheActiveTimeout を増やすと、ネットワークトラフィックのオーバーヘッドと CPU 負荷を減らすことができますが、メモリー消費量が増え、フローコレクションのレイテンシーが増加することが予想されます。

debug

object

デバッグでは、eBPF エージェントの内部設定のいくつかの側面を設定できます。このセクションは、デバッグと、GOGC や GOMAXPROCS 環境変数などのきめ細かいパフォーマンスの最適化のみを目的としています。その値を設定するユーザーは、自己責任で行ってください。

excludeInterfaces

array (string)

excludeInterfaces には、フロートレースから除外されるインターフェイス名が含まれています。エントリーが /br-/ のようにスラッシュで囲まれている場合は、正規表現として一致します。それ以外の場合は、大文字と小文字を区別する文字列として一致します。

imagePullPolicy

string

imagePullPolicy は、上で定義したイメージの Kubernetes プルポリシーです。

interfaces

array (string)

インターフェイスには、フローが収集されるインターフェイス名が含まれます。空の場合、エージェントは ExcludeInterfaces にリストされているものを除いて、システム内のすべてのインターフェイスをフェッチします。エントリーが /br-/ のようにスラッシュで囲まれている場合は、正規表現として一致します。それ以外の場合は、大文字と小文字を区別する文字列として一致します。

kafkaBatchSize

integer

kafkaBatchSize は、パーティションに送信される前のリクエストの最大サイズをバイト単位で制限します。Kafka を使用しない場合は無視されます。デフォルト: 10MB。

logLevel

string

logLevel は、NetObserv eBPF エージェントのログレベルを定義します。

privileged

boolean

eBPF Agent コンテナーの特権モード。一般に、この設定は無視するか、false に設定できます。その場合、オペレーターはコンテナーに詳細な機能 (BPF、PERFMON、NET_ADMIN、SYS_RESOURCE) を設定して、正しい操作を有効にします。CAP_BPF を認識しない古いカーネルバージョンが使用されている場合など、何らかの理由でこれらの機能を設定できない場合は、このモードをオンにして、より多くのグローバル権限を取得できます。

resources

object

resources は、このコンテナーが必要とするコンピューティングリソースです。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

sampling

integer

フローレポーターのサンプリングレート。100 は、100 の 1 つのフローが送信されることを意味します。0 または 1 は、すべてのフローがサンプリングされることを意味します。

34.8.1.2.2. .spec.agent.ebpf.debug
説明
デバッグでは、eBPF エージェントの内部設定のいくつかの側面を設定できます。このセクションは、デバッグと、GOGC や GOMAXPROCS 環境変数などのきめ細かいパフォーマンスの最適化のみを目的としています。その値を設定するユーザーは、自己責任で行ってください。
object
プロパティー説明

env

object (string)

env を使用すると、カスタム環境変数を NetObserv Agent に渡すことができます。GOGC、GOMAXPROCS など、いくつかの非常に具体的なパフォーマンスチューニングオプションを渡すのに役立ちます。これらは、エッジデバッグまたはサポートシナリオでのみ役立つため、FlowCollector 記述子の一部として公開されるべきではありません。

34.8.1.2.3. .spec.agent.ebpf.resources
説明
resources は、このコンテナーが必要とするコンピューティングリソースです。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。
object
プロパティー説明

limits

integer-or-string

制限は、許容されるコンピュートリソースの最大量を記述します。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

要求は、必要なコンピュートリソースの最小量を記述します。コンテナーについて Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

34.8.1.2.4. .spec.agent.ipfix
説明
ipfix は、"agent.type" プロパティーが "IPFIX" に設定されている場合の IPFIX ベースのフローレポーターに関連する設定を記述します。
object
プロパティー説明

cacheActiveTimeout

string

cacheActiveTimeout は、レポーターが送信前にフローを集約する最大期間です。

cacheMaxFlows

integer

cacheMaxFlows は、集約内のフローの最大数です。到達すると、レポーターはフローを送信します。

clusterNetworkOperator

object

clusterNetworkOperator は、利用可能な場合、OpenShift Container Platform Cluster Network Operator に関連する設定を定義します。

forceSampleAll

boolean

forceSampleAll を使用すると、IPFIX ベースのフローレポーターでのサンプリングを無効にできます。クラスターが不安定になる可能性があるため、IPFIX を使用してすべてのトラフィックをサンプリングすることはお勧めしません。本当にそうしたい場合は、このフラグを true に設定してください。自己責任でお使いください。true に設定すると、"sampling" の値は無視されます。

ovnKubernetes

object

ovnKubernetes は、利用可能な場合、OVN-Kubernetes CNI の設定を定義します。この設定は、OpenShift Container Platform なしで OVN の IPFIX エクスポートを使用する場合に使用されます。OpenShift Container Platform を使用する場合は、代わりに clusterNetworkOperator プロパティーを参照してください。

sampling

integer

サンプリングは、レポーターのサンプリングレートです。100 は、100 の 1 つのフローが送信されることを意味します。クラスターの安定性を確保するために、2 未満の値を設定することはできません。クラスターの安定性に影響を与える可能性があるすべてのパケットを本当にサンプリングしたい場合は、forceSampleAll を参照してください。または、IPFIX の代わりに eBPF エージェントを使用できます。

34.8.1.2.5. .spec.agent.ipfix.clusterNetworkOperator
説明
clusterNetworkOperator は、利用可能な場合、OpenShift Container Platform Cluster Network Operator に関連する設定を定義します。
object
プロパティー説明

namespace

string

ConfigMap がデプロイされる namespace。

34.8.1.2.6. .spec.agent.ipfix.ovnKubernetes
説明
ovnKubernetes は、利用可能な場合、OVN-Kubernetes CNI の設定を定義します。この設定は、OpenShift Container Platform なしで OVN の IPFIX エクスポートを使用する場合に使用されます。OpenShift Container Platform を使用する場合は、代わりに clusterNetworkOperator プロパティーを参照してください。
object
プロパティー説明

containerName

string

containerName は、IPFIX 用に設定するコンテナーの名前を定義します。

daemonSetName

string

daemonSetName は、OVN-Kubernetes Pod を制御する DaemonSet の名前を定義します。

namespace

string

OVN-Kubernetes Pod がデプロイされる namespace。

34.8.1.3. .spec.consolePlugin

説明
consolePlugin は、利用可能な場合、OpenShift Container Platform コンソールプラグインに関連する設定を定義します。
object
必須
  • register
プロパティー説明

autoscaler

object

プラグインのデプロイメント用に設定する水平 Pod オートスケーラーのオートスケーラー仕様。

imagePullPolicy

string

imagePullPolicy は、上で定義したイメージの Kubernetes プルポリシーです。

logLevel

string

コンソールプラグインバックエンドの logLevel

port

integer

ポートはプラグインサービスポートです。

portNaming

object

portNaming は、ポートからサービス名への変換の設定を定義します

quickFilters

array

quickFilters は、コンソールプラグインのクイックフィルタープリセットを設定します。

quickFilters[]

object

QuickFilter は、コンソールのクイックフィルターのプリセット設定を定義します

register

boolean

register を true に設定すると、提供されたコンソールプラグインを OpenShift Container Platform Console Operator に自動的に登録できます。false に設定した場合でも、oc patch console.operator.OpenShift Container Platform.io cluster --type='json' -p '[{"op": "add", "path": "/spec/plugins/-", "value": "netobserv-plugin"}]' コマンドで console.operator.OpenShift Container Platform.io/cluster を編集することにより、手動で登録できます。

replicas

integer

replicas は、開始するレプリカ (Pod) の数を定義します。

resources

object

コンピューティングリソースに関して、このコンテナーに必要なリソース。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

34.8.1.3.1. .spec.consolePlugin.autoscaler
説明
プラグインのデプロイメント用に設定する水平 Pod オートスケーラーのオートスケーラー仕様。HorizontalPodAutoscaler のドキュメント (自動スケーリング/v2) を参照してください。
34.8.1.3.2. .spec.consolePlugin.portNaming
説明
portNaming は、ポートからサービス名への変換の設定を定義します
object
プロパティー説明

enable

boolean

コンソールプラグインのポートからサービス名への変換を有効にします

portNames

object (string)

portNames は、コンソールで使用する追加のポート名を定義します (例: portNames: {"3100": "loki"})。

34.8.1.3.3. .spec.consolePlugin.quickFilters
説明
quickFilters は、コンソールプラグインのクイックフィルタープリセットを設定します。
array
34.8.1.3.4. .spec.consolePlugin.quickFilters[]
説明
QuickFilter は、コンソールのクイックフィルターのプリセット設定を定義します
object
必須
  • filter
  • name
プロパティー説明

default

boolean

デフォルトで、このフィルターをデフォルトで有効にするかどうかを定義します。

filter

object (string)

filter は、このフィルターが選択されたときに設定されるキーと値のセットです。各キーは、コンマ区切りの文字列を使用して値のリストに関連付けることができます (例: {"src_namespace": "namespace1,namespace2"})。

name

string

コンソールに表示されるフィルターの名前

34.8.1.3.5. .spec.consolePlugin.resources
説明
コンピューティングリソースに関して、このコンテナーに必要なリソース。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。
object
プロパティー説明

limits

integer-or-string

制限は、許容されるコンピュートリソースの最大量を記述します。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

要求は、必要なコンピュートリソースの最小量を記述します。コンテナーについて Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

34.8.1.4. .spec.exporters

説明
exporters は、カスタム消費またはストレージ用の追加のオプションのエクスポータを定義します。これは実験的な機能です。現在、KAFKA エクスポーターのみが利用可能です。
array
34.8.1.4.1. .spec.exporters[]
説明
FlowCollectorExporter は、強化されたフローを送信する追加のエクスポーターを定義します
object
必須
  • type
プロパティー説明

kafka

object

kafka は、強化されたフローを送信するための kafka 設定 (アドレス、トピックなど) を記述します。

type

string

type は、エクスポーターのタイプを選択します。現時点では "KAFKA" のみ利用可能です。

34.8.1.4.2. .spec.exporters[].kafka
説明
強化されたフローを送信するための、アドレスやトピックなどの kafka 設定について説明します。
object
必須
  • address
  • topic
プロパティー説明

address

string

Kafka サーバーのアドレス

tls

object

tls クライアント設定。TLS を使用する場合は、アドレスが TLS に使用される Kafka ポート (通常は 9093) と一致することを確認します。eBPF エージェントを使用する場合は、Kafka 証明書をエージェント namespace にコピーする必要があることに注意してください (デフォルトでは netobserv 特権です)。

topic

string

使用する kafka トピック。存在する必要があり、NetObserv はそれを作成しません。

34.8.1.4.3. .spec.exporters[].kafka.tls
説明
tls クライアント設定。TLS を使用する場合は、アドレスが TLS に使用される Kafka ポート (通常は 9093) と一致することを確認します。eBPF エージェントを使用する場合は、Kafka 証明書をエージェント namespace にコピーする必要があることに注意してください (デフォルトでは netobserv 特権です)。
object
プロパティー説明

cacert

object

caCert は、認証局の証明書の参照を定義します。

enable

boolean

TLS を有効にします。

insecureSkipVerify

boolean

insecureSkipVerify を使用すると、サーバー証明書のクライアント側の検証をスキップできます。true に設定すると、CACert フィールドは無視されます

userCert

object

userCert は、mTLS に使用されるユーザー証明書参照を定義します (通常の一方向 TLS を使用する場合は無視できます)。

34.8.1.4.4. .spec.exporters[].kafka.tls.caCert
説明
caCert は、認証局の証明書の参照を定義します。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.4.5. .spec.exporters[].kafka.tls.userCert
説明
userCert は、mTLS に使用されるユーザー証明書参照を定義します (通常の一方向 TLS を使用する場合は無視できます)。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.5. .spec.kafka

説明
kafka 設定。Kafka をフローコレクションパイプラインの一部としてブローカーとして使用できます。spec.deploymentModel が KAFKA の場合に利用できます。
object
必須
  • address
  • topic
プロパティー説明

address

string

Kafka サーバーのアドレス

tls

object

tls クライアント設定。TLS を使用する場合は、アドレスが TLS に使用される Kafka ポート (通常は 9093) と一致することを確認します。eBPF エージェントを使用する場合は、Kafka 証明書をエージェント namespace にコピーする必要があることに注意してください (デフォルトでは netobserv 特権です)。

topic

string

使用する kafka トピック。存在する必要があり、NetObserv はそれを作成しません。

34.8.1.5.1. .spec.kafka.tls
説明
tls クライアント設定。TLS を使用する場合は、アドレスが TLS に使用される Kafka ポート (通常は 9093) と一致することを確認します。eBPF エージェントを使用する場合は、Kafka 証明書をエージェント namespace にコピーする必要があることに注意してください (デフォルトでは netobserv 特権です)。
object
プロパティー説明

cacert

object

caCert は、認証局の証明書の参照を定義します。

enable

boolean

TLS を有効にします。

insecureSkipVerify

boolean

insecureSkipVerify を使用すると、サーバー証明書のクライアント側の検証をスキップできます。true に設定すると、CACert フィールドは無視されます

userCert

object

userCert は、mTLS に使用されるユーザー証明書参照を定義します (通常の一方向 TLS を使用する場合は無視できます)。

34.8.1.5.2. .spec.kafka.tls.caCert
説明
caCert は、認証局の証明書の参照を定義します。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.5.3. .spec.kafka.tls.userCert
説明
userCert は、mTLS に使用されるユーザー証明書参照を定義します (通常の一方向 TLS を使用する場合は無視できます)。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.6. .spec.loki

説明
loki、フローストア、クライアント設定。
object
プロパティー説明

authToken

string

AuthToken は、Loki に認証するためのトークンを取得する方法を説明します DISABLED はリクエストでトークンを送信しません。HOST はローカル Pod サービスアカウントを使用して Loki を認証します。FORWARD はユーザートークンを転送します。このモードでは、ユーザーリクエストを受信していない Pod 同様に、プロセッサーはローカル Pod サービスアカウントを使用します。HOST モードに似ています。

batchSize

integer

batchSize は、送信前に蓄積するログの最大バッチサイズ (バイト単位) です。

batchWait

string

batchWait は、バッチを送信する前に待機する最大時間です

maxBackoff

string

maxBackoff は、再試行間のクライアント接続の最大バックオフ時間です

maxRetries

integer

maxRetries は、クライアント接続の最大再試行回数です

minBackoff

string

minBackoff は、再試行間のクライアント接続の初期バックオフ時間です

querierUrl

string

querierURL は、Loki インジェスター URL とは異なる場合に備えて、Loki クエリーアサービスのアドレスを指定します。空の場合は、URL 値が使用されます (Loki インジェスターとクエリーアが同じサーバーにあると仮定します)。+ [IMPORTANT] ==== Loki Operator を使用して Loki をインストールした場合は、Loki へのコンソールアクセスを中断する可能性があるため、querierUrl を使用しないことをお勧めします。別のタイプの Loki インストールを使用して Loki をインストールした場合、これは当てはまりません。====

staticLabels

object (string)

staticLabels は、各フローに設定する共通ラベルのマップです

statusUrl

string

statusURL は、Loki クエリーア URL と異なる場合に備えて、Loki /ready /metrics /config エンドポイントのアドレスを指定します。空の場合は、QuiererURL 値が使用されます。これは、フロントエンドでエラーメッセージやコンテキストを表示するのに便利です。

tenantID

string

tenantID は、各リクエストのテナントを識別する Loki X-Scope-OrgID です。instanceSpec が指定されている場合は無視されます

timeout

string

timeout は、接続/リクエスト制限の最大時間です。タイムアウト 0 は、タイムアウトがないことを意味します。

tls

object

tls クライアント設定。

url

string

url は、フローをプッシュする既存の Loki サービスのアドレスです。

34.8.1.6.1. .spec.loki.tls
説明
tls クライアント設定。
object
プロパティー説明

cacert

object

caCert は、認証局の証明書の参照を定義します。

enable

boolean

TLS を有効にします。

insecureSkipVerify

boolean

insecureSkipVerify を使用すると、サーバー証明書のクライアント側の検証をスキップできます。true に設定すると、CACert フィールドは無視されます

userCert

object

userCert は、mTLS に使用されるユーザー証明書参照を定義します (通常の一方向 TLS を使用する場合は無視できます)。

34.8.1.6.2. .spec.loki.tls.caCert
説明
caCert は、認証局の証明書の参照を定義します。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.6.3. .spec.loki.tls.userCert
説明
userCert は、mTLS に使用されるユーザー証明書参照を定義します (通常の一方向 TLS を使用する場合は無視できます)。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.7. .spec.processor

説明
プロセッサーは、エージェントからフローを受信し、フローを充実させ、Loki 永続層に転送するコンポーネントの設定を定義します。
object
プロパティー説明

conversationEndTimeout

string

会話終了タイムアウトは、最後のフローログから会話が終了するまでの待機時間です。

conversationHeartbeatInterval

string

会話のハートビート間隔は、会話のハートビートレポート間の待機時間です。

debug

object

デバッグでは、フロープロセッサーの内部設定のいくつかの側面を設定できます。このセクションは、デバッグと、GOGC や GOMAXPROCS 環境変数などのきめ細かいパフォーマンスの最適化のみを目的としています。その値を設定するユーザーは、自己責任で行ってください。

dropUnusedFields

boolean

dropUnusedFields を true に設定すると、OVS によって未使用であることがわかっているフィールドを削除して、ストレージ領域を節約できます。

enableKubeProbes

boolean

enableKubeProbes は、Kubernetes の liveness および readiness プローブを有効または無効にするフラグです。

healthPort

integer

healthPort は、ヘルスチェック API を公開する Pod のコレクター HTTP ポートです。

imagePullPolicy

string

imagePullPolicy は、上で定義したイメージの Kubernetes プルポリシーです。

kafkaConsumerAutoscaler

object

Kafka メッセージを消費する flowlogs-pipeline-transformer を設定する水平 Pod オートスケーラーの kafkaConsumerAutoscaler 仕様。Kafka が無効になっている場合、この設定は無視されます。

kafkaConsumerBatchSize

integer

kafkaConsumerBatchSize は、コンシューマーが受け入れる最大バッチサイズ (バイト単位) をブローカーに示します。Kafka を使用しない場合は無視されます。デフォルト: 10MB。

kafkaConsumerQueueCapacity

integer

kafkaConsumerQueueCapacity は、Kafka コンシューマークライアントで使用される内部メッセージキューの容量を定義します。Kafka を使用しない場合は無視されます。

kafkaConsumerReplicas

integer

kafkaConsumerReplicas は、Kafka メッセージを消費する flowlogs-pipeline-transformer に対して開始するレプリカ (Pod) の数を定義します。Kafka が無効になっている場合、この設定は無視されます。

logLevel

string

コレクターランタイムの logLevel

logTypes

string

logTypes は、生成する必要なレコードタイプを定義します。可能な値は、flowLogs をエクスポートする場合は FLOWS (デフォルト)、newConnection、ハートビート、endConnection イベントを生成する場合は CONVERSATIONS、endConnection イベントのみを生成する場合は ENDED_CONVERSATIONS、フローログと会話イベントの両方を生成する場合は ALL です。

metrics

object

Metric は、メトリックに関するプロセッサー設定を定義します。

port

integer

フローコレクターのポート (ホストポート)。慣例により、一部の値は許可されません。ポートは、1024 以上で、4789、6081、500、および 4500 と異なる値にする必要があります。

profilePort

integer

profilePort を使用すると、このポートをリッスンする Go pprof プロファイラーを設定できます

resources

object

resources は、このコンテナーが必要とするコンピューティングリソースです。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

34.8.1.7.1. .spec.processor.debug
説明
デバッグでは、フロープロセッサーの内部設定のいくつかの側面を設定できます。このセクションは、デバッグと、GOGC や GOMAXPROCS 環境変数などのきめ細かいパフォーマンスの最適化のみを目的としています。その値を設定するユーザーは、自己責任で行ってください。
object
プロパティー説明

env

object (string)

env を使用すると、カスタム環境変数を NetObserv Agent に渡すことができます。GOGC や GOMAXPROCS などの非常に具体的なパフォーマンスチューニングオプションを渡すのに役立ちます。これらは、エッジデバッグおよびサポートシナリオでのみ有用であるため、FlowCollector 記述子の一部として公開すべきではありません。

34.8.1.7.2. .spec.processor.kafkaConsumerAutoscaler
説明
Kafka メッセージを消費する flowlogs-pipeline-transformer を設定する水平 Pod オートスケーラーの kafkaConsumerAutoscaler 仕様。Kafka が無効になっている場合、この設定は無視されます。HorizontalPodAutoscaler のドキュメント (自動スケーリング/v2) を参照してください。
34.8.1.7.3. .spec.processor.metrics
説明
Metric は、メトリックに関するプロセッサー設定を定義します。
object
プロパティー説明

disableAlerts

array (string)

disableAlerts は、無効にする必要があるアラートのリストです。可能な値は次のとおりです: NetObservNoFlows。これは、一定期間フローが観察されなかった場合にトリガーされます。NetObservLokiError: Loki エラーが原因でフローがドロップされるとトリガーされます。

ignoreTags

array (string)

ignoreTags は、無視するメトリックを指定するタグのリストです

server

object

Prometheus スクレイパーの metricsServer エンドポイント設定

34.8.1.7.4. .spec.processor.metrics.server
説明
Prometheus スクレイパーの metricsServer エンドポイント設定
object
プロパティー説明

port

integer

プロメテウス HTTP ポート

tls

object

TLS 設定。

34.8.1.7.5. .spec.processor.metrics.server.tls
説明
TLS 設定。
object
プロパティー説明

provided

object

TLS 設定。

type

string

エンドポイントに TLS を設定しない場合は "DISABLED" (デフォルト)、証明書ファイルとキーファイルを手動で提供する場合は "PROVIDED"、注釈を使用して OpenShift Container Platform の自動生成された証明書を使用する場合は AUTO を選択します。

34.8.1.7.6. .spec.processor.metrics.server.tls.provided
説明
TLS 設定。
object
プロパティー説明

certFile

string

certFile は、config map/シークレット内の証明書ファイル名へのパスを定義します

certKey

string

certKey は、config map/シークレット内の証明書秘密鍵ファイル名へのパスを定義します。キーが不要な場合は省略します。

name

string

証明書を含む config map またはシークレットの名前

type

string

証明書参照のタイプ: config mapまたはシークレット

34.8.1.7.7. .spec.processor.resources
説明
resources は、このコンテナーが必要とするコンピューティングリソースです。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。
object
プロパティー説明

limits

integer-or-string

制限は、許容されるコンピュートリソースの最大量を記述します。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

要求は、必要なコンピュートリソースの最小量を記述します。コンテナーについて Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。詳細については、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

34.8.1.8. .status

説明
FlowCollectorStatus は、FlowCollector の監視状態を定義します。
object
必須
  • conditions
プロパティー説明

conditions

array

条件は、オブジェクトの状態の最新の利用可能な観察を表します。

conditions[]

object

条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパス.status.conditions で配列として直接使用することを目的としています。たとえば、次のように入力します。FooStatus struct{//foo の現在の状態の監視を表します。//既知の.status.conditions.type は次のとおりです。"Available"、"Progressing"、および "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" //その他のフィールド}

namespace

string

コンソールプラグインと flowlogs-pipeline がデプロイされている namespace。

34.8.1.8.1. .status.conditions
説明
条件は、オブジェクトの状態の最新の利用可能な観察を表します。
array
34.8.1.8.2. .status.conditions[]
説明
条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパス.status.conditions で配列として直接使用することを目的としています。たとえば、次のように入力します。FooStatus struct{//foo の現在の状態の監視を表します。//既知の.status.conditions.type は次のとおりです。"Available"、"Progressing"、および "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions" //その他のフィールド}
object
必須
  • lastTransitionTime
  • message
  • reason
  • status
  • type
プロパティー説明

lastTransitionTime

string

lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。

message

string

message は、遷移の詳細を示す人が判読できるメッセージです。これは空の文字列である可能性があります。

observedGeneration

integer

observedGeneration は、それをベースに条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 で、.status.conditions[x].gitopsdGeneration が 9 の場合、インスタンスの現在の状態に対して条件が古くなっています。

reason

string

reason には、条件の最後の遷移の理由を示すプログラムによる識別子が含まれます。特定の条件タイプのプロデューサーは、このフィールドの期待値と意味、および値が保証された API と見なされるかどうかを定義できます。値は CamelCase 文字列である必要があります。このフィールドは空ではない可能性があります。

status

string

条件のステータス、True、False、Unknown のいずれか。

type

string

CamelCase または foo.example.com/CamelCase の条件のタイプ。--- 多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、徐々に縮小する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。