PortCheck Subagent

From NetXMS Wiki
Revision as of 18:14, 16 August 2012 by Lweidig (talk | contribs) (Initial version - HTTP, just want to save this.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This subagent can be used to check TCP ports and specifically implements checks for common services.


Provided Parameters

When loaded, PORTCHECK subagent adds the following parameters to agent:

Parameter Description
ServiceCheck.Custom(target,port[,timeout]) Check that TCP port is open on target. Optional argument timeout specifies timeout in milliseconds. This is a very simple test that does nothing more than check the port is open.
ServiceCheck.HTTP(target,[port],URI,hostHeader,regex[,timeout])
ServiceCheck.POP3(target,username,password[,timeout) Check that POP3 service is running on target and that we are able to login using the supplied username and password. Optional argument timeout specifies timeout in milliseconds.
ServiceCheck.SMTP(target,toAddress[,timeout]) Check that SMTP service is running on target and that it will accept an e-mail to toAddress. The e-mail will be from noreply@DomainName using the DomainName option in the config file or its default value (see below). Optional argument timeout specifies timeout in milliseconds.
ServiceCheck.SSH(target[,port[,timeout]]) Check that SSH service is running on target. Optional argument port specifies the port to connect with, otherwise 22 will be used. Optional argument timeout specifies timeout in milliseconds.
ServiceCheck.Telnet(target[,port[,timeout]]) Check that Telnet service is running on target. Optional argument port specifies the port to connect with, otherwise 23 will be used. Optional argument timeout specifies timeout in milliseconds.

Response Codes

All of the ServiceCheck.* parameters return the following values:

Value Description
0 Success, target was connected to an returned expected response.
1 Invalid arguments were passed.
2 Cannot connect to target.
3 Invalid / Unexpected response from target.

Configuration file

All configuration parameters related to PORTCHECK subagent should be placed into *PORTCHECK section of agent's configuration file. The following configuration parameters are supported:

Parameter Format Description Default value
DomainName string Set default domain name for processing. Currently this is only used by SMTP check to set the from e-mail address. netxms.org
Timeout milliseconds Set response timeout to milliseconds. 3000

Configuration Example

# This sample nxagentd.conf instructs agent to:
#   1. Load PORTCHECK subagent
#   2. Set domain name for from e-mail to netxms.demo
#   3. Default timeout for commands set to 5 seconds (5000 milliseconds)

MasterServers = netxms.demo
SubAgent = /usr/lib/libnsm_portcheck.so

*portCheck
DomainName = netxms.demo
Timeout = 5000