Serverless App Engine (SAE) provides non-intrusive application monitoring and alerting capabilities for multiple programming languages and frameworks. The Application Overview page displays the metrics of an application to help you understand the overall health status of the application. This topic describes how to view the statistics on the metrics in the Application Monitoring module of SAE.

Background information

Java and PHP

SAE is integrated with the Application Monitoring module of Application Real-Time Monitoring Service (ARMS). ARMS is an application performance management (APM) service. To monitor an application, you need to only install the ARMS agent. You do not need to modify the code of the application. The ARMS agent helps you identify abnormal or slow API operations, view request parameters, and detect system bottlenecks. This improves the efficiency of online troubleshooting. For more information, see Overview.

Other programming languages such as Python, Node.js, and Go

The Application Monitoring module of SAE supports non-intrusive metric collection, monitoring, and alerting for all programming languages and frameworks. The module also provides multiple metrics and information, such as the number of requests, number of errors, and response time by application and instance, HTTP status code statistics, and interface-level call information for services and dependent services. SAE provides built-in dashboards that help you evaluate the status of external services of the current application when you perform O&M operations at the earliest opportunity. You can also effectively identify issues that are related to user experience, service interruption, and business exceptions.

The Application Monitoring module of SAE provides the following benefits:
  • Maintenance-free: Once you deploy an application, the application monitoring feature is enabled for the application. You do not need to manage or maintain monitoring or alerting components.
  • Non-intrusive code: You can obtain various monitoring data without the need to instrument an application or modify dependencies.
  • Language independence: The Application Monitoring module parses network protocols at the kernel level and supports all programming languages and frameworks.
  • Protocol compatibility: The Application Monitoring module monitors metrics and traces for network protocols, such as HTTP, MySQL, Redis, Kafka, and DNS.
  • High performance: The Application Monitoring module obtains metric data with low performance consumption by reducing data copying between the kernel state and the user state.

Procedure

Java and PHP

  1. Log on to the SAE console.
  2. In the left-side navigation pane, click Applications. In the top navigation bar, select a region and click the name of an application.
  3. In the left-side navigation pane, choose Application Monitoring > Application Overview. On the Application Overview page, view the required information on the Overview tab.

Other programming languages such as Python, Node.js, and Go

  1. Log on to the SAE console.
  2. In the left-side navigation pane, click Applications. In the top navigation bar, select a region and click the name of an application.
  3. In the left-side navigation pane, click Application Monitoring. On the Application Monitoring page, view the required information.

Metric categories

Java and PHP

The Overview tab displays the following metrics:
  • The total number of requests, average response time, number of instances, number of full garbage collection (GC) events, and number of slow SQL queries within a specific time range, and day-on-day or week-on-week changes.
  • Application Events: application events, such as availability alerts, application monitoring alerts, and Kubernetes cluster events. Availability alerts may be triggered due to deadlocks, out-of-memory (OOM) errors, or application startup. You can move the pointer over a bar chart to view the event list at a specific point in time. For more information, see Event center.
  • Application Support Services: time series curves for the number of requests to the services that are provided by the application and average response time.
  • Application Dependent Services: time series curves for the number of requests to the dependent services, average response time, number of instances within the application, and HTTP status codes.

Other programming languages such as Python, Node.js, and Go

The Application Monitoring page displays the following metrics:
  • The Overview tab displays the following metrics within a specific time range: the number of application service requests, HTTP status codes, number of application service errors, number of application dependent service requests, average response time for application provision services, and average response time for application dependent services.
  • The Interface Invocation tab displays the following metrics of specific API calls: the number of requests, number of errors, and average response time.
  • The External Calls tab displays the status of external calls for the application, such as slow calls and exceptions.