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

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

はじめる前に

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

AppDynamics Application Performance Monitoring for VMware Tanzu」ドキュメントを参照することもできます。

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

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

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

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

このドキュメントには、Cloud Foundry™ のドキュメントへの参照が含まれています。AppDynamics はいかなる権利も所有しておらず、そのようなサードパーティのドキュメントの正確性または完全性について責任を負いません。


  1. VMware Tanzu 用 AppDynamics アプリケーション パフォーマンス モニタリング タイル バージョン v4.6.x 以降をインストールまたはアップグレードします。「Installing and Configuring AppDynamics」を参照してください。

    VMware Tanzu 用 AppDynamics APM タイルがインストールされると、appdbuildpack という名前のビルドパックが cf 環境のビルドパックのリストに表示されます。

    buildpacks

    $ 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
    BASH
  2. タイルのインストール中に作成されたサービスプランとともに、appdynamics サービスが環境内にあるかどうかを確認します。

    buildpacks

    $ cf marketplace -s appdynamics
      service plan                   description                    free or paid
      pcf-appd                       pcf-appd                       free
      pcf-appd-test                  pcf-appd-test                  free
    BASH
  3. 次のコマンドでサービスインスタンスを作成します(この例では、サービスインスタンスは appdynamics_service_instance です)。

    buildpacks

    $ cf create-service appdynamics pcf-appd appd
    BASH

    非タイルワークフロー

    タイルをサポートしていない Cloud Foundry 環境の場合は、次の手順を実行します。

    1. AppDynamics Application Performance Monitoring for VMware Tanzu」から AppDynamics ビルドパックをダウンロードし、cf create -buildpack コマンドを使用して環境にアップロードします。
    2. AppDynamics Service Broker and Buildpacks - APM FAQs」で説明されているようにユーザー提供のサービス(例:appdynamics_service_instance)を作成し、ステップ 4 に進みます。
  4. 次の詳細を使用して manifest.yml アプリケーションを編集します。
    サンプルビルドパックについては、「ワークフローの表」を参照してください。  
    1. services セクションで、AppDynamics サービスインスタンス(この例では appdynamics_service_instance)にバインドします
    2. buildpacks セクションに、アプリケーションのフレームワークまたは言語に固有の appdbuildpack および標準ビルドパックを含めます
    3. env セクションで、次の環境変数を設定します
      • APPD_AGENT を、インストゥルメント化しているアプリケーションのタイプに設定します(この例では、.NET Core アプリケーション)。
      • (オプション)HTTP の場所から特定のエージェントビットをダウンロードするには、APPD_AGENT_HTTP_URL を設定します。
      • (オプション)HTTP の場所から AppDynamics エージェントに対応するカスタム構成ファイルをダウンロードするには、APPD_CONF_HTTP_URL を設定します。

        manifest.yml

         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)
        BASH
  5. cf CLI コマンドを使用してアプリケーションをプッシュします

    cloudfoundry-apps/cf-NET-sample/ViewEnvironment (master)$ cf push
     
    CODE

AppDynamics エージェントの値

言語標準ビルドパックAPPD_AGENT 値
.NET Framework(Windows)hwc_buildpackdotnet
.NET Core(Linux)dotnet_core_buildpackdotnet-linux
.NET Core(Windows)binary_buildpackdotnet-windows
Pythonpython_buidpackpython
GoLanggo_buildpackgolang
NodeJSnodejs-buildpacknodejs

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

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

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

カスタム構成

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

ワークフローの表

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

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

  • APPD_AGENT Valueappdbuildpack でアプリケーションをプッシュするときに設定する必要がある APPD_AGENT environment variableの値。
  • Configuration File Names:このリストは、ローカルまたはリモートでホストされている場合に appdbuildpack によって選択されるファイルの名前を表しています。
    • リモートでホストされている場合、このファイルが APPD_CONF_HTTP_URL で指定された URL に存在している必要があります。
    • ローカルでホストされている場合、このファイルがアプリケーションビットの隣にある appdynamics/conf フォルダの下に存在している必要があります。
  • Sample Manifest: インストゥルメンテーション用の appdbuildpack で、すべての設定とともにアプリケーションをプッシュするサンプルビルドパック


ここでは、サービスブローカの appdynamics サービスまたはユーザー提供のサービス(https://docs.pivotal.io/partners/appdynamics/faqs.html#s2)からコマンドを実行する前に作成された、appdynamics_service_instance をサービスインスタンスとして使用しています。 

言語

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>

BASH
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>
    
BASH


Pythonpython
  • 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>

BASH


GoLanggolangN/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>
BASH



これらの資料で使用されているサードパーティの名前、ロゴ、マーク、および一般的な参照情報は、米国および/またはその他の国のそれぞれの所有者またはその関係会社の所有物です。このような参照情報の記載は、情報提供のみを目的としており、AppDynamics とサードパーティの関係を促進または示唆することを意図したものではありません。