マシンエージェントの設定プロパティ

このページでは、controller-info.xml の要素、コマンドラインまたはスタートアップスクリプトでのシステムプロパティのオプション、環境変数(該当する場合)など、エージェントの構成プロパティについて説明します。エージェントシステムのプロパティは、使用するオペレーティングシステムとインストールパッケージに基づいて構成します。

エージェントは、エージェント構成プロパティの変更に応じて動的に更新されるため、エージェントの再起動は不要です。

System Property Syntax

  • System properties are case-sensitive
  • Values that contain spaces must be enclosed with double-quotes

Reference

.NET Compatibility Mode

You must enable this mode if you want to collect and view Machine or Server metrics on a server with Machine and .NET Agents installed. See .NET Compatibility Mode.

Element in controller-info.xml: <dotnet-compatibility-mode>

System Property:-Dappdynamics.machine.agent.dotnetCompatibilityMode

Environment Variable: N/A

Type: boolean

Default: false

Required: This mode is required if you want to collect and view Machine or Server metrics on a server with Machine and .NET Agents installed.

Account Access Key

The account access key used to authenticate with the Controller. This key is generated during installation, and you can locate the key by reviewing the license information in the Controller Settings. See Observe License Usage.

Element in controller-info.xml: <account-access-key>

System Property: -Dappdynamics.agent.accountAccessKey

Environment Variable: APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY

Type: String

Default: None

Required: Prior to version 4.1, this property was required only for SaaS and multi-tenant Controllers. For versions 4.1 and later, the account access key property is required to authenticate all agent to Controller communications.

Example: -- Dappdynamics.agent.accountAccessKey=165e65645-95c1-40e3-9576-6a1424de9625

Account Name

The account name used to authenticate with the Controller. If you are using the AppDynamics SaaS Controller, the Account Name is provided in the Welcome email sent by AppDynamics.

Element in controller-info.xml: <account-name>

System Property: -Dappdynamics.agent.accountName

Environment Variable: APPDYNAMICS_AGENT_ACCOUNT_NAME

Type: String

Default: None

Required: For AppDynamics SaaS Controller and multi-tenant users, but not for single-tenant mode (the default).

Agent Logging Directory

Deprecated. appdynamics.agent.logs.dir should be used instead. Behavior identical to Agent Logs Directory: <appdynamics.agent.logs.dir>/logs/.

System Property: -Dappdynamics.agent.logging.dir

Environment Variable: N/A

Type: String

Default: None

Required: No

Agent Logs Directory

Sets the logs directory for log files for nodes that use this agent installation. If this property is specified, all agent logs are written to <appdynamics.agent.logs.dir>/logs. See Deploy Multiple Machine Agents From a Common Directory when deploying multiple Machine Agents from a common directory. This property overrides the directory specified through the appdynamics.agent.runtime.dir. If appdynamics.agent.logs.dir property is not provided, the logs directory will be created on the same level as the Machine Agent installation folder. No changes are expected in log4j.xml file.

System Property: -Dappdynamics.agent.logs.dir

Environment Variable: N/A

Type: String

Default: None

Required: No

Agent Runtime Directory

Sets the runtime directory for all runtime files (such as logs) for nodes that use this Agent installation. If you specify this property, then all Agent logs are written to <agent-runtime-dir>/logs/node-name. Use when deploying multiple Machine Agents from a common directory. See Deploy Multiple Machine Agents From a Common Directory.

Element in controller-info.xml: <agent-runtime-dir></agent-runtime-dir>

System Property: -Dappdynamics.agent.runtime.dir

Environment Variable: N/A

Type: String

Default: None

Required: No

Configure the Repetitive Logger for Agent Registration

Configure the following system properties to configure the repetitive logger for the agent registration calls.

System PropertyDescriptionDefault ValueRequired
-Dappdynamics.machine.agent.registration.repetitive.logger.turnoverTimeInMinutes

The time in minutes after which logger cache entries expire and are removed. It represents the duration in which the logger completes one full logging cycle.

240No
-Dappdynamics.machine.agent.registration.repetitive.logger.messageLimit The maximum number of the same log messages that will be printed within the time interval specified in the -Dappdynamics.machine.agent.registration.repetitive.logger.turnoverTimeInMinutes property.1No
-Dappdynamics.machine.agent.registration.repetitive.logger.maxCacheSize Number of unique logger entries the repetitive logger can handle for a full logging cycle.1000No

Container Process Selector Blocklist Regex

Any container with a process matching this regex is ignored and is not registered in the Controller.

System Property: -Dappdynamics.docker.container.process.selector.blacklist.regex

Environment Variable: APPDYNAMICS_DOCKER_CONTAINER_PROCESS_SELECTOR_BLACKLIST_REGEX

Type: String

Default: None

Required: No

Controller Host

This is the host name or IP address of the AppDynamics Controller, for example: 192.168.1.22 or myhost or myhost.abc.com. This is the same host used to access the AppDynamics browser-based user interface.

Element in controller-info.xml: <controller-host>

System Property: -Dappdynamics.controller.hostName

Environment Variable: APPDYNAMICS_CONTROLLER_HOST_NAME

Type: String

Default: None

Required: If the Enable Orchestration property is false.

If Enable Orchestration is true, and if the Agent is deployed in a compute cloud instance created by an AppDynamics workflow, do not set the Controller host unless you want to override the auto-detected value. See Enable Orchestration Property.

Controller Keystore Filename

By default, the Agent looks for a Java truststore file named cacerts.jks in the conf directory in the Agent home. Use this property to enable full validation of Controller SSL certificates with a different Java truststore file. See .Machine Agent Configuration Properties v25.1.

Element in controller-info.xml: <controller-keystore-filename>

System Property: N/A

Environment Variable: N/A

Type: String

Default: None

Required: No

Change Keystore Password

The default password for the keystore used by the Controller is changeit. This is the default password for the Jetty keystore, and is a well-known (and thus insecure) password. For a secure installation, you need to change it.

Changing keystore password should include setting the same passwords for all the keys as well.

By default, keystore.jks contains s1as and reporting-instance keys.

  1. Update the keystore password:
    <JRE_HOME>/bin/keytool -storepasswd -keystore <controller_home>/appserver/jetty/etc/keystore.jks -storepass <current_password> -new <new_password>
  2. Update the truststore password:
    <JRE_HOME>/bin/keytool -storepasswd -keystore <controller_home>/appserver/jetty/etc/cacerts.jks -storepass <current_password> -new <new_password>
  3. Update the password for keys:
    <JRE_HOME>/bin/keytool -keypasswd -keystore <controller_home>/appserver/jetty/etc/keystore.jks -storepass <new_password> -alias s1as -keypass <current_password> -new <new_password>
    <JRE_HOME>/bin/keytool -keypasswd -keystore <controller_home>/appserver/jetty/etc/keystore.jks -storepass <new_password> -alias reporting-instance -keypass <current_password> -new <new_password>
  4. Create obfuscated password for the keystore password <new_password>:
    <JRE_HOME>/bin/java -jar <controller_home>/tools/lib/scs-tool.jar obfuscate -plaintext <new_password>
    This command creates the obfuscated password. For example:
    Example obfuscated password: s_-001-12-H8v0OuZ2X/M=SOMM06ufKVOATetbV2BYxQ==
  5. Update the obfuscated password in the Enterprise Console UI:
    1. Navigate to Configurations > Controller Settings > Appserver Configurations.
    2. In the JVM Options tab, update the following sections under SSL Context Config:
      <Set name="KeyStorePassword">
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Set>
      <Set name="TrustStorePassword">
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Set>
      <Call class="java.lang.System" name="setProperty">
      <Arg>javax.net.ssl.keyStorePassword</Arg>
      <Arg>
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Arg>
      </Call>
      <Call class="java.lang.System" name="setProperty">
      <Arg>javax.net.ssl.trustStorePassword</Arg>
      <Arg>
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Arg>
      </Call>
    3. Click Save.
  6. Update the new keystore password in Enterprise Console:
    1. Navigate to Configurations > Controller Settings > Appserver Configurations.
    2. In SSL Certificate Management, update the new Controller Keystore Password and confirm.
    3. Click Save.

Controller Port

The HTTP(S) port of the AppDynamics Controller. This is the same port that you use to access the AppDynamics browser-based user interface. If the Controller SSL Enabled property is set to true, specify the HTTPS port of the Controller; otherwise, specify the HTTP port. See Controller SSL Enabled Property.

Element in controller-info.xml: <controller-port>

System Property: -Dappdynamics.controller.port

Environment Variable: APPDYNAMICS_CONTROLLER_PORT

Type: Positive Integer

On-premises Default: port 8090 for HTTP and port 8181 for HTTPS.

SaaS Default: For the SaaS Controller Service, use port 443 for HTTPS connections.

Required: If the Enable Orchestration property is false.

If Enable Orchestration is true, and if the Agent is deployed in a compute cloud instance created by an AppDynamics workflow, do not set the Controller port unless you want to override the auto-detected value. See Enable Orchestration Property.

Controller SSL Enabled

Specifies whether the Agent should use SSL (HTTPS) to connect to the Controller. If SSL Enabled is true, set the Controller Port property to the HTTPS port of the Controller. See Controller Port Property.

Element in controller-info.xml: <controller-ssl-enabled>

System Property: -Dappdynamics.controller.ssl.enabled

Environment Variable: APPDYNAMICS_CONTROLLER_SSL_ENABLED

Type: Boolean

Default: false

Required: No

Create Node if Absent

Force the Machine Agent to create an APM node when the Agent registers with the Controller.

Element in controller-info.xml: <create-node-if-absent>

System Property: -Dappdynamics.machine.agent.registration.createNodeIfAbsent

Environment Variable: N/A

Type: Boolean

Default: true

Required: No. If you set the app/tier/node in your controller-info.xml file (existing upgrades or by accident), you can prevent the Machine Agent from creating APM nodes by setting this flag to false. See Machine Agent Installation Scenarios.

Disable New Container CPU Metric

Machine Agent 24.10.0 renames the %Busy metric to %Busy (Container) for containers in the Metric Browser for Server Visibility. The new container CPU metric is available only with Controller 24.10.0 or later and Machine Agent 24.10.0 or later. You can set this property to true and force the Machine Agent to use the old CPU metrics for containers. Use this property only when you are using Controller 24.7.x or earlier.

Element in controller-info.xml: <container-old-cpu-metric-key-enabled>

System Property : -Dappdynamics.machine.agent.container.old.cpu.metric.key.enabled

Environment Variable: APPDYNAMICS_MACHINE_AGENT_CONTAINER_OLD_CPU_METRIC_KEY_ENABLED

Type: Boolean

Default: False

Required: No

Enable Docker Visibility

To enable Docker Visibility on the Agent, manually add the docker-enabled element in controller-info.xml setting, and set the flag to true.

Element in controller-info.xml: <docker-enabled>true</docker-enabled>

System Property: -Dappdynamics.docker.enabled

Environment Variable: APPDYNAMICS_DOCKER_ENABLED

Type: Boolean

Default: false

Required: Yes

Enable Containerd Visibility

To enable Containerd visibility on the Agent, manually add the containerd-enabled element in controller-info.xml setting, and set the flag to true.

Element in controller-info.xml: <containerd-enabled>true</containerd-enabled>

System Property: -Dappdynamics.containerd.enabled

Environment Variable: APPDYNAMICS_CONTAINERD_ENABLED

Type: Boolean

Default: false

Required: Yes

Enable HTTP Listener

When set to true, this property enables the Machine Agent HTTP listener. You can send metrics to the Machine Agent using its HTTP listener. You can report metrics through the Machine Agent by making HTTP calls to the Agent instead of piping to the Agent through sysout.

Element in controller-info.xml: N/A

System Property:: -Dmetric.http.listener

Environment Variable: N/A

Type: Boolean

Default: false

Required: No

Enable Orchestration

Enables the Machine Agent workflow task execution when set to true. It also enables auto-detection of the Controller host and port when the app server is a compute cloud instance created by an AppDynamics orchestration workflow. In a cloud computing environment, auto-detection is necessary for the Create Machine tasks in the workflow to run correctly. The Machine Agent polls for task executions only when orchestration is enabled. If the host machine on which this Agent resides is not created through AppDynamics workflow orchestration, this property should be set to false. See Controller Host Property and Controller Port Property.

Element in controller-info.xml: <enable-orchestration>

System Property: N/A

Environment Variable: N/A

Type: Boolean

Default: false

Required: No

Enable Process Level Metrics

When set to true, it enables the Machine Agent to report CPU and memory usage for individual processes. By default, the agent reports this data at the process class level, not for each process. This feature requires Controller 24.10.0 or later and Machine Agent 24.10.0 or later.

Element in controller-info.xml: <process-metrics-enabled>

System Property: -Dappdynamics.machine.agent.process.metrics.enabled

Environment Variable: APPDYNAMICS_MACHINE_AGENT_PROCESS_METRICS_ENABLED

Type: Boolean

Default: False

Required: No

Enable or Disable the Machine Agent Registration Resilience mode

It helps in troubleshooting the agent registration related issues. Enabling this feature prevents the premature termination of the agent registration task and checks if the registration thread is stuck in a blocking I/O operation. It also provides debugging logs.

Controller-info.xml tag: <registration-resilience-enabled>

System Property: Dappdynamics.machine.agent.registration.resilience.enabled

Environment Variable: APPDYNAMICS_MACHINE_AGENT_REGISTRATION_RESILIENCE_ENABLED

Type: Boolean

Default: False

Required: No

Force Default SSL Certificate Validation

Used to override the default behavior for SSL validation

This property has three states:

true: Forces the Agent to perform full validation of the certificate sent by the Controller, enabling the Agent to enforce the SSL trust chain. Use this setting when a public certificate authority(CA) signs your Controller SSL certificate.

false: Forces the Agent to perform minimal validation of the certificate. This property disables full validation of the Controller's SSL certificate. Use this setting when full validation of a SaaS certificate fails.

unspecified: The validation performed by the Agent depends on the context:

  • If the Agent is connecting to a SaaS Controller, full validation is performed.
  • If the Agent is connecting to an on-premises Controller and the cacerts.jks file is present, then full validation is performed using the cacerts.jks file.
  • If the Agent is connecting to an on-premises Controller, and there is no cacerts.jks file, then minimal validation is performed

Element in controller-info.xml: N/A

System Property: -Dappdynamics.force.default.ssl.certificate.validation

Environment Variable: N/A

Type: Boolean

Default: None

Required: No

Enable Dynamic Monitoring Mode (DMM)

When this option is enabled, the Agent reports metrics based on the Dynamic Monitoring Mode specified for that Agent in the Controller. When this option is disabled, the Agent reports all metrics based on its local configuration; DMM settings on the Controller have no effect. Disabling DMM on an Agent is recommended only for mission-critical servers and other machines for which you are sure you want to collect all available metrics at all times. See Dynamic Monitoring Mode and Server Visibility.

Element in controller-info.xml: <dynamic-monitoring-enabled>

System Property: appdynamics.machine.agent.dynamicMonitoring.enabled

Environment Variable: APPDYNAMICS_DYNAMIC_MONITORING_ENABLED

Type: Boolean

On-premises Default: True

SaaS Defaul:: True

Required: No

HTTP Listener Port

To enable the Machine Agent HTTP listener, you must also specify the HTTP listener port.

Element in controller-info.xml: N/A

System Property: -Dmetric.http.listener.port

Environment Variable: N/A

Type: Numeric

Default: 8293

Required: Only if the HTTP listener is enabled.

Log4j

Logging functionality is done via Apache Log4j2. Use this property to provide a custom location for log4j configuration. In this case, you need to ensure that all file destinations are valid and contain absolute paths.

Element in controller-info.xml: N/A

System Property: -Dlog4j.configurationFile

Environment Variable: N/A

Type: Numeric

Default: None

Required: No

マシン階層

この機能を使用するには、サーバの可視性のライセンスが必要です。

この設定では、サーバへの階層パスを指定することにより、サーバを任意の階層にグループ化できます。サーバ階層は、メトリックブラウザとサーバダッシュボードに表示されます。サーバ階層は、正常性ルールでマシンのサブグループを選択する場合にも使用されます。パスの最後の要素は、サーバ名(任意の名前)を示します。この名前は、サーバリストに名前として表示されます。パスにスペースが含まれている場合は、二重引用符で囲む必要があります。マシンエージェント階層 マシンエージェント階層

controller-info.xml 内の要素<machine-path>

システムプロパティ-Dappdynamics.machine.agent.hierarchyPath

環境変数APPDYNAMICS_MACHINE_HIERARCHY_PATH

型:「|」(縦棒)で区切られたパス要素による ASCII 文字列。

デフォルト一意のホスト ID で指定された値。マシン階層の最後の部分が空の場合、一意のホスト ID はマシン名です。たとえば、マシン階層が「Data Center 1|Rack 2|」で、一意のホスト ID が「Host ID 3」の場合、マシン階層は「Data Center 1|Rack 2|Host ID 3」になります。

必須:いいえ

制限:最後のパイプ(パイプ自体を含まない)までのマシンパスを構成する文字の長さは、95 文字以下でなければなりません。

例:

  • システムのプロパティ-Dappdynamics.machine.agent.hierarchyPath= "Data Center 1|Rack 2|Machine3"
  • controller-info.xml:

    <machine-path>
    "Data Center 1|Rack 2|Machine3"
    </machine-path>
  • 環境変数APPDYNAMICS_MACHINE_HIERARCHY_PATH="Data Center 1|Rack 2|Machine3

モニタリングされるプロセスの最大数

各マシンエージェントがモニタできるプロセスの最大数。この制限に達すると、エージェントは新しいプロセスのモニタリングを停止し、制限内の既存のプロセスのみを引き続きモニタリングします。

controller-info.xml 内の要素:該当なし

システムプロパティ-Dappdynamics.machine.agent.maxProcesses=[number]

環境変数DEFAULT_MAX_PROCESSES_MONITORED

型:整数

Default value: 1000

必須:いいえ

Proxy Host

The proxy host name or IP address. The HTTP property works for both http and https proxy configuration. Proxy authentication cannot be used with SSL.

Element in controller-info.xml: N/A

System Property: -Dappdynamics.http.proxyHost

Environment Variable : N/A

Type: String

Default: None

Required: If using a proxy to connect to the Controller; otherwise this is not required.

Proxy Password File

The absolute path to the file containing the password of the user that is authenticated by the proxy host. The password must be the first line of the file.

If <use-encrypted-credentials> is set to false, enter the password in plain text. If <use-encrypted-credentials> is set to true, encrypt the password. See Encrypt Agent Credentials.

Element in controller-info.xml: N/A

System Property: - Dappdynamics.http.proxyPasswordFile

Environment Variable: N/A

Type: String

Default: None

Required: No

Example: -Dappdynamics.http.proxyPasswordFile=/path/to/file-with-password

Proxy Port

The proxy HTTP(S) port. The proxy host name or IP address. The HTTP property works for both http and https proxy configuration. The default ports are 8090 (HTTP) and 443 (HTTPS).

Element in controller-info.xml: N/A

System Property: - Dappdynamics.http.proxyPort

Environment Variable: N/A

Type : Positive Integer

Default: None

Required: Yes, if using a proxy to connect to the Controller. Otherwise, no.

Proxy User Name

The name of the user that is authenticated by the proxy host.

Element in controller-info.xml: N/A

System Property: -Dappdynamics.http.proxyUser

Environment Variable: N/A

Type: String

Default: None

Required: No

Self-Monitor Machine Agent Container

Set this property to true to monitor the container that contains the Machine Agent. Ensure that you have enabled the Docker visibility. See Enable Docker Visibility.

System Property: -Dappdynamics.docker.use.monitor.machine.agent.container

Environment Variable: APPDYNAMICS_DOCKER_MONITOR_MACHINE_AGENT_CONTAINER

Type: Boolean

Default: False

Required: No

Server Visibility Enabled

Enable Server Visibility on the Agent. This requires a Server Visibility license.

Element in controller-info.xml: <sim-enabled>

System Property: - Dappdynamics.sim.enabled

Environment Variable: APPDYNAMICS_SIM_ENABLED

Type: Boolean

Default: false

Required: Required to enable Server Visibility. See Enable Server Visibility.

Service Availability Update Interval

This setting controls the time, in milliseconds, to wait between sending Service Availability periodic events to the Controller. See Service Availability.

Element in controller-info.xml: <sam-event-update-interval-millis>

System Property: - Dappdynamics.machine.agent.sam.event.updateIntervalMillis

Environment Variable: N/A

Type: Positive integer

Default: 300000 ms (5 minutes)

Required: No

一意のホスト ID

このプロパティは、単一の物理ホストまたは仮想マシンを論理的にパーティション化します。マシンエージェントのインストールのコンテキストでは、一意のホスト ID プロパティは必要ありません。ただし、一意のホスト ID を定義しない場合、マシンエージェントは Java API を使用してホスト ID を取得します。API からの結果は不整合となる可能性があるため、マシンエージェントが再起動されるたびに同じ JVM が同じマシンに対して異なる値を返すことがあります。この問題を回避するために、AppDynamics では UI に表示するホスト ID に一意のホスト ID の値を設定することを推奨しています。

controller-info.xml 内の要素<unique-host-id>

システムプロパティ- Dappdynamics.agent.uniqueHostId

環境変数APPDYNAMICS_AGENT_UNIQUE_HOST_ID

型:スペースなしの ASCII 文字列で、管理対象インフラストラクチャ全体で一意である必要があります。

デフォルト:なし

必須:任意、ただし推奨。

Use Simple Hostname

By default (unless overridden with the uniqueHostId system property), the Agent determines the host name of the OS it is running in using reverse DNS lookup. In some circumstances, this host name may be set as the fully qualified domain name of the host name. If this property is set to true, the Agent removes any domain name and uses the simple hostname to identify the host. In cases where the host name is an IP address (which happens if the DNS lookup fails) then the full IP address in string form is used. The host name is used in mapping metrics gathered by the Machine Agent to application nodes. See Unique Host ID Property.

Element in controller-info.xml: <use-simple-hostname>

Type: Boolean

Default: False

Required: No

For example: If this property is set to true 'server.mydomain.com' becomes 'server'.

Reference

.NET Compatibility Mode

You must enable this mode if you want to collect and view Machine or Server metrics on a server with Machine and .NET Agents installed. See .NET Compatibility Mode.

Element in controller-info.xml: <dotnet-compatibility-mode>

System Property:-Dappdynamics.machine.agent.dotnetCompatibilityMode

Environment Variable: N/A

Type: boolean

Default: false

Required: This mode is required if you want to collect and view Machine or Server metrics on a server with Machine and .NET Agents installed.

Account Access Key

The account access key used to authenticate with the Controller. This key is generated during installation, and you can locate the key by reviewing the license information in the Controller Settings. See Observe License Usage.

Element in controller-info.xml: <account-access-key>

System Property: -Dappdynamics.agent.accountAccessKey

Environment Variable: APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY

Type: String

Default: None

Required: Prior to version 4.1, this property was required only for SaaS and multi-tenant Controllers. For versions 4.1 and later, the account access key property is required to authenticate all agent to Controller communications.

Example: -- Dappdynamics.agent.accountAccessKey=165e65645-95c1-40e3-9576-6a1424de9625

Account Name

The account name used to authenticate with the Controller. If you are using the AppDynamics SaaS Controller, the Account Name is provided in the Welcome email sent by AppDynamics.

Element in controller-info.xml: <account-name>

System Property: -Dappdynamics.agent.accountName

Environment Variable: APPDYNAMICS_AGENT_ACCOUNT_NAME

Type: String

Default: None

Required: For AppDynamics SaaS Controller and multi-tenant users, but not for single-tenant mode (the default).

Agent Logging Directory

Deprecated. appdynamics.agent.logs.dir should be used instead. Behavior identical to Agent Logs Directory: <appdynamics.agent.logs.dir>/logs/.

System Property: -Dappdynamics.agent.logging.dir

Environment Variable: N/A

Type: String

Default: None

Required: No

Agent Logs Directory

Sets the logs directory for log files for nodes that use this agent installation. If this property is specified, all agent logs are written to <appdynamics.agent.logs.dir>/logs. See Deploy Multiple Machine Agents From a Common Directory when deploying multiple Machine Agents from a common directory. This property overrides the directory specified through the appdynamics.agent.runtime.dir. If appdynamics.agent.logs.dir property is not provided, the logs directory will be created on the same level as the Machine Agent installation folder. No changes are expected in log4j.xml file.

System Property: -Dappdynamics.agent.logs.dir

Environment Variable: N/A

Type: String

Default: None

Required: No

Agent Runtime Directory

Sets the runtime directory for all runtime files (such as logs) for nodes that use this Agent installation. If you specify this property, then all Agent logs are written to <agent-runtime-dir>/logs/node-name. Use when deploying multiple Machine Agents from a common directory. See Deploy Multiple Machine Agents From a Common Directory.

Element in controller-info.xml: <agent-runtime-dir></agent-runtime-dir>

System Property: -Dappdynamics.agent.runtime.dir

Environment Variable: N/A

Type: String

Default: None

Required: No

Configure the Repetitive Logger for Agent Registration

Configure the following system properties to configure the repetitive logger for the agent registration calls.

System PropertyDescriptionDefault ValueRequired
-Dappdynamics.machine.agent.registration.repetitive.logger.turnoverTimeInMinutes

The time in minutes after which logger cache entries expire and are removed. It represents the duration in which the logger completes one full logging cycle.

240No
-Dappdynamics.machine.agent.registration.repetitive.logger.messageLimit The maximum number of the same log messages that will be printed within the time interval specified in the -Dappdynamics.machine.agent.registration.repetitive.logger.turnoverTimeInMinutes property.1No
-Dappdynamics.machine.agent.registration.repetitive.logger.maxCacheSize Number of unique logger entries the repetitive logger can handle for a full logging cycle.1000No

Container Process Selector Blocklist Regex

Any container with a process matching this regex is ignored and is not registered in the Controller.

System Property: -Dappdynamics.docker.container.process.selector.blacklist.regex

Environment Variable: APPDYNAMICS_DOCKER_CONTAINER_PROCESS_SELECTOR_BLACKLIST_REGEX

Type: String

Default: None

Required: No

Controller Host

This is the host name or IP address of the AppDynamics Controller, for example: 192.168.1.22 or myhost or myhost.abc.com. This is the same host used to access the AppDynamics browser-based user interface.

Element in controller-info.xml: <controller-host>

System Property: -Dappdynamics.controller.hostName

Environment Variable: APPDYNAMICS_CONTROLLER_HOST_NAME

Type: String

Default: None

Required: If the Enable Orchestration property is false.

If Enable Orchestration is true, and if the Agent is deployed in a compute cloud instance created by an AppDynamics workflow, do not set the Controller host unless you want to override the auto-detected value. See Enable Orchestration Property.

Controller Keystore Filename

By default, the Agent looks for a Java truststore file named cacerts.jks in the conf directory in the Agent home. Use this property to enable full validation of Controller SSL certificates with a different Java truststore file. See .Machine Agent Configuration Properties v25.1.

Element in controller-info.xml: <controller-keystore-filename>

System Property: N/A

Environment Variable: N/A

Type: String

Default: None

Required: No

Change Keystore Password

The default password for the keystore used by the Controller is changeit. This is the default password for the Jetty keystore, and is a well-known (and thus insecure) password. For a secure installation, you need to change it.

Changing keystore password should include setting the same passwords for all the keys as well.

By default, keystore.jks contains s1as and reporting-instance keys.

  1. Update the keystore password:
    <JRE_HOME>/bin/keytool -storepasswd -keystore <controller_home>/appserver/jetty/etc/keystore.jks -storepass <current_password> -new <new_password>
  2. Update the truststore password:
    <JRE_HOME>/bin/keytool -storepasswd -keystore <controller_home>/appserver/jetty/etc/cacerts.jks -storepass <current_password> -new <new_password>
  3. Update the password for keys:
    <JRE_HOME>/bin/keytool -keypasswd -keystore <controller_home>/appserver/jetty/etc/keystore.jks -storepass <new_password> -alias s1as -keypass <current_password> -new <new_password>
    <JRE_HOME>/bin/keytool -keypasswd -keystore <controller_home>/appserver/jetty/etc/keystore.jks -storepass <new_password> -alias reporting-instance -keypass <current_password> -new <new_password>
  4. Create obfuscated password for the keystore password <new_password>:
    <JRE_HOME>/bin/java -jar <controller_home>/tools/lib/scs-tool.jar obfuscate -plaintext <new_password>
    This command creates the obfuscated password. For example:
    Example obfuscated password: s_-001-12-H8v0OuZ2X/M=SOMM06ufKVOATetbV2BYxQ==
  5. Update the obfuscated password in the Enterprise Console UI:
    1. Navigate to Configurations > Controller Settings > Appserver Configurations.
    2. In the JVM Options tab, update the following sections under SSL Context Config:
      <Set name="KeyStorePassword">
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Set>
      <Set name="TrustStorePassword">
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Set>
      <Call class="java.lang.System" name="setProperty">
      <Arg>javax.net.ssl.keyStorePassword</Arg>
      <Arg>
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Arg>
      </Call>
      <Call class="java.lang.System" name="setProperty">
      <Arg>javax.net.ssl.trustStorePassword</Arg>
      <Arg>
      <Call class="com.singularity.ee.util.security.credentialstore.ObfuscationWrapper" name="deobfuscateString">
      <Arg>[Obfuscated Password]</Arg>
      </Call>
      </Arg>
      </Call>
    3. Click Save.
  6. Update the new keystore password in Enterprise Console:
    1. Navigate to Configurations > Controller Settings > Appserver Configurations.
    2. In SSL Certificate Management, update the new Controller Keystore Password and confirm.
    3. Click Save.

Controller Port

The HTTP(S) port of the AppDynamics Controller. This is the same port that you use to access the AppDynamics browser-based user interface. If the Controller SSL Enabled property is set to true, specify the HTTPS port of the Controller; otherwise, specify the HTTP port. See Controller SSL Enabled Property.

Element in controller-info.xml: <controller-port>

System Property: -Dappdynamics.controller.port

Environment Variable: APPDYNAMICS_CONTROLLER_PORT

Type: Positive Integer

On-premises Default: port 8090 for HTTP and port 8181 for HTTPS.

SaaS Default: For the SaaS Controller Service, use port 443 for HTTPS connections.

Required: If the Enable Orchestration property is false.

If Enable Orchestration is true, and if the Agent is deployed in a compute cloud instance created by an AppDynamics workflow, do not set the Controller port unless you want to override the auto-detected value. See Enable Orchestration Property.

Controller SSL Enabled

Specifies whether the Agent should use SSL (HTTPS) to connect to the Controller. If SSL Enabled is true, set the Controller Port property to the HTTPS port of the Controller. See Controller Port Property.

Element in controller-info.xml: <controller-ssl-enabled>

System Property: -Dappdynamics.controller.ssl.enabled

Environment Variable: APPDYNAMICS_CONTROLLER_SSL_ENABLED

Type: Boolean

Default: false

Required: No

Create Node if Absent

Force the Machine Agent to create an APM node when the Agent registers with the Controller.

Element in controller-info.xml: <create-node-if-absent>

System Property: -Dappdynamics.machine.agent.registration.createNodeIfAbsent

Environment Variable: N/A

Type: Boolean

Default: true

Required: No. If you set the app/tier/node in your controller-info.xml file (existing upgrades or by accident), you can prevent the Machine Agent from creating APM nodes by setting this flag to false. See Machine Agent Installation Scenarios.

Disable New Container CPU Metric

Machine Agent 24.10.0 renames the %Busy metric to %Busy (Container) for containers in the Metric Browser for Server Visibility. The new container CPU metric is available only with Controller 24.10.0 or later and Machine Agent 24.10.0 or later. You can set this property to true and force the Machine Agent to use the old CPU metrics for containers. Use this property only when you are using Controller 24.7.x or earlier.

Element in controller-info.xml: <container-old-cpu-metric-key-enabled>

System Property : -Dappdynamics.machine.agent.container.old.cpu.metric.key.enabled

Environment Variable: APPDYNAMICS_MACHINE_AGENT_CONTAINER_OLD_CPU_METRIC_KEY_ENABLED

Type: Boolean

Default: False

Required: No

Enable Docker Visibility

To enable Docker Visibility on the Agent, manually add the docker-enabled element in controller-info.xml setting, and set the flag to true.

Element in controller-info.xml: <docker-enabled>true</docker-enabled>

System Property: -Dappdynamics.docker.enabled

Environment Variable: APPDYNAMICS_DOCKER_ENABLED

Type: Boolean

Default: false

Required: Yes

Enable Containerd Visibility

To enable Containerd visibility on the Agent, manually add the containerd-enabled element in controller-info.xml setting, and set the flag to true.

Element in controller-info.xml: <containerd-enabled>true</containerd-enabled>

System Property: -Dappdynamics.containerd.enabled

Environment Variable: APPDYNAMICS_CONTAINERD_ENABLED

Type: Boolean

Default: false

Required: Yes

Enable HTTP Listener

When set to true, this property enables the Machine Agent HTTP listener. You can send metrics to the Machine Agent using its HTTP listener. You can report metrics through the Machine Agent by making HTTP calls to the Agent instead of piping to the Agent through sysout.

Element in controller-info.xml: N/A

System Property:: -Dmetric.http.listener

Environment Variable: N/A

Type: Boolean

Default: false

Required: No

Enable Orchestration

Enables the Machine Agent workflow task execution when set to true. It also enables auto-detection of the Controller host and port when the app server is a compute cloud instance created by an AppDynamics orchestration workflow. In a cloud computing environment, auto-detection is necessary for the Create Machine tasks in the workflow to run correctly. The Machine Agent polls for task executions only when orchestration is enabled. If the host machine on which this Agent resides is not created through AppDynamics workflow orchestration, this property should be set to false. See Controller Host Property and Controller Port Property.

Element in controller-info.xml: <enable-orchestration>

System Property: N/A

Environment Variable: N/A

Type: Boolean

Default: false

Required: No

Enable Process Level Metrics

When set to true, it enables the Machine Agent to report CPU and memory usage for individual processes. By default, the agent reports this data at the process class level, not for each process. This feature requires Controller 24.10.0 or later and Machine Agent 24.10.0 or later.

Element in controller-info.xml: <process-metrics-enabled>

System Property: -Dappdynamics.machine.agent.process.metrics.enabled

Environment Variable: APPDYNAMICS_MACHINE_AGENT_PROCESS_METRICS_ENABLED

Type: Boolean

Default: False

Required: No

Enable or Disable the Machine Agent Registration Resilience mode

It helps in troubleshooting the agent registration related issues. Enabling this feature prevents the premature termination of the agent registration task and checks if the registration thread is stuck in a blocking I/O operation. It also provides debugging logs.

Controller-info.xml tag: <registration-resilience-enabled>

System Property: Dappdynamics.machine.agent.registration.resilience.enabled

Environment Variable: APPDYNAMICS_MACHINE_AGENT_REGISTRATION_RESILIENCE_ENABLED

Type: Boolean

Default: False

Required: No

Force Default SSL Certificate Validation

Used to override the default behavior for SSL validation

This property has three states:

true: Forces the Agent to perform full validation of the certificate sent by the Controller, enabling the Agent to enforce the SSL trust chain. Use this setting when a public certificate authority(CA) signs your Controller SSL certificate.

false: Forces the Agent to perform minimal validation of the certificate. This property disables full validation of the Controller's SSL certificate. Use this setting when full validation of a SaaS certificate fails.

unspecified: The validation performed by the Agent depends on the context:

  • If the Agent is connecting to a SaaS Controller, full validation is performed.
  • If the Agent is connecting to an on-premises Controller and the cacerts.jks file is present, then full validation is performed using the cacerts.jks file.
  • If the Agent is connecting to an on-premises Controller, and there is no cacerts.jks file, then minimal validation is performed

Element in controller-info.xml: N/A

System Property: -Dappdynamics.force.default.ssl.certificate.validation

Environment Variable: N/A

Type: Boolean

Default: None

Required: No

Enable Dynamic Monitoring Mode (DMM)

When this option is enabled, the Agent reports metrics based on the Dynamic Monitoring Mode specified for that Agent in the Controller. When this option is disabled, the Agent reports all metrics based on its local configuration; DMM settings on the Controller have no effect. Disabling DMM on an Agent is recommended only for mission-critical servers and other machines for which you are sure you want to collect all available metrics at all times. See Dynamic Monitoring Mode and Server Visibility.

Element in controller-info.xml: <dynamic-monitoring-enabled>

System Property: appdynamics.machine.agent.dynamicMonitoring.enabled

Environment Variable: APPDYNAMICS_DYNAMIC_MONITORING_ENABLED

Type: Boolean

On-premises Default: True

SaaS Defaul:: True

Required: No

HTTP Listener Port

To enable the Machine Agent HTTP listener, you must also specify the HTTP listener port.

Element in controller-info.xml: N/A

System Property: -Dmetric.http.listener.port

Environment Variable: N/A

Type: Numeric

Default: 8293

Required: Only if the HTTP listener is enabled.

Log4j

Logging functionality is done via Apache Log4j2. Use this property to provide a custom location for log4j configuration. In this case, you need to ensure that all file destinations are valid and contain absolute paths.

Element in controller-info.xml: N/A

System Property: -Dlog4j.configurationFile

Environment Variable: N/A

Type: Numeric

Default: None

Required: No

マシン階層

この機能を使用するには、サーバの可視性のライセンスが必要です。

この設定では、サーバへの階層パスを指定することにより、サーバを任意の階層にグループ化できます。サーバ階層は、メトリックブラウザとサーバダッシュボードに表示されます。サーバ階層は、正常性ルールでマシンのサブグループを選択する場合にも使用されます。パスの最後の要素は、サーバ名(任意の名前)を示します。この名前は、サーバリストに名前として表示されます。パスにスペースが含まれている場合は、二重引用符で囲む必要があります。マシンエージェント階層 マシンエージェント階層

controller-info.xml 内の要素<machine-path>

システムプロパティ-Dappdynamics.machine.agent.hierarchyPath

環境変数APPDYNAMICS_MACHINE_HIERARCHY_PATH

型:「|」(縦棒)で区切られたパス要素による ASCII 文字列。

デフォルト一意のホスト ID で指定された値。マシン階層の最後の部分が空の場合、一意のホスト ID はマシン名です。たとえば、マシン階層が「Data Center 1|Rack 2|」で、一意のホスト ID が「Host ID 3」の場合、マシン階層は「Data Center 1|Rack 2|Host ID 3」になります。

必須:いいえ

制限:最後のパイプ(パイプ自体を含まない)までのマシンパスを構成する文字の長さは、95 文字以下でなければなりません。

例:

  • システムのプロパティ-Dappdynamics.machine.agent.hierarchyPath= "Data Center 1|Rack 2|Machine3"
  • controller-info.xml:

    <machine-path>
    "Data Center 1|Rack 2|Machine3"
    </machine-path>
  • 環境変数APPDYNAMICS_MACHINE_HIERARCHY_PATH="Data Center 1|Rack 2|Machine3

モニタリングされるプロセスの最大数

各マシンエージェントがモニタできるプロセスの最大数。この制限に達すると、エージェントは新しいプロセスのモニタリングを停止し、制限内の既存のプロセスのみを引き続きモニタリングします。

controller-info.xml 内の要素:該当なし

システムプロパティ-Dappdynamics.machine.agent.maxProcesses=[number]

環境変数DEFAULT_MAX_PROCESSES_MONITORED

型:整数

Default value: 1000

必須:いいえ

Proxy Host

The proxy host name or IP address. The HTTP property works for both http and https proxy configuration. Proxy authentication cannot be used with SSL.

Element in controller-info.xml: N/A

System Property: -Dappdynamics.http.proxyHost

Environment Variable : N/A

Type: String

Default: None

Required: If using a proxy to connect to the Controller; otherwise this is not required.

Proxy Password File

The absolute path to the file containing the password of the user that is authenticated by the proxy host. The password must be the first line of the file.

If <use-encrypted-credentials> is set to false, enter the password in plain text. If <use-encrypted-credentials> is set to true, encrypt the password. See Encrypt Agent Credentials.

Element in controller-info.xml: N/A

System Property: - Dappdynamics.http.proxyPasswordFile

Environment Variable: N/A

Type: String

Default: None

Required: No

Example: -Dappdynamics.http.proxyPasswordFile=/path/to/file-with-password

Proxy Port

The proxy HTTP(S) port. The proxy host name or IP address. The HTTP property works for both http and https proxy configuration. The default ports are 8090 (HTTP) and 443 (HTTPS).

Element in controller-info.xml: N/A

System Property: - Dappdynamics.http.proxyPort

Environment Variable: N/A

Type : Positive Integer

Default: None

Required: Yes, if using a proxy to connect to the Controller. Otherwise, no.

Proxy User Name

The name of the user that is authenticated by the proxy host.

Element in controller-info.xml: N/A

System Property: -Dappdynamics.http.proxyUser

Environment Variable: N/A

Type: String

Default: None

Required: No

Self-Monitor Machine Agent Container

Set this property to true to monitor the container that contains the Machine Agent. Ensure that you have enabled the Docker visibility. See Enable Docker Visibility.

System Property: -Dappdynamics.docker.use.monitor.machine.agent.container

Environment Variable: APPDYNAMICS_DOCKER_MONITOR_MACHINE_AGENT_CONTAINER

Type: Boolean

Default: False

Required: No

Server Visibility Enabled

Enable Server Visibility on the Agent. This requires a Server Visibility license.

Element in controller-info.xml: <sim-enabled>

System Property: - Dappdynamics.sim.enabled

Environment Variable: APPDYNAMICS_SIM_ENABLED

Type: Boolean

Default: false

Required: Required to enable Server Visibility. See Enable Server Visibility.

Service Availability Update Interval

This setting controls the time, in milliseconds, to wait between sending Service Availability periodic events to the Controller. See Service Availability.

Element in controller-info.xml: <sam-event-update-interval-millis>

System Property: - Dappdynamics.machine.agent.sam.event.updateIntervalMillis

Environment Variable: N/A

Type: Positive integer

Default: 300000 ms (5 minutes)

Required: No

一意のホスト ID

このプロパティは、単一の物理ホストまたは仮想マシンを論理的にパーティション化します。マシンエージェントのインストールのコンテキストでは、一意のホスト ID プロパティは必要ありません。ただし、一意のホスト ID を定義しない場合、マシンエージェントは Java API を使用してホスト ID を取得します。API からの結果は不整合となる可能性があるため、マシンエージェントが再起動されるたびに同じ JVM が同じマシンに対して異なる値を返すことがあります。この問題を回避するために、AppDynamics では UI に表示するホスト ID に一意のホスト ID の値を設定することを推奨しています。

controller-info.xml 内の要素<unique-host-id>

システムプロパティ- Dappdynamics.agent.uniqueHostId

環境変数APPDYNAMICS_AGENT_UNIQUE_HOST_ID

型:スペースなしの ASCII 文字列で、管理対象インフラストラクチャ全体で一意である必要があります。

デフォルト:なし

必須:任意、ただし推奨。

Use Simple Hostname

By default (unless overridden with the uniqueHostId system property), the Agent determines the host name of the OS it is running in using reverse DNS lookup. In some circumstances, this host name may be set as the fully qualified domain name of the host name. If this property is set to true, the Agent removes any domain name and uses the simple hostname to identify the host. In cases where the host name is an IP address (which happens if the DNS lookup fails) then the full IP address in string form is used. The host name is used in mapping metrics gathered by the Machine Agent to application nodes. See Unique Host ID Property.

Element in controller-info.xml: <use-simple-hostname>

Type: Boolean

Default: False

Required: No

For example: If this property is set to true 'server.mydomain.com' becomes 'server'.

Independent Machine Agent Install Scenario

Typically, you only use the following properties if you are installing the Machine Agent on a server that does not have any AppDynamics App Agents installed.

Application Name

The name of the logical business application that this JVM node belongs to. This is not the deployment name (ear/war/jar) on the application server. If a business application of the configured name does not exist, it is created automatically.

Element in controller-info.xml: <application-name>

System Property:- Dappdynamics.agent.applicationName

Environment Variable: APPDYNAMICS_AGENT_APPLICATION_NAME

Type: String

Defaults: None

Required: No. See Machine Agent Installation Scenarios.

Node Name

The name of the JVM node. When not specified, this defaults to Node1 for the Machine Agent.

Element in controller-info.xml: <node-name>

System Property:- Dappdynamics.agent.nodeName

Environment Variable: APPDYNAMICS_AGENT_NODE_NAME

Type: String

Defaults: None

Required: No. See Machine Agent Installation Scenarios.

Tier Name

The name of the logical tier that this JVM node belongs to. This is not the deployment name (ear/war/jar) on the application server. If a tier of the configured name does not exist, it is created automatically.

Element in controller-info.xml: <tier-name>

System Property:- Dappdynamics.agent.tierName

Environment Variable: APPDYNAMICS_AGENT_TIER_NAME

Type: String

Defaults: None

Required: No. See Machine Agent Installation Scenarios.

Exclude File Cache Memory from Memory Usage

You can use the following system property to exclude the file cache memory while calculating memory usage on AIX with server visibility enabled.

If you set <-Dappdynamics.machine.agent.collect.memoryMetrics.using.vmstat.command = true> and <sim_enabled = true> for AIX, you get memory usage metrics on the Controller UI after excluding the file cache memory.

System Property: -

Dappdynamics.machine.agent.collect.memoryMetrics.using.vmstat.command

Environment Variable: N/A

Type: Boolean

Default: false

Required: No