Splunk AppDynamics

Issue registering a cluster agent to the controller.

Gustavo_Marconi
Path Finder

Hi everybody,

I'm trying to monitor a demo web app deployed with Kubernetes, but even following the documentation I end up short in that pursue, the web app consiste in 4 containers, all running properly on a Ubuntu Server 24.04, using MicroK8s and kubectl.

I followed this guide in the documentation:
https://docs.appdynamics.com/appd/24.x/latest/en/infrastructure-visibility/monitor-kubernetes-with-t...

Everything was clear for the seven steps, but I have to point it out that in the step 6, the YML example is showing the port 8080 for the controllerUrl, and since I have the SaaS version, I changed it to 443.

When I validate the installation noticed that the cluster agent was not registered, so I started following the troubleshooting docs, when I retrieve the logs for the namespace with the operator and the cluster-agent I checked the following error:
[ERROR]: 2024-07-03 15:52:57 - secretconfig.go:68 - Problem With Getting /opt/appdynamics/cluster-agent/secret-volume/api-user Secret: open /opt/appdynamics/cluster-agent/secret-volume/api-user: no such file or directory
I don't know why is searching for that specific path and in which moment should I create or where to find that api-user, that was not in the docs.

So I'll be really thankful if someone could help me with this issue.

Hope everybody have a nice day.

Regards

Labels (1)
0 Karma
1 Solution

rganapavarapu
Path Finder

Hello @Gustavo.Marconi ,

By default SaaS controller is SSL enabled but I see the error message is "http". Could you please check your config if you have provided http or https. 

[ERROR]: 2024-07-08 16:17:58 - agentregistrationmodule.go:131 - Failed to send agent registration request: Post "http://pracso-nfr.saas.appdynamics.com:443/sim/v2/agent/clusterRegistration": EOF

 1. Now ssh into your appdynamics-operator pod or cluster agent pod
kubectl -n <namespace> exec -it <appdynamics-operator-pod> -- /bin/sh

2. Run the following command and send us the output for this:

curl -v -k -u singularity-agent@tatadigital:<access_key> https://pracso-nfr.saas.appdynamics.com.com:443/sim/v2/agent/clusterRegistration

Hope this will figure it out what is the cause. Keep us posted.

Best Regards,
Rajesh Ganapavarapu

View solution in original post

rganapavarapu
Path Finder

Hello Gustavo,

Yes, by default SaaS controller is SSL enabled so we need to provide secure connection otherwise Clusteragent will fail to connect to the controller.

Glad that helped. 

Best Regards,
Rajesh Ganapavarapu

0 Karma

rganapavarapu
Path Finder

Hello @Gustavo.Marconi ,

Sure I'm checking on running the curl command to check the connectivity issue. I remember asking you to update the controller url as https instead of http ? Have you made these change and still facing the same issue ?

Also can you please confirm if you have any proxy inbetween ?

Best Regards,
Rajesh Ganapavarapu

0 Karma

Gustavo_Marconi
Path Finder

Hi Rajesh,

It was the http configuration on my controller, as soon as I changed to https and re-deploy my cluster-agent, started reporting to my controller.

Thanks for the help and patience.

Have a great day!

Regards
Gustavo Marconi

0 Karma

iamryan
Community Manager
Community Manager

Hi @Gustavo.Marconi,

Have you been able to check out the reply? Did it help? Let us know by clicking the Accept as Solution button or continue the conversation. 

0 Karma

iamryan
Community Manager
Community Manager

Hi @Gustavo.Marconi,

Have you had a chance to check out the reply from @Rajesh.Ganapavarapu? I wanted to let you know I have also contacted the Docs team and shared your feedback regarding the documentation. 

0 Karma

Gustavo_Marconi
Path Finder

Hi @Ryan.Paredez ,

Yes, I checked the reply from Rajesh, thank you!

Glad to know that my feedback helps to do a minor contribution to the community.

Hope you have a great day too!

Regards
Gustavo Marconi

0 Karma

rganapavarapu
Path Finder

Hello @Gustavo.Marconi,

Thank you for contacting us.

Looks like the access key is not setup properly. Can you please confirm if you have created the access key correctly ?

You can run the below command and check if you have setup the access key  or not.

kubectl get secret cluster-agent-secret -n appdynamics -o jsonpath='{.data.controller-key}' | base64 --decode

Also can you please confirm the agent version and the operator version that you're deploying ?

 

If you are using lessthan 23.11 version I would recommend you to dopwnload the latest version.

 

Could you please follow below:

  1. Download the latest version if the current version is 23.11 or less.
  2. Delete old Controller Access Key Secret:
  3. Create Controller Access Key Secret:
     kubectl -n appdynamics create secret generic cluster-agent-secret --from-literal=controller-key=<access-key>

Give a try and let me know how it goes.

Happy Friday and weekend.

Best Regards,
Rajesh Ganapavarapu

 

0 Karma

Gustavo_Marconi
Path Finder

Hi @Rajesh.Ganapavarapu ,

I applied the command:
kubectl get secret cluster-agent-secret -n appdynamics -o jsonpath='{.data.controller-key}' | base64 --decode 
And it replies me with my controller-key.

The agent version that I'm using is 24.6.0-481, appdynamics-cluster-agent-alpine_linux_amd64-24.6.0.481.zip was the version that I downloaded. 

In the cluster-agent.yaml the image is set to: "docker.io/appdynamics/cluster-agent:latest".

I re-deployed everything and check again the logs for the  cluster-agent, it shows me this:
root@ubuntu-k8s-test:/home/gmarconi/appdynamics/cluster-agent# microk8s kubectl logs -n appdynamics k8s-cluster-agent-df58dfdc5-wtl7b
CA_PROPERTIES= -appdynamics.agent.accountName=pracso-nfr -appdynamics.controller.hostName=pracso-nfr.saas.appdynamics.com -appdynamics.controller.port=443 -appdynamics.controller.ssl.enabled=false -appdynamics.agent.monitoredNamespaces="default" -appdynamics.agent.event.upload.interval=10 -appdynamics.docker.container.registration.interval=120 -appdynamics.agent.httpClient.timeout.interval=30
APPDYNAMICS_AGENT_CLUSTER_NAME=Tasks-Webapp
[ERROR]: 2024-07-08 16:17:58 - secretconfig.go:68 - Problem With Getting /opt/appdynamics/cluster-agent/secret-volume/api-user Secret: open /opt/appdynamics/cluster-agent/secret-volume/api-user: no such file or directory
[INFO]: 2024-07-08 16:17:58 - main.go:57 - check env variables and enable profiling if needed
[INFO]: 2024-07-08 16:17:58 - agentprofiler.go:22 - Cluster Agent Profiling not enabled!
[INFO]: 2024-07-08 16:17:58 - main.go:60 - Starting APPDYNAMICS CLUSTER AGENT version 24.6.0-481
[INFO]: 2024-07-08 16:17:58 - main.go:61 - Go lang version: go1.22.3
W0708 16:17:58.556623 8 client_config.go:618] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.
[INFO]: 2024-07-08 16:17:58 - main.go:78 - Kubernetes version: v1.29.4
[INFO]: 2024-07-08 16:17:58 - main.go:236 - Registering cluster agent with
controller host : pracso-nfr.saas.appdynamics.com
controller port : 443
account name : pracso-nfr
[WARNING]: 2024-07-08 16:17:58 - agentregistrationmodule.go:359 - "default" is not a valid namespace in your kubernetes cluster
[INFO]: 2024-07-08 16:17:58 - agentregistrationmodule.go:363 - Established connection to Kubernetes API
[INFO]: 2024-07-08 16:17:58 - agentregistrationmodule.go:68 - Cluster name: Tasks-Webapp
[INFO]: 2024-07-08 16:17:58 - agentregistrationmodule.go:119 - Initial Agent registration
[ERROR]: 2024-07-08 16:17:58 - agentregistrationmodule.go:131 - Failed to send agent registration request: Post "http://pracso-nfr.saas.appdynamics.com:443/sim/v2/agent/clusterRegistration": EOF

Noticed that -appdynamics.controller.ssl.enabled is set to false, but I don't know how to set it to true, also not sure if that's the problem.

Hope you can help me Rajesh.

Have a great day!

Regards
Gustavo Marconi

rganapavarapu
Path Finder

Hello @Gustavo.Marconi ,

By default SaaS controller is SSL enabled but I see the error message is "http". Could you please check your config if you have provided http or https. 

[ERROR]: 2024-07-08 16:17:58 - agentregistrationmodule.go:131 - Failed to send agent registration request: Post "http://pracso-nfr.saas.appdynamics.com:443/sim/v2/agent/clusterRegistration": EOF

 1. Now ssh into your appdynamics-operator pod or cluster agent pod
kubectl -n <namespace> exec -it <appdynamics-operator-pod> -- /bin/sh

2. Run the following command and send us the output for this:

curl -v -k -u singularity-agent@tatadigital:<access_key> https://pracso-nfr.saas.appdynamics.com.com:443/sim/v2/agent/clusterRegistration

Hope this will figure it out what is the cause. Keep us posted.

Best Regards,
Rajesh Ganapavarapu

Gustavo_Marconi
Path Finder

Hi @Rajesh.Ganapavarapu ,

I tried the command that you just gave me with my access_key, but I think curl is not installed in the operator pod, and also don't have the permission to install it, it just replies me:
/bin/sh: curl: not found

Regards
Gustavo Marconi

0 Karma

rganapavarapu
Path Finder

Hello @Gustavo.Marconi ,

Yes, you should have the full rights to install the curl on the pod. Can you check the network connection by running curl after the curl installation ?

Best Regards,
Rajesh

0 Karma

Gustavo_Marconi
Path Finder

Hi Rajesh,

Sorry for the delay in my reply, I tried to made the curl that you asked me, but I'm afraid can't do it, or install it.
image.png

Should I re-install the operator?

Thank you very much for the help.

Regards
Gustavo Marconi

0 Karma
Get Updates on the Splunk Community!

Splunk Observability Synthetic Monitoring - Resolved Incident on Detector Alerts

We’ve discovered a bug that affected the auto-clear of Synthetic Detectors in the Splunk Synthetic Monitoring ...

Video | Tom’s Smartness Journey Continues

Remember Splunk Community member Tom Kopchak? If you caught the first episode of our Smartness interview ...

3-2-1 Go! How Fast Can You Debug Microservices with Observability Cloud?

3-2-1 Go! How Fast Can You Debug Microservices with Observability Cloud? Learn how unique features like ...