# Internal tests for Monitoring Agents

You can add the internal tests for Monitoring Agents described in the following table to the test section of the sgagent.conf file.

All internal tests available for the Server Pool monitoring are listed in the following table.

Note: Some of the internal tests might not work on virtualization platforms.

Table 1. Internal tests
Test | Description
--- | ---
`swapfree limit` | Checks the available swap space. If the current amount of free swap space drops below the limit (given in kilobytes), the test fails.
`processcount count` | Checks how many processes are currently running. If the number of processes exceeds the count, the test fails.
`multi-ping retry` `timeout` `ip_address` `[ip_address [...]]` | Sends ICMP Echo Request messages to the defined IP addresses and waits for the replies. The test fails if none of the IP addresses answers the ping query. retry specifies how many ICMP Echo Request packets are sent to each IP address. timeout defines how long (in milliseconds) the tester waits for the reply.
`filesystem partition` `free_space` | Checks whether there is enough space left on a particular partition. The test fails if the amount of free_space (in kilobytes) is lower than the free space on the partition. You can also identify the partition by its path. File system tests are quite taxing on the operating system. We recommend that you set an interval of at least 15 minutes when using this test.
`servicerunning service_name` | Checks whether the specified service is running on the server. The test fails if the specified service or process is not running. On Windows platforms, the test checks whether the service called service_name is running. In UNIX environments, the test checks whether the process named service_name is running.
`ip-listening ip_address` | Checks whether the specified ip_address is listening on the server. The test fails if the host does not have the specified IP address.
`portlistening port` `[ip_address [protocol]]` | Checks whether the specified port is listening on the server. The test fails if the port is not in the listen state. You can optionally specify the ip_address at which to check for the port. The protocol can be TCP or UDP.
`portanswer retry` `timeout` `query` `response` `port` `[ip_address]` | Checks whether the TCP port answers a TCP query with the expected response. The test fails if the port does not answer, or the answer differs from the expected response. retry specifies how many attempts are made before the test is considered failed. timeout specifies how long the tester waits after sending a query to the port. The timeout is entered in milliseconds. If no response is received within the time period, the test fails. query specifies the TCP query to send. You must use quotation marks if the query contains spaces. If no query parameter is specified, nothing is sent to the port. response specifies the expected response to the TCP query. You must use quotation marks if the response contains spaces. port specifies the port to which the query is sent. ip_address is the IP address to which the query is sent.
`httpanswer retry` `timeout` `URL` `file` `port` `[ip_address]` | Checks whether the server answers an HTTP request for the specified URL with the expected file. The test fails if the server does not answer the HTTP request or if the reply does not contain the contents of the specified file. port specifies the port to which the request is sent. retry specifies how many attempts are made before the test is considered failed. timeout specifies how long the tester waits after sending a query to the port. The timeout is entered in milliseconds. If no response is received within the time period, the test fails. ip_address is the IP address to which the request is sent. If no address is specified, the tester sends the query to the localhost address by default.
`networkinterface-up interface` | Checks that the specified interface is up. The test fails if the specified network interface does not exist or is down. In Windows, this test behaves similarly to the networkinterface-linkstatus test described next.
`networkinterface-linkstatus interface` | Checks the link-layer status of the specified interface. The test fails if the specified network interface is not linked.
`file-exists path` | Checks whether a file exists on the server. The test fails if the file is not found at the specified path.