Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » Collector for Kubernetesを使い始める » Configure the Collector for Kubernetes with Helm: Add components and data sources

Configure the Collector for Kubernetes with Helm: Add components and data sources 🔗

Read on to learn how to add additional components or data sources to your Collector for Kubernetes config.

For other config options, see:

For a practical example of how to configure the Collector for Kubernetes see Tutorial: Configure the Splunk Distribution of the OpenTelemetry Collector on Kubernetes.

設定にその他のコンポーネントを追加する 🔗

To use any additional OTel component, integration or legacy monitor, add it the relevant configuration sections in the values.yaml file. Depending on your requirements, you might want to include it in the agent.config or the clusterReceiver.config section of the values.yaml. See more at Helm chart architecture and components.

利用可能なコンポーネントの全リストと設定方法については、Collector コンポーネント を参照してください。利用可能なアプリケーション統合のリストについては、Splunk Observability Cloud でサポートされているインテグレーション を参照してください。

データ収集方法: エージェントかクラスターレシーバーか? 🔗

次の表を読んで、データを収集するためにどのオプションを選ぶかを決めます:

Collector エージェント経由で収集する

Collector クラスターレシーバー経由で収集する

データはどこで収集されますか?

ノードレベルで。

Kubernetes のサービスレベルで、単一のポイントを通じて。

メリット

  • 粒度:このオプションにより、クラスターのパフォーマンスと健全性の全体像を確実に把握できます。

  • フォールトトレランス:ノードが孤立したり問題が発生したりしても、そのノードのメトリクスは独立して収集されます。これにより、個々のノードに影響する問題を可視化できます。

簡潔さ:このオプションは、セットアップと管理を簡素化します。

考慮事項

複雑さ:各ノードでエージェントを管理設定することは、特にエージェント設定ファイルの管理など、運用の複雑さを増す可能性があります。

不完全なデータ:このオプションを選択すると、クラスターの健全性とパフォーマンスが部分的に表示される場合があります。サービスがノードのサブセットからのみメトリクスを収集する場合、クラスターの一部から重要なメトリクスを見逃す可能性があります。

ユースケース

  • 各ノードの操作に関する詳細な洞察が必要な環境で使用します。これにより、より良い問題診断とパフォーマンスの最適化が可能になります。

  • 複数のノードで実行可能な複数のレプリカを持つアプリケーションポッドからメトリクスを収集する場合に使用します。

運用のシンプルさが優先される環境や、クラスターがすでにシンプルでノードが 1つしかない場合に使用します。

例: MySQLレシーバーを追加する 🔗

この例では、MySQL レシーバー を設定ファイルに追加する方法を示します。

agent セクションに MySQL レシーバーを追加する 🔗

Collector エージェントデーモンセットを使用して、エージェントがデプロイされているすべてのノードから mysql メトリクスを収集するには、次の設定を追加します:

agent:
  config:
    receivers:
      mysql:
        endpoint: localhost:3306
        ...

clusterReceiver セクションに MySQL レシーバーを追加する 🔗

Collector クラスターレシーバのデプロイを使用して、単一のエンドポイントから mysql メトリクスを収集するには、これを設定に追加します:

clusterReceiver:
  config:
    receivers:
      mysql:
        endpoint: mysql-k8s-service:3306
        ...

例: Rabbit MQ モニターを追加する 🔗

この例では、RabbitMQ のインテグレーションを設定ファイルに追加する方法を示します。

agent セクションに RabbitMQ を追加します。 🔗

Collector エージェントのデーモンセットで RabbitMQ モニターを有効にする場合は、設定ファイルのエージェントセクションの receivers セクションに mysql を追加します:

agent:
  config:
    receivers:
      smartagent/rabbitmq:
        type: collectd/rabbitmq
        host: localhost
        port: 5672
        username: otel
        password: ${env:RABBITMQ_PASSWORD}

次に、設定ファイルの service セクションの metrics パイプラインに、レシーバーを含めます:

service:
  pipelines:
    metrics:
      receivers:
        - smartagent/rabbitmq

clusterReceiver セクションに RabbitMQ を追加します。 🔗

同様に、クラスターレシーバーで RabbitMQ モニターを有効にしたい場合は、設定ファイルのクラスターレシーバーセクションの receivers セクションに mysql を追加します:

clusterReceiver:
  config:
    receivers:
      smartagent/rabbitmq:
        type: collectd/rabbitmq
        host: rabbitmq-service
        port: 5672
        username: otel
        password: ${env:RABBITMQ_PASSWORD}

次に、設定ファイルの service セクションの metrics パイプラインに、レシーバーを含めます:

service:
  pipelines:
    metrics:
      receivers:
        - smartagent/rabbitmq

Collectorでディスカバリーモードを有効にします。 🔗

Splunk Distribution of OpenTelemetry Collector の検出モードを使用してメトリクスソースを検出し、その結果に基づいて設定を作成します。

Helm チャートでディスカバリーモードを有効にする方法については、Deploy the Collector with automatic discovery を参照してください。

テレメトリ・ソースの追加 🔗

追加のテレメトリ・ソースを有効にするには、autodetect 設定オプションを使用します。

一般的な Prometheus スタイルのアノテーションを持つポッドから、Collector に Prometheus メトリクスをスクレイピングさせたい場合は、autodetect.prometheus=true を設定します。以下のアノテーションをポッドに追加して、スクレイピング処理を細かく制御できるようにします:

  • prometheus.io/scrape: true: デフォルトの設定はすべてのポッドをスクレイピングします。false に設定すると、このアノテーションはスクレイピング処理からポッドを除外します。

  • prometheus.io/path: メトリクスを取得するパス。デフォルト値は /metrics です。

  • prometheus.io/port: メトリクスをスクレイピングするポート。デフォルト値は 9090 です。

CollectorがIstio環境で実行されている場合は、autodetect.istio=true を Istioによって報告されるすべてのトレース、メトリクス、およびログが統一された方法で収集されるように設定します。

例えば、以下の設定を使用して、Prometheus と Istio の両方のテレメトリ・ソースの自動検出を有効にします:

splunkObservability:
  accessToken: xxxxxx
  realm: us0
clusterName: my-k8s-cluster
autodetect:
  istio: true
  prometheus: true

特定の種類のテレメトリを無効にする 🔗

デフォルトでは、OpenTelemetry はメトリクスとトレースのみを Splunk Observability Cloud に送信し、ログのみを Splunk Platform に送信します。特定の送信先に対して、あらゆる種類のテレメトリデータ収集を有効化または無効化できます。

たとえば、以下の設定により、適切に設定されていれば、Collector は収集したすべてのテレメトリデータを Splunk Observability Cloud と Splunk Platform に送信できます:

splunkObservability:
  metricsEnabled: true
  tracesEnabled: true
  logsEnabled: true
splunkPlatform:
  metricsEnabled: true
  logsEnabled: true

This page was last updated on 2024年08月21日.