The Application Monitoring sub-service of Application Real-Time Monitoring Service (ARMS) is an application performance management (APM) service. By installing an ARMS agent for your application, you can comprehensively monitor the application without the need to modify your code. You can also keep track of the status of the application, quickly locate abnormal and slow interfaces, identify performance bottlenecks, and restore request parameters. This greatly improves the efficiency of error diagnostics.
Quick access
Application Monitoring uses an agent to enhance bytecodes in application runtime environments and manage application performance. Therefore, access to Application Monitoring does not involve changes to your business code. R&D cost is also greatly saved. Applications deployed in Container Service for Kubernetes (ACK) and applications deployed on Elastic Compute Service (ECS) can be automatically injected into the ARMS integration center to further reduce access costs.
Automatic detection of application topologies
The ARMS agent can automatically discover the upstream and downstream dependencies of applications, effectively capture different application traces that use RPC frameworks and HTTP frameworks (such as Spring Cloud and Dubbo), and visualize application topologies, including information about common middleware, such as MySQL, Redis, and RocketMQ. You can identify performance bottlenecks and abnormal calls in the system by using application topologies.
Automatic detection and monitoring of interfaces
Application Monitoring can automatically discover and monitor common HTTP frameworks and RPC frameworks in application code, and automatically collect metrics about HTTP or RPC interfaces, such as the number of interface calls, response time, number of errors, and number of exceptions. You can use the interface monitoring and trace view features to troubleshoot performance issues in an entire trace.
Multidimensional trace analysis
Application Monitoring provides a trace analysis tool to help you analyze traces in real time by combining filter conditions and aggregation dimensions. You can easily view the time series distribution of slow calls that take longer than the specified time, the distribution of abnormal requests in different machines, and the traffic changes of VIP customers.
Slow SQL analysis
For mainstream relational databases (such as MySQL and PostgreSQL) and NoSQL databases (such as Redis and MongoDB), ARMS provides the slow SQL analysis capability to help you analyze the common problems that may occur in production environments, such as slow transactions, in a refined manner.
Intelligent insight
Application Monitoring provides the intelligent insight capability to resolve common problems such as sudden increase in the response time and error rates of applications. Application Monitoring inspects applications based on historical application data and intelligent algorithms, provides root cause analysis and suggestions, and supports alert subscription. This way, you can resolve problems at the earliest opportunity.
Continuous Profiling
Application Monitoring provides the continuous profiling feature. It can diagnose CPU utilization and memory usage details based on minimal performance overheads, and categorize statistics data based on the method, class, and line number. This helps developers optimize programs, reduce latency, increase throughput, and save costs.
Alert integration
ARMS provides more than 50 preset alert rules for metrics about JVMs, hosts, and interfaces. You can flexibly adjust and combine these alert rules. You can also use the Alert Management sub-service to implement alert convergence, notification, escalation, and collaborative processing to ensure that faults are detected and fixed in a timely manner.
Open source integration
In accordance with OpenTelemetry specifications, Application Monitoring is able to connect traces among multiple languages and heterogeneous technology stacks. Application metrics collected and processed by Application Monitoring are stored in Managed Service for Prometheus instances that belong to your Alibaba Cloud account. Default Grafana dashboards are provided. You can use Prometheus Query Language (PromQL) to customize and develop the dashboards.