Docs » Splunk Distribution of the OpenTelemetry Collector の利用開始 » はじめに:Collectorを理解して使用する » Collector のデプロイモード

Collector のデプロイモード 🔗

Collector には、ホスト監視(エージェント)モード と、データ転送(ゲートウェイ)モード の 2 つのデプロイモードがあります。

注釈

デプロイ:OpenTelemetry Collector のデプロイに適用できるパターン にある OpenTelemetry プロジェクトの公式ドキュメントも参照してください。

ホスト監視(エージェント)モード 🔗

ホスト監視 (エージェント) モードでは、Collector はアプリケーションと共に、またはアプリケーションと同じホスト上で実行され、Splunk Observability Cloud に直接データを送信します。スタンドアロンエージェントとしてデプロイされた場合、Splunk Distribution of OpenTelemetry Collector は、デプロイされ設定された唯一のコンポーネントとなります。

次の図は、スタンドアロン・モードのアーキテクチャーを示しています:

この図は、スタンドアロン・ホスト・モニタリング(エージェント)モードのアーキテクチャーを示しています。

Host monitoring (agent) mode deployed with the installer script or Helm chart 🔗

The default configurations for the Linux installer script, Windows installer script, and for certain Helm charts deploy the Collector without Fluentd.

The architecure looks as follows:

This image shows the architecture for Helm chart and installer script deployments.

ホスト監視 (エージェント) モードを使用する場合 🔗

これらのことを行いたい場合は、ホスト監視(エージェント)モードを使用します:

  • インストルメンテーションを設定します。ホストモニタリング(エージェント)モードは、バッチ処理、キューイング、リトライを含むアプリケーションからの責任をオフロードします。

  • ホストとアプリケーションのメトリクス、およびメトリクス、スパン、ログのホストとアプリケーションのメタデータ・エンリッチメントを収集します。

データ転送(ゲートウェイ)モード 🔗

データ転送 (ゲートウェイ) モードは通常、クラスター、データセンター、または地域ごとに展開されます。ゲートウェイモードの Collector は、スタンドアロンエージェントモードで実行されている 1つ以上の Collector からデータを収集し、Splunk Observability Cloud に送信します。

デフォルトのゲートウェイ設定ファイルについては、GitHub のデータ転送 (ゲートウェイ) モード設定 を参照してください。

The following image shows the architecture for the data forwarding (gateway) mode:

This image shows the architecture for the advanced mode.

注釈

データ転送(ゲートウェイ)モードでメトリクスとメタデータを転送するには、データ転送(ゲートウェイ)モードでメトリクスとメタデータが利用できない を参照してください。

データ転送 (ゲートウェイ) モードを使用する場合 🔗

データ転送(ゲートウェイ)モードは、以下のいずれかを行う場合に使用します:

データ転送(ゲートウェイ)モードの Collector でトークンを統合します。 🔗

ホスト監視モードまたはエージェントモードの Collector が、データ転送モードまたはゲートウェイモードの別の Collector にデータを送信する場合、Splunk Observability Cloud のバックエンドに直接データを送信するわけではありません。この場合、ゲートウェイ Collector のインジェストトークンのみが使用され、ゲートウェイにデータを送信している Collector のトークンは無視されます。

Therefore, you only need one valid token for the gateway Collector to see data in Splunk Observability Cloud, and the rest of Collectors could have invalid or expired tokens.

Collector はどのようなモードでデプロイされていますか?どのように変更できますか? 🔗

提供されたスクリプト を使用して Collector をインストールする場合、Collector は設定ファイルで指定されたモードでデプロイされます。

LinuxとWindows 🔗

WindowsおよびLinuxインストーラの場合、デフォルトの構成yamlはCollectorをエージェントとして設定します。

コンフィギュレーションyamlへのパスはenv変数 SPLUNK_CONFIG 、デフォルトで設定されます:

  • Linux: /etc/otel/collector/<gateway or agent>_config.yaml

  • Windows: C:\ProgramData\Splunk\OpenTelemetry Collector\<gateway or agent>_config.yaml

デプロイモードを変更するには、代わりにゲートウェイ構成yamlファイルへのパスを SPLUNK_CONFIG 変更します。データ転送(ゲートウェイ)モードyamlの詳細については、データ転送(ゲートウェイ)モード を参照してください。

Kubernetes 🔗

Collector for Kubernetesにはさまざまなデプロイオプションがあります。それぞれの Helm 値マッピングの enabled フィールドを使用して設定できます。設定yamlにアクセスする方法については、Kubernetesの高度な設定 を参照してください。

主なデプロイモードは以下の通りです:

  • デフォルトは、agent デーモンセットと clusterReceiver デプロイメント・コンポーネントを含みます。

  • すべてのコレクタモード( agent デーモンセット、clusterReceiver および gateway コンポーネントを含みます)。

デフォルトでは、agent デーモンセットは、Kubernetes クラスターの各ノードに OpenTelemetry Collector エージェントを実行するポッドをデプロイします。エージェントポッドは、それぞれのノードで実行されているアプリケーション、サービス、その他のオブジェクトからデータを収集し、そのデータを Splunk Observability Cloud に送信します。

この Kubernetes クラスターには 3 つのノードが含まれています。各ノードにはテレメトリデータを Splunk Observability Cloud に送信する OpenTelemetry Collector agent pod が含まれています。

各モードのコンポーネントの詳細については、Helm chart architecture and components を参照してください。

Kubernetes環境でデプロイメントモードを変更する 🔗

Collectorモードを変更したい場合は、既存の設定を上書きするように、希望の設定で新しいHelmチャートをデプロイします。Kubernetes 公式ドキュメントの ローリングアップデート・デプロイメント を参照してください。

GithubでさまざまなHelmチャートを見つけることができます:

エージェントCollector からゲートウェイCollector へのデータ送信 🔗

ホスト監視 (エージェント) Collector を手動で設定して、Splunk Distribution of OpenTelemetry Collector のゲートウェイインスタンスまたはクラスターにデータを送信することができます。これには、ゲートウェイを指すようにエージェントの パイプラインエクスポーター を変更する必要があります。

Collector がデータ転送(ゲートウェイ)モードで別の Collector にデータを送信するように設定するには、以下の設定を参照してください:

エージェント設定 🔗

ホスト監視 (エージェント) モード設定ファイル で、SPLUNK_GATEWAY_URL 環境変数をゲートウェイの URL に更新します。

また、以下をチェックする必要がある可能性があります:

  • 環境変数 SPLUNK_API_URL をゲートウェイのURLに更新し、イングレス・ポート(デフォルトでは 6060 )を指定します。

  • 環境変数 SPLUNK_INGEST_URL をゲートウェイのURLに更新し、イングレス・ポート(デフォルトでは 9943 )を指定します。

  • メトリクス、トレース、ログのパイプラインが、ゲートウェイの適切なレシーバーにデータを送信することを確認します。

トレース相関を有効にするには、トレースパイプラインで signalfx エクスポーターを使用します。エージェントとゲートウェイ間の他のすべてのパイプラインは、より効率的な otlp エクスポーターを使用できます。

注釈

メトリクスに otlp エクスポーターを使用している場合、hostmetrics 集計はゲートウェイで行われます。

次の例は、ゲートウェイ Collector にデータを送信するために、Collector をホスト監視(エージェント)モードで設定する方法を示しています:

receivers:
   hostmetrics:
      collection_interval: 10s
      scrapers:
         cpu:
         disk:
         filesystem:
         memory:
         network:
# More receivers

processors:
   resourcedetection:
      detectors: [system,env,gce,ec2]
      override: true
   resource/add_environment:
      attributes:
         - action: insert
            value: staging
            key: deployment.environment
# More processors

exporters:
   # Traces
   otlp:
      endpoint: "${SPLUNK_GATEWAY_URL}:4317"
      tls:
         insecure: true
   # Metrics, events, and APM correlation calls
   signalfx:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      api_url: "http://${SPLUNK_GATEWAY_URL}:6060"
      ingest_url: "http://${SPLUNK_GATEWAY_URL}:9943"
      sync_host_metadata: true
      correlation:
   # Logs
   otlp:
      endpoint: "${SPLUNK_GATEWAY_URL}:4317"
# More exporters

service:
   extensions: [health_check, http_forwarder, zpages]
   pipelines:
      traces:
         receivers: [jaeger, zipkin]
         processors: [memory_limiter, batch, resourcedetection, resource/add_environment]
         exporters: [otlp, signalfx]
      metrics:
         receivers: [hostmetrics]
         processors: [memory_limiter, batch, resourcedetection]
         exporters: [otlp]
      metrics/internal:
         receivers: [prometheus/internal]
         processors: [memory_limiter, batch, resourcedetection]
         exporters: [signalfx]
      logs:
         receivers: [otlp]
         processors: [memory_limiter, batch, resourcedetection]
         exporters: [otlp]
   # More pipelines

ゲートウェイ設定 🔗

データ転送(ゲートウェイ)モード設定ファイル の以下のセクションを変更します:

  • レシーバーがエージェント設定のエクスポーターと一致していることを確認します。

  • Collector をデータ転送(ゲートウェイ)モードに設定して、ポート 4317、6060、および 9943 の要求を待ち受けます。

  • 環境変数 SPLUNK_GATEWAY_URLhttps://api.${SPLUNK_REALM}.signalfx.com に更新します。

Collector をデータ転送 ( ゲートウェイ ) モードに設定してエージェントから データを受信するには、以下の設定を使用します:

extensions:
   http_forwarder:
      egress:
         endpoint: "https://api.${SPLUNK_REALM}.signalfx.com"
# More extensions

receivers:
   otlp:
      protocols:
         grpc:
         http:
   signalfx:
# More receivers

exporters:
   # Traces (Agent)
   sapm:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      endpoint: "https://ingest.${SPLUNK_REALM}.signalfx.com/v2/trace"
   # Metrics + Events (Agent)
   signalfx:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      realm: "${SPLUNK_REALM}"
   # Metrics + Events (Gateway)
   signalfx/internal:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      realm: "${SPLUNK_REALM}"
      sync_host_metadata: true
# More exporters

service:
   extensions: [http_forwarder]
   pipelines:
      traces:
         receivers: [otlp]
         processors:
         - memory_limiter
         - batch
         exporters: [sapm]
      metrics:
         receivers: [otlp]
         processors: [memory_limiter, batch]
         exporters: [signalfx]
      metrics/internal:
         receivers: [prometheus/internal]
         processors: [memory_limiter, batch, resourcedetection/internal]
         exporters: [signalfx/internal]
   # More pipelines

SignalFxエクスポーターでメトリクスを送信する 🔗

エージェントとゲートウェイの両方でメトリクスに SignalFx エクスポーター を使用したい場合は、ゲートウェイで集約を非アクティブにします。そのためには、次の例のように translation_rulesexclude_metrics を空のリストに設定します。

注釈

ゲートウェイからホスト・メトリクスを収集する場合は、変換ルールをそのまま使用して別の signalfx exporter を使用します。例えば、hostmetrics を metrics/internal パイプラインに追加します。

receivers:
   hostmetrics:
      collection_interval: 10s
      scrapers:
         cpu:
         disk:
         filesystem:
         memory:
         network:

exporters:
   # Traces
   sapm:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      endpoint: "https://ingest.${SPLUNK_REALM}.signalfx.com/v2/trace"
   # Metrics + Events (Agent)
   signalfx:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      realm: "${SPLUNK_REALM}"
      translation_rules: []
      exclude_metrics: []
   # Metrics + Events (Gateway)
   signalfx/internal:
      access_token: "${SPLUNK_ACCESS_TOKEN}"
      realm: "${SPLUNK_REALM}"
      sync_host_metadata: true

service:
   extensions: [http_forwarder]
   pipelines:
      traces:
         receivers: [otlp]
         processors:
         - memory_limiter
         - batch
         exporters: [sapm]
      metrics:
         receivers: [signalfx]
         processors: [memory_limiter, batch]
         exporters: [signalfx]
      metrics/internal:
         receivers: [prometheus/internal]
         processors: [memory_limiter, batch, resourcedetection/internal]
         exporters: [signalfx/internal]

This page was last updated on 2024年05月28日.