ServiceCheck.Custom parameters?

Started by tedv, June 07, 2010, 03:50:31 PM

Previous topic - Next topic

tedv

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


Victor Kirhenshtein

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

tedv

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

Victor Kirhenshtein

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

tedv

Thanks, that works. Now I'm getting a 2 for status as expected.