The TCP Port Monitor plugin creates a stream socket that connects to the specified port on the named host. It returns the status of the port as a measure.
TCP Port Monitor Plugin
The TCP Port Monitor plugin creates a stream socket that connects to the specified port on the named host, and returns the status as a measure.
Dynatrace AppMon >= 6.2
versions 3.x, 4.x, 5.x
Can you monitor multiple ports with one monitor or do you need to create additional monitors for every port?
As the plugin exists it would require one monitor per port number, though each port-based Monitor could be used for multiple hosts (in case you wanted to track availability of :80 on a Web Server farm, for instance). That said, once you import the plugin you can "checkout" the code from the Plugins dialog in your client and add functionality to it via Java code if you wanted to make the configuration instead something like a semicolon-delimited list of ports for the monitor to loop through.
Hope that helps,
P.S. if you go through the effort of enhancing the plugin please comment here so others can check it out
Thanks for the info
I have already used the multiple hosts for one port.
Is there anyway to remove hosts that have already been added and are stored in the "Local" folder. There seems to be two hosts withthe same name and one has a space in the front and it is picking this host up when I chart it over a 7 day period?
Are these hosts stored in an xml file somewhere?
Sorry, didn't see this until just now. You can control what hosts are in which sites/hostgroups in the dynaTrace Server Settings -> Infrastructure dialog
I've updated the plugin with a very basic response time stat. See attached
Richard, there a way to see the socket's backlog queue - how full the queue is? The socket is obviously on the receivind end of TCP communication (one example would be a receving port of the transport inbound protocal of Web Container that gets requests coming for processing).
This plugin essentially automates what we do when we run telnet to check a listener, so unfortunately i don't think it's that deep. What type of process are you trying to monitor?
Richrd, thatnks for a quick response. It is just a standard setting. Requests from users go to load balancing and then sent to a JVM for processing. If all JVM's threads are busy the request will be sent to the socket backlog queue (for AIX it could hold 1,000 transaction). By monitoring this queue you can determine whether the load overwelms the capacity of such JVM (ot the entire application). If such queue grows, transactions entering the queue should wait for everything in front them in the queue to be processed first. Frequently, they timeout before being processed.
Ah, I see. Due to the nature of this plugin I think you'll need to look elsewhere for this stat. At the Operating system level we have the Unix Monitor Plugin which is built into the product and may be able to to be extended for such a metric, and then there's always JMX if the stat is tracked in an MBean. Either one would warrant a separate post entirely.
My backlog is a bit high at the moment but if you create that thread I'll comment when I can, otherwise someone else should be able to help you out
Can we check the established connections to ports of an application server from Dynatrace?
Hi. this plugin is validating if you can open a connection from the collector to a certain machine on a certain port. This plugin doesnt not check which open connections you have in the moment.
I think the best would be to use the Generic Execution Plugin. This allows you to execute a command line script such as netstat and then pull back that information
Thank you for the update.
As this plugin is effectively executing a telnet command to a specfic host and port, I assume it kills the connection once the status is established? (equivalent to 'ctrl c' on a unix terminal). Wouldn't want a continuous and growing number of connections to be made to a production port.
Hi. Just checked in with the author of the plugin. The plugin is not doing a telnet command. it is simply opening a socket on that port and then closes the socket. So - its definitely production safe
Thanks for clarifying Andi.