X Services
Introduction Copied
Geneos X Services plugin checks the network path to a specified target node, the availability of the node and if the node has processes that listen on the ports specified. It sends TCP packets to the target host on a number of ports and measures the time it takes to reply and if there is a process listening on those ports. If no reply is received after a defined time interval, the target node is assumed to be down or unreachable. The target host does not need to run any special software to provide the replies.
This plugin can only monitor ports from a remote machine. If the target machine is localhost, the test traffic will flow through the loopback interface and not through the requests Network card.
Views Copied
View Copied
The X Services plugin produces a single view as follows:
Headline Legend
Name | Description |
---|---|
targetNode | The name of the host that the ping requests are sent to |
targetAddress | The IP address of the target host |
Table Legend
Name | Description |
---|---|
serviceName | Shows the service name if configured, otherwise will show the port number. |
servicePort | Shows the service port number used. |
turnaroundTime | Time in ms that a packet takes to travel to the target host and back. |
Status |
REACHABLE if a reply is received within a
timeout period (default 5 seconds), but
has no process listening on the port.
LISTENING if the node has a process
listening on that port.
Otherwise UNREACHABLE.
|
Plugin Configuration Copied
The following parameters can be configured for this plugin:
var-recvInterfaces Copied
Specifies a comma-separated list of network interface names to be used.
On UNIX machines, interface names can be found using the command “ifconfig -a”. Example names are “eth0” or “ce0”.
On Windows machines, interface names can be listed by running Netprobe using the “-ifconfig” command-line option. A Windows interface name will look similar to the following:
\Device\NPF_{BDFE3EAC-0275-440A-923C-C9C4CE3B37F2}
Mandatory: Yes
sendInterface Copied
The name of the network interface to be used to send packets (e.g. hme0). Usually the same as recvInterface parameter, but can be set to a different value in certain network configurations.
Mandatory: Yes
targetNode Copied
The name or IP address of the monitored remote node. This must not be the node that the NetProbe is running on.
Mandatory: Yes
services Copied
A list of services that the packets are sent to.
This can have just the number of the port the packets are sent to or the name of the service and the port number.
If the name of service is provided, it will be displayed in the view. Otherwise the port number will be shown.
Mandatory: Yes
services > service > var-name Copied
Name of service.
Mandatory: No
services > service > var-port Copied
Port number for the service.
Mandatory: Yes
var-sourceIP Copied
The Source IP address to be used in the outbound test packets.
Mandatory: No
Default: Defaults to the default IP address on the card.
var-timeout Copied
Timeout is the period within which we expect a reply to a packet that was sent out. If a reply is not received within this period then the packet is considered lost.
Packets are only fired on sample. This means that if a packet is considered lost, then the next packet fire would occur at the next sample. (i.e. packets will not be re-fired as soon as the timeout has been reached.)
Based on the ‘allowablePacketLoss’ setting, multiple such packets may be lost before the plugin reports that the particular target is unreachable.
See Example for timeout and allowablePacketLoss. Mandatory: No
Default: 5 seconds
var-allowablePacketLoss Copied
This is the maximum number of consecutive packets that can be lost without setting the status to ‘UNREACHABLE’.
For example, if the allowable packet loss is 3, then the plugin will ignore up to 3 consecutive packets being lost. If the fourth is lost, then it will report ‘UNREACHABLE’.
See Example for timeout and allowablePacketLoss.
Mandatory: No
Default: 3
Example for timeout and allowablePacketLoss Copied
Sample period: 4 seconds.
Timeout period: 2 seconds.
allowablePacketLoss: 3 (default)
0 sec [sample] Fire packet.
1 sec
2 sec Timeout has occurred. Packet is considered lost. (Total lost: 1)
3 sec
4 sec [sample] Re-fire packet.
5 sec
6 sec Timeout has occurred. Packet is considered lost. (Total lost: 2)
7 sec
8 sec [sample] Re-fire packet.
9 sec
10 sec Timeout has occurred. Packet is considered lost. (Total lost: 3)
11 sec
12 sec [sample] Re-fire packet.
13 sec
14 sec Timeout has occurred. Packet is considered lost. (Total lost: 4)
15 sec
16 sec [sample] Re-fire packet. (report 'UNREACHABLE')
var-recvPort Copied
This value will override the default port used by the plugin to receive packets.
Mandatory: No
Default: 65535
behindFirewall Copied
This option when checked will consider RST+ACK reply from the target server as UNREACHABLE, otherwise any reply received from the target server is considered REACHABLE.
Mandatory: No
Default: false
checkTargetHostHasChangedIp Copied
Forces X Route to detect if the underlying IP address of a host name has +changed. This will restart the packet capture engine so X Route will +continue to check the correct host. In between restarts there is a +potential for losing packets.
Note
Restarting the packet capture engine will affect all X-Set plugins as they too might miss packets.
Mandatory: No
Default: False.
Permissions Copied
The plugin needs to open network devices, so you should run the Netprobe using root or administrator permission on Unix and Windows, respectively.
On Linux kernel versions 2.6.24 and higher, an alternative to running the Netprobe as root is by setting the CAP_NET_RAW
and CAP_NET_ADMIN
Linux capabilities on the Netprobe binary using the following command:
setcap cap_net_raw,cap_net_admin+eip <netprobe binary>
When running the Netprobe with set capabilities, the lib64/startup
folder in the Netprobe directory should be in the ld.so
trusted paths. Otherwise, the runtime libraries will not load properly. For guidance, see Run Netprobe under elevated privileges in Linux.
Third Party Libraries Copied
Windows: The Npcap packet capture library needs to be installed on the host. If Npcap is not installed using WinPcap API-compatible mode, then the Npcap installation directory must be added in the PATH
environment variable or the DLL_PATH
registry variable.
Unix: The shared library libpcap.so
needs to be in the netprobe/lib64
directory. It is recommended to use libpcap.so
version 1.0.0 or later.
Note: As the Netprobe needs to be run as root, the LD_LIBRARY_PATH
is ignored for security reasons.