cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Lukasz.Kociuba
AppDynamics Team

What does this error mean?

We usually observe the log message below in the Application startup logs when the agent is unable to connect with the controller to retrieve the nodeName (in the case of using reuse.nodeName). 

Started AppDynamics Java Agent Successfully.
[Thread-0] Tue Apr 02 09:46:04 UTC 2019[INFO]: JavaAgent - Started AppDynamics Java Agent Successfully.
2019-04-02 09:46:09,545 ERROR Recursive call to appender Buffer
2019-04-02 09:46:09,547 ERROR Recursive call to appender Buffer

 

Next steps:

  1. Could you please check if any logs are generated under the/opt/appdynamics-java/ver.xxx.xx/logs/ directory and share them if available?

  2. If there are no logs, please add the configuration line below under theinstrumentatioRulesapplied to the problematic pod:"

    customAgentConfig: -Dappdynamics.agent.reuse.nodeName=false -Dappdynamics.agent.nodeName=test
 
If you are using Cluster Agent version >=23.11.0, to force re-instrumentation, you need to use the additional parameter in the default auto-instrumentation properties:
enableForceReInstrumentation: true
 
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
  name: k8s-cluster-agent
  namespace: appdynamics
spec:
  # cluster agent properties
  # ...
  # required to enable auto-instrumentation
  instrumentationMethod: Env 
  # default auto-instrumentation properties
  # may be overridden in an instrumentationRule
  containerAppCorrelationMethod: proxy
  nsToInstrumentRegex: default
  defaultAppName: ""
  enableForceReInstrumentation: true   # ADDED
  # ...
  # one or more instrumentationRules
  instrumentationRules:
  - namespaceRegex: default
    customAgentConfig: -Dappdynamics.agent.reuse.nodeName=false -Dappdynamics.agent.nodeName=test  # ADDED
    imageInfo:
      image: "docker.io/appdynamics/java-agent:24.8.1"
      agentMountPath: /opt/appdynamics
      imagePullPolicy: Always

Afterward, please apply the changes and wait for the cluster agent to implement the new instrumentation. Then, collect the agent logs from the /opt/appdynamics-java/ver.xxx.xx/logs/ directory and attach them to the ticket.

How do you collect logs from a Kubernetes pod?

1. Enter the container and pack the agent logs into a tar file.

kubectl exec -it pod <pod_name>  -- bash
cd /opt/appdynamics-java/ver24.x.x.x/logs/
tar -cvf /java-agent-logs.tar test

2. Copy the created tar file.

kubectl cp <some-namespace>/<some-pod>:/java-agent-logs.tar ./java-agent-logs.tar

 

I hope this article was helpful/
Łukasz Kociuba

Version history
Last update:
‎12-16-2024 09:27 AM
Updated by:
Join Us On December 10
Learn how Splunk and AppDynamics are redefining observability


Register Now!

Observe and Explore
Dive into our Community Blog for the Latest Insights and Updates!


Read the blog here