All Products
Search
Document Center

Application Real-Time Monitoring Service:Why is monitoring data not displayed after an ack-onepilot agent is installed on a Java application in an ACK cluster?

Last Updated:Apr 02, 2024

Causes

  1. Application monitoring is suspended.

  2. The ack-onepilot agent of the pod where the application resides is not loaded as expected.

Solution

Step 1: Check whether application monitoring is suspended

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

  2. On the Application List page, select a region in the top navigation bar and click the name of the application.

    If the application is not found, proceed to Step 2: Check whether the ack-onepilot agent is loaded as expected.

  3. If you are using the new Application Real-Time Monitoring Service (ARMS) console, choose Configuration > Custom Configurations in the top navigation bar of the application details page. In the Probe switch settings section, check whether application monitoring is suspended.

  4. If you are using the old ARMS console, click Application Settings in the left-side navigation pane of the application details page. On the page that appears, click the Custom Configuration tab. In the Agent Switch Settings section, check whether Probe Master Switch is turned on.

Step 2: Check whether the ack-onepilot agent is loaded as expected

  1. Log on to the ACK console. In the left-side navigation pane, click Clusters. On the Clusters page, click the name of the cluster to go to the cluster details page.

  2. In the left-side navigation pane, choose Workloads > Pods.

  3. In the left-side navigation pane, click Pods. On the Pods page, select the namespace in which your application resides, find the application, and then click Edit in the Actions column.

  4. In the Edit YAML dialog box, check whether the YAML file contains initContainers.

    db_am_ack_apppod_yaml

    • If the YAML file does not contain initContainers, the pod has not been injected into one-pilot-initcontainer. Perform Step 5.

    • If the YAML file contains initContainers, the pod has been injected into one-pilot-initcontainer. Perform Step 8.

  5. On the Pods page of the Workloads module, set the Namespace parameter to ack-onepilot. Check whether a pod whose name is prefixed with ack-onepilot exists in the pod list.

  6. On the Deployments or StatefulSets page of the Workloads module, choose More > View in YAML in the Actions column. In the Edit YAML dialog box, check whether the YAML file contains the following labels in the spec.template.metadata section:

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    # Replace <your-deployment-name> with the actual application name. 
      armsSecAutoEnable: "on"    # If you want to connect the application to Application Security, you must configure this parameter.
    • If the YAML file contains the labels, perform Step 7.

    • If the YAML file does not contain the labels, perform the following operations: In the Edit YAML dialog box, add the labels to the spec > template > metadata section and replace <your-deployment-name> with the actual application name. Then, click Update.

  7. On the Pods page of the Workloads module, find the pod where your application resides and click Logs in the Actions column to check whether the pod logs of ack-onepilot report a Security Token Service (STS) error in the "Message":"STS error" format.

  8. On the Pods page of the Workloads module, find the pod where your application resides and click Edit in the Actions column. In the Edit YAML dialog box, check whether the YAML file contains the following javaagent parameter:

    -javaagent:/home/admin/.opt/ArmsAgent/aliyun-java-agent.jar
    Note

    If you use an ack-onepilot agent earlier than 2.7.3.5, replace aliyun-java-agent.jar in the preceding code with arms-bootstrap-1.7.0-SNAPSHOT.jar. We recommend that you upgrade the agent to the latest version at the earliest opportunity.

    • If the YAML file contains the parameter, find the pod of the application on the Pods page and click Terminal in the Actions column to go to the command line page. Run the following command to check whether the logs file contains a log file with the .log file extension. Then, contact the DingTalk account arms160804:

      cd /home/admin/.opt/ArmsAgent/logs
    • If the YAML file does not contain the parameter, contact the DingTalk account arms160804 to obtain technical support.

References

Application Monitoring network configurations