Splunk AppDynamics拡張ビルドパック」を参照してください。

v4.6.x 以降、Splunk AppDynamics では拡張ビルドパックの appdbuildpack を提供しています。Cloud Foundry のマルチビルドパック ワークフローを使用して、この拡張ビルドパックを標準のビルドパックと組み合わせて使用することができます。このビルドパックは、Splunk AppDynamics APM サポートのためのシングルポイントとして機能します。

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

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

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

はじめる前に

複数のビルドパックを使用するには、Cloud Foundry Command Line Interface(cf CLI)v6.38 以降が必要です。「Installing the cf CLI」を参照してください。

WorkFlow

「拡張ビルドパック」を参照してください。
  1. VMware Tanzu 用 AppDynamics アプリケーション パフォーマンス モニタリング タイル バージョン v4.6.x 以降をインストールまたはアップグレードします。
  2. VMware Tanzu 用 Splunk AppDynamics APM タイルがインストールされていることを確認します。
    VMware Tanzu 用 appdbuildpack APM タイルがインストールされると、 という名前のビルドパックが cf 環境のビルドパックのリストに表示されます。
    $ cf buildpacks
    Getting buildpacks...
    buildpack                position   enabled   locked   filename                                             stack
    meta_buildpack           1          true      false    meta_buildpack-v1.1.0.zip
    ...
    appdbuildpack            25         true      false    AppDynamics_buildpack-v4.6.10.zip
  3. アプリケーションの manifest.yml の次のセクションを編集します。
    1. buildpacks セクションに appdbuildpack 拡張ビルドパックを含めます。
      buildpacks: - appdbuildpack - <language specific buildpack>
    2. env セクションで、アプリケーションの言語に対応する APPD_AGENT 環境変数を設定します。
      env:
      APPD_AGENT: dotnet
    3. services セクションに含めることで、アプリケーションを Splunk AppDynamics サービスインスタンスにバインドします。
      services:
      - appd
  4. アプリケーションをプッシュするには、cf CLI コマンド を使用します。
    $ cf push

APPD_AGENT 値

言語 標準ビルドパック 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 拡張ビルドパックは、設定可能な環境変数をサポートしています。これにより、エージェントバイナリを取得する方法と、エージェントの設定をオーバーライドする方法をカスタマイズできます。

エージェントバイナリのダウンロードのオーバーライド

デフォルトでは、appdbuildpack は標準の言語固有のリポジトリ(.NET の場合は NuGet、Python の場合は PyPI、Node.js の場合は NPM)から対応する AppDynamics エージェントを取得します。.NET Framework、.NET Core Windows、および Node.js アプリケーションの場合は、appdbuildpack がエージェントを取得するリポジトリをオーバーライドできます。環境変数 APPD_AGENT_HTTP_URL をエージェントファイルがホストされているカスタム http URL に設定すると、appdbuildpack はその URL からエージェントをダウンロードし、エージェントをインストールします。

注: カスタムのダウンロード場所で Basic 認証が必要な場合は、APPD_BASIC_AUTH_USERNAME および APPD_BASIC_AUTH_PASS 環境変数を指定してログイン情報を指定することができます。

たとえば、.NET Framework アプリケーションの場合は、env ファイルの APPD_AGENT_HTTP_URL セクションで APPD_AGENT_HTTP_URL と Basic 認証のログイン情報変数(必要な場合)を設定し、アプリケーションを再展開します。manifest.yaml

env:
APPD_AGENT: dotnet
APPD_AGENT_HTTP_URL: http://<path to custom NuGet package binaries>
APPD_BASIC_AUTH_USERNAME: <username> # basic auth username (optional)
APPD_BASIC_AUTH_PASS: <password> # basic auth password (optional)

エージェントの設定のオーバーライド

デフォルトでは、appdbuildpack が、Splunk AppDynamics エージェントがアプリケーションをインストゥルメント化するために必要な基本設定を作成します。これには、アプリケーションの Splunk AppDynamics 名、階層、ノード、およびコントローラの情報が含まれます。

注: APPD_CONF_HTTP_URL の機能は Java ビルドパックに統合されていて、APPD_AGENT 値として java を使用します。Java アプリケーションのワークフローに関するドキュメントを参照してください。

.NET Framework、.NET Core Windows、.NET Core for Linux、および Python アプリケーションの場合、appdbuildpack を使用すると、エージェントに対する追加設定や既存のデフォルト設定のオーバーライドが容易になります。appdbuildpack これを行うには、APPD_CONF_HTTP_URL 環境変数を、詳細なエージェント構成ファイルがホストされているカスタム HTTP URL に設定します。拡張ビルドパックは、Splunk AppDynamics エージェントに関連する関連ファイルをダウンロードし、エージェントの設定を拡張します。

env:
APPD_AGENT: dotnet
APPD_CONF_HTTP_URL: http://custom-http-server.com
APPD_BASIC_AUTH_USERNAME: <username> # basic auth username (optional)
APPD_BASIC_AUTH_PASS: <password> # basic auth password (optional)

appdbuildpack は、APPD_AGENT 値に従って APPD_CONF_HTTP_URL に関連するサブフォルダの下にある構成ファイルをチェックします。そのため、たとえば .Net Core Linux アプリケーションの場合は AppDynamicsConfig.json などの関連する構成ファイルを APPD_CONF_HTTP_URL/dotnet-linux で検索し、Python アプリケーションの場合は APPD_CONF_HTTP_URL/python で検索します。前の例では、 http://custom-http-server.com/dotnet で検索します。

これにより、ステージング環境変数グループを使用して基盤内のすべてのビルドパックタイプの https://techdocs.broadcom.com/us/en/vmware-tanzu/platform/tanzu-platform-for-cloud-foundry/10-0/tpcf/concepts-overview.html#environment-variable-groups-20 に単一の値を割り当てる機能がサポートされ、アプリケーションごとにこの値を設定する必要がなくなります。

$ cf set-staging-environment-variable-group '{"APPD_CONF_HTTP_URL":"http://custom-http.server.com"}'
  • APPD_CONF_HTTP_URL を使用した場合、 はエージェントに適用可能な関連する名前のファイルのみを取得します。上記の例では dotnet エージェントであるため、ファイル AppDynamicsAgentLog.configAppDynamicsConfig.json のみが APPD_CONF_HTTP_URL/dotnet からダウンロードされます。他のすべてのファイルは無視されます。

  • APPD_AGENT_HTTP_URL を使用する場合は、エージェントパッケージを含むフルパスを指定する必要があります。例:http://custom-http.server.com/dotnet-linux/agent/AppDynamics-DotNetCore-linux-x64-4.5.7.0.zip

  • 各 エージェントに適用可能な詳細構成ファイルの名前と形式については、「Splunk AppDynamics」を参照してください。

サンプル manifest.yml

---
applications:
- name: cf-net-linux
random-route: true
memory: 1G
buildpacks:
- appdbuildpack
- dotnet_core_buildpack
env:
APPD_AGENT: dotnetcore
APPD_AGENT_HTTP_URL: http://custom-http-server.com/dotnet-linux/agent/AppDynamics-DotNetCore-linux-x64-4.5.7.0.zip
APPD_CONF_HTTP_URL: http://custom-http-server.com
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
services:
- appd

このアプローチを使用する利点

  • appdbuildpack と標準規格システムビルドパックの間の役割の明確な分離。appdbuildpack が、Splunk AppDynamics のインストルメンテーションに関連するすべての役割を単独で果たすようになります。

  • Splunk AppDynamics に関連する新機能は、appdbuildpack を通じて提供されます。これにより、標準のビルドパックを使用して Splunk AppDynamics ビットを提供する場合と比較して、新機能のための所要時間が大幅に短縮されます。

  • アプリケーションの言語やフレームワークに関係なく、さまざまなアプリケーションをインストゥルメント化するための単一の統合ワークフロー。appdbuildpack が AppDynamics インストゥルメンテーション ロジックの唯一のソースとなるため、appdbuildpack に追加された新機能は、該当する場合、すべての言語のエージェントで使用できます。