Hi, I'm trying to monitor from a node if it can reach a TCP port on another machine.
The ServiceCheck.Custom appears to be the most logical data collection item.
However, I can't find a description of the parameters
What would be the parameters to check if for example port 8080 gives a response on IP  10.1.2.3 (it's not HTTP)
Thanks,
Ted
			
			
			
				Hi!
ServiceCheck.Custom accepts two arguments - host name or IP address and port number. For example, to check port 8080 on address 10.1.2.3, use
ServiceCheck.Custom(10.1.2.3,8080)
All ServiceCheck.* parameters return the following values:
0 - success (server was connected and return expected response);
1 - invalid arguments was passed;
2 - cannot connect to server;
3 - bad server's response.
Best regards,
Victor
			
			
			
				Quote from: Victor Kirhenshtein on June 08, 2010, 12:25:02 PM
Hi!
ServiceCheck.Custom accepts two arguments - host name or IP address and port number. For example, to check port 8080 on address 10.1.2.3, use
ServiceCheck.Custom(10.1.2.3,8080)
All ServiceCheck.* parameters return the following values:
0 - success (server was connected and return expected response);
1 - invalid arguments was passed;
2 - cannot connect to server;
3 - bad server's response.
Best regards,
Victor
Thanks Victor - that works.
However, when I (for testing purposed) make sure that the node can't reach the other host, the value of the DCI doesn't change, it just does not get updated anymore. So, I can't put a threshold on it?
Example
My data collection does ServiceCheck.Custom(10.1.2.3,8080) - that gives 0 as response every 30 seconds (the interval).
When I trick the machine that it can't reach the other host (10.1.2.3), the value stays at 0 and the timestamp isn't updated.
Any suggestions?
Thanks,
Ted
			
 
			
			
				Most likely the problem is that default timeout for receiving data from agent is smaller then default connection timeout. I suggest to set connection timeout in port check subagent to some small value, and increase agent response timeout on server.
For example, to set agent response timeout to 5 seconds and connect timeout in port checker to 4 seconds, do the following:
Set server configuration variable AgentCommandTimeout to 5000;
Add the following to nxagentd.conf on node with port checker:
*portCheck
Timeout = 4000
Best regards,
Victor
			
			
			
				Thanks, that works. Now I'm getting a 2 for status as expected.