You need to enable JavaScript to run this app.
Volcengine Kubernetes Engine

Volcengine Kubernetes Engine

Copy page
Download PDF
Observability
Application performance observability
Copy page
Download PDF
Application performance observability
VKE can be integrated with APMPlus to provide end-to-end application performance monitoring services for applications deployed in clusters. This topic describes how to deploy an application in a cluster and integrate the cluster with APMPlus trace monitoring.​
Background​
APMPlus is an APM service designed for application service quality, performance, and custom instrumentation. By leveraging advanced data collection and monitoring technologies, APMPlus provides enterprises with end-to-end application performance monitoring services. It covers both server-side monitoring, such as root cause analysis for AI large models, issue identification for LLM chains, and comprehensive monitoring of agents, and client-side monitoring for the app, WebPro, mini program, PC, and OS. It helps enterprises to enhance the efficiency of troubleshooting.​
Application performance observability delivers benefits such as low integration costs and non-intrusive access. It supports end-to-end monitoring capabilities for basic resource performance, service, and code layer, and the health status of online application operations. It can be integrated with Java, Go, Python, and other applications, such as large models, LLMs, and agents, through methods such as a self-developed agent and OpenTelemetry for end-to-end monitoring, which provides richer capabilities for restoring abnormal scenarios. Core features include service monitoring, trace analysis, error analysis, log monitoring, custom monitoring, alerting tasks, and other features.​
tip​
For more details about application performance observability, see What is APMPlus.​
Prerequisites​
Procedure​
tip​
You can enable application performance monitoring for different types of workloads when you create workloads, including Deployments, StatefulSets, Jobs, CronJobs, and DaemonSets. This topic provides an example of how to create a Deployment. For configuration methods for other types of workloads, see Workloads.​
Configure through the console​
  1. Go to the Deployment page.​
  1. In the left navigation bar, click Cluster.​
  1. On the Cluster page, click the name of the cluster for which you need to create a Deployment.​
  1. In the left navigation bar of the cluster management page, click Workload > Deployment.​
  1. On the Deployment page, click Create Deployment.​
  1. In the Container configuration step, enable Full-chain Application Performance Management, and specify monitoring-related parameters.​
  • ​
    Parameter​
    Description​
    Monitor application type​
    Select the application type to monitor. Currently supported types include Java, Python, and Node.js.​
    APM workspace​
    (Optional) Select a workspace to store monitoring data for data management and isolation. Each workspace has its own independent data reporting credentials, allowing unified management of traces, logs, and metrics based on the application affiliation attribute. For more details, see Workspace management.​
    tip​
    To configure a workspace, upgrade the ampplus-opentelemetry-collector add-on to v3.1.0 or later. For details, see Add-on release notes.​
    Monitor Service Name​
    (Optional) Specify the name of the monitoring service. This name will be used as the monitoring task name for the current workload and will be displayed in the service list of the APMPlus console. This makes it easier for you to distinguish between different monitoring tasks.​
    tip​
    If you do not enter a name, the system will use the workload name as the monitoring service name by default.​
    ​
  1. After you specify other workload parameters, click Confirm to complete the configuration. For more parameter configurations, see Creating Deployments.​
Configure through kubectl​
tip​
Before you start, make sure that the following conditions are met:​
When creating workloads in the cluster using YAML, you can configure application performance observability via annotations. The sample YAML code varies slightly for different application types.​
​
Java
Python
NodeJS
​
The sample configuration code of the Java application is as follows:​
​
apiVersion: apps/v1​
kind: Deployment​
metadata:​
name: deployment-demo # The Deployment name.​
namespace: default # The namespace where the Deployment resides.​
spec: ​
replicas: 1 # The number of replicas for the Deployment.​
selector: ​
matchLabels: ​
app: nginx​
template: ​
metadata: ​
labels: ​
app: nginx​
annotations:​
instrumentation.apmplus.volcengine.com/inject-java: "true" # Enable APMPlus observability injection.​
instrumentation.apmplus.volcengine.com/java-container-names: "nginx,myapp" # (Optional) Specify containers for which you want to implement injection.​
apmplus.volcengine.com/service.name: "doc-pod-demo" # (Optional) Specify the service name of the workload in APMPlus. If you do not specify the name, the pod name is used as the server name by default.​
spec:​
containers:​
- name: nginx # The container name.​
image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0 # The container image address and tag.​
ports:​
- containerPort: 80 # Exposed container port number​
env: # Use environment variables to specify the service name of the container in APMPlus. This configuration prevails over the apmplus.volcengine.com/service.name configuration in the annotation.​
- name: OTEL_SERVICE_NAME​
value: "container-demo"​
​
​
If your workload has containers of different languages, you can inject annotations for different languages at the same time. The example is as follows:​
​
template: ​
metadata: ​
labels: ​
app: nginx​
annotations:​
instrumentation.apmplus.volcengine.com/inject-java: "true" # Enable observability injection for the Java application.​
instrumentation.apmplus.volcengine.com/java-container-names: "myapp" # Implement Java injection for the container named myapp.​
instrumentation.apmplus.volcengine.com/inject-python: "true" # Enable observability injection for the Python application.​
instrumentation.apmplus.volcengine.com/python-container-names: "myapp2" # Implement Python injection for the container named myapp2.​
spec:​
...​
​
Validate results​
  1. Log in to the APMPlus console.​
  1. In the left navigation bar, click Server-side monitoring. On the page that appears, click Click to go to the service list to go to the server-side monitoring page.​
  1. In the left navigation bar of the Service List page, click Service monitoring > Services. In the service list, you can view the name of the workload monitoring service in the cluster.​
  1. Click the service name to view its detailed monitoring information. For more details, see Service monitoring.​
​
Last updated: 2026.08.19 17:46:23