The Server Scan tool allows you to check one or more servers at regular intervals to verify whether they are available, log when they are unavailable, and notify an appropriate administrator if desired.
Use the "+" or "-" buttons to add or remove rows in the table. Each row in the table corresponds to a server or service you would like to check at regular intervals.
When the corresponding interval has elapsed, the specified URL is requested to probe that server. If the server responds successfully, this is indicated in the result column and no further action is taken. If the server fails to respond, the probe will be repeated up to retry times at 5 second intervals. If all of the Retries fail, the corresponding Action is invoked.
A server that fails to respond is always logged. Additional actions include displaying an Alert, sending an Email message, or invoking an AppleScript or UNIX shell script with the URL and the Result as parameters.
When a service becomes unavailble due to a network failure, it may be desirable to switch to an alternate network configuration. If you have a cable modem and PPP dialup for example and your cable modem goes down, you might want to switch to use your PPP dialup. Mac OS X is designed to support automatic failover by allowing the network stack to be configured dynamically on the fly in response to network events. If a data link such as your Ethernet becomes unavailable, Mac OS X will automatically try the next active "Port Configuration" listed in the Network Preferences panel. This is a huge advance over previous generations, but the network stack itself can only detect when a data link becomes unavailable such as when your Ethernet becomes unplugged, or your laptop moves out of range of an AirPort base station.
With additional knowledge of what services you care about, you can change the network configuration when a higher level service you care about becomes unailable. The Server Scan tool in IPNetMonitorX supports this by allowing you to switch between network locations configured in the Network Preferences panel. The "Failover" area at the lower right allows you specify the name of the Location you want to "Failover To" if the corresponding service fails to respond. The "If" and "Location" columns (if specified) allow you to failover conditionally based on the currently active location. Use if equal (=) to failover only if the current location matches the value specified. Use the if not equal (!=) to failover if the current location does not match the location specified and the corresponding service becomes available.
Suppose you had two locations named "Primary" and "Secondary". First you would create one or more table entries that will automatically failover from Primary to Secondary if the current location is Primary and the corresponding service for that entry fails. To go the other way, you would create table entries that failover to Primary if the current location is NOT Primary and the corresponding service for that entry becomes available (result = Up).
TCP/IP networking is designed around four conceptual layers:
Using the Server Scan tool, you can extend Mac OS X's built-in failover facility to respond to failures detected at any of these layers, not just the data link layer. You can disable location switching by unchecking the "Failover to" box.
You can test the URL for any server entry by double clicking in the Result column for that row. The URL will be sent to the corresponding tool for that URL type. For example, if you double click on a row with an "http:" URL, the URL will be sent to your default web browser to open the corresponding page.
You can test the action for when a server fails to respond by selecting the corresponding row and pressing Test Selected Action.
For action Email, you can specify an entry specific Email address in the Notes column. If an "@" character is found, the value from the Notes column will be used as the send-to-address in place of the Email field. Sending Email uses Apple's Mail.app (via Scripting Bridge) with the sender address configured in the application Preferences (under the IPNetMonitorX menu). Using Mail.app allows IPNetMonitorX to utilize whatever authentication methods you have previously configured.
For action AppleScript or Shell Script, you can specify an entry specific Script File in the Notes column. If an "@" character is found, the string after the "@" symbol will be interpreted as a script file path.
You can select whether the scan table shows the last time each server was tested, or the time of the last transition (up or down since when).
Checking the "Save Log To" button will write out any current log entries. While this button is checked, each logged event will be written to disk immediately.
You can edit server entries and apply your changes without stopping a test in progress.
You can copy and paste rows to re-arrange them. Any entries in the clipboard will be inserted at the currently selected row. If you insert or re-order rows while a test is running, probe results will appear in the old row position until you press Apply.
You can open and use multiple Server Scan windows at the same time.