Pythonエージェント設定

Python エージェントの動作設定は、構成ファイルを使用するか、アプリケーション環境内に環境変数を設定して構成します。このページでは、Python エージェントの設定を示します。

構成ファイルについては、「エージェントの構成」を参照してください。

注: 環境変数の古いバージョンは下位互換性があり、廃止されていますが、将来のリリースで最終的に削除されます。環境変数を最新バージョンに更新する必要があります。新しい環境変数は、両方が環境に設定されている場合に、廃止された変数よりも優先されます(たとえば両方が設定されている場合、APPDYNAMICS_AGENT_APPLICATION_NAME は廃止された APPD_APP_NAME よりも優先されます)。

[instrumentation]

ディレクティブ説明デフォルト環境変数
enable-openai

OpenAI インストゥルメンテーションを有効または無効にします。

true または falsefalseAPPDYNAMICS_ENABLE_OPENAI
enable-bedrock

AWS Bedrock インストゥルメンテーションを有効または無効にします。

true または falsefalseAPPDYNAMICS_ENABLE_BEDROCK
enable-langchain

LangChain インストゥルメンテーションを有効または無効にします。

true または falsefalseAPPDYNAMICS_ENABLE_LANGCHAIN
enable-genai-data-capture

スナップショット exit コールの詳細で、OpenAI および Vecotrostore の要求と応答をキャプチャすることを有効または無効にします。

true または falsefalseENABLE_GENAI_DATA_CAPTURE

[agent]

ディレクティブ 説明 デフォルト 環境変数
app アプリケーション名 MyApp 必須 APPDYNAMICS_AGENT_APPLICATION_NAME
tier ティア名 web-fe 必須 APPDYNAMICS_AGENT_TIER_NAME
node ノード名 web-fe1 必須 APPDYNAMICS_AGENT_NODE_NAME
dir AppDynamicsエージェントに関するファイルのベースディレクトリ /mysite/appd/agent/python/ /tmp/appd/ APPDYNAMICS_AGENT_BASE_DIR
nodereuse ノード名を再利用 true または false オプション APPDYNAMICS_AGENT_REUSE_NODE_NAME
nodereuseprefix ノード名プレフィックスを再利用 My Node Name オプション APPDYNAMICS_AGENT_REUSE_NODE_NAME_PREFIX
uniquehostid アプリケーション エージェントの一意のホスト ID オプション APPDYNAMICS_AGENT_UNIQUE_HOST_ID

[agent:proxy]

ディレクティブ 説明 デフォルト
curve-enabled APPDYNAMICS_CURVE_ENABLED オン オフ
curve-zap-enabled APPDYNAMICS_CURVE_ZAP_ENABLED オン オフ
curve-public-dir APPDYNAMICS_CURVE_PUBLIC_KEY_DIR /tmp/certificates /tmp/appd/certs/public
curve-secret-dir APPDYNAMICS_CURVE_SECRET_KEY_DIR /tmp/secret-certificates /tmp/appd/certs/secret
curve-agent-public-file APPDYNAMICS_CURVE_AGENT_PUBLIC_KEY_FILE /tmp/certs/agent.key /tmp/appd/certs/public/<node_name>.key
curve-agent-secret-file APPDYNAMICS_CURVE_AGENT_SECRET_KEY_FILE /tmp/certs/agent.key_secret /tmp/appd/certs/secret/<node_name>.key_secret
curve-proxy-public-file APPDYNAMICS_CURVE_PROXY_PUBLIC_KEY_FILE /tmp/certs/proxy.key /tmp/appd/certs/public/proxy.key
curve-proxy-secret-file APPDYNAMICS_CURVE_PROXY_SECRET_KEY_FILE /tmp/certs/proxy.key_secret /tmp/appd/certs/secret/proxy.key_secret

[wsgi]

ディレクティブ 説明 デフォルト 環境変数
script WSGIスクリプトファイルへのパス /var/www/acme/bookstore.py n/a APPDYNAMICS_WSGI_SCRIPT_ALIAS
callable スクリプト/モジュールで呼出可能なWSGIの名前 app application APPDYNAMICS_WSGI_CALLABLE_OBJECT
module アプリケーションモジュールの完全修飾名 acme.bookstore:app n/a APPDYNAMICS_WSGI_MODULE

script および module ディレクティブが両方とも指定されている場合は、module ディレクティブが優先されます。

module 値は、モジュールの完全修飾名や、その後にモジュールで呼び出しできる WSGI の名前をコロンでつなげたものにすることが可能です。後者の形式では、module ディレクティブが callable ディレクティブよりも優先されます。

module ディレクティブの詳細形式と callable ディレクティブでは両方ともシンボル名またはシンボル名の後に空の括弧ペアを付けたものを指定できます。後者の形式では、callable はディレクティブで指定した callable をコールした結果と解釈されます。この後者の形式は、Django で使用できます。例:

module = django.core.handlers.wsgi:WSGIHandler()

[log]

ディレクティブ 説明 デフォルト 環境変数
dir プロキシとエージェントのログを書き込むディレクトリ /var/log/appdynamics /tmp/appd/logs APPDYNAMICS_LOGS_DIR
level ログを記録するレベル(warning、info、または debug のいずれか) debug warning APPDYNAMICS_LOGGING_LEVEL
debugging Onの場合にDEBUGレベルのログをstderrとログファイルに書き込む on off APPDYNAMICS_DEBUG_LOG

[tags]

タグとは、アプリケーション、階層、ノードなどのエンティティに関連付けられている、キーと値のペアです。これらのタグは、コントローラ UI でアプリケーションリソースを見つけるために役立つメタデータとして機能します。適切なカスタムタグを使用してエンティティに関連する問題にタグ付けすることで、エンティティに関連する問題の平均検出時間(MTTD)を短縮できます。コントローラにタグをインポートする方法については、「カスタムタグ API」を参照してください。

Python エージェントの構成時にカスタムタグを定義できます。「エージェントの構成」を参照してください。これらのタグはコントローラ UI に送信され、タグベースのフィルタリングとタグベースの列を使用してデータをフィルタリングするのに役立ちます。タグ付け設定を変更した場合は、エージェントを再起動する必要があります。

例:

[tags]
tag1 = value1
tag2 = value2
tag3 = value3
注: Dynamics Languages Proxy を展開している場合は、Dynamics Languages Proxy 24.5.0 以上を使用してカスタムタグを定義してください。「Docker Hub」を参照してください。

[controller]

このセクションでは、AppDynamics コントローラの構成について説明します。

ディレクティブ 説明 デフォルト 環境変数
host コントローラホスト mycontroller.example.org 必須 APPDYNAMICS_CONTROLLER_HOST_NAME
port コントローラポート 9000

8090(HTTP オンプレミス)

HTTPS では 443、この場合 SSL の設定が必要

APPDYNAMICS_CONTROLLER_PORT
ssl コントローラと通信する場合に SSL を使用するかどうか、on または off on off APPDYNAMICS_CONTROLLER_SSL_ENABLED
account AppDynamics コントローラのアカウント user1 シングルテナント コントローラのデフォルトは customer1。 APPDYNAMICS_AGENT_ACCOUNT_NAME
accesskey AppDynamics コントローラ アカウント アクセス キー XC6v2n8m2$543 必須。アカウント名とアクセスキーを調べるには、AppDynamics UI の右上隅にある をクリックしてから [License] をクリックします。 APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY
certfile コントローラ証明書
注:
  • この証明書はデフォルトのエージェントキーストア(site-packages/appdynamics_proxysupport/lib/security/cacerts の下にあります)であり、必要に応じて .pem/.crt 証明書を keytool を使用して組み込みます。
  • Java プロキシは、キーストアの .jks または .pkcs12 形式のみをサポートします。Java プロキシに .crt 形式を含める場合は、次のコマンドを実行します。

    keytool -import -alias rootCA -file /etc/ssl/certs/ca-certificates.crt -keystore cacerts.jks -storepass changeit

/tmp/ssl/cacerts オプション APPDYNAMICS_CONTROLLER_SSL_CERTFILE

[controller:http-proxy]

HTTP プロキシを使用してコントローラと通信する必要がある場合は、このセクションを使用して HTTP プロキシを設定します。

ディレクティブ 説明 デフォルト 環境変数
host HTTPプロキシホスト proxy.example.org n/a APPDYNAMICS_HTTP_PROXY_HOST
port HTTPプロキシポート 8090 80 APPDYNAMICS_HTTP_PROXY_PORT
user HTTPプロキシユーザー proxyuser n/a APPDYNAMICS_HTTP_PROXY_USER
password-file HTTPプロキシパスワードファイル /etc/http-proxy.passwd n/a APPDYNAMICS_HTTP_PROXY_PASSWORD_FILE

[proxy]

ディレクティブ 説明 デフォルト 環境変数
max-heap-size プロキシの最大ヒープサイズ 450 m 300 m APPDYNAMICS_MAX_HEAP_SIZE
min-heap-size プロキシの最小ヒープサイズ 100 m 50 m APPDYNAMICS_MIN_HEAP_SIZE
max-perm-size 最大永続世代サイズ 150 m 120 m APPDYNAMICS_MAX_PERM_SIZE
proxy-debug-port Java デバッガを接続するポート番号 8092 なし APPDYNAMICS_PROXY_DEBUG_PORT
start-suspended Java デバッガでプロキシの起動をデバッグするかどうかを指定します。 オン オフ APPDYNAMICS_START_SUSPENDED
debug-opt デバッグのデバッグオプションを指定します。 -agentlib:jdwp = transport = dt_ソケット、サーバ= y、suspend = n、 address = 8090 なし APPDYNAMICS_DEBUG_OPT
agent エージェントタイプを指定します(PYTHON_APP_AGENT、NODEJS_APP_AGENT など)。 NODEJS_APP_AGENT PYTHON_AGENT APPDYNAMICS_AGENT_TYPE
tcp-comm-host エージェントとプロキシの TCP 通信が行われるホスト 127.0.0.1 デフォルト APPDYNAMICS_TCP_COMM_HOST
tcp-comm-port エージェントとプロキシ間の最初の通信要求が発生するポート 8080 なし APPDYNAMICS_TCP_COMM_PORT
tcp-reporting-port レポートの転送用ポート(エージェント専用プロパティ) 10010 なし APPDYNAMICS_TCP_REPORTING_PORT
tcp-request-port 要求および設定の転送用ポート(エージェント専用プロパティ) 10011 なし APPDYNAMICS_TCP_REQUEST_PORT
tcp-port-range エージェントに要求およびレポートポートを割り当てるポート範囲(プロキシ専用プロパティ) 10000 〜 10100 なし APPDYNAMICS_TCP_PORT_RANGE
use_installed_jre マシンにインストールされているカスタム JRE を使用してプロキシを実行します。詳細は、runAgentJREJRE を使用したエージェントの実行 を参照してください。 True

なし

APPDYNAMICS_USE_INSTALLED_JRE
installed_jre_path プロキシを実行するためにインストールされた JRE のパス。
注: Python エージェントが最初に installed_jre_path をチェックします。設定されていない場合、Python エージェントは JAVA_HOME をチェックします。
/usr/lib/jvm/java-17-openjdk なし APPDYNAMICS_INSTALLED_JRE_PATH
tls-version TLS バージョン 1.2 および 1.3 をサポートします。 TLSv1.3 TLSv1.2 APPDYNAMICS_TLS_VERSION
注: PROXY_DEBUG_PORT が定義されている場合、-agentlib:jdwp=transport=dt_socket,server=y,suspend=${START_SUSPENDED},address=${PROXY_DEBUG_PORT} がデバッグオプションとして使用されます。両方が指定されている場合、PROXY_DEBUG_PORT は DEBUG_OPT よりも優先されます。また、自己定義 DEBUG_OPT を使用する場合は、PROXY_DEBUG_PORT が設定されていないことを確認します。

[eum]

ディレクティブ 説明 デフォルト 環境変数
disable-cookie 設定すると、エージェントが UEM 相関データを WSGI レスポンスヘッダーに追加しません。 on off APPDYNAMICS_EUM_DISABLE_COOKIE
user-agent-allowlist 指定すると、EUM 相関データヘッダーとして追加されたユーザーエージェントのデフォルト許可リストを上書きします。代替ユーザーエージェントをカンマ区切りリストとして指定するには、この設定を使用します。すべてのユーザエージェントを許可するには、「*」を使用します。 'iPad, Android'

'Mozilla, Opera, WebKit, Nokia'

APPDYNAMICS_EUM_USER_AGENT_ALLOWLIST

[services:snapshot]

ディレクティブ 説明 デフォルト 環境変数
exit-call-details-length トランザクションスナップショットの exit コールを記述する詳細文字列の文字数を指定。 200 100 APPDYNAMICS_EXIT_CALL_DETAILS_LENGTH

[services:transaction-monitor]

ディレクティブ 説明 デフォルト 環境変数
bt-max-duration-ms ビジネストランザクションの最長時間(ミリ秒単位) 60000 120000 APPDYNAMICS_BT_MAX_DURATION_MS

[services:analytics]

ディレクティブ 説明 デフォルト 環境変数
host 分析エージェントのホスト

localhost APPDYNAMICS_ANALYTICS_HOSTNAME
port 分析エージェントのポート 9000 9090 APPDYNAMICS_ANALYTICS_PORT
ssl 分析エージェントとの SSL 通信を有効にするには、[on] に設定します。 on off APPDYNAMICS_ANALYTICS_SSL_ENABLED
ca-file 分析エージェントの証明書に署名した CA の証明書。
注: 証明書ファイルは .pem にする必要があります。中間認証局がある場合は、ルート認証局の代わりに信頼チェーンのパスを指定します。
/tmp/certs/ca-cert.pem optional APPDYNAMICS_ANALYTICS_CAFILE

Python エージェントのノード再利用

ノード名を再利用

AppDynamics でノード名を再利用するには、nodereuse プロパティを true に設定する必要があります。このプロパティを true に設定する場合、ノード名を指定する必要はありませんが、nodereuseprefix を使用してノード名のプレフィックスを指定する必要があります。

注: ReuseNodeName/prefix およびノード名を使用すると、ReuseNodeName プロパティが優先されます。

このプロパティは、寿命が短い VM(仮想マシン)が多数ある環境のモニタリングに役立ちます。true に設定すると、AppDynamics は新しい VM の過去の VM のノード名を再利用します。これにより、本質的には同一プロセスのノードが異なる時間で実行される場合に、AppDynamics 内で別の名前が付いたノードが時間の経過とともに急増するのを回避できます。

AppDynamics はノード名をアプリケーション、階層、シーケンス番号を使い生成し、ノード名をプールします。たとえば、ノードがパージされる(ノードの存続期間に基づく)と、シーケンス番号が再利用されます。

System Propertynodereuse

Type:ブール型

Default:False

Required: なし

ノード名プレフィックスを再利用

ノード名を再利用するようにエージェントを構成する際に、このプロパティを使用し、コントローラがノード名を動的に生成するのに使用するプレフィックスを指定します。

System Propertynodereuseprefix

Type:文字列

Default: なし

Requirednodereuse=true の場合

注: ノードの再利用機能の例:

以下の構成では、コントローラは「reportGen」というプレフィックスのあるノード名を生成します。並列で実行しているノードの数に応じて、ノード名には、-1 や -2 などのサフィックスが付きます。シャットダウンされ履歴ノードと見なされるノードの名前は、新しいノードにより再利用される場合があります。

nodereuse=true nodereuseprefix=reportGen

TCP モードの設定

デフォルトでは、Python エージェントと Java プロキシはプロセス間通信(IPC)を使用して相互に通信します。

ただし、Transmission Control Protocol(TCP)通信を使用すると、次のような状況で役立ちます。

  • Java プロキシと Python エージェントを異なるホスト オペレーティング システムで実行する場合。
  • コンテナ内(Docker や Kubernetes など)。すべてのコンテナに同じ容量を搭載できますが、推奨されません。

TCP 通信を有効にするには、-tcp-comm-port を有効なポートに設定します。また、-tcp-port-range を有効なポート範囲(3000 ~ 3005)に設定します。PHP エージェントと Java プロキシは、TCP を使用して通信できるようになりました。

Java プロキシは、APPDYNAMICS_TCP_COMM_PORT を介してエージェントからの着信接続要求をリッスンします。各エージェントの通信は、次の 2 つの一意のポートを介して行われます。

  • レポートポート
  • リクエストポート

これらのポートは、エージェントまたはプロキシによって設定できます。

TCP モードの設定:環境変数

環境変数の ファイルバージョンについては、「Pythonエージェント設定Python エージェントの設定」を参照してください。

次の表に、TCP モード設定の環境変数を示します。

環境変数名 説明

APPDYNAMICS_TCP_COMM_HOST

  • Java プロキシの場合:プロキシが着信接続をリッスンするホストを定義します。

  • Python エージェントの場合:エージェントがプロキシとの通信を試行するホストを定義します。

APPDYNAMICS_TCP_COMM_PORT
  • 最初の通信が発生するポート。

  • TCP 通信を有効にするように設定する必要があります。

APPDYNAMICS_TCP_PORT_RANGE (Proxy only) プロキシがエージェントと通信するためにポートを割り当てるポート範囲。
APPDYNAMICS_TCP_REPORTING_PORT (Agent only)
  • エージェントとプロキシ間の転送をレポートするためのポート。
  • この変数が設定されていない場合、プロキシは APPDYNAMICS_TCP_PORT_RANGE のエージェントにポートを割り当てます。
APPDYNAMICS_TCP_REQUEST_PORT (Agent only)
  • エージェントとプロキシ間の要求および設定転送用のポート。
  • この変数が設定されていない場合、プロキシは APPDYNAMICS_TCP_PORT_RANGE のエージェントにポートを割り当てます。

Kubernetes での共有プロキシを使用した Python エージェントの展開

注: Kubernetes は、プロキシサービスのポート範囲の公開をサポートしていません。これにより、プロキシサービスが Python エージェントごとに 2 つのポートを割り当てて使用することがなくなります。

このページでは、Kubernetes で共有 Java プロキシを使用して Python エージェントを展開する方法について説明します。次のいずれかの方法を使用して、共有 Java プロキシを展開できます。

  • プロキシとエージェント間の通信のために、プロキシサービスで連続したポート範囲を公開します。

  • プロキシポッドを を設定して静的ポッドとして実行します。

注:
  • Python エージェントを使用して実行するアプリケーションは、ポッドで実行する必要があります。Python エージェントポッドはスケーリングができます。
  • 現在、このデプロイメントではプロキシごとに最大 5 つの Python エージェントがサポートされます。
  • プロキシは単一の独立したポッドとして実行され、サービスを介して Python エージェントに公開されます。プロキシポッドをスケーリングまたは複製しないでください。

プロキシサービスで連続したポート範囲を手動で公開する

共有 Java プロキシを手動で展開するには、次の手順を実行します。

  1. プロキシサービスで Kubernetes の YAML ファイルを使用して、いくつかのポート(少なくともエージェント数の 2 倍)を公開します。
  2. 次のいずれかのメソッドを使用して Python エージェントを設定します。
    • プロキシサービスが Python エージェントにポートを割り当てられるように、APPDYNAMICS_TCP_PORT_RANGE を公開ポート範囲に設定します。
    • Python エージェントが要求およびレポートポートを選択する場合は、APPDYNAMICS_TCP_REQUEST_PORTAPPDYNAMICS_TCP_REPORTING_PORT を公開ポート範囲のポートに設定します。

プロキシポッドを静的ポッドとして実行する

TCP プロキシポッドは、ホストネットワークを使用する静的ポッドとして実行できます。TCP プロキシは、ホストの IP アドレスとポートにバインドされます。

プロキシポッドを実行して共有プロキシを展開するには、次の手順を実行します。

  1. プロキシポッドで hostNetwork: true を設定します。
  2. APPDYNAMICS_TCP_COMM_HOST を Python エージェントポッドのホスト IP アドレスに設定します。

暗号化通信に使用する CurveZMQ の設定

デフォルトでは、Java プロキシと Python エージェント間の通信は暗号化されません。このページでは、Java プロキシと Python エージェント間の通信を設定し、CurveZMQ を使用して暗号化および認証する方法について説明します。CurveZMQ は、ZeroMQ の認証および暗号化プロトコルです。

CurveZMQ を設定するには、次の手順を実行します。

  1. 証明書の生成
  2. 曲線暗号化の有効化
  3. 曲線認証の有効化

証明書の生成

曲線暗号化を有効にすると、Python エージェントと Java プロキシは自動的に CurveZMQ 証明書を生成します。CurveZMQ は、証明書を使用して Python エージェントと Java プロキシ間の通信を暗号化および認証します。証明書を手動で生成するには、次の Python スクリプトを使用します。

import appdynamics.agent
import appdynamics_bindeps.zmq.auth
# This creates a <cert_name>.key and <cert_name>.key_secret in the <certs_directory>
# public_file and secret_file will be set to the public keyfile name and secret keyfile name respectively
public_file, secret_file = appdynamics_bindeps.zmq.auth.create_certificates(certs_directory, cert_name)

これらの環境変数が正しい CurveZMQ 証明書を指していることを確認する必要があります。

  • APPDYNAMICS_CURVE_AGENT_PUBLIC_KEY_FILE
  • APPDYNAMICS_CURVE_AGENT_SECRET_KEY_FILE
  • APPDYNAMICS_CURVE_PROXY_PUBLIC_KEY_FILE
  • APPDYNAMICS_CURVE_PROXY_SECRET_KEY_FILE

曲線環境変数」の表を参照してください。

曲線暗号化の有効化

Java プロキシと Python エージェント間の通信を有効にして暗号化するには、APPDYNAMICS_CURVE_ENABLED 変数を Yes に設定します。

曲線認証の有効化

曲線認証(ZAP または ZeroMQ 認証プロトコル)を有効にする前に、次を確認します。

  • Python エージェントの公開キー(プロキシに接続)と Java プロキシの公開キーがディレクトリにある。
  • Java プロキシがディレクトリにアクセスできるか、ディレクトリが Java プロキシコンテナ内にある。
  • APPDYNAMICS_CURVE_PUBLIC_KEY_DIR 環境変数がそのディレクトリを指している。

曲線認証を有効にするには、APPDYNAMICS_CURVE_ZAP_ENABLED True に設定します。

エージェントの公開キーが APPDYNAMICS_CURVE_PUBLIC_KEY_DIR で使用可能な場合、プロキシでエージェントを認証します。

曲線環境変数

次の表で、使用可能な曲線環境変数について説明します。

環境変数 説明

APPDYNAMICS_CURVE_ENABLED

曲線を有効にするかどうかを設定します。

APPDYNAMICS_CURVE_ZAP_ENABLED

Curve ZAP(認証)を有効にするかどうかを設定します。

APPDYNAMICS_CURVE_PUBLIC_KEY_DIR

曲線のパブリック証明書の場所。

APPDYNAMICS_CURVE_SECRET_KEY_DIR

曲線の秘密証明書の場所。

APPDYNAMICS_CURVE_AGENT_PUBLIC_KEY_FILE

エージェントの曲線公開キーファイル。

ファイルが存在しない場合、エージェントはファイルの作成を試行します。

APPDYNAMICS_CURVE_AGENT_SECRET_KEY_FILE

エージェントの曲線秘密キーファイル。

ファイルが存在しない場合、エージェントはファイルの作成を試行します。

APPDYNAMICS_CURVE_PROXY_PUBLIC_KEY_FILE

プロキシの曲線公開キーファイル。

ファイルが存在しない場合、プロキシはファイルの作成を試行します。

APPDYNAMICS_CURVE_PROXY_SECRET_KEY_FILE

プロキシの曲線秘密キーファイル。

ファイルが存在しない場合、プロキシはファイルの作成を試行します。

Python エージェントのバックエンド解決

バックエンド解決は、(アイデンティティを介した)バックエンドのノードまたは階層への関連付けです。

問題

フローマップを生成する従来の方法では、exit コールの実行時にダウンストリーム層に直接接続されたアップストリーム層がコントローラ UI に表示されます。サービスプロキシがそれらの階層間に存在する場合、コントローラはサービスプロキシをバックエンドとして識別できません。

バックエンドコンポーネントを正確に識別しないと、システムにより、サービスプロキシがルーティングする可能性があるターゲットダウンストリーム層のいずれかとの単一のバックエンドの関連付けが定期的に変更されます。これにより、誤ったメトリックを持つ不正なフローマップが作成されます。

解決策

サービスプロキシはバックエンドとしてマークされ、フローマップに表示されます。このサービスプロキシにより、アップストリーム層からダウンストリーム層への要求が正確に表示されます。メトリックは正確に報告され、階層間で集計されて表示されます。

たとえば、コントローラが 192.168.1.9 という名前のバックエンドをサービスプロキシとして識別し、そのプロキシが restTier21restTier22 に 15 コール/分のレートでリクエストをルーティングしている場合、フローマップはメトリック(コール/分)を restTier21(8 コール/分)~ restTier22(7 コール/分)の間で正確に配布します。ダウンストリームメトリックを 15 コール/分までまとめて追加します。これは、アップストリームメトリックと同じ値です。

サービスプロキシがバックエンドとしてマークされると、再解決は停止します。

Python エージェントのバックエンド解決の仕組み

backend.detect.loadbalancer.enabledbackend.detect.urimisconfig.enabled が true の場合、バックエンド解決は機能します。

コントローラがバックエンド解決のためにサービスプロキシを識別すると、Python エージェントはサービスプロキシが検出されたという情報を取得し、適切なメトリックをコントローラに送信します。これが設計どおりに機能するには、アップストリーム エージェントのバージョンもサービスプロキシ機能をサポートしている必要があります。エージェントがアップグレードされていない場合、サービスプロキシは検出されず、このバックエンドは通常のバックエンドに戻り、コントローラは以前の動作に戻ります。

そのため、互換性のあるエージェントをバックエンド解決で使用することをお勧めします。

サービスプロキシの有効化

サービスプロキシの検出は、コントローラで backend.detect.loadbalancer.enabled backend.detect.urimisconfig.enabled を設定すると有効になります(「サービスプロキシの概要」を参照)。