HelmでCollector for Kubernetesを設定します:コンポーネントとデータソースを追加する
Splunk Distribution of OpenTelemetry Collector for Kubernetesのオプション設定。コンポーネントまたは新しいデータソースを追加します。
Collector for Kubernetes設定に追加のコンポーネントまたはデータソースを追加する方法については、続きをお読みください。実行時に新しいレシーバを作成する方法については、「Receiver creator receiver」を参照してください。
その他の設定オプションについては、こちらを参照してください:
Kubernetes 用に Collector を設定する方法の実践的な例については「チュートリアル:Kubernetes での OpenTelemetry Collector の Splunk 配布の設定」を参照してください。
設定にその他のコンポーネントを追加する
追加の OTel コンポーネント、統合、またはレガシーモニターを使用するには、values.yaml ファイルの関連する構成セクションに追加します。要件に応じて、values.yaml の agent.config または clusterReceiver.config セクションに含めることができます。詳しくは「Helm chart architecture and components」を参照してください。
使用可能なコンポーネントとその設定方法については「Collector コンポーネント」を参照してください。使用可能なアプリケーション統合のリストについては「Supported integrations in Splunk Observability Cloud」を参照してください。
データ収集方法: エージェントかクラスターレシーバーか?
次の表を読んで、データを収集するためにどのオプションを選ぶかを決めます:
|
Collector エージェント経由で収集する |
Collector クラスターレシーバー経由で収集する | |
|---|---|---|
|
データはどこで収集されますか? |
ノードレベルで。 |
Kubernetes のサービスレベルで、単一のポイントを通じて。 |
|
メリット |
|
簡潔さ:このオプションは、セットアップと管理を簡素化します。 |
|
考慮事項 |
複雑さ:各ノードでエージェントを管理設定することは、特にエージェント設定ファイルの管理など、運用の複雑さを増す可能性があります。 |
Uncomplete data:このオプションを使用すると、クラスターの健全性やパフォーマンスの一部しか把握できない可能性があります。サービスがノードのサブセットからのみメトリクスを収集する場合、クラスターの一部からの重要なメトリクスが失われる可能性があります。 |
|
ユースケース |
|
運用のシンプルさが優先される環境や、クラスターがすでにシンプルでノードが 1つしかない場合に使用します。 |
例: MySQLレシーバーを追加する
この例では、MySQL レシーバを設定ファイルに追加する方法を示しています。
agent セクションに MySQL レシーバを追加する
agent セクションCollectorエージェントのDaemonSetを使用して、エージェントがデプロイされているすべてのノードからmysqlメトリクスを収集するには、次の設定を追加します:
agent:
config:
receivers:
mysql:
endpoint: localhost:3306
...clusterReceiver セクションに MySQL レシーバを追加する
clusterReceiver セクション clusterReceiver セクションCollector クラスターレシーバのデプロイを使用して、単一のエンドポイントから mysql メトリクスを収集するには、これを設定に追加します:
clusterReceiver:
config:
receivers:
mysql:
endpoint: mysql-k8s-service:3306
...例: Rabbit MQ モニターを追加する
この例では RabbitMQ インテグレーションを設定ファイルに追加する方法を示します。
agent セクションに RabbitMQ を追加する
agent セクションCollectorエージェントのDaemonSetで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/rabbitmqclusterReceiver セクションに RabbitMQ を追加する
clusterReceiver セクション clusterReceiver セクション同様に、クラスターレシーバーで 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/rabbitmqCollectorでディスカバリーモードを有効にします。
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