Pivotal Cloud FoundryでCollectorをデプロイする

Pivotal Cloud Foundry を使用して、OpenTelemetry Collector をインストールし、設定します。BOSH、ビルドパック、または Tanzu ファイルを使用します。

Pivotal Cloud Foundry(PCF)を使用してCollectorをデプロイします。

デプロイオプションは3つあります:

  • BOSH リリース:Collector は、スタンドアロンのデプロイメントとして PCF 環境にデプロイされます

  • Cloud Foundry Buildpack:このインテグレーションでは、Collector がアプリケーションのサイドカーとしてインストールされ、実行されます。この設定では、Collector はアプリケーションと同じコンテナで実行されます。

  • Tanzu タイル:[Tanzu] タイルは、Pivotal Ops Manager に統合できる Collector のパッケージリリースです。[Tanzu] タイルでは、Ops Manager から Collector をダウンロード、インストール、実行、設定、および更新できます。

BOSHリリース

BOSH リリースを使用してデプロイされた場合、Collector は Loggregator Firehose へのノズルとして機能します。これは、Cloud Foundry がログとメトリクスを出力するために使用するアーキテクチャの 1 つです。

依存関係

リリーススクリプトには、以下が必要です:

  • BOSH CLI は、デプロイメント操作からソフトウェアリリース管理まで、BOSH のすべてに対応するコマンドラインツールです。

  • wget がウェブサーバーからコンテンツを取得します。

  • jq がJSONファイルを処理します。

Collector のリリースとデプロイ

リリーススクリプト を使用して、OpenTelemetry Collector の Splunk Distribution 最新バージョンで新しいリリースを生成します。スクリプトは、Collector リポジトリの BOSH リリースディレクトリで実行する必要があります。それ以外の場合、スクリプトは機能しません。このリポジトリには、リリースに必要なコンポーネントを含めるための依存関係があります。

bosh -d splunk-otel-collector deploy deployment.yaml

スクリプトは、以下の表に示す変数を使用します:

変数

説明

デフォルト

OTEL_VERSION

このリリースの一部としてデプロイする Collector のバージョン。

latestします。有効なバージョンはバージョン 0.48.0 以降です。

SMART_AGENT_VERSION

ダウンロードする SignalFx Smart Agent のバージョン。これは、Collector SignalFx レシーバーの依存関係です。

latest

BOSH_RELEASE_VERSION

作成されるBOSHリリースのバージョン。

false (0)(指定されていない場合)。最初のリリースを除くすべてのリリースには、プリセット値が設定されています。

IS_DEV_RELEASE

ブール値(整数)。この変数が設定されている場合、このスクリプトはリリースをローカルに作成します。この変数を [true] に設定すると、スクリプトをデプロイメントで使用できます。

false (0)

UPLOAD_RELEASE

ブール値(整数)。このブール値(整数)が [true] に設定されている場合、スクリプトはリリースを BOSH Director にアップロードします。BOSH Director は主にテスト用の GitHub ワークフローに使用されます。

true (1)

設定例を参照してください。

YAMLファイルを使用してCollectorをデプロイする

次のコマンドを実行して、deployment.yaml ファイルを使用して Collector をデプロイします:

bosh -d splunk-otel-collector deploy deployment.yaml

以下は、deployment.yaml ファイルの例です:

name: splunk-otel-collector

releases:
  - name: splunk-otel-collector
    version: latest

stemcells:
  - alias: default
    os: ubuntu-bionic
    version: latest

update:
  canaries: 1
  max_in_flight: 1
  canary_watch_time: 1000-30000
  update_watch_time: 1000-30000

instance_groups:
  - name: splunk-otel-collector
    instances: 1
    azs: [z1, z2]
    jobs:
      - name: splunk-otel-collector
        release: splunk-otel-collector
        properties:
          cloudfoundry:
            rlp_gateway:
              endpoint: "https://log-stream.sys.<TAS environment name>.cf-app.com"
              shard_id: "otelcol"
              tls:
                insecure_skip_verify: false
            uaa:
              endpoint: "https://uaa.sys.<TAS environment name>.cf-app.com"
              username: "..."
              password: "..."
              tls:
                insecure_skip_verify: false
          splunk:
            access_token: "..."
            realm: "..."
    vm_type: default
    stemcell: default
    networks:
      - name: default

デプロイメントにカスタムCollector構成を含めるには、次の例に示すようにカスタム構成ファイルを使用します:

name: splunk-otel-collector

releases:
  - name: splunk-otel-collector
    version: latest

stemcells:
  - alias: default
    os: ubuntu-bionic
    version: latest

update:
  canaries: 1
  max_in_flight: 1
  canary_watch_time: 1000-30000
  update_watch_time: 1000-30000

instance_groups:
  - name: splunk-otel-collector
    instances: 1
    azs: [z1, z2]
    jobs:
      - name: splunk-otel-collector
        release: bosh
        properties:
          otel:
            config_yaml: |
              receivers:
                cloudfoundry:
                  rlp_gateway:
                    endpoint: "https://log-stream.sys.<TAS environment name>.cf-app.com"
                  uaa:
                    endpoint: "https://uaa.sys.<TAS environment name>.cf-app.com"
                    username: "..."
                    password: "..."

              exporters:
                signalfx:
                  access_token: "..."
                  realm: "..."

              processors:
                resourcedetection:
                  detectors: [ system ]

              service:
                pipelines:
                  metrics:
                    receivers: [ cloudfoundry ]
                    processors: [ resourcedetection ]
                    exporters: [ signalfx ]

    vm_type: default
    stemcell: default
    networks:
      - name: default

さらに詳しく

以下のGitHubリポジトリとファイルを参照してください:

Cloud Foundry Buildpack

Cloud Foundry Buildpack は、デプロイされる実際のアプリケーションのサイドカーとして Collector を展開します。Collector は、Loggregator Firehose へのノズルとしてアプリを観察することができ、実行されている限り、Loggregator Firehose に送信されるすべてのメトリクスとログを見ることができます。

依存関係

  • wget

  • jq

パックをインストールして Collector をデプロイする

Buildpackをインストールします:

  • Collector の Buildpack GitHub リポジトリをクローンします。

  • 新しく作成したレポにアクセスします。

  • 以下のコマンドを実行して、Collector 用の Buildpack を追加します:

cf create-buildpack otel_collector_buildpack . 99 --enable

さらに詳しく

以下のGitHubリポジトリとファイルを参照してください:

Tanzu Tile

[Tanzu] タイルは、[BOSH release] リリースを使用して、[Loggregator Firehose] にノズルとして Collector をデプロイします。

なお、Tanzuタイルのバージョン0.81以上では、以下のサービスをサポートしています:

  • Tanzuアプリケーションサービス(TAS)バージョン3および4

  • VMware Tanzu Operations Manager バージョン3

  • Stemcells (Ubuntu Jammy) バージョン 1.148

タイルバージョン0.78.1はTASバージョン2のみをサポートしています。

依存関係

リリーススクリプトには、以下が必要です:

Collector のリリースとデプロイ

以下のコマンドを実行して、Tanzuタイルの依存関係としてパッケージ化されたBOSHリリースを作成し、タイルをビルドします。

./make-latest-tile

コマンドが成功すれば、./product/splunk-otel-collector-<VERSION>.pivotal でタイルを見つけることができます。

さらに詳しく

以下のGitHubリポジトリとファイルを参照してください: