Download PDF
Download page Cisco AppDynamics 拡張ビルドパック.
Cisco 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
VMware Tanzu 用 AppDynamics アプリケーション パフォーマンス モニタリング タイル バージョン v4.6.x 以降をインストールまたはアップグレードします。
VMware Tanzu 用 Splunk AppDynamics APM タイルがインストールされると、appdbuildpack という名前のビルドパックが 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
CODEアプリケーションの
manifest.yml
の次のセクションを編集します。buildpacks
セクションにappdbuildpack
拡張ビルドパックを含めます。buildpacks: - appdbuildpack - <language specific buildpack>
CODEenv
セクションで、アプリケーションの言語に対応するAPPD_AGENT
環境変数を設定します。env: APPD_AGENT: dotnet
CODEservices
セクションに含めることで、アプリケーションを Splunk AppDynamics サービスインスタンスにバインドします。services: - appd
CODE
アプリケーションをプッシュするには、cf CLI コマンド
cf push
を使用します。$ 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)から対応する Splunk 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 アプリケーションの場合は、manifest.yaml
ファイルの env
セクションで APPD_AGENT_HTTP_URL と Basic 認証のログイン情報変数(必要な場合)を設定し、アプリケーションを再展開します。
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 を使用すると、エージェントに対する追加設定や既存のデフォルト設定のオーバーライドが容易になります。これを行うには、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
で検索します。
これにより、ステージング環境変数グループを使用して基盤内のすべてのビルドパックタイプの APPD_CONF_HTTP_URL
に単一の値を割り当てる機能がサポートされ、アプリケーションごとにこの値を設定する必要がなくなります。
$ cf set-staging-environment-variable-group '{"APPD_CONF_HTTP_URL":"http://custom-http.server.com"}'
APPD_CONF_HTTP_URL
を使用した場合、appdbuildpack
はエージェントに適用可能な関連する名前のファイルのみを取得します。上記の例では dotnet エージェントであるため、ファイルAppDynamicsAgentLog.config
とAppDynamicsConfig.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 エージェントに適用可能な詳細構成ファイルの名前と形式については、「Install App Server Agents」を参照してください。
サンプル 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
に追加された新機能は、該当する場合、すべての言語のエージェントで使用できます。