cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Not able to connect to DT client

amitkumar
Inactive

Hi All,

I am trying to install Dynatrace-AppMon-Docker from [https://github.com/Dynatrace/Dynatrace-AppMon-Docker]. The docker images are built on V7.0. Initially when i executed the run, I was seeing bunch of errors related to the certificates. I then disabled the SSL PORT from .env by updating the port from 6699 to 6698 [

APPMON_COLLECTOR_SERVER_SSL_PORT=6698]

This way i was able to bring up the server and stopped seeing the SSL certificate errors. Now when i try to connec the client to the server. i am not able to. I was trying to connect to localhost:2021.

I am seeing the following errors :-

2020-03-15 17:51:12 INFO [ServerConnectionTester] ...connection test failed

2020-03-15 17:51:12 WARNING [ServerConfigurationComponent] Settings seem to be erroneous, the connection test failed. Please ensure that the Frontend Server has been started.

2020-03-15 17:51:17 WARNING [DefaultConnectionEstablisherJob] exception was thrown while connecting: unable to establish connection to localhost:2021 due a java.io.EOFException: unable to establish connection to localhost:2021


On doing "docker ps" i can see following containers running :-


05556d7d6713 dynatrace/server:7.0 "sh -c '${DT_HOME}/p…" 29 minutes ago Up 29 minutes 0.0.0.0:2021->2021/tcp, 0.0.0.0:8020-8021->8020-8021/tcp, 0.0.0.0:8023->8023/tcp, 0.0.0.0:8040-8041->8040-8041/tcp, 0.0.0.0:9911->9911/tcp, 0.0.0.0:6698->6699/tcp dtserver

47f9e0e278d5 dynatrace/collector:7.0 "sh -c ${DT_HOME}/ru…" 29 minutes ago Up 29 minutes 0.0.0.0:8042-8043->8042-8043/tcp, 0.0.0.0:9998->9998/tcp dtcollector

4e651542a611 dynatrace/agent:7.0 "/bin/sh -c 'while t…" 4 hours ago Up 29 minutes dtagent

Can someone please help me with this ?


16 REPLIES 16

Alexander_R_
Advisor

Hello,

You have client on the same machine?

It seems that there is connectivity problem

"0.0.0.0:2021->2021/tcp " - this is listen port of the Dynatrace Server

Have you tried with local ip address (for example 192.168.1.100:202) in AppMon client?

Are containers started? Are there any errors in Docker?

Regards,

Alexander

@Alexander R. yes i have installed Docker on my mac and i am running Dockerized containers of DT on it. I can see Collector, agent and server started however i am seeing the following message :-


dtcollector | 2020-03-16 10:51:39 SEVERE [ImportCertificateStrategy] certificate is expired and not already accepted for [collector_client]: NotAfter: Thu Mar 07 10:37:35 GMT 2019

dtcollector | 2020-03-16 10:51:39 SEVERE [ImportCertificateStrategy] client did not accepted ssl client certificates. will not establish trust for [collector_client]: NotAfter: Thu Mar 07 10:37:35


I also tried to disable the SSL port to 6698 but still not luck. Not sure if there is a way to wipe off entire certificate thing because i am running DT on my machine.

Joe_Hoffman
Dynatrace Champion
Dynatrace Champion

It appears you have each AppMon component running in a separate Docker image. I'm not sure why the Client is running in Docker, why not just run it on your laptop/desktop?

Is it possible for you to run without a Collector to simplify thing? I assume your environment is not complex, or perhaps you do require a Collector?

Is your AppMon Server docker image allowing inbound connections on the required ports? Server accepts Client connections on 2021. The Collector is not involved in Client-> Server communications.

I would look in the client0.0.log file for additional hints on what problems are being encountered. You might also benefit from looking at the server.0.0.log file for possible problems with the Server not being able to bind to listen on 2021.

@Joseph M. H. Thanks for throwing some light on the matter. To give an insight, i am not running Client as a docker container but as a stand alone program as usual trying to connect to localhost:2021 from my mac and keep seeing the error. Docker is install on my mac too.Based on your comments i ran the server without the collector and the server came fine but still my client was not able to connect. I am seeing the following error :-



I believe admin/admin is the userid and password. At mac i should be seeing the logs under

/tmp/log/dynatrace/servers/dtserver but unfortunately there is none.


As Andre mentioned, I agree, your client needs to connect to the IP address of the AppMon Server docker instance, not Localhost. This can be changed in the AppMon client settings.

Additionally I also agree that you need to allow the AppMon Server docker instance to allow inbound traffic on 2021, otherwise your AppMon client will never reach the AppMon Server.

@Joseph M. H. .. I did the docker inspect for the server container and pulled up the IP at which the container is accessible.


I then used the same IP with Client to connect on port 2021.



But still seeing the error ::



Three suggestions:

1) Verify from within the Server that it's really listening on 2021. I'm not sure how to do that from a docker context.

2) Verify from your client laptop that it can connect to the docker image and that something will respond on 2021. Basically I'm suggesting getting the AppMon client out of the situation and just verify that there's something responding AND accessible on <Server>:2021 FROM THE CLIENT machine but not from the AppMon client software

3) I wonder why you're running this all from Docker as opposed to a VM, either from your laptop or from the cloud. Have you considered trying this from a VM in the cloud? I'm sure it's do-able from a docker image, but it seems to be the root of your client connection issues.

@Joseph M. H. What is really bothering me is this offering [

https://github.com/Dynatrace/Dynatrace-AppMon-Docker ] is Dynatrace community supported and there is 0 response from the maintainers of the repository. Do you know if DynaTrace provide a paid assistance for this kind of issues? I have been struggling for a long time to make this thing work and with 0 response from maintainers i am at point to give up DT and move on to another appmon tool.


Following is the response to each of your bullet points :-

1. Yes i can lsof to the port and can get the response back ::

2. I tested port via multiple commands for example ::



3. I have installed Docker on my Mac which is good to server single host containers. I have also installed it on cloud VM which has docker installed. Here is the snippet :-



I then tried to connect to DT server from my Mac DT client and From Windows DT client and still no luck. The VM is a public cloud i can easily deploy a docker container and access the application exosed on port 8080.

Amit,

There is certainly full support available to any Dynatrace customer. But if you're just trying out Dynatrace products for the first time, I might suggest you use our newer product called "Dynatrace", not our legacy product "AppMon". The new product is much easier to use and comes easily available in a SaaS model for your convenient review. Simply go to https://dynatrace.com/freetrial/ to try it out.

Please keep in mind that this forum is a free service and as such is not monitored by the Dynatrace Support team. If you are a paying customer and would like formal support, don't hesitate to open a case at https://support.dynatrace.com/

In the meantime I will try to install the Docker image on my local machine today and see if I can reproduce your issues.

Agreeing with Joseph re: rather ditching the AppMon setup and trialing Dynatrace!
Also, this Docker setup is fine if you're just playing around, wanting to check AppMon out, but it's not supported for pre-prod or prod deployments, it has never been.

Lastly, AppMon will be end-of-life on 31 March 2021 so you should really rather look at Dynatrace as per Joseph's suggestion.

@Joseph M. H. and @Andre Van der V. I have used DT Appmon for quite some time on Monolith application. For Non prod setup i have extensively used it to troubleshoot issues and learn the application internals. For PROD which i don;t manage We have used DT oneagent for our Microservice architecture.

Due to licensing cost issues we have to step back from using DT. Since i have been using this tool for quite some time and considering DT don;t provide any options for individual users the only options that is left for me is to make this thing work with my personal license so i can play around with limited docker containers.

I personally beleive, DT should come up with some options to continue using the DT on single host limited containers etc so the people who have gained the knowledge and expertise in learning the product won;t loose it by not using the tool.

My current goal is to make Appmon work with few of my docker containers and provide me the tracing of method calls, SQL's etc nothing big.


If you're an existing Dynatrace customer, you can have a Developer instance of Dynatrace that should fit just fine into your use case. Check it out, let us know if this works for you. https://www.dynatrace.com/developer/trial/


@Joseph M. H. Thanks for the suggestion. I will go through the link and see how far i can go with the trial.

If you're trying to connect to the AppMon Server, which runs inside the dynatrace/server container, you can't use localhost:2021 for starters since there is no AppMon Server running on your Mac where the Client is running, so you need to use the IP of the container.

Secondly, containers do not expose their ports to the outside world (your Mac, in this case), automatically, so you'll need to expose the port.
You should be able to fix that by running the following command:

docker -p 2021:2021 dynatrace/server

See the Docker docs for more info: https://docs.docker.com/config/containers/container-networking/

@Andre Van der V. If you see my comments above you will see the ports are already published for the containers to be accessible at host. These containers (Server, Agent, Collector) run as a service and expose ports at which they are running.

I have even tried with the Container IP. Here is an example ::