Helmチャートアーキテクチャーとコンポーネント

Splunk Distribution of the OpenTelemetry Collector for Kubernetesのアーキテクチャとコンポーネントを説明します。

CollectorのHelmチャートには、エージェント、クラスターレシーバー、ゲートウェイ(オプション)の3つのコンポーネントがあります。

注: 各コンポーネントの使用例については、GitHub ドキュメント「Splunk OpenTelemetry Collector Helm Chart Components: Use Cases」を参照してください。

エージェント・コンポーネント

エージェントコンポーネントは Kubernetes クラスターの各ノードに DaemonSet としてデプロイされ、各ノード内のすべてのデータソースを監視します。

エージェント・コンポーネントは、以下の設定ファイルから構成されます:

  • daemonset.yaml

    • クラスター内の一部のノード(またはすべてのノード)がエージェントポッドのコピーを実行するようにDaemonSetを定義します。

    • Kubernetesクラスターの各ノードからデータを収集します。

  • configmap-agent.yaml

    • エージェントコンポーネントにコンフィギュレーションデータを提供します。

    • エージェントがどのようにデータを収集し、転送するかについての詳細を含みます。

  • service-agent.yaml (オプション)

    • エージェントのKubernetes Serviceを定義します。

    • クラスター内の内部通信、または特定のメトリクスやヘルス・エンドポイントの公開に使用します。

クラスター・レシーバー・コンポーネント

クラスターレシーバコンポーネントは、デプロイによって作成されたクラスター内の 1 つのポッドとして実行され、1 つの場所からデータを収集します。このコンポーネントは、クラスター全体のサービスやエンドポイントからテレメトリデータを取得できる場合に使用してください。

クラスター・レシーバー・コンポーネントは以下の設定ファイルから構成されます:

  • deployment-cluster-receiver.yaml

    • クラスター受信者の複製アプリケーションを管理するデプロイを定義します。

    • クラスターレベルでデータを受信し、処理します。

  • configmap-cluster-receiver.yaml

    • クラスターレシーバーに設定データを提供します。

    • レシーバーが収集したデータをどのように処理し、転送するかについての詳細を含みます。

  • pdb-cluster-receiver.yaml

    • クラスター・レシーバーのPDB(Pod Disruption Budget)を定義します。

    • ノードのメンテナンスなどのオペレーション中に、一定数または一定割合のレプリカが利用可能であることを保証します。

  • service-cluster-receiver-stateful-set.yaml (オプション)

    • クラスターレシーバーのKubernetesサービスを定義します。

    • StatefulSetに関連付けられ、ロードバランシング、内部通信、または特定のエンドポイントの公開に使用されます。

ゲートウェイコンポーネント(オプション)

ゲートウェイコンポーネントは、中継役として機能します。データを受信、処理、強化、転送することで、データエクスポートを強化します。モニタリング機能を拡張するために、主に大規模なクラスターで活用します。

ゲートウェイコンポーネントは、以下のコンフィグファイルで構成されています:

  • deployment-gateway.yaml

    • ゲートウェイのデプロイメントを定義します。

    • エージェント/レシーバーと外部送信先との間でデータを処理し、転送します。

  • configmap-gateway.yaml

    • ゲートウェイにコンフィギュレーション・データを提供します。

    • ゲートウェイが受信したデータをどのように処理し、変換し、転送するかについての詳細を含みます。

  • service.yaml

    • ゲートウェイ用のKubernetesサービスを定義します。

    • エージェントまたはクラスターレシーバーからデータを受け取り、Splunk バックエンドエンドポイントに転送するためのクラスター内部通信に使用されます。

  • pdb-gateway.yaml

    • ゲートウェイのPDB(Pod Disruption Budget)を定義します。

    • ゲートウェイのレプリカの一定数または割合が、自発的な中断中も利用可能であることを保証します。