Helmを使用してCollector for Kubernetesをインストールする

OpenTelemetry Collector for Kubernetes の Splunk ディストリビューションのインストール方法について説明します。

Splunk Distribution of OpenTelemetry Collector for Kubernetesは、Helmチャートを使用してインストールし、Kubernetesアプリケーションを定義、インストール、アップグレードできます。

ヘルムチャートを使って次のことを行います:

  • Kubernetesクラスターの他のKubernetesオブジェクトと一緒にKubernetes DaemonSetを作成します。

  • Splunk Enterprise、Splunk Cloud Platform、Splunk Observability Cloud のメトリクス、トレース、ログデータの受信、処理、エクスポート。

Collector for Kubernetes Helmチャートの詳細については、次を参照してください:

対応Kubernetesディストリビューション

Helm チャートは主要な Kubernetes ディストリビューションのデフォルト設定で動作します。アクティブにサポートされているバージョンを使用してください。

このチャートは他の Kubernetes ディストリビューションでも動作するはずですが、デフォルトの values.yaml 設定ファイルには追加の更新が必要になる可能性があります。

前提条件

チャートを使用するには、以下のリソースが必要です:

  • Helm 3 。Helm 2 はサポートされていません。Helm と Kubernetes の間でサポートされるバージョンのずれの詳細については、「Helm Version Support Policy」を参照してください。

  • Kubernetesクラスターへの管理者アクセス。

前提条件:デスティネーション

Collector for Kubernetes には、デスティネーションが必要です:Splunk Enterprise または Splunk Cloud Platform ( splunkPlatform ) または Splunk Observability Cloud ( splunkObservability ) です。

宛先によっては次が必要です:

  • splunkPlatform にデータを送信するには:

    • Splunk Enterprise 8.0 以上。

    • ログデータを収集する準備が整った、Splunk プラットフォームインデックスが最低 1 つ必要です。このインデックスは、ログの取り込みに使用されます。

    • HTTP Event Collector(HEC)トークンとエンドポイント。「Splunk Web 上での HTTP Event Collector のセットアップと使用」および「HTTP Event Collector のスケール」を参照してください。

    • splunkPlatform.endpointします。Splunk インスタンスへの URL、たとえば "http://localhost:8088/services/collector"

    • splunkPlatform.tokenします。Splunk HTTP Event Collector トークン。

  • splunkObservability にデータを送信するには:

注: Collector for Kubernetes は、main をデフォルトの Splunk プラットフォームインデックスとして使用します。注釈を使用して、さまざまなインデックスにデータを送信できます。詳細については、「Send logs to different indexes」を参照してください。

ヘルムチャートのデプロイ

以下のコマンドを実行して、Helmチャートをデプロイします:

  1. Helmレポを追加します:

    helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
  2. デスティネーションを決めます。

    Splunk Observability Cloudの場合:

    helm install my-splunk-otel-collector --set="splunkObservability.realm=us0,splunkObservability.accessToken=xxxxxx,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collector

    Splunk Enterprise または Splunk Cloud Platform の場合:

    helm install my-splunk-otel-collector --set="splunkPlatform.endpoint=https://127.0.0.1:8088/services/collector,splunkPlatform.token=xxxxxx,splunkPlatform.metricsIndex=k8s-metrics,splunkPlatform.index=main,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collector

    Splunk Observability Cloud と Splunk Enterprise または Splunk Cloud Platform の両方が対象です:

    helm install my-splunk-otel-collector --set="splunkPlatform.endpoint=https://127.0.0.1:8088/services/collector,splunkPlatform.token=xxxxxx,splunkPlatform.metricsIndex=k8s-metrics,splunkPlatform.index=main,splunkObservability.realm=us0,splunkObservability.accessToken=xxxxxx,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collector
  3. チャートをデプロイする名前空間を -n 引数で指定します:

    helm -n otel install my-splunk-otel-collector -f values.yaml splunk-otel-collector-chart/splunk-otel-collector
注意: values.yaml ファイルには、Helm チャートでサポートされている設定可能なすべてのパラメータと、各パラメータの詳細な説明が記載されています。 このファイルを確認して、このチャートの構成方法を理解してください。また、トレースサンプリングやプロキシサーバ経由のデータ送信など、さまざまな使用例をサポートするように Helm チャートを設定することもできます。詳細については、「Examples of chart configuration」を参照してください。

その他のパラメータの設定

以下の設定が可能です:

例:

helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
helm install my-splunk-otel-collector --set="splunkRealm=us0,splunkAccessToken=xxxxxx,clusterName=my-cluster" --set=distribution={value},cloudProvider={value} splunk-otel-collector-chart/splunk-otel-collector

YAMLファイルを使ってHelmを設定する

YAML ファイルを使用して、引数として Helm 値を設定することもできます。たとえば、my_values.yaml という名前の YAML ファイルを作成した後で、次のコマンドを実行して Helm チャートをデプロイします。

helm install my-splunk-otel-collector --values my_values.yaml splunk-otel-collector-chart/splunk-otel-collector

GitHub の YAML ファイルの例を参照してください。

Prometheus・メトリクスの設定

このプロパティを Helm チャートの値の YAML に追加することで、Prometheus を発するすべてのポッドを自動的にスクレイピングするように Collector を設定します。

autodetect:
   prometheus: true

デプロイメント内のすべてのポッドのリソースファイルにこの設定を追加します:

metadata:
   annotations:
      prometheus.io/scrape: "true"
      prometheus.io/path: /metrics
      prometheus.io/port: "8080"

デプロイを確認する

チャートが正常にデプロイされると、Splunk Distribution of OpenTelemetry Collector for KubernetesがKubernetesクラスターにデプロイされていることを知らせるメッセージ、最終デプロイ日、ステータスが出力されます。

OpenTelemetryでKubernetes Operatorを使用する

Splunk Helm チャートを使用すると、ゼロコードインストルメンテーション用のアップストリーム OpenTelemetry Kubernetes Operator と一緒に Splunk Collector をインストールできます。詳細については、「Automatic discovery for Kubernetes」を参照してください。

この Kubernetes Operator のインスタンスは、アップストリームの OpenTelemetry Operator プロジェクトの一部です。詳細については、GitHub の「OpenTelemetry Collector ドキュメント」を参照してください。

注: アップストリームの Kubernetes Operator は、Kubernetes インフラストラクチャに Splunk Enterprise デプロイメントをデプロイして運用するために使用する Splunk Operator for Kubernetes とは関係ありません。

次のステップ

パッケージをインストールしたら、次のことができます: