Cloud Foundry のスタートアップガイド

VMware Tanzu 用 AppDynamics アプリケーション パフォーマンス モニタリングのバージョン 4.6.x のタイルには、Splunk AppDynamics 拡張ビルドパック、appdbuildpack™ が付属しています。これは、Cloud Foundry™ の複数のビルドパックワークフローを使用して標準ビルドパックとともに使用できます。このビルドパックは、Splunk AppDynamics サポートのためのシングルポイントとして機能します。

注: Java ビルドパックは、マルチビルドパック方法をサポートしていません。そのため、Splunk AppDynamics サポートは Java ビルドパックに直接導入され、マルチビルドパック アプローチは Java アプリケーションには使用されません。

はじめる前に

  • 複数のビルドパックを使用するには、Cloud Foundry Command Line Interface(cf CLI)v6.38 以降が必要です。「Installing the cf CLI」を参照してください。
  • Splunk AppDynamics タイルがインストールされ、コントローラの情報で設定された CloudFoundry 環境。
  • インストゥルメント化するアプリケーション。サンプル アプリケーション を参照してください。

サンプル アプリケーション

GitHub リポジトリで、複数ビルドパックアプローチについて示すサンプルアプリケーションを見つけることができます。

Splunk AppDynamics ビルドパックのワークフロー

次のワークフローは、Splunk AppDynamics ビルドパックを使用するためのワークフローを示しています。これは、Cloud Foundry(cf)環境で実行されているアプリケーションをインストゥルメント化するために使用されます。

注: このドキュメントには、Cloud Foundry™ のドキュメントへの参照が含まれています。Splunk AppDynamics はいかなる権利も所有しておらず、そのようなサードパーティのドキュメントの正確性または完全性について責任を負いません。™
  1. VMware Tanzu 用 AppDynamics アプリケーション パフォーマンス モニタリング タイル バージョン v4.6.x 以降をインストールまたはアップグレードします。
    VMware Tanzu 用 Cisco AppDynamics のインストールと設定Splunk AppDynamics を参照してください。VMware Tanzu 用 AppDynamics APM タイルがインストールされると、 という名前のビルドパックが cf 環境のビルドパックのリストに表示されます。
    $ cf buildpacks
    Getting buildpacks...
    buildpack                position          enabled   locked   filename                                             stack
    dotnet_core_buildpack           1          true      false    dotnet-core_buildpack-cached-cflinuxfs2-v2.2.0.zip
    hwc_buildpack                   2          true      false    hwc_buildpack-cached-windows2016-v3.0.2.zip          windows2016
    appdbuildpack                   25         true      false    appdynamics_buildpack-v4.5.513.zip
  2. タイルのインストール中に作成されたサービスプランとともに、 サービスが環境内にあるかどうかを確認します。
    $ cf marketplace -s appdynamics
    service plan                   description                    free or paid
    pcf-appd                       pcf-appd                       free
    pcf-appd-test                  pcf-appd-test                  free
  3. 次のコマンドを使用してサービスインスタンスを作成します。
    この例では、サービス インスタンスは appdynamics_service_instance です。
    $ cf create-service appdynamics pcf-appd appd
    注: 非タイルワークフロー:タイルをサポートしていない Cloud Foundry 環境の場合は、次の手順を実行します。
    1. AppDynamics Application Performance Monitoring for VMware Tanzu」から Splunk AppDynamics ビルドパックをダウンロードし、cf create -buildpack コマンドを使用して環境にアップロードします。
    2. Splunk AppDynamicsVMware Tanzu Tile FAQs」で説明されているようにユーザー提供のサービス(例:appdynamics_service_instance)を作成し、ステップ 4 に進みます。
  4. 次の詳細を編集します。manifest.yml
    サンプルビルドパックについては、「ワークフロー表」を参照してください。
    1. services セクションで、Splunk AppDynamics サービスインスタンス(この例では appdynamics_service_instance)にバインドします
    2. buildpacks セクションに、アプリケーションのフレームワークまたは言語に固有の appdbuildpack および標準ビルドパックを含めます
    3. env セクションで、次の環境変数を設定します
      • APPD_AGENT を、インストゥルメント化しているアプリケーションのタイプに設定します(この例では、.NET Core アプリケーション)。
      • (オプション)HTTP の場所から特定のエージェントビットをダウンロードするには、APPD_AGENT_HTTP_URL を設定します。
      • (オプション)HTTP の場所から Splunk AppDynamics エージェントに対応するカスタム構成ファイルをダウンロードするには、APPD_CONF_HTTP_URL を設定します
      • (オプション)HTTP の場所から特定のエージェントビットをダウンロードするために Basic 認証のクレデンシャルを指定するには、APPD_BASIC_AUTH_USERNAME および APPD_BASIC_AUTH_PASS を設定します。APPD_BASIC_AUTH_USERNAMEAPPD_BASIC_AUTH_PASS
      cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cat manifest.yml
      ---
      applications:
      - name: cf-net-application-sample
      memory: 2G
      buildpacks:
      - appdbuildpack          # appdynamics buildpack (required)
      - dotnet_core_buildpack  # language specific buildpack
      services:
      - appdynamics_service_instance   # appdynamics service instance (required)
      env:
      APPD_AGENT: dotnetcore  # type of agent needed for instrumentation (required)
      APPD_AGENT_HTTP_URL: https://www.nuget.org/api/v2/package/AppDynamics.Agent.Distrib.Micro.Windows/4.5.7 # download url (optional)
      APPD_CONF_HTTP_URL: http://appdconf.apps.lawndale.cf-app.com/dotnetcore/1/  # url where configuration files are present (optional)
      APPD_BASIC_AUTH_USERNAME: temp_user # basic auth username (optional)
      APPD_BASIC_AUTH_PASS: dummy # basic auth password (optional)
  5. cf CLI コマンドを使用してアプリケーションをプッシュします
    cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cf push

Splunk AppDynamics エージェントの値

次の表に、使用可能な引数値を示します。

言語 標準ビルドパック APPD_AGENT 値
.NET Framework(Windows) hwc_buildpack dotnet
.NET Core(Linux) dotnet_core_buildpack dotnet-linux
.NET Core(Windows) binary_buildpack dotnet-windows
Python python_buidpack python
GoLang go_buildpack golang
NodeJS nodejs-buildpack nodejs

エージェントビットのダウンロード

Splunk AppDynamics ビルドパックは、カスタムダウンロード URL からバイナリを取得することで、特定のエージェントビットをダウンロードする方法を提供します。appd dwnload サーバー、pypi、nuget などの標準ダウンロードポイントからエージェントを取得するデフォルトの動作に加えて、この方法を使用できます。

AppDynamics エージェントをホストしているダウンロード URL として APPD_AGENT_HTTP_URL を指定できます。

注: ダウンロードの場所でエージェントビットをダウンロードするために Basic 認証が必要な場合は、APPD_BASIC_AUTH_USERNAMEAPPD_BASIC_AUTH_PASS を使用してユーザー名とパスワードをそれぞれ指定できます。

カスタム構成

Splunk AppDynamics ビルドパックでは、基本設定を上書きしたり、カスタム構成ファイルをエージェントに追加したりする方法も提供されています。ビルドパックは、設定をローカルまたはリモートで取得できます。ビルドパックは、特定のエージェントに使用されるものと同じ名前のファイルを取得します。カスタム ダウンロード ポイントからリモートで取得するには、エージェントに対応する構成ファイルを HTTP サーバーの URL でホストし、APPD_AGENT_HTTP_URL をその URL に設定します

ワークフローの表

次の表では、appdbuildpack でアプリケーションをプッシュするときに適用できる言語/フレームワーク固有の設定について説明します。

列の説明は次のとおりです。

  • APPD_AGENTappdbuildpack でアプリケーションをプッシュするときに設定する必要がある APPD_AGENT 環境変数の値。
  • :このリストは、ローカルまたはリモートでホストされている場合に appdbuildpack によって選択されるファイルの名前を表しています。
    • リモートでホストされている場合、このファイルが APPD_CONF_HTTP_URL で指定された URL に存在している必要があります。
    • ローカルでホストされている場合、これらのファイルはアプリケーションビットの隣にある appdynamics/conf フォルダに存在している必要があります。
  • インストルメンテーション用の appdbuildpack で、すべての設定とともにアプリケーションをプッシュするサンプルビルドパック
注: ここでは、サービスブローカーの appdynamics サービスまたはユーザー提供のサービスからコマンドを実行する前に作成された、 をサービスインスタンスとして使用しています。Cisco AppDynamics VMware Tanzu タイルの FAQSplunk AppDynamics AppDynamics VMware Tanzu タイルの FAQ
APPD_AGENT 値 使用できるカスタム構成ファイル名 サンプルマニフェスト
DotNetCore(Linux) dotnetcore
  • AppDynamicsConfig.json
  • AppDynamicsAgentLog.json
edit manifest.yml
cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cat manifest.yml
---
applications:
- name: cf-net-core
memory: 2G
buildpacks:
- appdbuildpack
- dotnet_core_buildpack
services:
- appdynamics_service_instance
env:
APPD_AGENT: dotnetcore
APPD_AGENT_HTTP_URL: <optional>
APPD_CONF_HTTP_URL: <optional>
APPD_BASIC_AUTH_USERNAME: <optional>
APPD_BASIC_AUTH_PASS: <optional>
DotNet(HWC) dotnet
  • AppDynamicsConfig.json
  • AppDynamicsAgentLog.json
edit manifest.yml
cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cat manifest.yml
---
applications:
- name: cf-net
memory: 2G
buildpacks:
- appdbuildpack
- hwc_buildpack
services:
- appdynamics_service_instance   # appdynamics service instance (required)
env:
APPD_AGENT: dotnet
APPD_AGENT_HTTP_URL: <optional>
APPD_CONF_HTTP_URL: <optional>
APPD_BASIC_AUTH_USERNAME: <optional>
APPD_BASIC_AUTH_PASS: <optional>
Python python
  • appdynamics.cfg
edit manifest.yml
cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cat manifest.yml
---
applications:
- name: cf-python
memory: 2G
buildpacks:
- appdbuildpack          # appdynamics buildpack (required)
- python_buildpack  # language specific buildpack
services:
- appdynamics_service_instance   # appdynamics service instance (required)
env:
APPD_AGENT: python  # type of agent needed for instrumentation (required)
APPD_AGENT_HTTP_URL: <optional>
APPD_CONF_HTTP_URL: <optional>
APPD_BASIC_AUTH_USERNAME: <optional>
APPD_BASIC_AUTH_PASS: <optional>
GoLang golang N/A because it is an SDK edit manifest.yml
cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cat manifest.yml
---
applications:
- name: cf-net-application-sample
memory: 2G
buildpacks:
- appdbuildpack
- go_buildpack  # language specific buildpack
services:
- appdynamics_service_instance   # appdynamics service instance (required)
env:
APPD_AGENT: golang
APPD_AGENT_HTTP_URL: <optional>
APPD_CONF_HTTP_URL: <optional>
APPD_BASIC_AUTH_USERNAME: <optional>
APPD_BASIC_AUTH_PASS: <optional>
注: これらの資料で使用されているサードパーティの名前、ロゴ、マーク、および一般的な参照情報は、米国および/またはその他の国のそれぞれの所有者またはその関係会社の所有物です。このような参照情報の記載は、情報提供のみを目的としており、Splunk AppDynamics とサードパーティの関係を促進または示唆することを意図したものではありません。