In a Sidecar scenario, a pod may contain multiple containers running applications in different programming languages. This topic provides best practices for monitoring multi-language applications using the ack-onepilot component in a Sidecar scenario.
Prerequisite
The ack-onepilot version must be 4.2.0 or later.
Procedure
Refer to the following documents to install ack-onepilot and grant the appropriate resource access permissions:
Add relevant tags to the workload.
The YAML above represents a complex application that simultaneously uses Java, Golang, and Python programming languages. The application contains three containers with different programming languages, named test-java, test-go, and test-python.
You can connect these three containers to three different ARMS applications to achieve data isolation. Follow these steps:
Log on to the ACK console. In the left navigation pane, click Clusters.
On the Clusters page, find the cluster you want to manage and click its name. In the left navigation pane, choose .
On the Deployments page, click on the right side of the target application.
To create a new application, click Create From YAML.
Add the following
labelsto the spec.template.metadata level in the YAML file, and then click Update.labels: # Please replace ${containerName} with the actual container name apsara.apm/container.${containerName}.app-language: java # Replace with the actual programming language of the container apsara.apm/container.${containerName}.armsPilotAutoEnable: 'on' apsara.apm/container.${containerName}.armsPilotCreateAppName: "<your-deployment-name>" # Please replace <your-deployment-name> with your application name.
If the application appears on the page in the ARMS console and data is being reported, the connection is successful.

> Edit YAML