All Products
Search
Document Center

Application Real-Time Monitoring Service:Customize application settings

Last Updated:Jan 29, 2024

Application Real-Time Monitoring Service (ARMS) allows you to configure the settings of the application monitoring feature on the Custom Configuration tab. The configurable settings include the sampling rate of traces, agent switch, and the threshold of slow SQL queries.

Prerequisites

An application monitoring job is created. For more information, see Create an application monitoring job.

Procedure

  1. Log on to the ARMS console. In the left-side navigation pane, choose Application Monitoring > Applications.

  2. On the Applications page, select a region in the top navigation bar and click the name of the application that you want to manage.

    Note

    If the Java图标 icon is displayed in the Language column, the application is connected to Application Monitoring. If a hyphen (-) is displayed, the application is connected to Managed Service for OpenTelemetry.

  3. In the left-side navigation pane, click Application Settings. On the page that appears, click the Custom Configuration tab.

  4. Set the parameters as required and click Save in the lower part of the page.

Trace sampling settings

In the Invocation Trace Sampling Settings section, turn on or turn off Enable Sampling.调用链采样设置

Sampling rate settings

ARMS Trial Edition and Pro Edition

In the Sampling rate setting section, specify the sampling rate.

  • Fixed sampling rate: Enter a value in the Sampling Rate Settings field. For example, 10 indicates that the sampling rate is 10%.

  • Adaptive sampling: Enter the prefix or suffix of the interface used for sampling.

Note

Trace sampling settings prevail over throttling settings.

Chain sampling

ARMS Basic Edition

ARMS Basic Edition supports setting client sampling policies. You are billed based on the number of lines of data collected. By default, each ARMS agent collects one trace per minute for each API in your account free of charge. You can also click Add client Sampling Policy to add a custom sampling policy.

Parameter

Description

Sampling Policy Name

The name of the sampling policy.

Sampling Type and Value

  • Fixed Ratio Sampling: Traces are sampled based on a specified fixed ratio. After you select this option, you must enter a ratio in the Value field, such as 10%.

  • Traffic Limit: A specified number of traces are sampled within a specified time interval. After you select this option, you must set the number of traces to be collected by each agent and the time interval. For example, 5 traces are collected by each agent every 1 second.

Effective Scope

The range of APIs to which the sampling policy applies. Valid values: All Interfaces or Specified Interface. If you select Specified Interface, you must enter an API name.

Note

If you select Specified Interface, you can enter only one API name. If you want to specify multiple APIs, you must set a sampling policy for each API.

After you set a sampling policy, you can select whether to enable the policy in the console. If multiple sampling policies are enabled, the policies take effect in the following order of priority: default sampling (free of charge) > traffic limit (a specified API) > fixed ratio sampling (a specified API) > traffic limit (all APIs) > fixed ratio sampling (all APIs). You can also modify the settings of a sampling policy or delete a sampling policy.

采样策略-基础版

Agent switch and log level

In the Agent Switch Settings section, you can turn on or off the switch of the ARMS agent and the switches of different plug-ins, and configure the log level.

Important

The modifications to the ARMS agent and log level take effect immediately. You do not need to restart the application. If the switch of the ARMS agent is turned off, ARMS cannot monitor the application. Proceed with caution. To make the modification to each plug-in switch take effect, you must manually restart the application.

Agent Switches

Threshold settings

In the Threshold Settings section, you can configure the thresholds of slow SQL queries, API response time, and throttling.

Note

Trace sampling settings prevail over throttling settings.

Threshold Settings

Advanced settings

In the Advanced Settings section, you can configure advanced settings, including the API operations to be filtered out and the maximum length of the method stack.

Advanced Settings

  • Invalid Interface Invocation Filtering: Enter the APIs whose statistics you do not want to view. After the modification is saved, the specified API operations are hidden on the Interface Invocation page.

  • Method stack maximum length: Specify the maximum length of a method stack. Default value: 128. Maximum value: 400. The value indicates the number of entries.

  • Stack depth to distinguish same exception: Specify the stack depth that is used to distinguish exceptions of the same type. Generally, this parameter is set to the call depth of the first difference.

  • Collect the maximum length of SQL: Specify the maximum length of a SQL statement. Default value: 1024. Valid values: 256 to 4096. The value indicates the number of characters.

  • Collect SQL Bindings:Specify whether to capture the variable value bound to the PrepareStatement parameter.The modification takes effect immediately. You do not need to restart the application.

  • Raw SQL: Specify whether to perform operations other than truncation on SQL statements.

  • Whitelist: Specify the exceptions that are not displayed in the charts on the application details page and Exception Analysis tab.

  • Error Code Filter: By default, all HTTP status codes greater than 400 are counted as errors. To ignore specific HTTP status codes greater than 400, you can specify them in value.

  • Trace Storage: Specify whether to use the new storage format that sorts traces by time. By default, this switch is turned on.

  • Inner Callstack Reduce: Specify whether to simplify duplicated calls such as for loops. The modification takes effect immediately. You do not need to restart the application.

  • Max Length of Input Parameters: Specify the maximum length of an input parameter value. Default value: 512. Maximum value: 2048. The value indicates the number of characters.

  • Quantile Statistics: Specify whether to enable quantile statistics.

    Note

    A quantile is a value that splits the probability distribution of a random variable into multiple equal parts. Common quantiles include medians, quartiles, and percentiles.

  • RabbitMQ Custom Consumer: Specify the class name of a custom consumer or the name of the class that contains an anonymous internal consumer. Then, you can view the trace of the customer. You can specify multiple class names and separate them with commas (,).

  • Kafka custom consumption method: Specify a custom consumption method to view the trace and metric data when you consume messages by using native Kafka SDKs.

  • kafka sends messages automatically through context: Multiple headers are automatically added with Kafka messages to associate delivery traces with consumption traces. To enable the option, make sure that the Kafka version is v0.11.0 or later. Otherwise, message delivery errors may occur.

  • Thread pool, connection pool monitoring: You can monitor the thread pool and connection pool metrics of frameworks such as Apache Tomcat, Apache Dubbo, and High-speed Service Framework (HSF). You must restart the application to apply the modification.

  • Automatic pass-through asynchronous: When an asynchronous task is submitted by using the thread pool, the asynchronous context is automatically passed through.

  • Asynchronous transparent transmission scan package name: You can add a scan package for asynchronous pass-through to the configurations of your application to monitor asynchronous tasks. After a Runnable object, a Callable object, or a Supplier object is created, the corresponding method in the scan package for asynchronous pass-through automatically captures the trace context of the current thread. Then, when threads are used in asynchronous mode, the method passes the captured trace context to the threads. The version of the ARMS agent must be v2.7.1.3 or later.

  • catch only exceptions that are not tried catch: If you enable the option, a trace is considered a normal trace when a trace error is caught by the try...catch statement. To discover the trace errors caught by the statement, disable the option. The version of the ARMS agent must be v2.9.0 or later.

  • TraceId is returned in the request: Specify whether to return the eagleeye-traceid field in the response headers for HTTP requests.

Thread settings

In the Thread settings section, you can turn on or turn off the Thread analysis master switch, the Thread analysis method stack, and the Thread profiling total control switch. You can specify a threshold to trigger slow call listening.

Note

Only Application Monitoring Pro Edition supports this feature.

Thread Settings

Note

The listener is triggered when the response time of a service call exceeds the threshold and lasts until the call ends or the time consumed exceeds 15 seconds. The default threshold is 1,000 milliseconds. We recommend that you set the threshold to the 99th percentile of the call response time. For example, if 100 calls are sorted in ascending order by response time, the amount of time consumed by the 99th call is the 99th percentile.

Application logs association

In the Log Collect Configuration section, configure the log sources that you want to associate with the application. For more information, see Analyze logs collected by ARMS and Analyze logs collected by Log Service.

Note

Only Application Monitoring Pro Edition supports this feature.

本地日志分析

URL convergence rules

In the URL Aggregation section, you can enable or disable the convergence feature. You can also set the convergence threshold and convergence rules. URL convergence means that similar URLs are displayed together as a single object. For example, URLs prefixed with /service/demo/ are displayed as an object. The convergence threshold is the minimum number of URLs required to trigger URL convergence. For example, if the threshold is set to 100, URLs are converged only when 100 URLs meet the regular expression of the rules.

URL Aggregation

Business monitoring settings

In the Scenario settings section, you can enable or disable business monitoring and specify an HTTP encoding format.

Business monitoring

Configure Arthas monitoring

In the Arthas monitoring section, you can enable or disable the Arthas diagnostics feature. You can also specify the IP addresses on which you want to perform Arthas diagnostics. For more information, see Arthas diagnostics (new).

Note

Only Application Monitoring Pro Edition supports this feature.

自定义配置-Arthas监控

Information desensitization

In the Information desensitization section, configure a rule to desensitize JVM system parameters, Kubernetes YAML configurations, method input parameters, Arthas environment variables, and system variables during data collection. Each element in the rule represents a case-insensitive regular expression. For example, password indicates the regular expression .*password.*. Separate the elements with commas (,).信息脱敏

When the ARMS agent collects data, the agent desensitizes the data based on the key. If a key. matches a regular expression, the corresponding value is desensitized. As shown in the following figure, if you specify licenseKey in the rule, the value of -Darms.licenseKey key. desensitized.信息脱敏2

Synchronize application settings to other applications

You can copy the settings of an application to other applications.

Synchronize a single configuration item to other applications

  1. In the section of the configuration item, click Bulk copy to other applications.

  2. In the dialog box that appears, select a specific application or all other applications and click Ok.

    批量复制

Synchronize all configuration items to other applications

  1. In the lower part of the page, click Bulk copy to other applications.

  2. In the dialog box that appears, select a specific application or all other applications and click Ok.

    批量复制

Globally apply application settings

You can globally apply the specified application settings. If you create a new application, these settings are used by default.

  1. In the lower part of the page, click Save the current application Settings to the global default Settings.

  2. In the message that appears, click OK.