Tests: General Information


HostMonitor is a network-monitoring tool that allows you to keep a close eye on what is going on the network. Monitoring is done by performing periodic checks of the network resources that are to be watched. These checks, in the HostMonitor terminology, are called tests. It is the administrator's responsibility to identify exactly what needs to be checked, and create a set of tests that will be doing the job.

In order to be able to create a monitoring environment that suits your needs, does what you meant it to do and reacts to events adequately and predictably, you must have a good enough understand of:

  • Each test has a set of properties that can be divided into statical and dynamical properties. HostMonitor doesn't change statical properties; the user has to set them in the Test Properties dialog (e.g. Test Name, Comment, Related URL, list of Master tests, Test Interval, Schedule, Alert Profile, etc). When performing tests HostMonitor changes dynamical properties, such as: Status, Reply, Last Test Time, Recurrences, and all kinds of statistical information. User can't directly change dynamical properties, only can reset statistics for specified tests using a 'Reset' button in a Toolbar or menu item Test->Reset. Testing of specified tests can also be manually performed at any time (not waiting for the time interval) using a 'Refresh' button in a Toolbar or menu item Test->Refresh (or just select a set of tests and press 'Space' button). User can set a list of the test's properties to display by using Columns page in the User Preferences dialog.

  • HostMonitor performs tests in intervals that are set individually for every test, or on scheduled time (day of the week, or month, see Schedule). Depending on the test result, HostMonitor assigns one of the available statuses to it ('Host is alive', 'No answer', 'Unknown', 'Unknown host', 'Ok', 'Bad', 'Bad contents'; there are also special statuses available: 'Not tested', 'Checking..', 'Disabled', 'Wait for Master', 'Out of schedule', 'Paused').

  • After finishing a test HostMonitor performs next steps:
    - Checks "Optional status processing" options ("Reverse alert", "Use Warning status", "Use Normal status") and sets user defined status when necessary;
    - Updates statistics (dynamical properties), such as Total time, Alive time, Dead time, Total tests, Passed tests, Failed tests, Average reply, etc;
    - If necessary HostMonitor adds information into a log file. You can find information about different log file types in Log&Reports section of this documentation;
    - If necessary the program starts actions defined in the action profile.

Note: To operate with a test or a group of tests user can use Toolbar, popup menu or a Test menu in a main window of the HostMonitor. List of available actions: Add test, Edit test(s), Remove test(s), Copy test(s), Enable/Disable test(s), Pause/Resume test(s), Refresh test(s) status, Reset statistics, Show statistics, View private log, Trace, Telnet. For more information about user interface, please, refer to TestList & Windows section of this documentation.

Links


Links allow you to put the same test item(s) into several different folders. Unlike "copy" operation that creates independent copy of the test item, "link" operation does not create another test item - it creates link (image) of the test item. What is the difference?
- Copy: If you need to create test item similar to existing one and then change some parameters of the new item (e.g. you need similar test items to check set of services on different servers), use Copy operation. Copy will create new test item(s) with the same properties, then you will be able to modify each item independently; HostMonitor will perform separate check for each item.
- Link: If you want to see exactly the same test item(s) in several different folders, use Link operation. If you select original test or any of its links and modify test settings, your changes will automatically take effect for all links of the test.

Working with links
"Link" function available through the main menu Test and from the context popup menu (to access the popup menu select the test(s) and click right mouse button). Also if you select test item that already has some links, you will see "Links info" menu item. Using this menu item you may access "Links list" dialog window, it shows the information about all folders which contain links to selected test item. You may remove some links or you may remove test itself (including all links to the test).
If test changes its status, HostMonitor will reflect status change in all folders which contain links to the item. The same is true for any test modifications. If you select any of the links and then disable, enable, pause or resume the item, acknowledge test status or change some parameters of the test, you will see the same effect in all folders with linked test item.

However if you select some test/link items and click "Remove" button, HostMonitor will remove only selected items. E.g. if you select 2 of 3 links to the same test item and click Remove button, HostMonitor will remove 2 selected links but keep 3rd one. If you want to remove all links to the test, you may select all links or use "Links list" dialog.
Also you may use menu item "Test | Remove items with links". It allows you to remove selected set of test items including links to these selected items, even when some of links are not selected. E.g. if you select just 1 link of each test, this function will remove selected items and all items linked to them.

Parent folder
If you take a look at the test list, original test item and all of its links look exactly the same (unless you are using different color palettes for different folders). The reports will show tests and links, RCC and Web Service will display links as well. So, there is no difference which item is original and which item just a link? Almost. There is only one function that makes the difference - actions. If you are using folder related macro variables (e.g. %FCommentLine1% or %FullPath%) as parameter of some actions, HostMonitor will use parameters of the parent folder - original folder where test was created.
If you create a link to the test in another folder, the parent folder is still the same. If you then move a link to a different folder, the parent is still the same. However if you move original item to a different folder, HostMonitor will change the parent folder of the test. Also if you remove the original item while keeping the link, HostMonitor will reassign the parent folder to the folder where link is located. If your test items have many links and you are not sure which one is original, use "Links list" dialog window, it will show the parent folder and the list of the links.

Links and "Home folder" option
The "Home folder" option allows you to limit access to the folders on per-account basis. What happens when operator does not have access to the entire test list but has access to some low-level folder and this folder contains some links while other links to the same test located above allowed home folder? Operator will be able to work with this test item and modifications will have effect in all linked folders (of course operator should have necessary rights to perform operation, e.g. "configure test/folder" permission).
Operator may remove only links located within its home folder; it cannot remove links/tests located outside of the scope (even using "Links list" dialog window).

Other notes:

  1. Linked items show slightly different status icons, so you know when your modifications will have effect in several folders.
  2. Test Properties dialog shows yellow warning icon when you are editing linked test item. You may click on the icon to bring up "Links list" dialog.
  3. Estimated Load window shows information about links as well (just for informational purpose - links create minimum increase in system load).
  4. If you want to remove entire folder, HostMonitor will ask for confirmation when the folder contains subfolders or test items. If the folder contains links only, it will be removed without confirmation.
  5. When you export tests using "export current folder" or "export current folder and subfolders" option, HostMonitor exports tests located in the folder then it exports links (items whose parent folder located outside of the scope but one of the test links located within scope). This allows you to find and modify or remove links easily.
  6. Import function may create links as well (use "LinkedTo=<full_folder_name>" parameter)
 
Test Methods


A great variety of network services and resources can be watched over by the program. There is the list of test methods supported by HostMonitor:




Tests: Agent List


HostMonitor can perform tests by itself or it can use Remote Monitoring Agent for this purpose. RMA is a small application that accepts requests from HostMonitor, performs test and provides information about test result back to HostMonitor.
When you setup the properties of a test in Test Properties dialog you may select an agent from drop down list or click on a button (to the right of the field) to manage agent list.


How to do:


How to add new agent to the list

To add a record for a (new) agent click on "New" button or press Insert key in the list of agents. When the dialog "Agent Connection Parameters" appears choose type of the agent (passive RMA or active RMA) and set the following parameters for the agent:

Passive RMA


Passive RMA is small application that accepts requests from HostMonitor, performs test (or action) and provides information about test result back to HostMonitor.
  • Agent address:
    provide the host name or an IP address of the system where RMA is installed
  • Item name:
    name of the agent (this name will be displayed in agent's list, and will be used by HostMonitor for agent identification). By default an address of an agent will be used as name for it but you may specify any other name that you like
  • Port:
    TCP port that will be used for communication between HostMonitor and the agent. Here you should specify the same port that you have already specified when that agent was installed and configured on a remote system (by default agent uses port #1055)
  • Timeout:
    communication timeout in seconds. A maximum amount of time that HostMonitor will wait for an answer from the agent. Please note: this timeout should be big enough to allow an agent to perform a test before sending an answer to HostMonitor. When, for example, you are launching an external test and an external program needs 15 seconds to perform this test then the timeout should be set to 15 seconds plus an amount of time that is necessary for data exchange between HostMonitor and an agent.
  • Password:
    here you should provide the same password that you have specified when an agent was installed and configured on a remote system.

After you have finished entering the above information click "Test/Get info" button to check the settings of an agent or click "Ok" button to check the settings and close dialog. HostMonitor will try to establish connection with an agent and get information about agent: platform, version, comment, etc.
If connection with an agent was established, HostMonitor updates all agent information and sets status of the agent to "operable". If HostMonitor was not able to get proper information from an agent, it sets its` status to "no answer" (if no answer from agent received) or "bad answer" (if some error code was received from an agent, e.g. wrong password).

Active RMA


Active RMA - Remote Monitoring Agent that is not waiting for TCP connection from HostMonitor like Passive RMA. Active RMA itself establishes connection with HostMonitor and RMA Manager. This allows you to install RMA inside private network protected by firewall without necessity to open any TCP port (Passive RMA requires 1 open TCP port). Also Active RMA allows you to monitor system that does not have fixed IP address, e.g. system that is connecting to the network using temporary dial-up connection.
There are just 2 obligatory parameters
  • Name
    unique name of the agent. You should not assign the same name for several agents. If you do so, HostMonitor will accept connection from 1st started agent and reject connection from other agents with the same name
  • Password
    minimum six character length password. An empty password using is not permitted.
The password is required for every communication session between RMA and HostMonitor or RMA and RMA Manager. All traffic between RMA and HostMonitor or RMA and RMA Manager is encrypted and the password itself is never transmitted through the network without encryption.
Note: you should use exactly the same name and password that were used when you setup Active RMA on remote system using rma_cfg utility.

Note: Options located on "Active RMA Server" page in the Options dialog allow you to specify TCP port that will be utilized by HostMonitor to listen for incoming connections from Active RMA agents.


Backup agent
Since the version 6.00 HostMonitor allows you to setup primary and backup agents. Using this feature, HostMonitor is able to balance load between agents and use the backup agent when primary one does not respond. Yes, RMA is pretty stable software however system may not respond due to some hardware or network error.
When you have installed second agent you may choose one of the following "Load balancing" options:

  • Backup only
    In this case, HostMonitor will request the main agent to perform the tests and will switch to backup agent only in the case of the primary agent not responding.
  • 50/50
    With this option selected, HostMonitor will balance requests for service between the agents. Even if you specify a single primary agent for all your tests, some tests will be performed by primary agent and other by backup RMA. If the primary or the backup agent does not respond, tests will be performed by another (paired) RMA.
  • "Redundant check" mode
    This option available for Passive RMA only. When "Redundant check" mode specified for 2nd (backup) agent, HostMonitor uses selected agent as "backup" agent as well (this means HostMonitor sends request to backup RMA when cannot establish connection with primary agent). Plus HostMonitor sends request to 2nd RMA every time primary RMA returns "bad" test result (e.g. "No answer", "Unknown host", "Bad"). This means test can be performed from 2 different locations and "Bad" status will be used when both checks performed by both agents fail. Yes, you can use "master-dependant" test relations for such checks and for other much more complicated schemes. However new option allows you to simplify setup, you need just 1 test item instead of 2 items.
    The following table illustrates how HostMonitor performs test using 2 agents in "Redundant check" mode:
    1st RMA result2nd RMA resultTest status
    "Good" status Not used "Good" status
    "Unknown" status "Good" status "Good" status
    "Unknown" status   "Unknown" status   "Unknown" status  
    "Unknown" status "Bad" status "Bad" status
    "Bad" status "Bad" status "Bad" status
    "Bad" status "Unknown" status"Bad" status
    "Bad" status "Good" status "Good" status
Note 1: 

"Primary agent" - the agent that is specified for the test execution. As you may specify different agents for different test items, the same agent can be a "primary" and "backup", depending on the situation. For example, you may use AgentA to perform set of WMI tests and use AgentB to perform SNMP tests. In case of an emergency AgentB may execute WMI tests as well (AgentB is backup agent for AgentA). AgentA may perform SNMP tests in the case of AgentB failing (AgentA is backup agent for AgentB).

Note 2: 

Options on Misc page in the Options dialog allow the behaviour of the tests when primary agent does not respond to be specified. "If backup agent is specified and connection to primary RMA failed" parameter allows you to choose one of the two options:

  • Set "Unknown" status, log the error, then repeat test using backup agent
  • Request backup agent without reporting error


How to edit connection parameters for the agent

To change connection parameters for an agent, select it from the list and click "Params" button (or just double-click it). "Agent Connection Parameters" dialog will pop up, there you may setup connection parameters (agent address, port, timeout, password, etc) like it was already described in previous abstract ("How to add new agent to the list").


How to obtain information about agent(s)

When you create a new agent record in the list, HostMonitor tries to connect to a specified agent and gets information from it. But you can refresh/reload this information at any time. To retrieve information about single agent, select an agent and click "Get Info" button. To retrieve information about all agents from the list, just click "Get Info (All)" button. HostMonitor will then try to connect to each agent and gets the following information:

  • Agent: an internal name of an agent;
  • Platform: OS platform that this agent is designed for;
  • Version: the version number of the agent;
  • Developer: the company that created RMA software;
  • Comment: the content of a comment field that you or system administrator had provided when a remote agent was installed and configured.

If a connection with agent was established, HostMonitor updates all information and sets the status of an agent to "operable". If HostMonitor was not able to get information from an agent, it sets the status to "no answer" (if no answer from an agent was received) or "bad answer" (if some error code was received from an agent, e.g. wrong password).


RMA Manager
To manage an array of Remote Monitoring Agents you may use RMA Manager utility. It allows you to change settings for hundreds of agents that are installed on remote systems at one time and from one location. Also RMA Manager allows you to reload or terminate agents, force agents to reread settings from their ini files and even upgrade agent's code remotely.
Both RMA Manager and HostMonitor are using the same list of Remote Monitor Agents.

Tests: Common Properties


Test particulars are defined in the Test Properties dialog:

Most properties are common across all test methods. However, each method has a set of parameters that are specific to the test type. Let's have a look at the common properties first:

  • Test By
    Test can be performed by HostMonitor itself (by default) or by Remote Monitoring Agent. You may select an agent from drop down list or click on a button (to the right of the field) to manage agent list.
    Also HostMonitor version 9+ allows you to choose "folder-specific agent" item. In such case HostMonitor will use agent specified for the folder where test item is located. If you move or copy test item from one folder to another, HostMonitor will use agent that was specified for this new parent folder.
    Note: you may specify folder-level agent using options located on Specials page in Folder Properties dialog.

  • Test Name
    The name of the test; HostMonitor auto populates this field with a suggested name based on the type and other test parameters; you can change that name to whatever name you want.

  • Comment
    Here you may provide any comments that make sense to you. You can specify one-line comment directly in the Test Properties dialog or press button to bring-up popup dialog for entering multi-line comments. Also Test Properties dialog provides option that allows you to edit comment lines as plain text so you may easily enter large text or copy/paste multiline comment to/from clipboard. Click button to use this option.
    Note: in the status bar, in reports and in the Test Detail Area HostMonitor displays only 1st comment line. However using macro variables (%TaskComment%, %CommentLine1%, %CommentLine2%, etc) you can access whole comment or any of its lines.
    Note: there is "hidden" option that allows you to change titles for comment lines displayed by "Comment" dialog. You may add line like AlternativeCommentTitles=address;phone;admin_name;admin_e-mail into [Misc] section of hostmon.ini file and restart HostMonitor. Then Comments dialog will display "address" instead of %CommentLine1%, "phone" instead of %CommentLine2%, "admin name" instead of %CommentLine3% and so on.

  • Related URL
    For each test, a related URL can be specified. By adding this property to the list of visible columns or to a report, you will make the related URLs appear in the test list view or report sheet. In HTML reports, URLs appear as hyperlinks. In the list view, tests with a related URL will have a popup menu item that launches the associated program (typically, your default Internet browser).

  • Enabled/Disabled
    Enables or disables test execution.

  • Schedule
    The following parameters specify when HostMonitor should perform the test. There are 3 different ways to setup schedule for the test:
    • Regular schedule
    • Irregular schedule
    • Irregular schedule by expression

    A regular schedule assumes the test will be fired off at fixed time intervals, for instance, every 10 minutes. In addition, a Schedule profile can be associated with a test to give you more control on your monitoring activities. For example, if you want to test your proxy server only from Monday to Friday, select the "Monday-Friday, 24 hours" schedule profile. You may select an existing schedule from a drop-down list or create any number of your own schedules. If you do not select a schedule, HostMonitor will check the host every day of the week, 24 hours a day.

    With an irregular schedule, you may select one of the following options:
    • Start test once a day
    • Start test once a week
    • Start test once a month
    This allows you to perform the test on a given day of week or month, at a given time (e.g. every Monday at 9:00 am; or on the 15th of every month at 3:00pm).
    Note: "Start test once a month" mode allows you to specify "Last day" option. In such case the test will be performed on the last day of each month.

    Irregular schedule by expression
    This mode allows you to provide expressions like "May,Sep-Dec Mon#1,Fri#L 06:00,22:00" which tells HostMonitor to perform test on 1st Monday and last Friday in May, September, October, November and December at 06:00 and 22:00.
    You may specify 1 or 2 expressions for each test. Test will be performed when any of these expressions allows, for example test can be performed at 08:00 in May and June, at 10:00 in October and November.
    Each expression consists of 3 parts: <month> <day> <time>
     month   Here you may specify * (which equivalent to Jan-Dec), comma separated list of months or range of months. Valid months names are: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov and Dec
     day Here you may specify * (which means every day of the month), comma separated list of numbers (range of dates) or comma separated list of weekdays (Mon, Tue, Wed, Thu, Fri, Sat and Sun).
    E.g.
      10,15,25 means 10th, 15th and 25th day of the month
      10-15 means from 10th till 15th day of the month
      Mon, Fri means Monday and Friday
      Tue-Fri,Sun means Tuesday, Wednesday, Thursday, Friday and Sunday
    Also for weekday lists you may provide optional parameter separated by # sign which specifies number of the week (1,2,3,4,5 or L. 'L' means last week of the month). Note: if you specify #5 and there is not 5 of the given day-of-week in the month, then test will not be performed that month.
    E.g.
      Mon#1,Fri#L means 1st Monday of the month and last Friday of the month
      Mon,Wed,Sat-Sun#2 means every Monday, every Wednesday, 2nd Saturday and 2nd Sunday of the month
     timeHere you may specify comma separated "time of the day" list in hh:mm or *:mm format (* means perform test every hour).
    Note: HostMonitor will not perform "irregular" tests more often than once in 5 minutes.
    Examples:
     * * 10:30Every day at 10:30
     * * *:30Every day at 00:30, 01:30, 02:30 ... 23:30
     * * *:00,*:30Every hour at 00 and 30 min
     * 10-15 00:00Every midnight from 10th to 15th day of each month
     * Wed,Fri 10:30,*:00Every Wednesday and Friday, every hour at 00 min and 10:30
     Jun 5,10,15 20:00Start test at 20:00 on June 5th, 10th and 15th
     Oct,Nov Mon-Fri#2 15:00,17:20Every 2nd Monday-Friday of the month (October and November only) at 15:00 and 17:20
     May,Oct-Dec Mon#1,Fri#L 22:00Start test in May, October, November and December every 1st Monday and last Friday of the month at 22:00
     Jan,May,Sep Mon,Fri,Sun#1 15:30   Start test every Monday, every Friday and 1st Sunday of January, May and September at 15:30

  • Alert profile
    Alerts are a highly flexible mechanism that allows you to implement different behaviors for different types of events and conditions. Choose one of the existing Alert Profiles or create a new one, designed specifically to suit your needs.
    You can design an alert profile, using different alert methods, such as a visual and sound warning; send an E-mail message to a mailbox, pager or mobile phone; execute an external program, restart service, reboot local or remote computer, dial-up to the network, send data to TCP/UDP port, execute SQL Query, and much more. For more information, please, refer to Actions section of this documentation.
    If you don't select an alert profile, HostMonitor will only write down a record to the log file (if the logging is enabled), and no other action is taken even if the status of the host changes.

    Note: In most cases single alert profile is enough for test item because each alert profile may contain several actions with different starting conditions, different time restriction options; also you may use "advanced mode" actions.
    However in some cases you may reduce number of alert profiles by using 2 alert profiles per test item. If you enable "Allow 2nd alert profile for test items" option (located on Preferences page in HostMonitor Options dialog), you will be able to assign 1 or 2 alert profiles for each test item.


    Logging options

  • Use common log
    If the "Use common log" option is selected, HostMonitors records test data in a single log file (or database) shared by all tests. Common log settings located on Log Settings page in the Options dialog.
    Choose one of the following options to specify when information should be recorded:
    • Default - the default logging mode specified in the Options dialog will be used (note: you may use different settings for Primary and Backup logs);
    • Brief - record information whenever status of the test changes;
    • Full - record all test results, regardless of whether their status had changed or not;
    • Reply - record information into log every time the status or reply value of the test changes.
    For more information about different logging options, please, refer to Log&Reports section of this documentation.

  • Use private log
    Additionally, for each test you can define its own, dedicated log file by checking the "Use private log" option. The type of a private log is determined based on the file extension: HTML for .htm*, DBF for .dbf, plain text for any other extension.
    Private logs can be configured to work in one of the following modes:
    • Default - the Primary log settings defined in the Options dialog are used;
    • Brief - record information whenever status of the test changes;
    • Full - record all test results, regardless of whether their status had changed or not;
    • Reply - record information into log every time the status or reply value of the test changes.
    If a private log is specified, the popup menu for that test will contain the item, "View private log". For more information about different logging options, please, refer to Log&Reports section of this documentation.

  • Exclude from reports
    These check boxes allow the user to exclude the test information from reports. For more information about the report customization, please, refer to Report Manager section of this documentation.


    Master/Dependent test settings

  • This test depends on another test(s)
    For each test, you can define a list of other tests it depends on, or Master tests. For each Master test you can choose the condition to perform the dependent test based on the status of the Master test:
      - "Alive";
      - "Alive" or "Unknown";
      - "Dead";
      - "Dead" or "Unknown".
    As an example, consider a network configuration where the accessibility of the company's several web servers depends on the state of a single router. When the router is down, there is probably little sense in trying to do the dozens of tests designed to collect information on the web servers.
    That was, of course, a very simplified example. With this feature, you can implement quite sophisticated dependencies involving a number of master tests which, in turn, depend on other tests' results. For more information on dependencies, please, see the following options: "Syncronize counters", "Syncronize status & alerts", "Consider status of the master test obsolete after N seconds" (Options dialog).
    Note: Using Remote Control Console to edit test properties, it is possible to see 'ID <number>' instead of the name of the master test. This means that the master test is located in a folder to which you do not have access. If you need information about this master test, it can be provided by an operator with a higher level of rights.

  • This test depends on expression
    Instead of making test to be dependent on a list of Master tests you can define a condition to perform the test using logical expression.
    This mode is more complicated than a standard list of Master tests but it is very flexible. Just several simple examples:
    • with expression ('%::Ping Router::SimpleStatus%'=="UP") and ('%::Ping Router::Reply%'<'800 ms') HostMonitor performs a test when the test named "Ping Router" has a good status and the reply time for the router is below 800 ms;
    • use expression like ('%::TestA::SimpleStatus%'=='UP') or ('%::TestB::SimpleStatus%'=='UP') to perform a test when either TestA or TestB has "good" status.
    Note: There is special button in Test Properties dialog that allows you to bring up "Expression editor" window for convenient expression editing.

    OtherwiseStatus
    Sometimes HostMonitor may fail to parse logical expressions. For example when a variable has no value due to the failure to perform some other tests. In this case HostMonitor will not perform the dependant test. Instead it will set a special status for the current dependant test. The same happens when a logical expression returns "false" value (this means that a condition was not met). You may define this status in the "OtherwiseStatus" property of the test. You can provide the status name ('Host is alive', 'No answer', 'Unknown', 'Unknown host', 'Ok', 'Bad', or 'Bad contents') or specify a macro variable that describes the status of another test (e.g. %::Ping Router::Status%).
    For more information on dependencies, see the following options: "Syncronize counters", "Syncronize status & alerts", "Consider status of the master test obsolete after N seconds" (Options dialog).

    Note: HostMonitor stores master-dependant test expressions using unique ID of each test item. When you setup new expression HostMonitor checks for master tests existence, also it allows you to select specific test item in case several test items have the same name. As result you may rename test items without necessity to modify master-dependant expressions.
    Note: If you import test items from import text file manually and there is no "DpExprID" parameter specified or there are incorrect test IDs specified in this parameter while "DpExpression" parameter contains non-unique test names, HostMonitor will display dialog that allows you to select specific master test items. If import procedure works without human interaction (e.g. procedure was initiated by "Execute HM Script" action), the same problem (invalid or not specified IDs and non-unique test name) will be resolved by HostMonitor in different way - HostMonitor will use 1st matched test.

  • Synchronize counters
    This option only applies to tests that have one or more master tests. When the option is turned off, and some test is not being launched because its launch condition has not been met, HostMonitors simply marks such a test with the "Wait for Master" status and does not change any counters. If, however, the option is turned on, HostMonitor will update statistics information accordingly to the Master test status. Thus, if a router on which other tests depend has been tested to a "No answer" status, HostMonitor will increment respective counters (like "Dead time", "Failed tests", etc) for router and for all dependent tests with the "Synchronize counters" option on.

  • Synchronize status & alerts
    This option is applicable only if "Synchronize counters" is also selected. When the option is turned on, besides synchronizing counters, the dependent test receives the status of the master test, which in turn will start action dispatching based on the status propagated from the master test.

    Example: On your corporate network you have 10 web servers and 1 router that is critical to the entire network. A router Ping test is set up to page the administrator if the router does not respond. So when the router goes down, and the "Synchronize status&alerts" option is turned off, HostMonitor sends a message to the administrator's pager and suspends all dependent tests. If "Synchronize status&alerts" is on, in addition to the router problem notification, actions defined on the dependent tests will be fired off as well.

  • Dependencies of this test
    This is a read-only list for information purpose. It displays tests that depend on the current test.


    Optional status processing:

    When HostMonitor performs checks it may assign one of the following statuses as a result of the test probe:
    - Ok, Host is alive -- "good" statuses;
    - Bad, No answer, Bad contents -- "bad" statuses
    Also HostMonitor may use "Unknown" and "Unknown host" statuses when it is impossible to perform the check.

    You may specify for each test item additional rules that tell HostMonitor how to process the result. HostMonitor may parse specified logical expressions and set "Warning" or "Normal" status when appropriate expression is True.
    Note: HostMonitor checks logical expressions after test check is done and "reverse alert" option is processed.

    The following table separates statuses into logical groups
    "Good" statuses "Bad" statuses "Unknown" statuses "Inactive" statuses* User-defined statuses
    Host is alive
    Ok
    No answer
    Bad
    Bad contents
    Unknown**
    Unknown host**
    Disabled
    Wait for master
    Out of schedule
    Paused
    Warning**
    Normal
    * "Inactive" statuses indicate that test was not performed for some reason
    ** "Warning" and "Unknown" statuses might be processed as "bad" statuses depending on "Treat Unknown status as Bad" and "Treat Warning status as Bad" option
    *** When HostMonitor performs the test, it shows temporary status "Checking"

  • Reverse alert
    When this option is selected, HostMonitor regards test results that are normally considered benign, as abnormal ones, and vice versa.
    This can be useful in some situations. For example, CPU Usage test returns an "Ok" status if the processor load ratio is below a predefined value. With the "Reverse alert" option turned on, the test will work the other way around, so the administrator will be alerted when the processor load is below a predefined value.

    Here is how the conversion works for different status values:
    Original status   Reverse status  
    No answerOk
    BadOk
    Bad contents Ok
    Host is alive Bad
    Ok Bad
    Other status values are not affected.

  • Treat Unknown status as Bad
    With this option enabled, if test results cannot be obtained, actions are triggered by HostMonitor the same way as if the test returned a "Bad" status. Details available below
    The option is not applicable to some of the test types. Please refer to the table below for the meaning of "Unknown" status for different test types:
    Test Option is applicable* "Unknown" status condition
    Ping Yes Host name cannot be resolved into IP address
    Trace Yes Host name cannot be resolved into IP address
    URL No  
    HTTP Yes Host name cannot be resolved into IP address
    TCP Yes Host name cannot be resolved into IP address
    UDP Yes Host name cannot be resolved into IP address
    NTP Yes Host name cannot be resolved into IP address
    SMTP Yes Host name cannot be resolved into IP address
    POP3 Yes Host name cannot be resolved into IP address
    IMAP Yes Host name cannot be resolved into IP address
    Mail Relay Yes Host name cannot be resolved into IP address
    DNS Yes Host name cannot be resolved into IP address
    DHCP Yes Host name cannot be resolved into IP address
    LDAP Yes Host name cannot be resolved into IP address
    RADIUS Yes Host name cannot be resolved into IP address
    DICOM Yes Host name cannot be resolved into IP address
    RAS Yes Connection was not established because of a problem on local system, e.g. modem is used by another application
    UNC Yes Resource is unavailable (option is applicable for free space check only)
    Drive Free Space Yes Disk drive information is unavailable (e.g. removable disk ejected or target system inaccessible)
    HDD SMART Yes Information cannot be retrieved
    Folder/File Size Yes File/folder doesn't exist
    Count Files Yes Folder doesn't exist
    Folder/File Availability No  
    File Integrity Yes File doesn't exist or read error
    Text Log Yes File doesn't exist or read error
    Compare Files Yes Target file(s) does not exist
    Process Yes Information (list of processes) cannot be retrieved
    Service Yes Connection to CS Manager cannot be established
    NT Events Log Yes Information cannot be retrieved
    CPU Usage Yes Information cannot be retrieved
    Memory Yes Information cannot be retrieved
    Performance Counter Yes Information cannot be retrieved
    WMI Yes Information cannot be retrieved
    Dominant Process Yes Information cannot be retrieved
    Database No  
    ODBC Query Yes SQL query fails, or the data field specified is not found in the result set
    SNMP Get Yes Information cannot be retrieved
    SNMP Trap Yes Ambiguous configuration. Trap fits both ("good" and "bad") filters
    Traffic Monitor Yes Information cannot be retrieved
    Interfaces status Yes Information cannot be retrieved
    Temperatore Monitor Yes Information cannot be retrieved
    External test Yes HostMonitor cannot execute external program (program doesn't exist) or program doesn't return ERRORLEVEL within a specified time
    Active Script Yes Script returns "Unknown" status, or an error occured during the script execution
    Shell Script Yes Script returns "Unknown" status, or an error occured during the script execution
    SSH test Yes HostMonitor cannot connect to SSH daemon and execute specified command (e.g. invalid hostname, wrong password, connection error, etc)
    HM Monitor Yes Host name cannot be resolved into IP address
    * This option is applicable for any test performed by Remote Monitorng Agent because the test may return "Unknown" status in case of RMA failure.


  • Use Normal status
    You may mark this option and provide logical expression to specify when HostMonitor should use "Normal" status for the test item (examples).
    "Normal" status is processed similar to other "good" statuses ("Ok" and "Host is alive"). When HostMonitor sets "Normal" status, it increases "Alive" statistics counters and executes specified "good" actions. When test status changes from "Ok" to "Normal" or vice versa, HostMonitor does not reset "Recurrences" counter. The only difference between Normal and Ok (or "Host is alive") status is that you may use different colors for Normal and Ok statuses and sort test items by status so "Normal" items will be located below (or above) of "Ok" and "Host is alive" items. You may setup specific colors for Normal items to be used by HostMonitor/RCC GUI, HTML reports, HTML log files, charts and Web interface.

    IMPORTANT note: HostMonitor checks logical expressions after test check is done and "reverse alert" option is processed.
    I.e.
    • HostMonitor performs the test;
    • processes "Reverse alert" option;
    • sets "suggested" macro variables (%SuggestedStatus%, %SuggestedSimpleStatus%, %SuggestedReply%, %SuggestedRecurrences% and %FailureIteration%) without touching regular counters (%Status%, %Reply%, %Recurrences%, etc);
    • then HostMonitor checks "Warning" and "Normal" expressions, processes "Tune up Reply" option and finally modifies current test status and statistisc counters (Status, Reply, Alive%, Passed tests, Failed tests, etc).

  • Use Warning status / Treat Warning Status as Bad
    You may mark "Use Warning status" option and provide logical expression to specify when HostMonitor should use "Warning" status for the test item (examples).
    Note: HostMonitor checks logical expressions after test check is done and "reverse alert" option is processed.
    Behaviour of this status is more complicated, it depends on additional option - "Treat Warning status as Bad". "Warning" status is processed by HostMonitor similar to "Unknown" status, therefore "Treat Warning status as Bad" option works similar to "Treat Unknown status as Bad" option that is used for Unknown test status.

  • "Treat Unknown status as Bad" and "Treat Warning status as Bad" do NOT have an influence on the following features:
    • Statistics: unknown test status always increments "unknown" statistics counters; warning status always increments "bad" counters (Dead time, Failed tests, Dead ratio, etc)
    • Test color: "unknown" and "warning" test items always use their own specific colors, independently on "Treat Warning status as Bad" or "Treat Unknown status as Bad" option
    • Folder color: HostMonitor draws folder using color specified for Warning items when folder does not contain any unacknowledged (new) "bad" test but contains some unacknowledged (new) Warning item(s). In other words: "bad" items have top priority, while "warning" items have higher priority than "unknown" items.
    • Logging: HostMonitor always records event when test status changes (Bad -> Bad Contents -> Warning -> No answer -> Host is alive...) unless logging is disabled
    • Reports: you may use separate filter items and different colors for each status (bad, unknown, warning)
    • Dashboard reports: HostMonitor uses color specified for Warning items when folder does not contain any unacknowledged (new) "bad" test but contains some unacknowledged (new) Warning item(s). In other words: "bad" items have top priority, while "warning" items have higher priority than "unknown" items.
    • Macro variables: statistical variables (%HM_WarningItems%, %HM_AckWarntems%, %HM_UnknownItems%, etc) provide information about bad/unknown/warning test items regardless of "Treat Unknown/Warning status as Bad" options
    • HMScript: _AllWarning and _AllUnknown parameters may be used instead of name of the test (e.g. if you need to disable all test items in Warning status)
    • Master-dependant test relations: HostMonitor treat Warning status just like other "Bad" statuses (Bad, Bad Content, No answer)

  • "Treat Unknown status as Bad" and "Treat Warning status as Bad" options do HAVE an influence on the following features:
    • Tray icon: when the option is disabled, "unknown"/"warning" test item will trigger yellow icon (unless there are "red" test items already in the list); enabled "Treat * status as Bad" option tells HostMonitor to use red icon color when test status changes to "unknown"/"warning"
    • %SimpleStatus% macro variable returns "WARNING" string for Warning test items when "Treat Warning as Bad" option is disabled; otherwise it returns "DOWN" string. The variable returns "UNKNOWN" and "DOWN" for Unknown tests accordingly.
    • Actions: most important - these options define HostMonitor's behavior when test status changes.
      If options are disabled, HostMonitor will reset recurrences counter for each status change (bad <-> unknown <-> warning). Also, if options are disabled, HostMonitor will not start standard actions for "Unknown" and/or "Warning" statuses (however you may use advanced actions). As a result this leads to reset of Acknowledged flag, so if you acknowledge Warning status and then status of the test changes to Bad, HostMonitor clears ACK flag and starts specified "bad" actions. Therefore you may need to acknowledge test status again.
      If options are enabled, HostMonitor treats "bad", "unknown" and "warning" as the same status and will not reset "recurrences" counter, will not clear ACK flag either but will start standard actions for "Unknown" and/or "Warning" statuses.

    Why you may need Warning/Normal statuses?

    Example #1: You are monitoring CPU Usage on set of servers. You setup alert threshold (condition that tells HostMonitor when it should use "bad" status and start "bad" alerts) to 80% however you want to separate servers with CPU usage over 50% (and below 80%). So, you may mark "Use Normal status" option and provide expression like ('%SuggestedSimpleStatus%'=='UP') and ('%SuggestedReply%'>'50 %'). This allows you to show CPU Usage test items with CPU load between 50% and 80% using different color/sorting mode.

    Example #2: You are monitoring free disk space on set of servers. You setup alert threshold (when HostMonitor should use "bad" status and start "bad" alerts) to 1 GB however you want to be warned when free space is below 3 GB. So, you may mark "Use Warning status" option and provide expression like ('%SuggestedSimpleStatus%'=='UP') and ('%SuggestedReply%'<'3 Gb'). If you do not mark "Treat Warning status as Bad", HostMonitor will change test status from "Ok" to "Warning" and reset "recurrences" counter when free disk space falls below 3 GB (also HostMonitor may start "advanced" mode actions, e.g. send e-mail to IT staff). You may acknowledge Warning status for such test items.
    Later if disk free space falls below 1 GB, HostMonitor will change test status from Warning to Bad, reset Recurrences counter again, clear Acknowledged flag and start specified "bad" alerts (e.g. send e-mail or page admin). So you will be able to acknowledge "Bad" status now.
    This also allows you to generate different reports for "bad" and "warning" servers, and HostMonitor will use different colors for folders that contain "bad" or "warning" items.

    Example #3: You need to monitor a device that works unreliably - often changes its status from "good" to "bad" and vice versa and you want to be alerted when the device definitely is "dead", not just lost network connection for a minute. Then you may enable "Treat Warning status as Bad", mark "Use Warning status" option and use expression like ('%SuggestedSimpleStatus%'=='DOWN') and (%SuggestedRecurrences%<4). In such case HostMonitor will use Warning status for initial 3 failed probes and change status to Bad after 4th failed check.
    Similarly you may enable "Use Normal status" option and use expression like ('%SuggestedSimpleStatus%'=='UP') and (%SuggestedRecurrences%<4)
    Note 1: You need to enable "Treat Warning status as Bad" option to avoid reset of "recurrences" counter.
    Note 2: Most likely you will use "Start when 4 consecutive Bad results occur" option for the actions assigned to such test item.

    Example #4: you may configure HostMonitor to use Normal status for 1st and 2nd failed probes, use Warning status for 3rd and 4th failed probes and set Bad status starting from 5th failed check:
    • enable "Use Warning status" option and provide (%FailureIteration% > 2) and (%FailureIteration% < 5) expression
    • enable "Use Normal status" option and use expression like (%FailureIteration% > 0) and (%FailureIteration% < 3)

    You could setup "advanced" alerts (actions) to use similar alerting scheme since version 4.0. HostMonitor 6.50 allows you to setup visual distinction between such test items: different colors, different reports, etc.


    Logical expressions:

    When you are using "Test depends on expression" option or custom "Normal"/"Warning" statuses, you should provide logical expression.
    In these expressions you can use:

    • numbers and strings (in quotes). Strings that contain a number plus one of the following unit specificators [ms, Kb, Mb, Gb, %] are compared as numbers, so that '900 Kb' is less than '9 Mb' ('900 Kb' is equivalent to 921600)

    • macro variables related to the current test or to any other test;
    • global macro variables;

    • logical operators [and, or, xor, not, <, >, >=, <=, ==, <>];

    • arithmetic operators [div, mod, *, +, -]
       div (integer division)
       mod (remainder)
       *  (multiplication)
       +  (addition)
       -  (subtraction)
      Note: the value of (x div y) is the value of x divided by y and then rounded in the direction of zero to the nearest integer; 'mod' operator returns the remainder obtained by dividing its operands (in other words, (x mod y) == x - (x div y) * y);

      Also HostMonitor supports numbers in binary format, such number should contain only 0 and 1 and should be finished with 'B' character, e.g. '1110B' or '00101111B'. You may use the same arithmetic operations that you are using for decimal numbers, plus you may use AND, OR and XOR operators to perform bitwise operations, e.g. ('%Reply%' and '010B')=='010B'.
      When at least one operand of AND/OR/XOR operators specified in binary format, HostMonitor will use binary format for result as well. E.g. (6 and '11111111B') will return '110B'. If you want to convert number in binary format to decimal format, you may use addition (+), subtraction (-) or multiplication operations. E.g. '110B'+0 will return '6'.

    • string operators
      Operator Description
       in Expression like "Substr" in "Str" searches for a sub string Substr in a string Str.
      Operator returns True when Str contains Substr; otherwise operator returns False
       getword Expression like ("string" getword N) returns Nth word from text string counting from beginning
      Example: ('40 10 50' getword 3) == '50'   ('50' - third word)
       endword Expression like ("string" endword N) returns Nth word from text string counting from end of the string
      Example: ('40 10 50' endword 3) == '40'   ('40' - 3rd word counting from the end of the string)
      getnumberwithdot Usage <string> getnumberwithdot <num>
      This operator ignores all words within <string> except integer numbers and numbers with the period, returns number #num and then replaces the period character with system decimal separator (so it may replace the period with comma when system decimal separator is the comma).
      Example
      ('wordA wordB 21.10,15.00' getnumberwithdot 2)=='15.00'
      ('wordA wordB 21 15.00' getnumberwithdot 2)=='15.00'
      ('15.00' will be replaced with '15,00' when system decimal separator is comma)
      getnumberwithcomma     Usage <string> getnumberwithcomma <num>
      This operator ignores all words within <string> except integer numbers and numbers with comma, returns number #num and then replaces comma with system decimal separator (so it may replace comma with the period when system decimal separator is the period).
      Example
      ('wordA wordB 21.10,15.00' getnumberwithcomma 2)=='10,15'
      ('wordA wordB 21 15.00' getnumberwithcomma 2)=='15'
      ('10,15' will be replaced with '15.10' when system decimal separator is the period)
      getnumber Usage <string> getnumber <num>
      This operator ignores all words and symbols within <string> except integer numbers, returns number #num
      ('wordA wordB 21.10,15.00' getnumber 2)=='10'
      ('wordA wordB 21 15.00' getnumber 2)=='15'

    • parentheses
      In complex expressions, common rules of precedence determine the order in which operations are performed:
      Operators Precedence
      not first (highest)
      div, mod, * second
      +, -, in third
      <, >, >=, <=, ==, <>   fourth
      and, or, xor fifth (lowest)
      An operator with higher precedence is evaluated before an operator with lower precedence, while operators of equal precedence associate to the left. You can use parentheses to override precedence rules. An expression within parentheses is evaluated first and then its result is treated as a single operand.

    Note: There are special buttons in Test Properties dialog that allow you to bring up "Expression editor" window for "Warning", "Normal", and "Tune up Reply" expressions editing.



  • Tune up Reply

    "Tune up Reply value" option was implemented in HostMonitor version 7.06. This test property allows you to specify expression that tells HostMonitor how to recalculate (modify) Reply value of the test item after each probe. HostMonitor checks "Tune up Reply" expression after test probe is done and "reverse alert" option is processed.
    I.e.
    • HostMonitor performs the test;
    • processes "Reverse alert" option;
    • sets "suggested" macro variables (%SuggestedStatus%, %SuggestedSimpleStatus%, %SuggestedReply%, %SuggestedRecurrences% and %FailureIteration%) without touching regular counters (%Status%, %Reply%, %Recurrences%, etc);
    • then HostMonitor evaluates "Warning", "Normal" and "Tune up Reply" expressions and finally modifies current test status, reply field and statistics counters (Status, Reply, Alive%, Passed tests, Failed tests, etc).

    "Tune up Reply" expression may contain regular text, macro variables and arithmetical expressions. Each arithmetical expression should be concluded into square brackets, e.g. "tune up Reply" expression [%SuggestedReply% div 1024 div 1024] Mb tells HostMonitor to divide result of the test by 1048576 (1024*1024) and add Mb suffix to the result. It can be useful when you need to convert bytes to Megabytes, e.g. some WMI requests return high values in bytes. BTW: [%SuggestedReply% div 1024 div 1024] is equivalent to [%SuggestedReply% div 1048576]

    You may use several arithmetical expressions in "Tune up Reply" field. E.g. [%SuggestedReply% div 3600] hours [(%SuggestedReply% mod 3600) div 60] min [%SuggestedReply% mod 60] seconds
    In these arithmetical expressions you can use:

    • numbers and strings (in quotes). Strings that contain a number plus one of the following unit specificators [ms, Kb, Mb, Gb, %] are compared as numbers, so that '900 Kb' is equivalent to 921600

    • macro variables related to the current test or to any other test;
    • global macro variables;

    • the following arithmetical operators:
       div (integer division)
       mod (remainder)
       *  (multiplication)
       +  (addition)
       -  (subtraction)
       and  (bitwise and)
       or  (bitwise or)
       xor  (bitwise xor)
      Note: the value of (x div y) is the value of x divided by y and then rounded in the direction of zero to the nearest integer; 'mod' operator returns the remainder obtained by dividing its operands (in other words, (x mod y) == x - (x div y) * y);

      Also HostMonitor supports numbers in binary format, such number should contain only 0 and 1 and should be finished with 'B' character, e.g. '1110B' or '00101111B'. You may use the same arithmetic operations that you are using for decimal numbers, plus you may use AND, OR and XOR operators to perform bitwise operations, e.g. ('%Reply%' and '010B')=='010B'.
      When at least one operand of AND/OR/XOR operators specified in binary format, HostMonitor will use binary format for result as well. E.g. (6 and '11111111B') will return '110B'. If you want to convert number in binary format to decimal format, you may use addition (+), subtraction (-) or multiplication operations. E.g. '110B'+0 will return '6'.

    • string operators
      Operator Description
       getword Expression like ("string" getword N) returns Nth word from text string counting from beginning
      Example: ('40 10 50' getword 3) returns '50'  
       endword Expression like ("string" endword N) returns Nth word from text string counting from end of the string
      Example: ('40 10 50' endword 3) returns '40'  
      getnumberwithdot Usage <string> getnumberwithdot <num>
      This operator ignores all words within <string> except integer numbers and numbers with the period, returns number #num and then replaces the period character with system decimal separator (so it may replace the period with comma when system decimal separator is the comma).
      Example
      ('wordA wordB 21.10,15.00' getnumberwithdot 2) returns '15.00'
      ('wordA wordB 21 15.00' getnumberwithdot 2) returns '15.00'
      ('15.00' will be replaced with '15,00' when system decimal separator is comma)
      getnumberwithcomma     Usage <string> getnumberwithcomma <num>
      This operator ignores all words within <string> except integer numbers and numbers with comma, returns number #num and then replaces comma with system decimal separator (so it may replace comma with the period when system decimal separator is the period).
      Example
      ('wordA wordB 21.10,15.00' getnumberwithcomma 2) returns '10,15'
      ('wordA wordB 21 15.00' getnumberwithcomma 2) returns '15'
      ('10,15' will be replaced with '15.10' when system decimal separator is the period)
      getnumber Usage <string> getnumber <num>
      This operator ignores all words and symbols within <string> except integer numbers, returns number #num
      ('wordA wordB 21.10,15.00' getnumber 2) returns '10'
      ('wordA wordB 21 15.00' getnumber 2) returns '15'

      String functions Description
       substr('str',start,length)   The substr method extracts the characters from a string (str), beginning at "start" and through the specified number of characters (length), and returns the new sub string.
      First character is at index 1. To extract characters from the end of the string, use a negative start number.
        replace('str','oldsubstr','newsubstr')  
      Method replaces a specified part (oldsubstr) of a string (str) with another string (newsubstr) and returns new (modified) string.
        indexof('str','substr')   Method returns the position of the first occurrence of a substring (substr) in a string (str).
      Note: First character is at index 1. If Substr is not found, indexof returns zero.
        lastindexof('str','substr')   Method returns the position of the last found occurrence of a substring (substr) in a string (str).
      The string is searched backward, but the index returned is the character position from left to right (starting at 1).
      If Substr is not found, lastindexof returns zero.

    • parentheses.
      In complex expressions, common rules of precedence determine the order in which operations are performed:
      Operators Precedence
      div, mod, * first (highest)  
      +, - second
      and, or, xor   third
      An operator with higher precedence is evaluated before an operator with lower precedence, while operators of equal precedence associate to the left. You can use parentheses to override precedence rules. An expression within parentheses is evaluated first and then its result is treated as a single operand.

    If/else statements

    Also, you may use "if...else" statements for "Tune up Reply" expression. When you use "if" statement, expression for "Tune up Reply" option may look like the following samples

    If (condition) reply_expresion
    This is the simplest form of the statement. Condition is logical expression. If condition is True, HostMonitor sets Reply field using reply_expresion. Otherwise Reply field will be empty.
    Example:
    If ('%SuggestedReply%'>100) ['%SuggestedReply%'-100]

    If (condition) reply_expresion; else reply_expression2
    If condition is True, HostMonitor sets Reply field using reply_expression. Otherwise Reply field will be modified according to reply_expression2.
    Example:
    If (('%SuggestedReply%'>40) and ('%SuggestedReply%'<60)) 50; else ['%SuggestedReply%']

    If (condition) reply_expresion; If (condition2) reply_expresion2; else reply_expression3
    If condition is True, HostMonitor sets Reply field using reply_expression. Otherwise HostMonitor checks condition2; if condition2 is True, HostMonitor sets Reply field using reply_expression2; otherwise Reply field will be modified according to reply_expression3.
    Example:
    if ('%SuggestedReply%'<12) Low voltage; if ('%SuggestedReply%'>15) High voltage; else [%SuggestedReply%]

    Formal definition:
    if (condition1) replyexpr1 [; if (condition2) replyexpr2 [; if ...] | [; else replyexpr3]] | [; else replyexpr4]
    (in this definition [] means optional element; | means only one of 2 elements can be used)

    Some basic rules:
    • if/if, if/else statements should be separated by semicolon (;)
    • if logical expression (condition) is True, HostMonitor sets Reply field value and does not continue evaluation of the following expressions (if any)
    • if condition is False and next statement is "else" statement, HostMonitor sets Reply field using expression specified in "else" statement and does not continue evaluation
    • if condition is False and next statement is "if" statement, HostMonitor continues evaluation by checking next condition
    • if logical expression (condition) is invalid (e.g. there are some missed brackets), HostMonitor considers condition as False

Test Methods


Listed below are the various test methods supported by HostMonitor, along with a description of their method-specific parameters

Ping


The ping command verifies connections to remote computers, routers and other network components by sending ICMP (Internet Control Message Protocol) echo packets to the remote component and listening for echo reply packets. It's best to use the Ping method to check a remote connection in general. To check specific services and conditions, HostMonitor provides a number of special test types.
In addition to the common test parameters the Ping test has the following options:

Address
Here you should provide the domain name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the host that you wish to monitor. Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.
Also, a range of IPv4 addresses (e.g. 10.10.1.100 - 10.10.1.254) rather than a single address can be specified. In this case, HostMonitor will create a separate test for each of the addresses within that range.

Timeout
Specify a timeout interval in milliseconds. If you set parameter to 0, HostMonitor will use value of the global Timeout parameter specified on Ping/Trace page in the Options dialog.

Packet size
Specify the size of echo packets. This parameter is optional. If it's value is 0 (default value), HostMonitor will use global Packet Size parameter specified on Ping/Trace page in the Options dialog.

Packets
Specify the number of echo packets. If you set parameter to 0, HostMonitor will use value of the global "Packet to send" parameter specified on Ping/Trace page in the Options dialog.

Don't fragment
This option tells HostMonitor to set "Do Not Fragment" ICMP bit.

Time to Live
Time to Live parameter is common for all Ping tests, specify this parameters on Ping/Trace page in the Options dialog.

Alert if loss ratio N% or more
A packet loss threshold can be specified for a Ping test, based on which the test status is determined.

Alert if Jitter over N ms
Jitter - amount of variation in response time, calculated by using the following formula Jitter = SquareRoot( SumOf((ReplyTime[i] - AverageReply)^2) / (ReceivedPacketCount-1) )
(when this option enabled, HostMonitor will send at least 3 ICMP packets)

Display mode
Tells HostMonitor what kind of data should be displayed in the Reply field:
 Reply time - the "Reply" field will represent average reply time
 Lost % - display percentage of lost packets
 Received % - display percentage of received packets
 Jitter - amount of variation in response time
Note: Test Info window may show Loss ratio and Jitter in addition to selected "reply" value

HostMonitor may set 6 statuses for Ping tests:
"Ok" this status used when Jitter" option is enabled and Jitter time within specified limit
(when "Alert if lost ratio" option enabled, it should be within specified limit as well)
"Host is alive" this status used when "Jitter" option was not enabled and loss ratio within specified limit
"Bad" this status means either Jitter or Loss ratio is out of the limits
"No answer" HostMonitor sets "no answer" status when does not receive any response from target system
"Unknown host" host name could not be resolved to IP address
"Unknown" test performed by Remote Monitoring Agent and there is some RMA related error (e.g. HostMonitor cannot connect to the agent)

Trace


Traces the route to a remote host over the network. This test allows you to check the route that all packets take to go from your machine to a specific host on the Internet (Intranel, LAN). It also can check the time each hop (or each machine packets go through) takes to answer.
In addition to the common test parameters, the Trace test has the following options:

Address
Here you should provide the domain name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the host route that you want to test. Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Timeout
Specify a timeout interval in milliseconds.

Packet size
Specify the size of ECHO packets in bytes.

Retries
Specify how many times HostMonitor will try to resend ECHO packets when it does not receive the respond.

Alert when
Choose one of the conditions to determine is route "good" or "bad":

  • route was changed
    HostMonitor will mark test as "Bad" every time route changed
  • number of hops different from NN
    Test will change status to "Bad" if number of hops is different from specified
  • number of hops greater than NN
    Test will change status to "Bad" if number of hops is greater than specified
  • number of hops less than NN
    Test will change status to "Bad" if number of hops is less than specified
  • maximum reply time more than NN milliseconds
    Mark test as "Bad" when reply time from any of the hosts is longer than specified
  • traffic thru the host
    HostMonitor will mark test as "Bad" every time traffic will go thru specified intermediate host
  • traffic bypass host
    HostMonitor will mark test as "Bad" every time traffic will not go thru specified intermediate host

Display
This option determines what information HostMonitor will display in Reply field. Choose one of the following options:
  • Total time
  • Average reply time
  • Maximum reply time
  • Number of hops
  • Number of non-responding devices
  • Route, brief mode (list of IP addresses only)
  • Route, full mode (hop, IP address, time)

URL


HostMonitor can perform a URL (Universal Resource Locator) check based on the HTTP (web), HTTPS (secure web), FTP or Gopher protocols. To perform URL check HostMonitor can connect to a remote server directly or through a proxy server, this proxy server can be defined on the PROXY page in the Options dialog.
In addition to the common test parameters, the URL test has the following options:

Basic parameters:

URL
Enter the URL you want to monitor. HostMonitor is not limited to the retrieval of HTML files for the HTTP and HTTPS checking, it can also retrieve other types of pages, even CGI scripts.
Examples of URLs include:

  • http://www.yahoo.com/index.html
  • https://www.super.secure.server.gov:444/unpublished/mainpage.html
  • ftp://ftp.bhs.com/incoming/list.txt

Translate date macro variables
This option allows you to use date & time variables in the "URL" and "Post data" fields. It is useful when you have to monitor web pages that are created on regular basis. E.g. such URL may look like " http://www.sql.company.com/logs/%mm%-%dd%-%yyyy%.html".

Password protected page
Use this option when the URL specified requires a name and password for access.
User name
If the URL specified requires a name and password for access, enter the user name in this box.
Password
If the URL specified requires a name and password for access, enter the password in this box.


Special parameters:

Optional headers
You may specify optional HTTP headers which will be added to the request. For example you can define cookies using string like "Cookie: name1=value1; name2=value2; name3=value3". When you send data to the server using POST method, HostMonitor automatically inserts " Content-Type: application/x-www-form-urlencoded" header.

HTTP POST request
POST requests send data (defined in "Post data" field) to the web server to be processed in some way, like by a CGI script. In this case URL is not a resource to retrieve; it`s usually a program to handle the data you are sending. The HTTP response is normally the program output, not a static file. The most common use of POST is to submit HTML form data to CGI scripts. In this case, the "Content-Type:" header should be set to "application/x-www-form-urlencoded". So, when you choose "HTTP POST request" option, HostMonitor adds this header into "Optional headers" field by default.

Use client certificate
An HTTPS server may require client authentication, in which case a local client certificate should be sent to the server for authentication. Client certificates contain information that identifies the user, as well as information about the organization that issued the certificate.
"Use client certificate" option allows you to choose certificate that will be sent to the server. If test will be performed directly by HostMonitor, application shows list of certificates installed on local system. If URL test will be performed by Remote Monitoring Agent (RMA), HostMonitor requests specified RMA to retrieve list of certificates installed on system where agent is running.


Advanced options:

FTP: Passive mode
In this mode HostMonitor uses passive FTP semantics (option available for FTP checks only) which might be required in order to work properly with some firewalls.

HTTP/HTTPS: Code 302 (redirect) is Ok
This parameter determines the HostMonitor's behavior, when HTTP/HTTPS server issues a redirect. If option disabled and HTTP server returns code 301 (Moved Permanently) or 302 (Moved Temporarily), HostMonitor marks test as "Bad". With this option enabled HostMonitor sets "Host is alive" status.

HTTPS: Ignore unknown certificate authority problems
This option allows checking web servers that use HTTPS protocol and security certificates that were issued by not trusted company. With this option enabled, HostMonitor will accept security certificates issued by any company. When this option is disabled and the certificate belongs to a not trusted company then HostMonitor will set the test status to "no answer".

HTTPS: Accept certificates with invalid host name
This option tells HostMonitor to accept SSL/PCT-based certificate even if certificate was issued for different host
HTTPS: Accept certificates with invalid dates
This option tells HostMonitor to accept expired SSL/PCT-based certificates
By default these options are greyed out, this means HostMonitor should use global options specified on Misc page in the Options dialog. If you mark or unmark test options, these settings will override global options (for this specific test item only).


The URL test doesn't automatically retrieve any objects linked from the page. You can, however, instruct HostMonitor to retrieve the nested frames and images.

Download nested frames
Select this box if you want to retrieve the all frames referenced in a frameset and count their retrieval time in the total time to download this page. If "Download images" is also checked, HostMonitor will attempt to retrieve all images in all frames. In case the program successfully retrieve page specified in the URL field but cannot receive one of the nested frames, HostMonitor will mark test as "Bad contents".

Download images
Enable this option if you want the status and response time statistics to include the retrieval time for all of the embedded images in the page. Embedded images include those referenced by <IMG> HTML tags. Images that appear more than once in a page are only retrieved once. In case the program successfully retrieves the page specified in the URL field but cannot receive one of images, HostMonitor will mark test as "Bad contents".

Check CRC
With this option enabled HostMonitor will save CRC (Cyclical Redundancy Check) of the downloaded data and do a checksum comparison each subsequent time test is performed. If the checksum changes, the test will have "Bad contents" status. So, if someone hack your site, HostMonitor can detect this before thousands of people see their handiwork on your corporate site.
By default HostMonitor calculates (and checks) CRC for page specified in the URL. But if "Download nested frames" and/or "Download images" options are enabled, HostMonitor will calculate CRC for the nested frames and/or images as well.

Recalculate CRC when page content changes detected
With this option enabled, the new checksum will be recorded as the default in case the error "page content changed" occurs, so the test will return to "Good" status until the checksum changes again.


Check contents
HostMonitor can search for a string (or several strings) in the returned page and start alert actions when string exists (or doesn't exist) on the page. Define string(s) and condition to alert using following options:
Mode
This option determines condition to check. Choose one of the available modes:
- should contain HostMonitor will set "Bad contents" status when page does not contain specified string
- should not contain   HostMonitor will set "Bad contents" status when page contains specified string
- use expression HostMonitor will consider the string as Boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved page does not satisfy the required conditions.
For example: if you define expression like "'No errors' and not ('Error' or 'Warning')", then HostMonitor will mark test as "Host is alive" when retrieved page contains string 'No error' and does not contain either 'Error' or 'Warning'
Expression
Enter a string of text to check the returned page. Remember that HTML tags are part of a document, so include the HTML tags if they are part of the text you are searching for (for example, "<B>Hello</B> World").
If you chose "use expression" mode, you may use expressions like "("Total" and "End Of Page") and not ('Error' or 'Warning')". In this case, a test will have a "Host is alive" status when monitor can receive specified page and this page contains both strings "Total" and "End Of Page", and doesn't contain either strings "Error" or "Warning". In the expression you may use strings (must be concluded in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".
Translate date macro variables
This option allows you to use date & time variables in the search string. It is useful when you have to monitor web pages that shall be updated regularly. E.g. if you provide "%mm%-%dd%-%yyyy%" in the search string, HostMonitor will check the retrieved document for the presence of a current date and will set "Bad content" status for the documents without current date stamp. This could be useful for testing various scripts and applications that generate web pages.
Case sensitive
With this option enabled search is case sensitive
Whole words only
Searches are for words only. With this option disabled, the search string might be found within longer words.

Note: some server-based scripts can check agent's name and return different information for different HTTP agents (e.g. generate different HTML pages for Internet Explorer or Netscape). To get correct test results you may need to change "Agent name" parameter. Use Miscellaneous page in the Options dialog for this purpose.

HTTP


The HTTP test provides you with the ability to monitor HTTP based servers, verify the content of dynamically generated pages, check for the changed content. Also it can help you verify that CGI scripts and back-end databases are functioning properly. In contrast to URL test, that can perform HTTP request as well, HTTP test does not use wininet.dll (part of Internet Explorer). In this way we can avoid any problems related to IE's bugs (of course we can make mistakes as well but we always are able to fix our own mistakes :-). Also using HTTP test you can define more parameters specific to HTTP protocol and setup more varied checks.
In addition to the common test parameters, the HTTP test has the following options:

HTTP request parameters:

URL
Enter the URL you want to monitor (for example, http://www.ourbiggestserver.com)

Proxy
Optionally, a proxy server can be used to access the URL. Select a proxy server from the drop down list or choose "<none>" to perform direct request to HTTP server.
You can open Proxies List dialog to modify the list of proxy servers. For each item from the proxy list you can specify:

  • Domain name or IP address of the HTTP proxy server
  • TCP port
  • User name
  • Password

Request
Choose type of HTTP request:
HEADER 

request for HTTP header. Server will return status information about the document (HTTP header) but will not transfer data. It allows you to check web server functionality with minimum network traffic but you cannot check the content of the web page.

GET  

request the page specified by URL parameter. Server will return status information (HTTP header) and data. You can use "Check content" and "Check CRC" options to monitor contents of the page.

POST  

send data (defined in "Post data" field) to the web server to be processed in some way, like by a CGI script. In this case URL is not a resource to retrieve; it's usually a program to handle the data you are sending. The HTTP response is normally the program output, not a static file. The most common use of POST is to submit HTML form data to CGI scripts. In this case, the "Content-Type:" header is usually set to "application/x-www-form-urlencoded". So, when you choose POST request, HostMonitor adds this header into "Optional headers" field by default. However you can change that header to another one or remove it.


Follow redirect
This parameter determines the HostMonitor's behavior, when the server issues a redirect. When the option enabled HostMonitor follows redirect and retrieve URL specified by server. If option disabled and HTTP server returns code 301 (Moved Permanently) or 302 (Moved Temporarily), HostMonitor marks test as "Bad".

Post data
If the URL is for a POST request, enter the post variables as name1=value1&name2=value2. This option is used to verify that a form is working correctly by performing the same request which occurs when a user submits a form. See also the "Check content" option for a way to verify that the correct form response was received.

Authorization
Use this option when the URL specified requires a name and password for access.
User name
If the URL specified requires a name and password for access, enter the user name in this box.
Password
If the URL specified requires a name and password for access, enter the password in this box.
HostMonitor supports basic and NTLM authentication methods.

Agent
Some server-based scripts can check agent's name and return different information for different HTTP agents (e.g. generate different HTML pages for Internet Explorer or Netscape). You can change this parameter to get correct results.

Timeout
Specify the number of seconds that the test should wait for a page to complete downloading before timing-out. Once this time period is over, the monitor will mark test as "No answer". If you have checked the "Download nested frames" or "Download images" option, HostMonitor will use the same timeout for all frames/images referenced on the page.
If the Timeout property is set to 0 (default value), HostMonitor will use default Windows timeout specified for TCP protocol.

Allow per-session cookies
With this option enabled HostMonitor remembers cookies received from the server, and sends them back in case of redirection to another URL.
This option can be useful when you need to check some access-restricted resources. Often web-based authorization systems use cookies to identify user. How it usually works:
- user opens login page, enters login and password, and clicks "Login" button;
- browser sends POST or GET request to a server with data entered by user;
- server checks login/password and (in case data are correct) assings session ID for the user;
- server sends cookie that contains ID to user's browser, and redirects user to another page;
- browser must store cookie and send it back to server every time it (browser) requests access-restricted pages
So, now HostMonitor can work like your browser and login to your mailbox to check whether you have the new messages. See also the "Check content" option for a way to verify that the correct response was received.

Optional headers
Specify optional HTTP headers those will be added to request. For example you can define cookies using string like "Cookie: name1=value1; name2=value2; name3=value3". When you send data to the server using POST method, HostMonitor automatically insert "Content-Type: application/x-www-form-urlencoded" header.


Optional test parameters:

The HTTP test doesn't automatically retrieve any objects linked from the page. You can, however, instruct HostMonitor to retrieve the nested frames and images.

Download nested frames
Select this box if you want to retrieve the all frames referenced in a frameset and count their retrieval time in the total time to download this page. If "Download images" is also checked, HostMonitor will attempt to retrieve all images in all frames. In case the program successfully retrieve page specified in the URL field but cannot receive one of the nested frames, HostMonitor will mark test as "Bad contents".

Download images
Enable this option if you want the status and response time statistics to include the retrieval time for all of the embedded images in the page. Embedded images include those referenced by <IMG> HTML tags. Images that appear more than once in a page are only retrieved once. In case the program successfully retrieves the page specified in the URL field but cannot receive one of images, HostMonitor will mark test as "Bad contents".

Check CRC
With this option enabled HostMonitor will save CRC (Cyclical Redundancy Check) of the downloaded data and do a checksum comparison each subsequent time test is performed. If the checksum changes, the test will have "Bad contents" status.
By default HostMonitor calculates (and checks) CRC for page specified in the URL. But if "Download nested frames" and/or "Download images" options are enabled, HostMonitor will calculate CRC for the nested frames and/or images as well.

Recalculate CRC when page content changes detected
With this option enabled, the new checksum will be recorded as the default in case the error "page content changed" occurs, so the test will return to "Good" status until the checksum changes again.

Check header
HostMonitor can search for a string (or several strings) in the HTTP header (received from a server) and start alert actions when the string exists (or doesn't exist) in the header. Define string(s) and condition to alert using following options:
Mode
This option determines condition to check. Choose one of the available modes:
- should contain HostMonitor will set "Bad contents" status when HTTP header does not contain specified string
- should not contain   HostMonitor will set "Bad contents" status when HTTP header contains specified string
- use expression HostMonitor will consider the string as boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved HTTP header does not satisfy the required conditions.
For example: if you define expression like "'HTTP/1.1' and not ('301' or '302')", then HostMonitor will mark test as "Host is alive" when retrieved data contains string 'HTTP/1.1' and contains neither '301' nor '302'.
Expression
Enter a string to check the returned HTTP header. If you chose "use expression" mode, you may use expressions like "('HTTP/1.1' or 'HTTP/1.0') and not ('301' or '302')". In this case, a test will have a "Host is alive" status when monitor gets reply from the server and retrieved HTTP header contains either strings "HTTP/1.1" or "HTTP/1.0", and doesn't contain either strings "301" or "302". In the expression you may use strings (must be concluded in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".
Case sensitive
With this option enabled search is case sensitive
Whole words only
Searches are for words only. With this option disabled, the search string might be found within longer words.

Check contents
HostMonitor can search for a string (or several strings) in the returned page and start alert actions when string exists (or doesn't exist) on the page. Define string(s) and condition to alert using following options:
Mode
This option determines condition to check. Choose one of the available modes:
- should contain HostMonitor will set "Bad contents" status when page does not contain specified string
- should not contain   HostMonitor will set "Bad contents" status when page contains specified string
- use expression HostMonitor will consider the string as boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved page does not satisfy the required conditions.
For example: if you define expression like "'No errors' and not ('Error' or 'Warning')", then HostMonitor will mark test as "Host is alive" when retrieved page contains string 'No error' and does not contain either 'Error' or 'Warning'
Expression
Enter a string of text to check the returned page. Remember that HTML tags are part of a document, so include the HTML tags if they are part of the text you are searching for (for example, "<B>Hello</B> World").
If you chose "use expression" mode, you may use expressions like "("Total" and "End Of Page") and not ('Error' or 'Warning')". In this case, a test will have a "Host is alive" status when monitor can receive specified page and this page contains both strings "Total" and "End Of Page", and doesn't contain either strings "Error" or "Warning". In the expression you may use strings (must be concluded in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".
Translate date macro variables
This option allows you to use date & time variables in the search string. It is useful when you have to monitor web pages that shall be updated regularly. E.g. if you provide "%mm%-%dd%-%yyyy%" in the search string, HostMonitor will check the retrieved document for the presence of a current date and will set "Bad content" status for the documents without current date stamp. This option could be useful for testing various scripts and applications that generate web pages.
Case sensitive
With this option enabled search is case sensitive
Whole words only
Searches are for words only. With this option disabled, the search string might be found within longer words.

Set "Bad" status when total download time is longer than NN msec
With this option enabled HostMonitor will check total download time and mark status as "Bad" when download time is longer than specified.

BTW: When HostMonitor cannot retrieve page at all, it marks test as "No answer" and Reply value will be empty. In case all checks passed, HostMonitor mark status as "Host is alive" and display total download time in the "Reply" field. Also "Reply" field will display total download time when any reply received from HTTP server, even if its message about error such as "Page not found" error.

SOAP/XML


SOAP is a protocol specification for exchanging structured information in the implementation of Web Services. It relies on Extensible Markup Language (XML) for its message format, and usually relies on Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP) for message negotiation and transmission.
As an example, a SOAP message could be sent to a web service such as a market price database, with the parameters needed for a search. Then the site would return an XML-formatted document with the resulting data, e.g., prices, location, options.

This test method allows performing SOAP requests version 1.1 and 1.2 over HTTP and HTTPS protocols. HostMonitor supports GET and POST requests, client and server side certificates; optional HTTP headers can be specified as well.
If you need to check XML data delivered by SMTP protocol and retrieved over POP3 or IMAP protocol, you may use E-Mail test method.

In addition to common test parameters, the SOAP/XML test has the following options:

URL
Enter the URL where you want to send SOAP request

Translate date macro variables
This option allows you to use date & time variables in the "URL" field. E.g. such URL may look like "http://www.hostname.com/engine/service.asmx?%mm%-%dd%-%yyyy%"

Request
Choose type of HTTP request:
- GET use this method when target web server supports GET requests for specified URL; additional parameters can be specified as part of the URL
- POST   use this method when target web server supports POST requests for specified URL. In such case additional parameters of the request (SOAP envelope) should be specified in "Parameters" field

Parameters
Normally when you perform POST request, you should specify SOAP Envelope using this field. It may contain parameters of the request in SOAP Body.
Sample:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
  xmlns:tns="http://www.mathertel.de/CalcFactors/"
  xmlns:s="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <SOAP-ENV:Body>
  <tns:AddDouble xmlns:tns="http://www.mathertel.de/CalcFactors/">
  <tns:number1>55.22</tns:number1>
  <tns:number2>65.71</tns:number2>
  </tns:AddDouble>
 </SOAP-ENV:Body>

 </SOAP-ENV:Envelope>
There are several buttons located beside "Parameters" field, they help you to create empty SOAP envelope, validate envelope, etc
- Create new SOAP envelope
- Add parameter
- Check SOAP envelope

SOAP version
Here you may select SOAP version 1.1 or version 1.2.
If you select SOAP version 1.1, please do not forget to specify SOAPAction in "Optional headers" field.

Optional headers
Specify optional HTTP headers those will be added to the request. For example you can define cookies using string like "Cookie: name1=value1; name2=value2; name3=value3".
Also, you should use this field to specify SOAPAction when SOAP version 1.1 is selected.
Note: when you send data to the server using POST method, HostMonitor automatically inserts "Content-Type: application/soap+xml" or "Content-Type: text/xml" header.

Password protected page
Use this option when the server requires a name and password for access.
User name
When authentication is required, enter the user name in this box.
Password
When authentication is required, enter the password in this box.


Advanced options:

HTTP/HTTPS: Code 302 (redirect) is Ok
This parameter determines the HostMonitor's behavior, when HTTP/HTTPS server issues a redirect. If option disabled and HTTP server returns code 301 (Moved Permanently) or 302 (Moved Temporarily), HostMonitor marks test as "Bad". With this option enabled HostMonitor can follow redirected URL.

HTTPS: Ignore unknown certificate authority problems
This option allows checking web servers that use HTTPS protocol and security certificates that were issued by not trusted company. With this option enabled, HostMonitor will accept security certificates issued by any company. When this option is disabled and the certificate belongs to non-trusted company then HostMonitor will set the test status to "No answer".

HTTPS: Accept certificates with invalid host name
This option tells HostMonitor to accept SSL/PCT-based certificate even if certificate was issued to a different host

HTTPS: Accept certificates with invalid dates
This option tells HostMonitor to accept expired SSL/PCT-based certificates.
By default these options are greyed out, this means HostMonitor uses global options specified on Misc page in the Options dialog. If you mark or unmark test options, these settings will override global options (for this specific test item only).

Use client certificate
An HTTPS server may require client authentication, in which case a local client certificate should be sent to the server for authentication. Client certificates contain information that identifies the user, as well as information about the organization that issued the certificate.
"Use client certificate" option allows you to choose certificate that will be sent to the server. If test is performed directly by HostMonitor, application will show list of certificates installed on local system. If URL test is performed by Remote Monitoring Agent (RMA), HostMonitor will request specified RMA to retrieve list of certificates installed on system where agent is running.

Timeout
You may specify the number of seconds that the test should wait for a page to complete downloading before timing-out. Once this time period is over, the monitor will mark test as "No answer".
If the Timeout property is set to 0 (default value), HostMonitor will use default Windows timeout specified for TCP protocol.


Check mode

After you setup request parameters, you should tell HostMonitor how it should check data retrieved from the server

  • Check CRC. This is simple CRC check.
  • Check content as text. In this mode HostMonitor can search for a string within retrieved data and start alerts when string exists (or doesn't exist) on the page.
  • Check XML value. Using this mode you may specify XPath that allows you to select some structures within retrieved data and specify additional conditions to check result set.

Check XML value
Using this mode you may specify XPath that allows you to select some structures within retrieved data and specify additional conditions to check result set. You may check row count, check data in 1st row, check any row or every row, check average value or sum of all values. E.g. you may setup HostMonitor to select all <temperature> fields and set Bad test status when value of any of such fields is over 50.

XPath
XPath (XML Path Language) is a query language for selecting nodes from an XML document. by a variety of criteria. Before checking "alert" conditions HostMonitor may process specified XPath, this allows you to setup very flexible queries.
Examples:
 /farm/server/drive[last()] Selects the last "drive" element that is the child of the "server" element that in turn is child of the "farm" element
 /farm/server/cpu[temperature>80]   Selects all "cpu" elements (child of the "server" element that in turn is child of the "farm" element) that have a temperature element with a value greater than 80
 //drive[@type='fixed'] Selects all "drive" elements that have an attribute named "type" with a value of "fixed"

Alert when
This option specifies when exactly retrieved value(s) should be considered as "bad" and appropriate alert actions should be started. There are 3 parameters should be provided: aggregation mode, compare mode and compare value.
  1. Aggregation mode. Specifies how HostMonitor should compare result data when query returns several rows. Choose one of the following option:
    Row count Tells HostMonitor to calculate row count and compare number of the rows to the specified number
    1st row Tells HostMonitor to check only 1st retrieved counter. If the counter matches specified compare condition, HostMonitor will set "Bad" test status.
    Any row Tells HostMonitor to check each retrieved counter. If ANY counter matches specified compare condition, HostMonitor will set "Bad" test status.
    Every row Tells HostMonitor to check all retrieved counters. If EVERY counter matches specified compare condition, HostMonitor will set "Bad" test status.
    Average Tells HostMonitor to calculate average value of the counters and compare calculated average value to the specified number.
    Sum/Total   Tells HostMonitor to calculate sum of the counters and then compare total value to the specified number.
    Notes:
    - If there is single counter in result set then "1st row", "Any", "Every", "Average" and "Total" modes are equivalent (except "Average" and "Total" do not compare value to a string).
    - You may use Average and Total mode only with numeric data

  2. Compare mode
    HostMonitor compares calculated value with a specified number or string. The following compare modes are supported:
    • less than the specified number
    • greater than the specified number
    • equal to the specified value (number or string)
    • different from the specified value (number or string)
    • contains the specified string
    • doesn't contain the specified string
Display:
- detected value
- response time
This option tells HostMonitor what value should be displayed in Reply field of the test item

Check content as text
HostMonitor can search for a string (or several strings) within retrieved data and set "bad" test status when string exists (or doesn't exist) on the page. Define string(s) and condition to alert using following options:
Mode - this option determines condition to check. Choose one of the available modes:
should contain HostMonitor will set "Bad contents" status when retrieved page does not contain specified string
should not contain   HostMonitor will set "Bad contents" status when retrieved page contains specified string
use expression HostMonitor will consider the string as boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved page does not satisfy the required conditions.
For example if you define expression like ("<Price>" and "<Index>") and not ("Error" or "Warning"), then HostMonitor will set "Host is alive" status when monitor can receive specified page and this page contains both strings "<Price>" and "<Index>", and doesn't contain either strings "Error" or "Warning". In the expression you may use strings (must be put in quotes (') or in double quotes (")); round brackets; logical operators and, or, not.
Options:
Case sensitive With this option enabled search is case sensitive
Whole words only   Searches are for words only. With this option disabled, the search string might be found within longer words.
Translate macrosThis option allows you to use date & time variables in the search string. It is useful when you have to monitor data that shall be updated regularly. E.g. if you provide "%mm%-%dd%-%yyyyy%" in the search string, HostMonitor will check the retrieved document for the presence of a current date and will set "Bad content" status for the documents without current date stamp.

Check CRC
With this option selected HostMonitor will save CRC (Cyclical Redundancy Check) of the received data and do a checksum comparison each subsequent time test is performed. If the checksum changes, the test will have "Bad contents" status.
Recalculate CRC when page content changes detected
With this option enabled, the new checksum will be recorded as the default every time "Bad content" error occurs, so the test will return to "Good" status until the checksum changes again.
Get CRC button allows you to retrieve and save CRC before performing test.

OPC


The OPC UA standard is a series of specifications developed by industry vendors, end-users and software developers. These specifications define the interface between Clients and Servers, including access to real-time data, monitoring of alarms and events, access to historical data and other application.
This test method allows performing OPC requests over HTTP and HTTPS protocols. HostMonitor supports client and server side certificates; optional HTTP headers can be specified as well.
Note: HostMonitor does not support OPC requests based on Microsoft DCOM that exposes vulnerabilities at Enterprise layers.

In addition to common test parameters, the OPC test has the following options:

URL
Enter the URL where you want to send OPC request

Timeout
You may specify the number of seconds that the test should wait for a page to complete downloading before timing-out. Once this time period is over, the monitor will mark test as "No answer".

Optional headers
Specify optional HTTP headers those will be added to the request. For example you can define cookies using string like "Cookie: name1=value1; name2=value2; name3=value3".


Advanced options:

HTTP/HTTPS: Code 302 (redirect) is Ok
This parameter determines the HostMonitor's behavior, when HTTP/HTTPS server issues a redirect. If option disabled and HTTP server returns code 301 (Moved Permanently) or 302 (Moved Temporarily), HostMonitor marks test as "Bad". With this option enabled HostMonitor can follow redirected URL.

By default the following HTTPS options are greyed out, this means HostMonitor uses global options specified on Misc page in the Options dialog. If you mark or unmark test options, these settings will override global options (for this specific test item only).

HTTPS: Ignore unknown certificate authority problems
This option allows checking web servers that use HTTPS protocol and security certificates that were issued by not trusted company. With this option enabled, HostMonitor will accept security certificates issued by any company. When this option is disabled and the certificate belongs to non-trusted company then HostMonitor will set the test status to "No answer".

HTTPS: Accept certificates with invalid host name
This option tells HostMonitor to accept SSL/PCT-based certificate even if certificate was issued to a different host

HTTPS: Accept certificates with invalid dates
This option tells HostMonitor to accept expired SSL/PCT-based certificates.


Password protected page
Mark this option when the server requires a name and password for access.
Login/password
When authentication is required, provide the user name and the password

Use client certificate
An HTTPS server may require client authentication, in which case a local client certificate should be sent to the server for authentication. Client certificates contain information that identifies the user, as well as information about the organization that issued the certificate.
"Use client certificate" option allows you to choose certificate that will be sent to the server. If test is performed directly by HostMonitor, application will show list of certificates installed on local system. If URL test is performed by Remote Monitoring Agent (RMA), HostMonitor will request specified RMA to retrieve list of certificates installed on system where agent is running.


Check result

After you setup request parameters, you should tell HostMonitor what exactly data should be checked and specify conditions to check result set.

Item
Specify item name that should be verified by HostMonitor, e.g. Factory5/Unit1/TemperatureValue

Alert when
The following options specify when exactly retrieved value(s) should be considered as ""bad" and appropriate alert actions should be started: aggregation mode, compare mode and compare value.

Aggregation mode. Specifies how HostMonitor should compare result data when query returns several rows. Choose one of the following option:
Row count Tells HostMonitor to calculate row count and compare number of the rows to the specified number
1st row Tells HostMonitor to check only 1st retrieved counter. If the counter matches specified compare condition, HostMonitor will set "Bad" test status.
Any row Tells HostMonitor to check each retrieved counter. If ANY counter matches specified compare condition, HostMonitor will set "Bad" test status.
Every row Tells HostMonitor to check all retrieved counters. If EVERY counter matches specified compare condition, HostMonitor will set "Bad" test status.
Average Tells HostMonitor to calculate average value of the counters and compare calculated average value to the specified number.
Sum/Total   Tells HostMonitor to calculate sum of the counters and then compare total value to the specified number.
Notes:
- If there is single counter in result set then "1st row", "Any", "Every", "Average" and "Total" modes are equivalent (except "Average" and "Total" do not compare value to a string).
- You may use Average and Total mode only with numeric data

Compare mode
HostMonitor compares calculated value with a specified number or string. The following compare modes are supported:

  • less than the specified number
  • greater than the specified number
  • equal to the specified value (number or string)
  • different from the specified value (number or string)
  • contains the specified string
  • doesn't contain the specified string

Certificate expiration


This test allows you to check SSL certificate expiration date and start alerts when certificate expires within specified number of days.
Basically this test designed for HTTPS servers however it may work with any server that supports implicit mode. In other words test will work with some SMTP, POP3, IMAP servers but not with all of them.
In addition to common test parameters, for this test you should specify the following options:

Host
Provide hostname or IP address of the server you want to check (e.g. www.gmail.com)

Port
Specify port used by the server for incoming connections (HTTPS servers usually use TCP port 443)

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails.

Alert when certificate expires in less than N days
Alert when certificate expires in more than N days

You may mark one of both of these options. HostMonitor will check certificate expiration date and set "Bad" test status when expiration date is out of specified range.

There are some variables specific to Certificate Expiration test, you may use these variables as parameters of actions assigned to such test items.

Domain expiration


This test allows you to check domain expiration date and start alerts when domain registration expires within specified number of days.
In addition to common test parameters, for this test you should specify the following options:

WhoIs server
Provide hostname or IP address of WhoIs server that maintains records for domain you want to check (e.g. whois.internic.net)

Please note: unfortunately there is no strict format for information provided by WhoIs servers; different servers provide data using different formats; some servers do not provide necessary information at all. We tested HostMonitor with over 100 different WhoIs servers however it may not work with your "favorite" WhoIs server (in such case HostMonitor will set Unknown test status and display error message in Reply field of the test, e.g. "Cannot find expiration date").
If you experience such problem, please send request to support@ks-soft.net and we will try to adapt HostMonitor for your needs.

Port
Specify port used by WhoIs server for incoming connections (normally WhoIs server use port 43)

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails.

Alert when domain expires within N days
Here you should provide domain name and threshould for alert. HostMonitor will set Bad test status when registration for specified domain expires within N days

There are some variables specific to Domain Expiration test, you may use these variables as parameters of actions assigned to such test items.

SMTP


Most Internet e-mail servers use the Simple Mail Transfer Protocol (SMTP) to transmit e-mail from server to server. HostMonitor monitors this type of server by sending an SMTP command to the server as if it were an e-mail client or another server verifying the existence of a user. By verifying the username, the program effectively tests the SMTP server`s mail database without generating unnecessary mail messages.
In addition to the common test parameters, the SMTP test has the following options:

Server
Here you should provide the host name (e. g. mail.ourdomain.com) or IP address (e. g. 204.71.200.68) of the mail server you want to test. Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. mail.ourdomain.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
The default test port is 25, but you can specify a non-standard port. For a list of conventional port numbers click the button to the right of the port number box.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

Perform 'VRFY' test
When checked, the test performs will include the verify ('VRFY') command, which is a complete test of the server's user database and its ability to respond to client requests. When this field is not checked, HostMonitor will log on to the mail server and then log off, but will not issue the "VRFY" command as part of the test. Skipping this command provides nearly the same level of server monitoring, since logging on and off effectively verifies that the mail server is accepting connections.
For mail servers that support the "VRFY" command, and have it enabled, we suggest that you use the complete test. However, some mail servers do not support the "VRFY" command, so turning this check off is required. In addition, for security reasons, the "VRFY" command is sometimes disabled on some servers, again requiring that this extra test would be turned off.

User Name
Enter a valid e-mail account name that exists on the server you are testing. HostMonitor will ask the server if this user exists. Most mail servers have "root" or "postmaster" accounts defined, even if the server is used only to forward outgoing mail. You can also use your own account name, assuming you have an account on that server.

POP3


E-mail is commonly posted and transferred between mail servers using SMTP, but access to mail is provided through POP3 (Post Office Protocol version 3). POP3 test can be used to test that your mail server's POP functions are functioning perfectly. To perform test HostMonitor login to the server and logout using specified user account. As an option HostMonitor can check number of messages and size of messages for specified user. If messages count/size exceed specified limit, the program can start alert actions.
In addition to the common test parameters, the POP3 test has the following options:

Server
This is the name or IP address of the mail server you want to test, usually in the form "mail.yourcom.com".

Port
The default POP3 port for unencrypted connection is 110; POP3 servers that support secured SSL connections usually accept connections using TCP port 995. If your server configured to use some non-standard port, specify port number using this property.

TLS
This option allows you to use secured and encrypted connection (SSL). You may set "None" option to use unencrypted connection, select "Implicit" or "Explicit" to use encrypted connection. Supported SSL protocols: TLS1, SSL3, SSL2 and PCT1.
Additional SSL options located on Misc page in the Options dialog.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

User Name
HostMonitor will test the POP server by logging in to it using an existing account. In the user name field, supply the name of an account that can be used for testing. HostMonitor will log into the account and check the status of its mailbox without accessing, modifying or deleting any of the messages held in it.

Password
Supply the password for the user account HostMonitor will log into during the test.

Alert when mailbox contains more then [NN] messages
Mark this option and specify limit amount of messages in a mailbox. When this limit is reached, HostMonitor will change test status to Bad.

Alert when total size of messages bigger than [NN] MB
Mark this option and specify the size limit of all messages in a mailbox. When this limit is reached, HostMonitor will change test status to Bad.

Note: Value of the 'Reply' field depends on the test's settings:

  • if test checks number of messages, HostMonitor will display number of messages
  • if test checks total size of messages, HostMonitor will display total size of messages.
  • if both these options disabled and test checks server status only (connect, login and logout), Reply value will contain the test execution time (that shows the reply speed of the server).
  • Reply value is empty when the program cannot connect or login to server

IMAP


Some Internet mail servers support IMAP (Internet Message Access Protocol) for exchanging and manipulating e-mail. The IMAP test works much in the same way that POP3 test function to test IMAP compliant mail servers. The IMAP test performed by HostMonitor involves logging in to your mail server using an existing account and checking the status of the mailbox for that user. As option HostMonitor can check number of messages and size of messages for specified mailbox. If message count/size exceed specified limit, the program can start alert actions.
In addition to the common test parameters, the IMAP test has the following options:

Server
This is the name or IP address of the mail server that you want to test, usually in the form "mail.yourcom.com".

Port
The default IMAP port for unencrypted connection is 143; IMAP servers that support secured SSL connections usually accept connections using TCP port 993. If your server configured to use some non-standard port, specify port number using this property.

TLS
This option allows you to use secured and encrypted connection (SSL). You may set "None" option to use unencrypted connection, select "Implicit" or "Explicit" to use encrypted connection. Supported SSL protocols: TLS1, SSL3, SSL2 and PCT1.
Additional SSL options located on Misc page in the Options dialog.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

Login
HostMonitor will test the IMAP server by logging in to it using an existing account. In the user name field, supply the name of an account that can be used for testing. HostMonitor will log into the account and check the status of it's mailbox without accessing, modifying or deleting any of the messages held in it.

Password
Supply the password for the user account HostMonitor will log into during the test.


Check mailbox
You may mark this combobox and select one of the folowing options to check mailbox parameters.

Mailbox
Specify name of the mailbox to check.

Filter
Here you may tell HostMonitor to scan all messages in the mailbox or scan for messages with specific flag by choosing one of the following options
- All messages
- Recent
- Answered
- Unanswered
- Flagged
- Unflagged
- Seen
- Unseen
Note: Recent option tells HostMonitor to check for messages that were received since last test probe (last check by HostMonitor).


Alert when mailbox contains more then [NN] messages
Select this option and specify the limit amount of messages in the mailbox. When this limit is reached, HostMonitor will change test status to Bad.

Alert when total size of messages bigger than [NN] MB
Select this option and specify the size limit of all messages in the mailbox. When this limit is reached, HostMonitor will change test status to Bad.

Alert when there are messages older than [NN] min
If you choose this option, HostMonitor will search for e-mail messages older than specified time limit. If any "old" e-mail detected, HostMonitor will set "Bad" test status and display number of such messages. Note: you may use "Optional status processing" options to modify test status depending on number of messages or some other conditions.

Note: Value of the 'Reply' field depends on the test settings:

  • if test checks number of messages, HostMonitor will display number of messages.
  • if test checks total size of messages, HostMonitor will display total size of messages
  • if 'check mailbox' options disabled and test checks server status only (connect, login and logout), Reply value will contain the test execution time (that shows the reply speed of the server).
  • Reply value is empty when the program cannot connect or login to the server

E-Mail


This versatile test may check mailbox on target server using POP3 or IMAP protocol including encrypted connections (supported SSL protocols are TLS1, SSL3, SSL2 and PCT1).
You may setup test to check for "bad" and optionally for "good" e-mails by verifying sender's address, recipient's address, e-mail subject and body of the mail. You may check each parameter for specific string(s); also you may perform various check based on data retrieved from XML documents.
In addition to the common test parameters, for this test you should specify the following options:

Server
The name or IP address of the mail server

Protocol
HostMonitor supports IMAP (Internet Message Access Protocol) and POP3 (Post Office Protocol version 3) protocols. Select the one supported by your server.
If both protocols supported by the server and a lot of mails can be stored in specified mailbox, we recommend to use IMAP protocol, it provides more efficient options for search operations.

Mailbox
Specify name of the mailbox to check (unused for POP3 servers).

Login
Provide account name that will be used for testing.

Password
Supply the password for the account specified above.

Port
The default POP3 port for unencrypted connection is 110; POP3 servers that support secured SSL connections usually accept connections using TCP port 995.
The default IMAP port for unencrypted connection is 143; IMAP servers that support secured SSL connections usually accept connections using TCP port 993.
If your server configured to use some non-standard port, specify port number using this property.

TLS
This option allows you to use secured and encrypted connection (SSL). You may set "None" option to use unencrypted connection, select "Implicit" or "Explicit" to use encrypted connection.
Supported SSL protocols: TLS1, SSL3, SSL2, PCT1.
Additional SSL options located on Misc page in the Options dialog.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).


Filters for Bad and Good e-mails

When you setup E-Mail test item, you should setup filters that separate "Bad" and "Good" mails.

When HostMonitor detects new mail that fits "Bad" filter conditions, it changes status of the test item to "Bad". Note: here "new" means mail that was received by mail server after last test probe.
When test status changes back to "Ok"? This behavior depends on the following options:

  • set "Ok" status when no new "Bad" mails detected
    HostMonitor will assign "Ok" status to the test item, when subsequent test probe will not detect any new "Bad" mail

  • set "Ok" status when new "Good" mails detected
    Status of the test item will be changed to "Ok" when HostMonitor finds new mail that fits "Good" filter conditions.

  • set "Ok" status by acknowledgement (manually)
    With this option chosen, test item will remain "Bad" until operator acknowledge status (then status will be changed to Ok)

If you choose "set Ok status when no new Bad mails detected" or "set Ok status by acknowledgement (manually)" options then "Good" filter is not used. If you choose "set Ok status when new Good mails detected" option, you should specify both ("Bad" and "Good") filters.


Filters:

There are 2 sets of conditions in the E-Mail Test Properties dialog - "Bad" and "Good" filters. If some mail matches neither "Bad" nor "Good" filter, mail is ignored by the test (however the same e-mail can be processed by another E-Mail test item that checks the same mailbox with different filters in use). Mail passes the filter only when it matches ALL specified requirements of the filter.

Both filters provide exactly the same set of options. So, let's describe the conditions for "Bad" filter. Here you may mark one or several of the following options
Check sender Tells HostMonitor to check e-mail sender
Check recipient   Tells HostMonitor to check e-mail recipient
Check subjectTells HostMonitor to check e-mail subject line for specific string(s)
Check bodyTells HostMonitor to check e-mail body for specific string(s) or specific data within XML document

For any of these options you may choose "check for string" or "check for expression" mode. Also, for e-mails with body that contains data in XML format, you may choose "check for XML data" mode, provide XPath and specify additional filters to check result set. You may check row count, check field value in 1st row, check value of any row or value of every row, check average value or sum of all values.

Check for string
With this mode selected HostMonitor simply checks e-mail parameter for specified string. When you check sender or recipient, you may use wildcard * at the beginning of the string (e.g. *@microsoft.com).
If you check subject line or e-mail body, you may not use wildcard. Instead you may use "Whole words only" option, it tells HostMonitor to search for words only. With this option disabled, the search string might be found within longer words.

Check for expression
If you choose "check for expression" mode, HostMonitor will consider the specified string as boolean (logical) expression and evaluate expression using e-mail parameters. In the expression you may use strings (must be put in quotes (') or in double quotes (")); round brackets; logical operators and, or, not.
For example if you set [Check body for expression ("<Price>" and "<Index>") and not ("Error" or "Warning")] option then e-mail will pass filter if mail body contains both strings "<Price>" and "<Index>", and doesn't contain either strings "Error" or "Warning".
If you specify expression like ('admin1@domain.com' or 'admin2@domain.com') for sender's address, e-mail will pass filter when sender is admin1@domain.com or admin2@domain.com.

Check for XML data
Using this mode you may provide XPath (that allows you to select some structures within XML document) and specify additional conditions to check result set. You may check row count, check data in 1st row, check any row or every row, check average value or sum of all values. E.g. you may setup HostMonitor to select all <temperature> fields and check temperature value for each item, starting alerts when value in every row > than 50.

XPath
XPath (XML Path Language) is a query language for selecting nodes from an XML document. by a variety of criteria. Before checking "alert" conditions HostMonitor may process specified XPath, this allows you to setup very flexible queries.
Examples:
 /farm/server/drive[last()] Selects the last "drive" element that is the child of the "server" element that in turn is child of the "farm" element
 /farm/server/cpu[temperature>80]   Selects all "cpu" elements (child of the "server" element that in turn is child of the "farm" element) that have a temperature element with a value greater than 80
 //drive[@type='fixed'] Selects all "drive" elements that have an attribute named "type" with a value of "fixed"

Alert when
This option specifies when exactly retrieved value(s) can pass "bad" (or "good") filter and appropriate alert actions should be started. There are 3 parameters should be provided: aggregation mode, compare mode and compare value.

Aggregation mode - specifies how HostMonitor should compare result data when query returns several rows. Choose one of the following option:
 Row count    Tells HostMonitor to calculate row count and compare number of the rows to the specified number
 1st row Tells HostMonitor to check only 1st retrieved counter
 Any row Tells HostMonitor to check each retrieved counter. If ANY counter matches specified compare condition, e-mail passes this check
 Every row Tells HostMonitor to check all retrieved counters. If EVERY counter matches specified compare condition, e-mail passes this check
 Average Tells HostMonitor to calculate average value of the counters and compare calculated average value to the specified number.
 Sum/Total Tells HostMonitor to calculate sum of the counters and then compare total value to the specified number.
Notes:

  • If there is single counter in result set then "1st row", "Any", "Every", "Average" and "Total" modes are equivalent (except "Average" and "Total" do not compare value to a string).
  • You may use Average and Total mode only with numeric data

Compare mode: HostMonitor compares calculated value with a specified number or string. The following compare modes are supported:
  • less than the specified number
  • greater than the specified number
  • equal to the specified value (number or string)
  • different from the specified value (number or string)
  • contains the specified string
  • doesn't contain the specified string

Note: HostMonitor does not check mail body part when its size is over 128KB


Additional options

Report about latest bad/good mail
If several bad/good mails were received since previous test probe, this option tells HostMonitor to use most recent mail for test result.
Report about all bad/good mails
If several bad/good mails were received since previous test probe, this option tells HostMonitor to change test status according to each e-mail that passes filters.

Remove e-mail after test
This option tells HostMonitor to remove e-mails that fit specified filter (remove e-mail after test probe is complete).
Important note: If this option disabled and several "bad" or "good" e-mails can be received by the server within single second then HostMonitor will detect only 1st of these mails.

Display
Using this option you may choose what information should be displayed in Reply field of the test:
- Test time
- Sender address
- Recepient address
- Subject
- First line of the mail
- Last line of the mail
- Detected line (this option available when "check body" option is enabled)
- Previous (to detected) line
- Next (to detected) line
(last 2 options available when you check mail body for a string, not XML data)

There are some variables specific to E-Mail test, you may use these variables as parameters of actions assigned to such test items.

Note: If you assign "Execute HM Script" action to E-Mail test, then you may send e-mail with HM Script commands to HostMonitor and HostMonitor will execute your e-mail as a script. So you may setup HostMonitor to inform you about problems by e-mail and you may respond to HostMonitor by e-mail as well. E.g. you may pause some test items or acknowledge status of failed items. Even more: HostMonitor may send you back confirmation. See HMScript and multiline variables for details.

Mail Relay


Mail Relay test method was designed to monitor a chain of mail servers. HostMonitor sends an e-mail through the specific mail server and then checks when the message becomes available in target mailbox. HostMonitor sends special mail using SMTP protocol and checks the target mailbox using POP3 or IMAP protocol.
In addition to common test parameters, for this test you should specify the following options:

Outgoing mail server
The following group of parameters specifies the mail server that receives e-mail from HostMonitor and sends message to a target mailbox (directly or through a chain of other mail servers).

Protocol
HostMonitor sends e-mail messages using SMTP protocol only.

Host
Provide the name or IP address of the mail server.

Port
The default port for SMTP protocol is 25. However you can specify a non-standard port (if it is known that your mail server uses such port)

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

Authentication
HostMonitor supports and automatically recognizes Plain, Login and Cram-MD5 authentication schemes. It also works with SMTP servers that do not require any authorization.

Login
Specify the login name. You may create special e-mail account for testing purpose (an account that will be used by HostMonitor only), or you may use any of the existing user accounts. If your SMTP server does not require authorization, keep this field blank.

Password
Supply the password for the account specified above.


Incoming mail server
This group of parameters specifies the target server that should receive e-mail messages.

Protocol
HostMonitor supports IMAP (Internet Message Access Protocol) and POP3 (Post Office Protocol version 3) protocols. Select the one supported by your server.

Host
The name or IP address of the server that should receive test messages.

Port
The default POP3 port for unencrypted connection is 110; POP3 servers that support secured SSL connections usually accept connections using TCP port 995.
The default IMAP port for unencrypted connection is 143; IMAP servers that support secured SSL connections usually accept connections using TCP port 993.
If your server configured to use some non-standard port, specify port number using this property.

TLS
This option allows you to use secured and encrypted connection (SSL). You may set "None" option to use unencrypted connection, select "Implicit" or "Explicit" to use encrypted connection. Supported SSL protocols: TLS1, SSL3, SSL2 and PCT1.
Additional SSL options located on Misc page in the Options dialog.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

Mailbox
Specify name of the mailbox to check (unused for POP3 servers).

Login
HostMonitor tests the IMAP/POP3 server by logging in to it and checking status of the previously sent mail. In the Login field you should provide the name of an account that will be used for testing.
You may use an existing (user's) account - HostMonitor will log into the mailbox, check the status of special test mail and remove this mail without accessing, modifying or deleting any of the user's messages held in it.
However we recommend creating a special account to be used by HostMonitor only. In latter case test messages will not confuse users.

Password
Supply the password for the account specified above.


Mail
Here you should provide the e-mail addresses of the sender and recipient. In some cases you may use the same address in both fields.

From
Specify the email address of the sender (HostMonitor). You may create special account for testing purposes (an account that will be used by HostMonitor only), or you may use any valid address here (e.g. hostmonitor@our-domain.com).

To
Address of the recipient. You may use an e-mail address of existing user; HostMonitor will log into the mailbox, check the status of special mail and remove this mail without accessing, modifying or deleting any of the user's messages held in it.
However we recommend creating a special account to be used by HostMonitor only. In latter case testing messages will not confuse users (e.g. hostmonitor@our-remote-mail-box.com).


Alert
The following options define how HostMonitor should perform the test

Alert when incoming mail server does not receive mail within N sec
With this option selected HostMonitor will send e-mail through the specified SMTP server then wait N seconds and check the target mailbox on POP3 or IMAP server. If the target server has not received the mail then the status of the test item will be changed to "Bad" and appropriate action profile will be executed. If the mail has been received, HostMonitor sets "Ok" status and removes the message. Also it removes all obsolete messages (if any). "Obsolete messages" are those that were sent during previous test probes but were not delivered on time.
Use this option if your mail system pretty fast and messages can be delivered within a minute or so.

Alert when incoming mail server does not receive mail before next checking cycle
With this option selected HostMonitor first logs into "incoming" server to check if the target mailbox has received the test mail that was sent by previous test probe. If the mail was received, HostMonitor sets "Ok" status and removes the message; otherwise "Bad" status will be set.
Then HostMonitor sends new mail that will be checked by next test probe. Time of the next probe depends on the test interval and assigned schedule (specified in Test Properties dialog). Note: if test item has been assigned as Master test for other test items, it might be executed more often (see "Consider status of the master test obsolete after N seconds" option on Behaviour page in the Options dialog). Also "Refresh" command will force HostMonitor to execute the test immediately.
So if you choose this option, each test probe will look for mail that was sent by previous probe. Use this option when your mail system needs several minutes to deliver the mail.

Of course when incoming or outgoing server does not accept connection at all or it is impossible to pass server authentication using specified account, HostMonitor sets an appropriate test status and triggers assigned alert profile.

TCP


The TCP test provides you with the ability to monitor TCP based servers such as Whois, Finger, Telnet, Chargen, etc. Please note, that you may check SMTP, POP, IMAP, DNS, LDAP, HTTP/HTTPS, and FTP servers using dedicated SMTP, POP, IMAP, DNS, LDAP, URL, HTTP tests.
In addition to the common test parameters, the TCP test has the following options:

Host
Here you should provide the domain name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the host that should process the TCP connection.. Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.
Also, a range of IPv4 addresses (e.g. 10.10.1.100 - 10.10.1.254) rather than a single address can be specified. In this case, HostMonitor will create a separate test for each of the addresses within that range.

Port
Specify the port number on which the host is listening for incoming TCP packets. E.g. Telnet servers use port #23, Whois servers uses port #43, etc. For a list of conventional port numbers click the button to the right of the port number box.

Timeout
Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server. If this value is 0 (default value), HostMonitor uses the default Windows timeout.

The following optional parameters allow you not only to check whether the connection could be accepted by remote server but also allow to send some data to that server and check the response from it.

Send data
If you want to send data to the host (after TCP connection established), mark this option and enter the packet data. If you need to send binary data, use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. HELLO%0D%0A would send HELLO followed by a character ASCII 13 (line feed) and ASCII 10 (new line).

Alert when
To check the reply from the server, mark this option and choose one of the conditions to consider result of the test as "Bad":
- no reply HostMonitor will set "No answer" status when no reply from the server received and set test status to "Host is alive" when any reply received
- any reply HostMonitor will set "Ok" status when no reply from the server received and set test status to "Bad" when any reply received
- reply contains HostMonitor will set "Bad" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
- reply doesn't contain   HostMonitor will set "Ok" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.
- reply equal to HostMonitor will set "Bad" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
- reply not equal to HostMonitor will set "Ok" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.

Compare with
HostMonitor can compare data that was received from the server with specified string (use "Alert when" option to choose compare condition). As in "Send data" field you can use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. "October%00%00"

UDP


The UDP test provides you with the ability to monitor UDP based servers such as TFTP, SNTP, Daytime, etc. Please note, to check DNS, NTP, and RADIUS servers you can use dedicated DNS, NTP, and RADIUS tests.
In addition to the common test parameters, the UDP test has the following options:

Server
Here you should provide the domain name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the host that should process the UDP data packet. Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify the port number on which the host is listening for incoming UDP packets. E.g. TFTP servers use port #69, SNTP servers use port #123, Daytime servers use port #13, etc

Retries
Set the number of times HostMonitor will resend data to the server before test fails.

Timeout
Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server.

Packet to send
Enter the packet data that should be sent to the host. Because most UDP servers accept binary data, you may need to use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. HELLO%0D%0A would send HELLO followed by a character ASCII 13 (line feed) and ASCII 10 (new line).

Alert when
Choose one of the conditions to consider result of the test as "Bad":
- no reply HostMonitor will set "No answer" status when no reply from the server received and set test status to "Host is alive" when any reply received
- any reply HostMonitor will set "Ok" status when no reply from the server received and set test status to "Bad" when any reply received
- reply contains HostMonitor will set "Bad" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
- reply doesn't contain   HostMonitor will set "Ok" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.
- reply equal to HostMonitor will set "Bad" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
- reply not equal to HostMonitor will set "Ok" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.

Compare with
HostMonitor can compare data that was received from the server with specified string (use "Alert when" option to choose compare condition). As in "Packet to send" field you can use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. "October%00%00"


Examples:

To check your TFTP server fill up test parameters with following values:
  Server: address of the server
  Port: 69
  Alert when: no reply
  Packet to send:   %00%01filename%00%00netascii%00
where filename is the name of the file on the server. We recommend provide incorrect (fake) name of the file.

To check SNTP server fill up test parameters with following values:
  Server: address of the server
  Port: 123
  Alert when: no reply
  Packet to send:   %0B%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
Yes, string must be so long because request packet must contain 48 bytes

NTP/SNTP


The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the global Internet. Using NTP/SNTP test you can easily check you NTP/SNTP server.
In addition to the common test parameters, the NTP test has the following options:

Server
Here you should provide the host name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the destination host that should receive and process the request from HostMonitor. Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify the port number on which the host is listening for incoming packets. By default NTP servers using port #123.

Retries
Set the number of times HostMonitor will resend data to the server before test fails.

Timeout
Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server.

Alert when difference in time greater than XX sec
With this option enabled HostMonitor will mark test item as "Bad" when difference in time between the server and local system greater than specified value. If this option is disabled HostMonitor will set test's status to "Host is alive" when any correct response received from the server.

Display mode
This parameter defines what HostMonitor will display in "Reply" field. Choose one of the following options:

  • Reply time - display time required to send request and receive reply from the server
  • Remote time - display server's system time (Coordinated Universal Time)
  • Difference in time - display difference in time between server and local system

DNS

The DNS test acts as a low-level resolver and connects directly to the target name server to perform a query. This means that the test is completely independent of the host files, DNR cache, etc.
In addition to the common test parameters, the DNS test has the following options:

Server
Here you should provide the domain name (e. g. DNS1.IU.EDU) or IP address (e. g. 204.71.200.68) of the machine running the DNS server that you wish to monitor. Using a domain name in the "Server" field requires that the domain name be resolved before the Domain Name Server can be tested, creating ambiguity in testing. It is better to enter the IP address of your Domain Name Server, as opposed to the domain name, so that the test will always report the correct error if the DNS fails.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. DNS1.IU.EDU::ipv4 or NS-AOA.ES.NET::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Protocol
Select the protocol to use: TCP or UDP

Port
The default test port is 53, but you can specify a non-standard port. For a list of conventional port numbers click the button to the right of the port number box.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails.

Request / Request type
Use these options to specify the domain name that should be requested from DNS server and type of the request. You may choose one of the following requests:
  • A type request - request for IPv4 (IP version 4) address of the host
  • AAAA request - request for IPv6 (IP version 6) address of the host
  • CNAME - canonical name request
  • NS - authoritative server request
  • MX - mail routing information requests
  • TXT - text records
  • SPF - Sender Policy Framework records
Note: you may specify protocol used for communication (IPv4 or IPv6) and type of the request (A or AAAA) completely independently. E.g. HostMonitor may connect to DNS server 204.71.200.68 using IPv4 protocol and retrieve AAAA (IPv6) record or it may send request to host fe80::370:ff56:fed5:22 using IPv6 protocol and retrieve A (IPv4) record.

Test result for
If you are using "A" type request, you can define the IP address that will be compared with the address returned from the DNS server being tested. You can use "Test" button to have HostMonitor fill in this field, or you can enter the expected IP address yourself.
Similarly you may check results of CNAME, NS, MX, TXT and SPF requests.

DHCP


The DHCP test allows you to monitor DHCP servers. HostMonitor verifies the DHCP server by sending request for IP address. HostMonitor sets "Host is alive" status when DHCP server properly responds within specified timeout, whatever it replies with NAK or ACK packet. Otherwise HostMonitor may set "Bad" (invalid reply from server) or "No answer" status.
In addition to the common test parameters, the DHCP test has the following options:

Host
This is the domain name or IP address of the machine running the DHCP server that you wish to monitor.

Timeout
This is the amount of time in milliseconds the program will wait for a response from the server before the request fails.

Request IP
Here you may specify IP address that will be requested or keep default value <current local IP>

LDAP


This test is used to check Directory Servers using the LDAP (Lightweight Directory Access Protocol). To perform this test HostMonitor connects and binds to the directory server. If the Password property has a value, it is used for authentication. As an option HostMonitor can perform Search operation using specified base object and search filter.
In addition to the common test parameters, the LDAP test has the following options:

Server
This is the name or IP address of the LDAP server you want to test.
Note: when you setup LDAP test for LDAP server that accepts connection on non-standard port but does not support any SSL option, you may add "::sslnone" suffix to hostname (e.g. you may specify target hostname as primaryDC.mycompany.com::sslnone or 10.10.5.1::sslnone)

Port
The default LDAP port port for unencrypted connection is 389. LDAP servers that support secured SSL connections usually accept connections using TCP port 636 (supported SSL protocols: TLS1, SSL3, SSL2, PCT1).
If your server configured to use some non-standard port, specify port number using this property.
Additional SSL options located on Misc page in the Options dialog.

Timeout
This is the amount of time in seconds the program will wait for a response from the server before the request fails.

Login / Password
Specify the username and password used to authenticate to the LDAP server.

Perform Search operation
HostMonitor can perform search operation, to implement this behavior mark "Perform Search operation" option and define follow parameters:

Base object
The Distinguished Name used as the base for LDAP operations (in HostMonitor's case it's a base object during LDAP searches). The Distinguished Name is provided in string format as specified by RFC 1779.

Search filter
A string representation of the LDAP search filter used during searches. The format of the search filters is specified by RFC 1558 and is identical to the format used by most LDAP applications. The following are examples of search filters, as provided in the RFC:

  • (cn=Babs Jensen)
  • (!(cn=Tim Howes))
  • (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))
  • (o=univ*of*mich*)

Results limit
By default HostMonitor checks only result code returned by the server. If result code is 0 (success), HostMonitor sets "Host is alive" status. However if you want to check how many records server returns in response to search operation, use "Results limit" option. In this case HostMonitor will check number of records returned by the server and set "Bad contents" status when number of records below specified limit.

RADIUS


RADIUS test allows you to check Remote Authentication Dial-In User Service (RADIUS). In addition to the common test parameters, the RADIUS test has the following options:

Server
Here you should provide the host name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the destination host that should receive and process the request from HostMonitor. You RADIUS server must be configured to accept packets from the IP address of the machine on which HostMonitor is installed.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify the port number on which the host is listening for incoming packets. By default RADIUS servers using port #1812. However some RADIUS servers are still using port 1645 even though RFC 2138 notes the conflict with "datametrics" services. You may need to change 1812 to 1645, this will depend on your RADIUS server configuration.

Retries
Set the number of times HostMonitor will resend data to the server before test fails.

Timeout
Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server.

Login
Specify the name of the user to be authenticated. You can use invalid (fake) user name and set "Reject reply is Good" option. In this case HostMonitor will mark test as "bad" and start alert actions only when no reply received. If any reply from the server will be received, HostMonitor will mark test as "Host is alive". Please note, for security reasons some RADIUS services will quietly discard invalid request packets. To check these servers you should specify correct user name and password.

Password
Specify the password of the user to be authenticated.

Secret
Provide a "shared secret". Transactions between the client and RADIUS server are authenticated through the use of a shared secret, which is never sent over the network. User passwords are sent encrypted between the client and RADIUS server, to eliminate the possibility that someone snooping on an unsecured network could determine user's password.

Reject reply is Good / Reject reply is Bad
Choose one of two options:

  • "Reject" reply is Good
    with this option enabled HostMonitor will set test's status to "Host is alive" when any reply received from the server
  • "Reject" reply is Bad
    with this option enabled HostMonitor will set test's status to "Ok" when "Access-Accept" packet received from the server (that means user was successfully authenticated on server). If any other response was received, the program will set "Bad" status. If no answer received, HostMonitor set status to "No answer"

Please note:
  1. You RADIUS server must be configured to accept packets from the IP address of the machine on which HostMonitor is installed.
  2. For some RADIUS servers you can use invalid (fake) user name and/or password and set "Reject reply is Good" option. In this case HostMonitor will mark test as "bad" and start alert actions only when no reply received. If any reply from the server will be received, HostMonitor will mark test as "Host is alive".
    However, for security reasons some RADIUS services will quietly discard invalid request packets. To check these servers you should specify correct user name and password.
DICOM


The Digital Imaging and Communications in Medicine (DICOM) standard was created by the National Electrical Manufacturers Association (NEMA) to aid the distribution and viewing of medical images, such as CT scans, MRIs, and ultrasound. http://medical.nema.org/
The DICOM test verifies end-to-end communications with a remote DICOM server by sending DIMSE C-Echo request to the remote host and listening for reply packets.
In addition to the common test parameters the DICOM test has the following options:

Host
Here you should provide the host name (e. g. medical.neman.org) or IP address (e. g. 204.71.200.68) of the remote DICOM server that you wish to monitor.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. medical.neman.org::ipv4 or medical.neman.org::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify a port number that is used by the DICOM server to listening for incoming connections.

Timeout
Specify a timeout interval in seconds.

Called AE-Title
Specify the destination DICOM Application Name.

Calling AE-Title
Specify the source DICOM Application Name.

RAS


The RAS check type useful for monitoring remote RAS server. With this test HostMonitor tries to connect to the server using specified dial-up connection, sets status of the test ("Ok", "Bad", "No answer", or "Unknown" depending on the connection result), and disconnects from the server.
In addition to the common test parameters, the RAS test has the following options:

Connection
Select from drop down list the remote access entry to establish the connection.

User name
Specify the user's name. This parameter is used to authenticate the user's access to the remote access server. If the user name is empty string (""), HostMonitor uses the user name of the current logon context for authentication. For a user-mode application, RAS uses the credentials of the currently logged-on interactive user. For a Win32 service process, RAS uses the credentials associated with the service.

Password
Specify the user's password. This parameter is used to authenticate the user's access to the remote access server. If the password is empty string (""), HostMonitor uses the password of the current logon context for authentication. For a user-mode application, RAS uses the credentials of the currently logged-on interactive user. For a Win32 service process, RAS uses the credentials associated with the service.

Save password
This option has sense only if Password parameter is not an empty string. Specifies whether to save the password (in the phone-book entry) for the user indicated by User Name parameter or not. If "Save password" option is disabled, the password will be removed. Disabling option is equivalent to checking the "Unsave Password" checkbox in Dial-Up Networking dialog.

Retries
Set the number of times the dial-up connection is automatically redialed if the first attempt to connect fails. HostMonitor does not perform second attempt in case connection failed because of the wrong user name or password. If you setup HostMonitor to check several servers using the single modem connected to your computer, it is good idea to set retries to 3 or more attempts and use Wait between retries option. In this case test that was started second (third, forth, etc) will wait for the first test to end and release modem.

Wait between retries
If attempt to dial fails, HostMonitor will wait specified amount of seconds before making another attempt. Of course this parameter makes sense only when Retries field set to 2 or more attempts.

After execution of a test HostMonitor can set one of four statuses:

  • "Ok" status HM sets when connection was successfully established (physical connection modem-to-modem, and network connection as well).
  • "Bad". There can be many reason for this status, e.g. wrong user name or password, some problems with RAS server, etc.
  • "No answer". The program uses this status when modem does not receive answer from remote modem.
  • "Unknown". This status HostMonitor sets when connection was not established because of a problem on local system, e.g. modem is used by another application. You can use "Treat Unknown status as Bad" option. With this option enabled, if test results cannot be obtained, actions are triggered by HostMonitor the same way as if the test returned a "Bad" status.

UNC


Check the UNC path (or local folder) for availability; for the total amount of free space; or for the amount of free space available to the current user (if the operating system implements per-user quotas, this value may be less than the total number of free bytes on the disk). For this test you have to specify the UNC path (or local folder) that you wish to be checked and select the condition for the alert:

  • when the resource is unavailable
  • when free space (for current user) is less than a specified value
  • when the total free space is less than a specified value

If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:
  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);

See also common test parameters

Drive Free Space


Both UNC and Drive Free Space test methods may check free disk space on local and remote systems but these methods work in different way and utilize different protocols.
Single UNC test may check single local or shared network resource using requests to file system.
Single Drive Free Space test may check several drives on target system and find drive with minimum free space or drive with minimal percentage of free space (e.g. you may setup test to check all removable drives plus disk C: and F:). Drive Free Space test method checks remote systems using WMI requests, this allows to check non-shared resources on remote Windows systems.

In addition to the common test parameters, Drive Free Space test has the following options:

Target host
Provide the host name (e.g. mainserver) or IP address (e.g. 192.168.1.55) of the host that you wish to check. Keep this field empty or type localhost when you want to check drives on system where HostMonitor (or RMA) is running.
Note #1: Connection Manager provides one convenient place to store account information necessary to perform connections to remote systems.
Note #2: if HostMonitor or RMA is started on VMware virtual Windows system and you setup test to check space on local CD/DVD disk, system may show popup window "There is no disk in the drive" when disk ejected. Solution: specify hostname or external IP address of the system instead of using "localhost" or "127.0.0.1" as host.

Then you may select one or several of the following options
- Check all local drivestells HostMonitor to check all fixed drives on target system
- Check all removable drives check all removable drives on target system (not including CD/DVD drives)
- Check listed drive(s) mark this option and provide drive list when you want to check specific drive(s) on target system, e.g. C,D,E,M

Alert if free space less than <N> MB/GB/TB/%
When HostMonitor checks several drives it finds drive with smallest amount of free space (or drive with minimal percentage of free space when "%" alert options is selected) and sets Ok or Bad test status depending on amount of free space and value of this option.
Also %DiskID% and %DiskLabel% variables can be used as parameters of the actions, providing information about target drive.

HDD SMART


S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) is a system included in hard drives, it provides various information regarding hard disk state and health.
Mechanical hard drive failures account for over 50% of all drive failures and most mechanical failures result from progressive wear. Usually there are certain indications that failure is imminent - these may include increased temperature, problems with reading and writing of data, increase in the number of damaged disk sectors, etc.
HostMonitor can check these parameters and warn you before catastrophic hard disk failure.
Note: usually its impossible to retrieve SMART data when HDD connected with USB or Firewire interface, also RAID controllers may monitor SMART data but do not provide SMART to upper level (OS, software).

In addition to the common test parameters, HDD SMART test offers the following options:

Basic options

Target host
Provide the host name (e.g. mainserver) or IP address (e.g. 192.168.1.55) of the host that you wish to check. Keep this field empty or type localhost when you want to check drives on system where HostMonitor (or RMA) is running.
Note #1: Connection Manager provides one convenient place to store account information necessary to perform connections to remote systems.
Note #2: Target system should be running Windows, RPC and WMI services should be started.

Select disk with highest...
HostMonitor scans all disks that provide SMART data and checks various parameters marked by hard disk vendor as life-critical parameter. If ANY critical parameter is out of "healthy" range, HostMonitor will select this disk as "bad" - set "Bad" test status, set various macro variables using data retrieved from this hard disk, start actions specified in assigned alert profile, etc
This option tells HostMonitor which disk should be selected when all life-critical parameters on all disks within "healthy" range. In such case HostMonitor will select disk with "worst" parameter (e.g. disk with highest temperature), set macro variables but it will keep "Ok" test status so you can monitor this "worst" disk using logs or reports but no "bad" actions will be triggered. You can choose one of the following parameters:
  - Temperature (C)
  - power-on hours
  - read error rate
  - spin-up time
  - spin retry count
  - # of command timeout errors
  - # of relocation pending sectors
  - # of relocated sectors
  - # of uncorrectable errors

Extra options

Do not check marked disks
If you enable this option, you may mark some disks to exclude them from check

SMART disk info

In addition to vendor-specific life-critical parameters you may set HostMonitor to check the following parameters and set your own "critical" threshold for each parameter.

Reallocated sectors count
Count of reallocated sectors represents a count of the bad sectors that have been found and remapped (this allows a drive with bad sectors to continue operation but affects performance). If reallocated sectors grow over time, you might encounter some serious problem.

Pending sectors count
Count of "unstable" sectors waiting to be remapped. If an unstable sector is subsequently read successfully, the sector is remapped and this value is decreased. Read errors on a sector will not remap the sector immediately (since the correct value cannot be read), instead, the drive firmware remembers sectors need to be remapped.
Some drives will not immediately remap such sectors; instead the drive will first attempt to write to the problem sector and if the write operation is successful then the sector will be marked good (in this case, the "Reallocated sectors count" will not be increased), as a result such drive may contain marginal sectors that consistently fail but the drive will never remap these problem sectors.

Uncorrectable sectors count
The total count of uncorrectable errors when reading/writing a sector. A rise in the value of this attribute indicates defects of the disk surface and/or problems in the mechanical subsystem.

Command timeout number
The count of aborted operations due to hard disk timeout. Normally this attribute value should be equal to zero and if the value is far above zero, then most likely there will be some serious problems with power supply or an oxidized data cable.

Spin retry count
Count of retry of spin start attempts. This attribute stores a total count of the spin start attempts to reach the fully operational speed (under the condition that the first attempt was unsuccessful). An increase of this attribute value is a sign of problems in the hard disk mechanical subsystem.

Disk Temperature
Current hard disk temperature (Celsius)

Power-on hours
Count of hours in power-on state. On some disks manufactured before 2005 this value may advance erratically and/or reset to zero periodically.

HostMonitor sets the following macro variables using data retrieved from selected hard disk:
  %DISK_NAME%
  %DISK_TEMP%
  %DISK_HOURS%
  %DISK_RELOCATED%
  %DISK_PENDING%
  %DISK_UNCORRECTABLE%
  %DISK_SPINUPTIME%
  %DISK_SPINUPRETRIES%
  %DISK_ERRORRATE%
  %DISK_TIMEOUTS%
  %DISK_ALERTREASON%
  %DISK_ALERTVALUE%

Top Hosts may show list of "top" hard disks:
  • oldest disks
  • hottest disks
  • worst disks - disks with highest number of relocated, pending and uncorrectable sectors

Folder/File Size


HostMonitor can check folder or file size. To add this task select the test type "Folder/File Size", enter the folder name and specify a maximum size. You can manually type in the complete path to the folder that you wish to test, or click on the "Browse" button to select the folder.
If you select the option "Include sub-folders", HostMonitor will calculate the size for the folder and all its sub-folders.
If you need to check some files that are dynamically created and do not have static name (e.g. some logs that are created on daily basis and have different file name every day), you may enable "Translate macros" options. With this option enabled you may use special date macro variables, file-specific variables and User Defined Variables in the path to the file.

If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:

  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);
  • on Windows system file masks * and *.* represent any file. On UNIX-like system only * represents any file; *.* can be used for any file that has dot (.) in the name;

See also common test parameters

Count Files


This test allows you to check number of files in the specified directory. Let`s say you have a mailserver that uses a spool directory. If the mail server is running correctly, it should deliver the mail within 5 minutes to the internet. Using Count Files test HostMonitor can check the number of files in the mail server`s spool directory and warn you when number of files exceed specified limit.
In addition to the common test parameters, the Count Files test has the following options:

Folder
Specify the directory in what you want to count the amount of files.

File name mask
Specify file name mask. Usually mask contains wildcard characters, e.g. use '*.*' mask to count all files in the folder; use '*.eml' mask to count files with .EML extension.

Translate macros
With this option enabled you can use special date macro variables, file-specific variables and User Defined Variables in the folder name and in the file name mask.

Include sub-folders
If the option is disabled, HostMonitor will count files directly in the specified folder. If the option is enabled, files in the specified folder and in all of its descending subfolders will be counted.

Conditions to count files
Specify additional condition to count files. Choose one of the options:

  • Count all files
  • Count files older than NN min
  • Count files newer than NN min
  • Count files bigger than NN bytes
  • Count files smaller than NN bytes
  • Count subfolders only

Alert when folder contains more than NN files
Specify limit for the file amount. When this limit is reached, HostMonitor will change test status to "Bad". If you need to start alert actions when file amount become lower than specified, use "Reverse alert" option.

If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:
  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);
  • on Windows system file masks * and *.* represent any file. On UNIX-like system only * represents any file; *.* can be used for any file that has dot (.) in the name;

Folder/File Availability


HostMonitor can check for a file that MUST exist each time a test is run, or can check for a file that MUST NOT exist each time a test is run. Select "Folder/File Availability" as the test type and enter the file or folder name. You can manually type in the complete path and filename that you wish to test, or click on the "Browse" and you will be presented a dialog for selecting a file.

If you need to check some files that are dynamically created and do not have static name (e.g. some logs that are created on daily basis and have different file name every day), you may enable "Translate macros" options. With this option enabled you may use special date macro variables, file-specific variables and User Defined Variables in file name.

Also you can set additional conditions and HostMonitor will start alert action only when file older (newer) than NN min (hours, days, etc.)

If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:

  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);
  • on Windows system file masks * and *.* represent any file. On UNIX-like system only * represents any file; *.* can be used for any file that has dot (.) in the name;

See also common test parameters

File Integrity


HostMonitor can check the integrity of your files and starts alert actions when it finds changes. This is done by calculating the CRC (Cyclic Redundancy Check) of the file and comparing it against a previously obtained value. Select "File Integrity" as the test type and enter the file name. You can manually type in the complete path and filename that you wish to test, or click on the "Browse" button. Click the "Calculate CRC" button and the program will calculate and store the CRC for this file.

Recalculate CRC when file content changes are detected
With this option enabled, the new checksum will be recorded every time when changes in the file are detected, so the test will return to "Good" status until the checksum changes again.

If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:

  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);

See also common test parameters

Text Log

This test is useful when you need to check log files created by another application. Unlike "Compare Files" test that warns you when any part of a file contains some specific string the Text Log test warns you only when the string is found in a NEW record. It means that if log file already has "bad' records when you started HostMonitor, you will not receive any alerts; but if any new "bad" record will be added to the log file while HostMonitor is running, you will receive a warning about the new problem. So the Text Log test works like NT Event Log test but it checks text files instead of NT Event Log Database.
In addition to the common test parameters, the Text Log test has the following options:

Target file

File
Provide name (with full path specified) of the file that has to be checked. You can manually type in the filename that you wish to monitor, or click on the "Browse" button to select the file.
You may use wildcards in the name of the file (e.g. c:\logs\2004*.log), in this case 1st matched file will be checked.

If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:
  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);

Translate macros
You may need this option if an application changes log file at regular intervals, e.g. daily or monthly. With this option enabled you may use special date macro variables and User Defined Variables in the file name (e.g. %dd% represents current day as a number with a leading zero 01..31)

Encoding
Use this option to tell HostMonitor what encoding is used for the file. HostMonitor supports several encoding methods:
  • ASCII
  • UTF-8
  • UTF-16
  • UTF-16 big endian
  • UTF-32
  • UTF-32 big endian

Note 1 (file encoding)
  ASCII - each character represented by single byte;
  UTF-8 - variable-length character encoding for Unicode;
  UTF-16 - all characters in the Basic Multilingual Plane encoded by 2 bytes;
  UTF-32 - each Unicode character is represented by exactly 4 bytes.

Note 2 (Unicode support): HostMonitor gets information regarding current code page used on the system when you setup test item. If you check Unicode file, HostMonitor translates string to Unicode using stored code page.

Note 3 (RMA for UNIX): current version of RMA for UNIX supports ASCII encoding only. This will be improved in future version.


Filters for Bad and Good records

When you setup Text Log test item, you should setup filters that separate "Bad" and "Good" records.

When HostMonitor finds new message that fits "Bad" filter conditions, it changes status of the test item to "Bad"

  • Note1: here "new" means record that was recorded after last test probe.
  • Note2: HostMonitor does not check records that were added while HostMonitor was not started or Text Log test item was not created yet.

When test status should be changed back to "Ok"? This behavior depends on the following options:
  • set "Ok" status when no new "Bad" records detected
    HostMonitor will assign "Ok" status to the test item, when subsequent test probe does not detect new "Bad" event (text log does not contain new events at all or none of new events meet conditions of the "Bad" filter).

  • set "Ok" status when new "Good" records detected
    Status of the test item will be changed to "Ok" when HostMonitor finds new event that fits "Good" filter conditions.

  • set "Ok" status by acknowledgement (manually)
    With this option chosen, test item will remain "Bad" until operator acknowledge status (then status will be changed to Ok)
If you choose "set "Ok" status when no new "Bad" records detected" or "set "Ok" status by acknowledgement (manually)" options then "Good" filter is not used by the test item.
If you choose "set "Ok" status when new "Good" records detected" option, you should specify both ("Bad" and "Good") filters.


Filters:

There are 2 sets of conditions in the Text Log Test Properties dialog - "Bad" and "Good" filters. If some log record in the file matches neither "Bad" nor "Good" filter, record is ignored by the test item (however the same record can be processed by another Text Log test item that check the same file with different filters in use).

Both filters provide exactly the same set of options. So, let's describe the conditions for "Bad" filter:

Look for
  • string: with this option selected HostMonitor will check records in a log file for a specified string. If new record contains specified data, HostMonitor will change status of the test to "Bad"
  • expression: with this option selected HostMonitor will check log records using a boolean (logical) expression. Status of the test will be set to "Bad" when the text in the record satisfies the required conditions. In the expression you may use strings (must be concluded in quotes (') or double quotes (")); round brackets; logical operators "and", "or", "not".
    For example: if you define expression like ('error' or 'warning') and not '16536', then HostMonitor will mark test as "Bad" when line in the log contains string 'error' or 'warning' and does not contain string '16536'

Options:
Case sensitive
With this option enabled search is case sensitive
Whole words only
Search for the whole words only. With this option disabled, the search string might be found as a part of a word.
Macros
With this option enabled you may use user defined (global) and date&time macro variables in the "look for" string/expression


Scanning mode

Warn of last new event
With this option enabled HostMonitor will scan (starting from the end of the log file) all events that were added into a log file since after the previous test. When the test finds a first "Bad" new record the test receives "Bad" status and HostMonitor performs specified alert action if it was specified. For example: if HostMonitor performs test every 10 minutes and 3 "Bad" events occurred within this time interval, HostMonitor will report only about the last one (because it scans starting from the end of file). This option is useful when you check for some specific event and don't need many messages about the same recurring error.

Warn of all new events
In opposite to previous mode, with this option enabled HostMonitor will inform you about each event that satisfies specified requirements. This option is useful when you use one test item to check for different error events (usually you will use "Repeat: until status changes" option for appropriate alert actions).

Consider, for example, there are 3 new records were added into log file: "bad", "bad" and "good". If all 3 records were added within short time interval (between 2 consecutive test probes), how the monitor behaves depending on test settings?


Used options    


Behavior
- Set "Ok" status when no new "Bad" records detected
- Warn of last new event

  1. HostMonitor sets "Bad" status because there is "Bad" event detected; increments or resets Recurrences counter (depending on previous test status); if necessary, starts actions assigned to the test item (depending on action settings)

Used options


Behavior
- Set "Ok" status when no new "Bad" records detected
- Warn of all new events

  1. HostMonitor sets "Bad" status; increments or resets Recurrences counter (depending on previous test status); if necessary, starts actions assigned to the test (depending on action settings)
  2. HostMonitor keeps "Bad" status, increments Recurrences counter because 2nd "Bad" event detected; starts actions if necessary

Used options


Behavior
- Set "Ok" status when new "Good" records detected
- Warn of last new event

  1. HostMonitor sets "Ok" status because last event fits "good" filter; increments or resets Recurrences counter (depending on previous test status); starts actions assigned to the test if necessary (depending on action settings)

Used options


Behavior
- Set "Ok" status when new "Good" records detected
- Warn of all new events

  1. HostMonitor sets "Bad" status; increments or resets Recurrences counter (depending on previous test status); if necessary, starts actions assigned to the test item (depending on action settings)
  2. HostMonitor keeps "Bad" status, increments Recurrences counter because 2nd "Bad" event detected; starts actions if necessary
  3. HostMonitor sets "Ok" status, resets Recurrences counter and starts actions if necessary



Info to display

Display
Specifies what information HostMonitor should display in the reply field of the test item when the "bad" (or the "good") record is detected in the log file:
  • found line
  • offset of the found string in the file
  • file size

Filter
When you chose "found line" mode you may apply additional filter to the select part of the line to display:
  • display entire line
  • display word #N
  • display word #N counting from the end of line
  • display text from word #N1 till word #N2
  • display text from pos #N1 till pos #N2

Words separated by
This option allows you to choose word separator:
  • space or tabs
  • tabs
  • comma
  • semicolon

Compare Files

You can use this test to compare two files or to search a string in the file. 6 alert conditions are available:
  • alert when files are different
  • alert when files are identical
  • alert when 1st file contains 2nd (in any position)
  • alert when 1st file does not contain 2nd
  • alert when file contains a specified string
  • alert when file does not contain a specified string

You can specify one or more parameters to compare files: compare time, compare size, compare contents. If you set "compare contents" option but don't set "compare size" option, HostMonitor will consider two files are identical when one file includes another one at offset 0 (one file can be smaller then another one).

If you need to check some files that are dynamically created and do not have static name (e.g. some logs that are created on daily basis and have different file name every day), you may enable "Translate macros" options. With this option enabled you may use special date macro variables, file-specific variables and User Defined Variables in file name.

When you use Compare Files test to check file for some specific string, you should tell HostMonitor what encoding was used for the file. HostMonitor supports several encoding methods:

  • ASCII
  • UTF-8
  • UTF-16
  • UTF-16 big endian
  • UTF-32
  • UTF-32 big endian

Note 1 (file encoding)
  ASCII - each character represented by single byte;
  UTF-8 - variable-length character encoding for Unicode;
  UTF-16 - all characters in the Basic Multilingual Plane encoded by 2 bytes;
  UTF-32 - each Unicode character is represented by exactly 4 bytes.

Note 2 (Unicode support): HostMonitor gets information regarding current code page used on the system when you setup test item. If you check Unicode file, HostMonitor translates string to Unicode using stored code page.

Note 3 (UNIX): If you want to perform the test using an agent installed on UNIX-like system, you should have in mind:
  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);
Also note: current version of RMA for UNIX supports ASCII encoding only. This will be improved in future version.


See also common test parameters

Process


A process, in the simplest terms, is an executing program. HostMonitor can control specified process on local or remote computer and start alert actions if number of instances of the specified process is out of the defined range. To control processes on a remote computer you must have the rights to do that (administrator privilege on the remote computer).
In addition to the common test parameters the Process test has the following options:

Computer name
Specify name of the target computer (the target computer name must be prefixed by "\\"), or select the "<local computer>" item. You can use the "Browse network" button to select a computer from the list.

Process
Type name of the process to check, or select a process from the drop-down list. Also select lower and/or upper limit amount of running instances of the specified process, when the limit is reached HostMonitor will mark the test status as Bad.

Connect as
To check process on remote system you can mark this option and provide a username and a password for a connection to the target computer.

Note #1 (Windows): To monitor processes on a remote Windows NT* system, make sure you have the Remote Registry service started on the remote system (to monitor processes HostMonitor must have access to the registry). Windows NT 4.0 does not have this service installed by default, however you can find this service in the Resource Kit for Windows NT 4.0.
Here "Windows NT" means system based on NT technology, including Microsoft Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008, Windows 7.

Note #2 (UNIX): To check UNIX systems you may use Remote Monitoring Agent installed on UNIX-machine. Current version of RMA does not use "Computer" and "Connect as" parameters of the test and checks the system where agent is running.

See also:
- Dominant Process test method
- Process Meter application

Service


Microsoft Windows NT* supports an application type known as a service. It can be started automatically at system boot, by a user through the Services control panel applet, or by an application that uses the service functions. Services can execute even when no user is logged on to the system.
Here "Windows NT" means system based on NT technology, including Microsoft Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 and Windows 7.

To test services, HostMonitor establishes a connection to the service control manager on the specified computer and requests the service to update immediately its current status information. If the service has not been started or the service does not answer HostMonitor will start the specified alert actions.
Note: To test services on a remote computer you must have appropriate privileges.

In addition to the common test parameters the Service test has the following options:

Computer name
Specify name of the target computer (the target computer name must be prefixed by "\\"), or select the "<local computer>" item. You can use the "Browse network" button to select a computer from the list.

Service
Type name of the service to check, or select a service from the drop-down list.
Also you may open "Choose service to monitor" dialog that displays list of all services on target system. It shows service name (short name), its long name, service status and type of the service. Also you may setup filter, e.g. display only running services or do not show kernel drivers.
Note: when you setup NEW Service test item, dialog allows you to select several services; in such case HostMonitor will create separate test item for each selected Windows service

Connect as
To check service on a remote system you can mark this option and provide a username and a password for a connection to the target computer.

NT Events Log


Event logging in Microsoft Windows provides a standard, centralized way for applications (and the operating system) to record important software and hardware events. The event-logging service stores events from various sources in a single collection called an event log. HostMonitor can check this log and start alert actions if some specific events occur.
In addition to the common test parameters the NT Event Log test has the following options:

Compatibility
For each test item you may choose "Windows NT API" or "Windows Vista+ API" mode. If HostMonitor is started on Windows Vista, Windows 2008 or Windows 7 and target host uses one of these operational systems as well, we recommend using "Windows Vista API" mode. Otherwise you should use "Windows NT API" mode that works fine for Windows 2000, Windows XP and Windows Server 2003 as well.
Note: if you switch mode for existing test, HostMonitor will consider such modified test as new item and ignore "old" events.

Computer
The Universal Naming Convention (UNC) name of the server on which the event log is to be opened (the target computer name must be prefixed by "\\"). Type the UNC or select the "<local computer>" item, also you can use the "Browse network" button to select a computer from the list.

Event Log (Channel)
Provide name of the event log that will be checked by HostMonitor. This can be the Application, Security, or System log, or a custom registered log.
Note: "Log" vs. "Channel"
Starting from Windows Vista, events use the concept of "event channels" instead of "event logs" used for downlevel platforms. From HostMonitor's "poing of view" channels and logs are interchangeable. The Windows Vista/2008 backwards compatibility logs are named the same as they were on downlevel platforms (Application, Security, etc).
The only tricky thing to note about the channels in Vista/Server 2008 is that the folder structure in the Windows Event Viewer application does not necessarily match correct channel name (Windows Event Viewer changes channel names to present them in nicer form).

Event Source (Publisher)
Select the source of events (application, service, driver, subsystem). If you leave this field blank, HostMonitor will check events from all sources.
Also you may specify event source using * as wildcard at the end of the string. E.g. if you type "MsExchange*", HostMonitor will check for events produced by "MsExchangeIS", "MSExhange ActiveSync", "MSExchange ADAccess", etc

Connect as
To check an Event Log on the remote system you can mark this option and provide a username and a password for a connection to the target computer.


Alert conditions:

Event Log Test Properties dialog When you setup test item using Event Log Test Properties dialog, you should provide filters (one or more conditions) that will separate "Bad" and "Good" events. Event passes the filter only when it matches ALL specified requirements of the filter.

When HostMonitor finds new* message that fits "Bad" filter conditions, it changes status of the test item to "Bad".



When test status should be changed back to "Ok"? This behavior depends on the following options:
  • set "Ok" status when no new "Bad" events detected
    HostMonitor will assign "Ok" status to the test item, when subsequent test probe does not detect new* "Bad" event (event log does not contain new events at all or none of new events meet conditions of the "Bad" filter).

  • set "Ok" status when new "Good" event detected
    Status of the test item will be changed to "Ok" when HostMonitor finds new event that fits "Good" filter conditions.

  • set "Ok" status by acknowledgement (manually)
    With this option chosen, test item will remain "Bad" until operator acknowledge status (then status will be changed to Ok)

If you choose "set Ok status when no new Bad events detected" or "set Ok status by acknowledgement (manually)" options then "Good" filter is not used by the test item.
If you choose "set Ok status when new Good event detected" option, you should specify both ("Bad" and "Good") filters.


Report about last "Bad"/"Good" event
With this option enabled HostMonitor will scan (starting from the end of the log) all new* events till first** "Bad" event. If new "Bad" event is detected, HostMonitor marks test as "Bad" and may perform specified alert actions (if necessary). This option is useful when you check for some specific event and you don't need many messages about the same recurring error.
**Note: here "first" means the most recent (last) "Bad" event as monitor scans the log from the end.

Report about all events
In opposite to previous mode, with this option enabled HostMonitor will inform you about each event that satisfies specified requirements (filters). This option is useful when you use one test item to check for different error events (e.g. you are checking for any event with "Failure Audit" type).
Note: you may need to use "Repeat: until status changes" option for associated alert actions.

Consider, for example, there are 3 new events were added into NT Event Log: "bad", "bad and "good". If all 3 events were added within short time interval (between 2 consecutive test probes), how the monitor behaves depending on test settings?


Used options    


Behavior
- Set "Ok" status when no new "Bad" events detected
- Report about last "Bad"/"Good" event

  1. HostMonitor sets "Bad" status because there is "Bad" event detected; increments or resets Recurrences counter (depending on previous test status); if necessary, starts actions assigned to the test item (depending on action settings)

Used options


Behavior
- Set "Ok" status when no new "Bad" events detected
- Report about all events

  1. HostMonitor sets "Bad" status; increments or resets Recurrences counter (depending on previous test status); if necessary, starts actions assigned to the test (depending on action settings)
  2. HostMonitor keeps "Bad" status, increments Recurrences counter because 2nd "Bad" event detected; starts actions if necessary

Used options


Behavior
- Set "Ok" status when new "Good" event detected
- Report about last "Bad"/"Good" event

  1. HostMonitor sets "Ok" status because last event fits "good" filter; increments or resets Recurrences counter (depending on previous test status); starts actions assigned to the test if necessary (depending on action settings)

Used options


Behavior
- Set "Ok" status when new "Good" event detected
- Report about all events

  1. HostMonitor sets "Bad" status; increments or resets Recurrences counter (depending on previous test status); if necessary, starts actions assigned to the test item (depending on action settings)
  2. HostMonitor keeps "Bad" status, increments Recurrences counter because 2nd "Bad" event detected; starts actions if necessary
  3. HostMonitor sets "Ok" status, resets Recurrences counter and starts actions if necessary



Filters:

There are 2 sets of conditions in the Event Log Test Properties dialog - "Bad" and "Good" filters. An event passes the filter only when it matches ALL specified requirements. If some event matches neither "Bad" nor "Good" filter, event is ignored by the test item (however the same event can be processed by another NT Event Log test item with different filters in use).

Both filters provide exactly the same set of options. So, let's describe the conditions for "Bad" filter:

Computer
Match against the computer that added the entry to the event log. You can provide list of the computers and choose one of the options:
- Any name of the computer doesn't matter (event from any computer can be** considered as "Bad")
- Any from the following event can be** considered as "Bad" when computer (that added the entry to the log) is specified in the list
- Any except the following   event can be** considered as "Bad" when computer (that added the entry to the log) is not specified in the list
Note: To add a new line to the end of the list go to the last existing line and press Down Arrow button. Press INSERT button to insert new item. Press CTRL+DEL to remove item. Press F2 to edit item.

Event type / Event level
Match against the event type. Here you may choose "Any" option to skip this filter (any type of events can be considered as "Bad") or choose "Any from the following" mode and then mark one or several items from the list.
When you use "Windows NT API" compatibility mode, you may mark one or several possible event types: Error, Warning, Information, Success Audit, and Failure Audit.
When you use "Windows Vista+ API" compatibility mode, you should choose one or several event levels: Audit, Critical, Error, Warning, Info and Verbose

Event ID
Match against the event ID (event ID is specific to the software that generated the event log entry). You can provide list of the ID codes and choose one of the options:
- Any ID doesn't matter (event with any ID can be** considered as "Bad")
- Any from the following event can be** considered as "Bad" when ID is specified in the list
- Any except the following   event can be** considered as "Bad" when ID is not specified in the list

Description contains
Match against the event description. You can provide list of the text strings (phrases) and choose one of the options:
- Any text event description doesn't matter (event with any description can be** considered as "Bad")
- Any string from the list event can be** considered as "Bad" when description contains ANY string from the list
- Nothing from the list event can be** considered as "Bad" when description does not contain ANY string from the list
- All strings from the list   event can be** considered as "Bad" when description contains ALL strings from the list
Note: To add a new line to the end of the list go to the last existing line and press Down Arrow button. Press INSERT button to insert new item. Press CTRL+DEL to remove item. Press F2 to edit item.

** here "can be" means event WILL BE considered as "Bad" WHEN IT MATCHES ALL specified requirements.


Known problems

3rd party DLLs version mismatch

When HostMonitor calls Windows API to format event description, Windows does not check the accordance between the number of variables in a template (that is stored in resource file) and the number of variables stored in an event log. This could lead to access violation errors when some software was installed or updated incorrectly (e.g. version mismatch between different DLLs).
HostMonitor checks the template (retrieved from the DLL) and verifies the number of insertion strings before calling Windows API. If problem detected, HostMonitor shows "Not enough insertion data for the message <dllname>" error in Reply field of the test.

Solution:
If there is DLLs version mismatch (described above), you may copy appropriate DLL (e.g. copy file from another system) into <HostMonitor>\EventLogDlls\ directory. If HostMonitor detects DLL in EventLogDlls subdirectory, this DLL will be used instead of installed DLL (installed DLL - DLL that is specified in the system registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\<log name>\<event source name> key).

Bugs in Windows Crypt32.DLL

There are some bugs in crypt32.dll that comes with Microsoft Windows Vista (including Service Pack 1 and 2) and Microsoft Windows Server 2008 (including Service Pack 2). According to Microsoft this may lead to application crash. We added some code to HostMonitor and RMA that should prevent application crash however some options will not work correctly on Windows Vista and Windows Server 2008.

Solution:
Looks like Microsoft fixed this problem in Windows 7.
Also Microsoft provides hot fix for Windows Vista and Windows Server 2008: http://support.microsoft.com/kb/982416. Unfortunately this fix does not correct all problems related to this DLL.

CPU Usage

CPU Usage test checks the percentage of CPU utilization for the local or remote machine. This test method can monitor servers running the following operational systems:
  • Microsoft Windows NT 4.0, Windows 2000, XP, Windows Server 2003, Vista, Windows Server 2008, Windows 7 and 8;
  • Novell Netware 4+;
  • using RMA HostMonitor can monitor AIX, BSD, Linux and Solaris systems.
In addition to the common test parameters the CPU Usage test has the following options:

Computer
Specify name of the target computer, it can be:
  • "<local computer>" or an empty string when using the test for a local machine;
  • a Universal Naming Convention (UNC) name of the computer (like "\\Server1") when using this test for remote Windows machines;
  • a server name (like "server1") or NDS tree name (like ".bigcompany.ifx.department2.sever1") when using this test for Novell Netware server.

OS
Select the type of OS on the target computer: Windows, Novell Netware or UNIX

Alert when CPU usage more than
HostMonitor will mark the host as "Bad" and start alert actions when the percentage of CPU usage becomes more than specified.

Connect as
To check CPU usage on remote Windows system you may mark this option and provide a username and password for a connection to the target computer.

Note #1 (Windows): To monitor CPU utilization on a remote Windows NT* system, make sure you have the Remote Registry service started on the remote system (to monitor processes HostMonitor must have access to the registry). Windows NT 4.0 does not have this service installed by default, however you can find this service in the Resource Kit for Windows NT 4.0.
Also to use this test for remote Windows computers you must have the permissions to do that (administrator privilege on the remote computer).
* Here "Windows NT" means system based on NT technology, including Microsoft Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008, Windows 7.

Note #2 (Netware): To check Novell Netware servers, HostMonitor uses the functionality of the Novell Netware client. Therefore, the Novell Netware client software has to be installed on the machine where HostMonitor is running.

Note #3 (UNIX): To check UNIX systems you may use Remote Monitoring Agent installed on UNIX-machine. Current version of RMA does not use "Computer", "OS" and "Connect as" parameters of the test and checks the system where agent is running.

Memory

Memory test can check amount of free physical and virtual memory, size of unused swap space (page file) on local or remote Windows, Linux, BSD systems, CISCO routers and some other network devices.
In addition to the common test parameters Memory test has the following options:

Protocol
HostMonitor can use 2 different protocols and several algorithms in order to retrieve data from remote systems. You may choose one of the following protocols:
- SNMP
- WMI

WMI is an acronym for Windows Management Instrumentation. WMI is the Microsoft's implementation of Web-Based Enterprise Management (WBEM).
System requirements:
  • Windows 2000, XP and newer versions have the WMI components pre-installed;
  • Windows 95, 98, and Windows NT 4.0 do not have WMI components preinstalled. The WMI Core software package for Windows 95/NT4 was available at Microsoft's web site but its not supported anymore.

SNMP
The Simple Network Management Protocol is the Internet standard protocol for exchanging management information between management console applications and managed entities. It works faster and requires less resources than WMI; also using this protocol you may retrieve information from Windows, Linux, BSD systems, CISCO routers and other SNMP enabled devices.


Host
Provide the host name (e.g. mainserver) or IP address (e.g. 192.168.1.55) of the host that you wish to monitor. Type localhost when you want to check system where HostMonitor (or RMA) is running.
When SNMP protocol selected, you may specify UDP port that is used by target SNMP agent. This parameter is optional; port number has to be provided after a colon following the address of SNMP agent (e.g. 195.168.10.10:161).

If you prefer to use WMI protocol for Memory test, use Connection Manager to provide account information necessary to perform connections to remote systems.
If you chose SNMP protocol then you need to select SNMP Profile:

SNMP profile
Choose profile that stores credentials necessary for communication with SNMP agent. You may select profile from drop-down list or click button beside the list to bring up SNMP Credentials dialog.

Timeout
This is the amount of time in miliseconds the program will wait for a response from the server before the request fails (used for SNMP protocol only).

Retries
Specifies the communications retry count (used for SNMP protocol only)


Alert when
The following options allow you to choose what kind of memory should be monitored and when test status should be changed from Ok to Bad.

  • Free physical memory
    Amount of physical memory available to processes running on the computer.
    Note: Linux and Windows may use most of free physical memory as disk cache, HostMonitor consider this cache as free memory because it can be assigned to processes without delay.

  • Free swap memory
    Amount of swap space (page file) currently available (reserved but not used). If the paging file(s) are expanded, this limit increases accordingly.
    Note: this value cannot be retrieved if you are using SNMP protocol for Windows.

  • Free virtual memory
    Total amount of free memory: free physical memory plus unused space of page file. If the paging file(s) are expanded, this limit increases accordingly.

You may tell HostMonitor to set Bad test status and start assigned actions when amount of free memory falls below specific limit (e.g below 1024 MB) or specific percentage (e.g. below 30%).


Known problems
HostMonitor uses different protocols and algorithms to make sure retrieved information is correct. We tested dozens of systems however there are hundreds different versions of Unix systems, for some of them test will not work correctly (e.g. we do not understand how to get correct data from FreeBSD 9.0 - sometimes even system utilities show information that does not make any sense; on Ubuntu 11.04 SNMP agent provides data that does not correlate with meminfo data).
In such case you may use alternative methods, like Shell Script test method performed by RMA for Unix.

Performance Counter


Performance Counter test allows you to monitor specific aspects of work performed on local or remote computer by a system or a service. You can monitor a lot of important parameters of the system based on Microsoft Windows NT (including Microsoft Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008, Windows 7). Parameters, such as:
Counter Description
Processor\% Processor Time % Processor Time is the percentage of time that the processor is executing a non-Idle thread
Processor\% Interrupt Time % Interrupt Time is the percentage of time the processor spent receiving and servicing hardware interrupts during the sample interval
Processor\Interrupts/sec Interrupts/sec is the average number of hardware interrupts the processor is receiving and servicing in each second
System\Processes Processes is the number of processes in the computer at the time of data collection
TCP\Connections Established Connections Established is the number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT
TCP\Segments/sec Segments/sec is the rate at which TCP segments are sent or received using the TCP protocol
Process\% Processor Time % Processor Time is the percentage of elapsed time that all of the threads of specified process used the processor to execute instructions
Process\Handle Count The total number of handles currently open by specified process
Printer Queue\Jobs Current number of jobs in a print queue
PhysicalDisk\% Disk Time % Disk Time is the percentage of elapsed time that the selected disk drive is busy servicing read or write requests
PhysicalDisk\Current Disk Queue Length Current Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected
Memory\Available Bytes Available Bytes is the amount of physical memory available to processes running on the computer, in bytes
NetworkInterface\Current Bandwidth Current Bandwidth is an estimate of the interface's current bandwidth in bits per second (BPS)
and much more...

To create Performance Counter test you need to define just 3 parameters (of course in addition to the common test parameters):

Performance Counter
Type name of the counter to monitor or use browse button to explore all performance counters available on the system.
Note: Each counter is uniquely identified through its name and its path, or location. In the same way that a file path includes drives, directories, subdirectories, and file names, a counter path consists of four elements: the machine, the object, the object instance, and the counter name. The syntax of a counter path is:
\\Machine\PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter

Condition for alert
HostMonitor can compare value of the counter with a specified number and start alert actions if the returned value is:

  • less than the specified value
  • more than the specified value
  • equal to the specified number
  • different from the specified number

Also HostMonitor has 9 alert conditions to check how new value changes compare to the previous test:
 "increases by" - HM sets "Bad" status when value increases by specified number or more
 "decreases by" - HM sets "Bad" status when value decreases by specified number or more
 "changes by" - HM sets "Bad" status when value changes by specified number or more
 "increases by (%)" - HM sets "Bad" status when value increases by specified (or greater) percentage
 "decreases by (%)" - HM sets "Bad" status when value decreases by specified (or greater) percentage
 "changes by (%)" - HM sets "Bad" status when value changes by specified (or greater) percentage
 "increases /sec" - HM sets "Bad" status when average increase of the counter (per second) is greater than the specified limit ((new value - old value)/elapsed time >= specified limit)
 "decreases /sec" - HM sets "Bad" status when average decrease of the counter (per second) is greater than the specified limit ((old value - new value)/elapsed time >= specified limit)
 "changes /sec" - HM sets "Bad" status when average change of the counter (per second) is greater than the specified limit (abs(new value - old value)/elapsed time >= specified limit)

HostMonitor can set status of the test to "Unknown" in case it cannot retrieve performance counter value (e.g. unable to connect to the remote machine or the specified counter could not be found). You can use "Treat Unknown status as Bad" option. With this option enabled, if test results cannot be obtained, actions are triggered by HostMonitor the same way as if the test returned a "Bad" status.

Display mode
This parameter defines information display method. You can select one of the following options:
  as is - do not perform any conversion
  sec -> [days] hh:mm:ss - converts received value in seconds to a "[days] hh:mm:ss" format
  msec-> [days] hh:mm:ss - converts received value in milliseconds to a "[days] hh:mm:ss" format
  bytes -> Kb - converts received value in bytes to kilobytes
  bytes -> Mb - converts received value in bytes to megabytes
  bytes -> Gb - converts received value in bytes to gigabytes


Important notes:

Note #1 (permissions): The security on the following registry key dictates which users or groups can gain access to the performance data: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows_NT\CurrentVersion\Perflib. In order for to query performance data, account must have KEY_READ access to the above registry key. To change permissions to the registry key you can use the registry editor utility (Regedt32.exe).

Note #2 (bugs): Windows implementation of performance counters has bugs. E.g., Windows 2000 (Professional, Server, and Advanced Server editions) can produce memory leak in PDH.DLL when user (application) querying performance counter that does not exist. This bug fixed in SP2. Also PDH.DLL does not work correctly with multithread applications.
That's why in HostMonitor we have implemented several different methods to work with pdh.dll:

  • MultiThread - allows to start several tests in separate threads (fastest method)
  • OneByOne - HostMonitor starts Performance Counter tests one by one
  • Smart - multithreading model, HostMonitor tries to reload pdh.dll when error occurs
  • External - HostMonitor uses external (perfobj.exe) utility to perform the tests. This is fast and most reliable method.
You can specify which test mode will be used on Miscellaneous page in the Options dialog.

WMI


WMI is an acronym for Windows Management Instrumentation. WMI is the Microsoft's implementation of Web-Based Enterprise Management (WBEM) - a new management technology that allows software to monitor and control managed resources throughout the network. Such managed resources include hard drives, file systems, settings of operating system, processes, services, shares, registry settings, networking components, event logs, users, groups, etc.
WMI allows monitoring of performance counters as well. Microsoft applications such as Exchange and SQL Server have WMI built-in. Many non-Microsoft applications utilize WMI and thus they could be monitored using Advanced Host Monitor as well.
WMI is already built into Windows 2000 or above, and can be installed on any other 32-bit Windows system. See also:


In addition to the common test parameters, the WMI test has the following options:

Host
Provide the host name (e.g. mainserver) or IP address (e.g. 192.168.1.55) of the host that you wish to monitor.
Please note: Connection Manager provides one convenient place to store account information necessary to perform connections to remote systems.

Authentication Level
This option is necessary for access to some namespaces. E.g. root\cimv2\TerminalServices namespace requires Packet Privacy authentication level.

Name space
WMI namespace is a container grouping child objects related to one another in some way. A namespace contains a hierarchy of classes and associations, which define either a machine's object or the relationship between two or more objects. The most commonly used namespace is CIMV2 (root\cimv2) - Common Information Model Version 2.

Query
Provide WQL (WMI Query Language) query. This query will be performed at test execution time and result data set will be checked by HostMonitor.
Examples:

  1. If you want to monitor the number of handles used by all running instances of the Internet Explorer, use the query like this: SELECT HandleCount FROM Win32_Process WHERE name='iexplore.exe'
  2. If you need to monitor the number of processes which use more than 10 threads, use the following query: SELECT ThreadCount FROM Win32_Process WHERE ThreadCount>10
  3. The query: SELECT Name FROM Win32_Service WHERE Started=0 AND StartMode='Auto' shows all services which have not started and have the start mode configured to "Automatic".

You may click the right mouse button on the test item and choose "Explore WMI" item from the popup menu. When you do so, HostMonitor will start WMI Explorer in the Query mode, passing the query and information about the target host (such as the hostname, name space, login, etc) to the explorer. This allows you to check quickly hardware and software parameters on the target system and instantly see what is going on (e.g. why the test item has been failed).
Also, WMI Explorer may display full set of classes within the specified namespace, child objects and their properties.
If you change the authentication level or namespace using WMI Explorer, it will pass new parameters back to Test Properties dialog.

Alert if
This option specifies when exactly test result(s) should be considered as "bad" and appropriate alert actions should be started. There are 3 parameters should be provided: aggregation mode, compare mode and compare value.

  1. Aggregation mode
    Specifies how HostMonitor should compare result data when WML query returns several rows. Choose one of the following option:
    Any
    Tell HostMonitor to compare data from EVERY row. If ANY row matches specified compare condition, HostMonitor will set "Bad" test status.
    Average
    Tells HostMonitor to calculate average value of the rows and compare average to the specified number.
    Total
    Tells HostMonitor to calculate sum of the rows and then compare total to the specified number.
    Row count
    Tell HostMonitor to calculate row count and compare number of rows to the specified number

    Examples:
    1. if you set the following test parameters:
      - Query: SELECT HandleCount FROM Win32_Process WHERE name='iexplore.exe'
      - Alert if: Any
      - Compare: > than 200
      HostMonitor will set "bad" status if any instance of Internet Explorer allocated more than 200 handles.
    2. The same query but you chose "Alert if Average > 200" option. HostMonitor will set "bad" status when average handles usage is over 200 (e.g. there are 3 IE instances running on the system: 1st instance uses 120 handles, 2nd - 190 handles and 3rd - 310 handles. Average=206.6).
    3. The same query but this time you have chosen "Alert if Total > 200" option. HostMonitor will set "bad" status when total number of handles used by all instances of IE is over 200 (e.g. there are 3 IE instances running on the system: 1st instance uses 80 handles, 2nd - 50 handles and 3rd - 110 handles)
    4. If you choose "Alert if Row count > 200" then HostMonitor will start alerts when there are more than 200 instances of Internet Explorer is running

    Notes:
    1. If WML query returns single row, then "Any", "Average" and "Total" modes are equivalent (except "Average" and "Total" do not compare value to a string).
    2. If you specify several fields in 'select' query (e.g. Select HandleCount, ThreadCount from Win32_Process), HostMonitor will check only 1st field (HandleCount).
    3. You may use Average and Total mode only with numeric data

  2. Compare mode
    HostMonitor compares received/calculated value of the counter with a specified number or string. The following compare modes are supported:
    • less than the specified number
    • greater than the specified number
    • equal to the specified value (number or string)
    • different from the specified value (number or string)
    • contains the specified string
    • doesn't contain the specified string

    Also HostMonitor provides 9 compare modes to check how counter value changes in comparison to the previous test:
     increases by - set "Bad" status when value increases by specified number or more
     decreases by - set "Bad" status when value decreases by specified number or more
     changes by - set "Bad" status when value changes by specified number or more
     increases by (%) - set "Bad" status when value increases by specified (or greater) percentage
     decreases by (%) - set "Bad" status when value decreases by specified (or greater) percentage
     changes by (%) - set "Bad" status when value changes by specified (or greater) percentage
     increases /sec - set "Bad" status when average increase of the counter (per second) is greater than the specified limit ((new value - old value)/elapsed time >= specified limit)
     decreases /sec - set "Bad" status when average decrease of the counter (per second) is greater than the specified limit ((old value - new value)/elapsed time >= specified limit)
     changes /sec - set "Bad" status when average change of the counter (per second) is greater than the specified limit (abs(new value - old value)/elapsed time >= specified limit)
    Please note: You cannot use these "relative" compare modes if you have chosen "Any" aggregation mode.

  3. And finally you should provide value to compare.

If instance not available, set [Unknown/Bad/Ok] status
This option allows you to choose test status that should be used when HostMonitor is able to connect to the system and execute WMI query but query returns empty data set. E.g. you have specified SELECT HandleCount FROM Win32_Process WHERE name='iexplore.exe' query; this query will return empty data set if 'iexplore.exe' process is not started. You may choose one of the following statuses: Unknown, Bad, Ok
Please note: If HostMonitor cannot connect to the host or WMI query fails, HostMonitor will set Unknown status and display error description in Reply field of the test.


System requirements

The following versions of Windows do have the WMI pre-installed:

  • Windows 7
  • Windows Vista
  • Windows Server 2008
  • Windows Server 2003
  • Windows 2000
  • Windows XP
  • Windows ME

These versions of Windows do not have the WMI pre-installed:
  • Windows NT
  • Windows 98
  • Windows 95

The WMI Core software package for Windows 95, 98, and Windows NT 4.0 available at Microsoft's web site.
Please note: WMI CORE for Windows 95/98/NT requires Microsoft Internet Explorer version 5 or later.

Registry


This test can retrieve specified Registry counter from local or remote Windows system and compare counter value with specified string, a number or a date.
In addition to common test parameters, for this test you should specify the following options:

Check registry on...
Specify name or an IP address of the target computer or select the "<local computer>" item. You can use the "Browse network" button to select a computer from the list.

Path to the key/value
The Registry path is the location in the Registry that is described by series of nested keys. For example, if you're looking for InstallationDirectory counter in the MessengerService key, which is under Microsoft, which is under SOFTWARE, which is under HKEY_LOCAL_MACHINE, the registry path would be:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MessengerService\InstallationDirectory

Use Win32 registry
Use Win64 registry

Under WOW64, certain registry keys are redirected. When a 32-bit or 64-bit application makes a registry call for a redirected key, the registry redirector intercepts the call and maps it to the key's corresponding physical registry location. For more information, see the following Microsoft articles:
  http://msdn.microsoft.com/en-us/library/aa384253(v=vs.85).aspx
  http://msdn.microsoft.com/en-us/library/aa384232(v=vs.85).aspx
That's why Registry test offers 2 options that tell HostMonitor to accesses the 32-bit registry view or 64-bit registry view.
Note: these options do not work on Windows 2000, HostMonitor will be able to work with 32-bit registry view only.

Alert if key/value absent
This option tells HostMonitor what test status should be set when specified registry counter does not exist. If counter absent and this option enabled, HostMonitor will set Bad test status regardless of "compare mode" and previous value of the counter.
If counter absent and this option disabled, then

  • If you are using "any change detected" alert mode, HostMonitor will set Bad or Ok status depending on previous value of the counter (e.g. if counter does not exist now and it was not present earlier then test status will be Ok)
  • For other alert modes, HostMonitor will set Unknown test status.

Alert when
This option specifies when exactly test result should be considered as "bad" and appropriate alert actions should be started. There are 2 parameters should be provided: compare mode and compare value.
Compare mode: HostMonitor compares retrieved value of the counter with a specified number, a string or a date. The following compare modes are supported:
  • any change detected
  • less than the specified value  (number, string or date)
  • greater than the specified value  (number, string or date)
  • equal to the specified value
  • different from the specified value
  • contains the specified string  (date macros cannot be used)
  • doesn't contain the specified string  (date macros cannot be used)
You may check registry data using date macro variables and date expressions. Date format depends on system "short date" format; in addition HostMonitor checks for similar formats. E.g. if short date format = yy/MM/dd, then HostMonitor will translate date specified in one of the following formats: yy/m/d, yy/m/d, yy/mm/d, yy/m/dd, yy/mm/dd, yyyy/m/d, yyyy/m/d, yyyy/mm/d, yyyy/m/dd, yyyy/mm/dd

Connect as
To check registry on remote Windows system you can mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.

Dominant Process


Unlike test methods that allow you to check specific process (Process test, Performance Counter, WMI) or total/average resource usage on the system (CPU Usage, WMI), Dominant Process test allows you to check on regular basis what process exactly uses the most of system resources. This test allows you to find out which process uses the most of CPU, Handles, Threads, Memory, Virtual memory or Address space.
HostMonitor provides information about "top process" - process that uses more resources that any other process on the system; it may display amount of allocated resources, process name and or process ID.
In addition to the common test parameters the Dominant Process test has the following options:

Check processes on...
Specify name or an IP address of the target computer (the target computer name must be prefixed by "\\"), or select the "<local computer>" item. You can use the "Browse network" button to select a computer from the list.

Exclude process(es)
Here you may tell HostMonitor to exclude some processes from check by providing comma separated list of such processes, e.g. iexplore.exe, avp.exe, sql.exe. If some process name includes comma, use quotation marks for such process. E.g. "test,alert.exe" - name of single process
When you need to monitor many instances of some specific application, you may use "Exclude processes" option to exclude ALL but specified process(es). Type string like all but processname.exe You may check several processes using string like all but iexplore.exe, avp.exe

Alert if process utilizes over...
Here you should specify what kind of resources should be monitored and the maximum limit of resources. If any process uses resources over the limit, HostMonitor will change test status from Ok to Bad and start alerts if necessary (e.g. you may setup HostMonitor to use "kill" utility to terminate or restart any application that uses 60 or more percents of CPU).
You may check the following resources:
- CPU load
- Handles
- Threads
- Memory
- Virtual memory
- Address space

Top process info:
HostMonitor provides information about "top process" (process that uses more resources that any other process on the system) using Reply field of the test item. You may choose one of the following options:
- process ID
- process name
- process name and process ID
- value (amount of resources used by the process)
- value and process ID
- value and process name
- value, process name and process ID
Also, there are 2 macro variables that can be used as parameters of the action (%ProcessName% and %ProcessID%).

Connect as
To check processes on remote Windows system you can mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.

Note: To monitor processes on local or remote Windows system, make sure you have the WMI Core software package installed on the system. WMI Core is installed by default on Windows ME/2000/XP/Vista, Windows Server 2003 and 2008, Windows 7. The WMI Core software package for Windows 95, 98, and Windows NT 4.0 is available at Microsoft's web site site. Please note: WMI CORE for Windows 95/98/NT requires Microsoft Internet Explorer version 5 or later.

See also: Process Meter application

VM host status


This test checks config and overall status of VMware ESXi host or Microsoft Hyper-V systems health state.
In addition to the common test parameters, for this test you should specify the following options:

VM system
Choose type of the hypervisor: VMware ESXi or Microsoft Hyper-V

Host[:port]
Target host name or IP address (if target system is VMware ESXi, you may specify TCP port used for connections to MOB service over HTTPS protocol)

Timeout
Communication timeout (this option available for VMware ESXi only)


For Hyper-V systems HostMonitor will set Bad test status either for "major" or "critical" failure.

For VMware ESXi systems HostMonitor will set one of the following statuses:
- Bad status if config or overall status is "red"
- Warning status if config or overall status is "yellow"
- Unknown status if config or overall status is "grey"
- Ok status if config AND overall statuses are "green"

Check sensors
WMWare: with this option enabled, HostMonitor will check additional hardware and software status sensors (battery, processor, VMware drivers, etc)

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5
Supported Microsoft hypervisors:
Microsoft Windows Server 2008,  Microsoft Windows Server 2008 R2
Microsoft Hyper-V Server 2008,  Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2012,  Microsoft Windows Server 2012 R2
Microsoft Hyper-V Server 2012,  Microsoft Hyper-V Server 2012 R2

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM host CPU usage


This test checks CPU load on VMware ESXi host or Microsoft Hyper-V system.
In addition to the common test parameters, for this test you should specify the following options:

VM system
Choose type of the hypervisor: VMware ESXi or Microsoft Hyper-V

Host[:port]
Target host name or IP address (if target system is VMware ESXi, you may specify TCP port used for connections to MOB service over HTTPS protocol)

Timeout
Communication timeout (this option available for VMware ESXi only)

Alert when CPU usage is over N%
HostMonitor will set "Bad" status and start assigned alert actions when CPU load is over specified limit.

Check CPU load by Hypervisor only
If you check Microsoft Hyper-V system, this option tells HostMonitor to check CPU usage by hypervisor only (like Windows Task Manager does). Otherwise HostMonitor will check CPU load caused by hypervisor and running virtual systems.

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5
Supported Microsoft hypervisors:
Microsoft Windows Server 2008,  Microsoft Windows Server 2008 R2
Microsoft Hyper-V Server 2008,  Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2012,  Microsoft Windows Server 2012 R2
Microsoft Hyper-V Server 2012,  Microsoft Hyper-V Server 2012 R2

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM host free memory


This test checks free memory percentage on VMware ESXi host or Microsoft Hyper-V system (physical memory).
In addition to the common test parameters, for this test you should specify the following options:

VM system
Choose type of the hypervisor: VMware ESXi or Microsoft Hyper-V

Host[:port]
Target host name or IP address (if target system is VMware ESXi, you may specify TCP port used for connections to MOB service over HTTPS protocol)

Timeout
Communication timeout (this option available for VMware ESXi only)

Alert when memory below N %
HostMonitor will set "Bad" status and start assigned alert actions when free memory falls below specified limit.

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5
Supported Microsoft hypervisors:
Microsoft Windows Server 2008,  Microsoft Windows Server 2008 R2
Microsoft Hyper-V Server 2008,  Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2012,  Microsoft Windows Server 2012 R2
Microsoft Hyper-V Server 2012,  Microsoft Hyper-V Server 2012 R2

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM host free datastore space


This test checks data storage(s) on VMware ESXi system, finds storage with minimum free space ratio.
In addition to the common test parameters, for this test you should specify the following options:

VM system: VMware ESXi

Host[:port]
Target host name or IP address. Optionally, you may specify TCP port used for connections to MOB service over HTTPS protocol

Timeout
Communication timeout

Datastores
This option allows you to check some specific datastores. You may specify single datastore to check; select datastores from the list or provide comma separated list. If you keep this field empty or type * then HostMonitor will check ALL available stores and find the store with minimum free space

Alert when disk space below N %
HostMonitor will set "Bad" status and start assigned alert actions when free space falls below specified limit

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM guest status


This test checks all virtual systems (guests) running on VMware ESXi host or Microsoft Hyper-V system, sets Bad or Warning status when guest heartbeat status (health state) indicates failure, provides name of such guest system.
In addition to the common test parameters, for this test you should specify the following options:

VM system
Choose type of the hypervisor: VMware ESXi or Microsoft Hyper-V

Host[:port]
Target host name or IP address (if target system is VMware ESXi, you may specify TCP port used for connections to MOB service over HTTPS protocol)

Timeout
Communication timeout (this option available for VMware ESXi only)

Ignore unknown (grey) status
VMware: with this option enabled HostMonitor will not set Unknown test status when some guest system cannot report its state (heartbeat status is unknown - this may happen when VMware Tools are not installed or not running).
Hyper-V: with this option enabled HostMonitor will not set Bad test status when EnabledState of the guest system cannot be determined.

Alert if guest powered off
With this option enabled HostMonitor will set Bad test status if stopped virtual system detected

Skip guests
This option tells HostMonitor to ignore some virtual systems, you may specify several systems using comma as separator

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5
Supported Microsoft hypervisors:
Microsoft Windows Server 2008,  Microsoft Windows Server 2008 R2
Microsoft Hyper-V Server 2008,  Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2012,  Microsoft Windows Server 2012 R2
Microsoft Hyper-V Server 2012,  Microsoft Hyper-V Server 2012 R2

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM guest CPU usage


This test checks all virtual systems (guests) running on VMware ESXi host or Microsoft Hyper-V system and finds guest system with highest CPU usage.
In addition to the common test parameters, for this test you should specify the following options:

VM system
Choose type of the hypervisor: VMware ESXi or Microsoft Hyper-V

Host[:port]
Target host name or IP address (if target system is VMware ESXi, you may specify TCP port used for connections to MOB service over HTTPS protocol)

Timeout
Communication timeout (this option available for VMware ESXi only)

Alert when CPU usage is over N%
HostMonitor will set "Bad" status and start assigned alert actions when CPU load is over specified limit.
You may use variables like %VMName%, %VMCPUusage% as parameters of the actions.

Skip guests
This option tells HostMonitor to ignore some virtual systems, you may specify several systems using comma as separator

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5
Supported Microsoft hypervisors:
Microsoft Windows Server 2008,  Microsoft Windows Server 2008 R2
Microsoft Hyper-V Server 2008,  Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2012,  Microsoft Windows Server 2012 R2
Microsoft Hyper-V Server 2012,  Microsoft Hyper-V Server 2012 R2

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM guest free memory


This test checks all virtual systems (guests) running on VMware ESXi host or Microsoft Hyper-V system and finds guest system with lowest percentage of free memory.
In addition to the common test parameters, for this test you should specify the following options:

VM system
Choose type of the hypervisor: VMware ESXi or Microsoft Hyper-V

Host[:port]
Target host name or IP address (if target system is VMware ESXi, you may specify TCP port used for connections to MOB service over HTTPS protocol)

Timeout
Communication timeout (this option available for VMware ESXi only)

Alert when free memory below N%
HostMonitor will set "Bad" status and start assigned alert actions when free memory falls below specified limit.
You may use variables like %VMName%, %VMFreeMem% as parameters of the actions.

Microsoft Hyper-V notes: HostMonitor checks guest systems with dynamic memory allocation support, finds system with lowest amount of free memory, shows free memory percentage using formula like (1 - (amount of memory the VM wants) / (amount of memory the VM has)) *100
As long as this number stays above 0, host has enough available memory to service all virtual systems. If test shows 0, this means VM doing paging operations and you will see performance degradation. For best performance with low risk of paging operations, this number should consistently be above 0, ideally around 10-20

Skip guests
This option tells HostMonitor to ignore some virtual systems, you may specify several systems using comma as separator

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5
Supported Microsoft hypervisors:
Microsoft Windows Server 2008,  Microsoft Windows Server 2008 R2
Microsoft Hyper-V Server 2008,  Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2012,  Microsoft Windows Server 2012 R2
Microsoft Hyper-V Server 2012,  Microsoft Hyper-V Server 2012 R2

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

VM guest free disk space


This test checks all virtual systems (guests) running on VMware ESXi host and finds system and disk with minimum free/total space ratio, provides name of the guest, volume name and free space percentage.
In addition to the common test parameters, for this test you should specify the following options:

VM system: VMware ESXi

Host[:port]
Target host name or IP address. Optionally, you may specify TCP port used for connections to MOB service over HTTPS protocol

Timeout
Communication timeout

Alert when disk space below N %
HostMonitor will set "Bad" status and start assigned alert actions when disk space falls below specified limit.
You may use variables like %VMName%, %VMVolume%, %VMFreeDisk% as parameters of the actions.

Skip guests
This option tells HostMonitor to ignore some virtual systems, you may specify several systems using comma as separator

Connect as
You may mark this option and provide a username and a password for a connection to the target computer. On the other hand, we recommend using the Connection Manager that provides one convenient place to store account information necessary to perform connections to remote systems.


Supported VMware hypervisors:
 VMware ESXi 4.1
 VMware ESXi 5.0
 VMware ESXi 5.1
 VMware ESXi 5.5

System requirements: HostMonitor (RMA) should be started on Windows 7 or higher.

Known problems:
VMware MOB service is not very reliable, if you perform tests often, service may stop responding. In such case you may restart Management Agents using command /sbin/services.sh (execute command using SSH interface)
How to enable Secure Shell
http://pubs.vmware.com/vsphere-51/index.jsp
We hope VMware team will be able to fix this problem. If you experience this problem, please contact VMware team

Database Server


HostMonitor can test your SQL servers. It supports Interbase, MS SQL, MySQL, Oracle, Postgre, and Sybase servers. Servers are checked by logging into (and out) of the server. You should specify the server name (the TNS alias for Oracle), database, user name and password. For Interbase you can specify the protocol (TCP, SPX, or NetBEUI), for MySQL and for PostgreSQL you can change the default TCP port.
See also common test parameters

To monitor Oracle servers HostMonitor uses the Oracle Call Interface (OCI.DLL), you should have the Oracle client software installed on the computer. The same is true for other SQL servers, install the client software for testing your SQL server. HostMonitor uses the following DLLs:

  • gds32.dll to monitor Interbase connections
  • ntwdblib.dll to monitor MS SQL Server
  • libmysql.dll to monitor MySQL
  • libpq.dll to monitor PostgreSQL
  • libsybdb.dll to monitor Sybase

Interbase, Sybase, MySQL, MS SQL, Postgre and Oracle test methods may display "unknown" status and appropriate error message in the Reply field when it was impossible to perform the check (e.g. when client library is not installed).

ODBC Query


This test allows you to check the availability of an ODBC data source, run an SQL query, and analyze the value of a specified data field in the result set returned. To set up a test, simply pick one of the ODBC data sources defined in your system, and fill in the Login, Password and Timeout fields. Optionally, provide an SQL query and a condition to check. If no condition is specified, the two possible test status values are "Alive" and "No answer". If a condition is provided, test status can be either:

  • "Ok" - if the condition is met;
  • "Bad" - if the condition is not met;
  • "Unknown" - if the query fails, or the data field specified is not found in the result set.

If field is unavailable, set status
You can use this option to define status of the test in case SQL query was executed without errors but result data set does not contain specified field (specified by row and col parameters). Choose one of the following statuses:

  • Unknown
  • Bad
  • Ok

See also

Windows x64
HostMonitor is 32bit application that can be started on 64bit Windows OS. If you are using Windows x64 Edition and you want to setup ODBC Logging or ODBC test method, you should setup ODBC datasources using 32-bit ODBC Data Source Administrator (e.g. C:\WINDOWS\SysWOW64\odbcad32.exe).

Reliability
If you are using ODBC Query test method or you have setup ODBC logging, you must be sure that ODBC driver (provided by 3rd party) works reliable and will not cause HostMonitor to crash. E.g. Microsoft dBase Driver v 4.00 causes resource leakage; most of Oracle drivers lead to various problems like high CPU Usage, memory leakage and can crash application (as we know the most stable Oracle ODBC driver comes with Oracle client version 9.2.0.8.0).
MySQL ODBC drivers cause handles leakage in multithreaded environment. If you have several ODBC Query test items that check MySQL servers, we recommend to place these test items in separate folder and use "Non-simultaneously test execution" folder-specific option.

Using this test method you may retrieve information about SQL server status as well. There are some useful SQL queries:

Firebird: The number of established connections
SELECT COUNT(*) FROM MON$ATTACHMENTS


Interbase: Number of active connections (SMALLINT)
SELECT TMP$ATTACHMENTS FROM TMP$DATABASE

Interbase: Active threads in database (SMALLINT)
SELECT TMP$ACTIVE_THREADS FROM TMP$DATABASE

Interbase: Current memory allocated database (INTEGER)
SELECT TMP$CURRENT_MEMORY FROM TMP$DATABASE

Interbase: Maximum memory ever allocated (INTEGER)
SELECT TMP$MAXIMUM_MEMORY FROM TMP$DATABASE

Interbase: Number of active transactions (SMALLINT)
SELECT TMP$TRANSACTIONS FROM TMP$DATABASE

Interbase: Number of transaction deadlocks (INTEGER)
SELECT TMP$TRANSACTION_DEADLOCKS FROM TMP$DATABASE

Interbase: Number of transaction update conflicts (INTEGER)
SELECT TMP$TRANSACTION_CONFLICTS FROM TMP$DATABASE

Interbase: Records inserted into database (INTEGER)
SELECT TMP$RECORD_INSERTS FROM TMP$DATABASE

Interbase: Records updated to database (INTEGER)
SELECT TMP$RECORD_UPDATES FROM TMP$DATABASE

Interbase: Records deleted from database (INTEGER)
SELECT TMP$RECORD_DELETES FROM TMP$DATABASE


MS SQL: Number of active connections
SELECT COUNT(DBID) AS TOTALCONNECTIONS FROM SYS.SYSPROCESSES


MySQL: The number of failed attempts to connect to the MySQL server
SHOW GLOBAL STATUS LIKE 'Aborted_connects'

MySQL: The number of connections that were aborted
SHOW GLOBAL STATUS LIKE 'Aborted_clients'

MySQL: The maximum number of connections that have been in use simultaneously since the server started.
SHOW GLOBAL STATUS LIKE 'Max_used_connections'

MySQL: The number of files that are open
SHOW GLOBAL STATUS LIKE 'Open_files'

MySQL: The number of tables that are open
SHOW GLOBAL STATUS LIKE 'Open_tables'


Oracle: CPU Usage Per Sec
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'CPU Usage Per Sec'
The CPU Time Per Sec Oracle metric shows the amount of CPU usage per second for the specific task, SQL statement or session.

Oracle: Current Logons Count
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'Current Logons Count'
The Current Logons Count Oracle metric is the total number of current logons.

Oracle: Current Open Cursors Count
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'Current Open Cursors Count'
The Current Open Cursors Count Oracle metric refers to the current number of open cursors; whether they are being utilized or not.

Oracle: Current OS Load (Number Of Processes)
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'Current OS Load'

Oracle: Cursor Cache Hit Ratio
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'Cursor Cache Hit Ratio'
The Cursor Cache Hit Ratio Oracle metric is determined by the ratio of the number of times an open cursor was found divided by the number of times a cursor was sought.

Oracle: Database CPU Time Ratio
Measurement unit: % Cpu/DB_Time
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'Database CPU Time Ratio' order by group_id

Oracle: Host CPU Utilization (%)
SELECT value FROM sys.v_$sysmetric WHERE metric_name = 'Host CPU Utilization (%)' order by group_id


Sybase: Number of active connections
SELECT COUNT(*) FROM MASTER.DBO.SYSPROCESSES

There are more useful SQL queries for most popular SQL servers listed in Appendix #1 of the manual.

SNMP Get


The Simple Network Management Protocol is the Internet standard protocol for exchanging management information between management console applications and managed entities (hosts, routers, bridges, hubs). Using this powerful test HostMonitor can control many different parameters of network devices.
In addition to the common test parameters, the SNMP test has the following options:

Agent address
Here you should provide a string specifying either a dotted-decimal IP address (e.g. 195.168.10.10) or a host name that can be resolved to an IP address, an IPX address (in 8.12 notation), or an Ethernet address.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) or specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.
Also you may specify port that will be used by target SNMP agent. This parameter is optional; port number has to be provided after a colon following the address of SNMP agent. (E.g. 195.168.10.10:161). You cannot specify port number when target host specified by IPv6 address.

SNMP profile
Choose profile that stores credentials necessary for communication with SNMP agent. You may select profile from drop-down list or click button beside the list to bring up SNMP Credentials dialog.

Timeout
This is the amount of time in miliseconds the program will wait for a response from the server before the request fails.

Retries
Specifies the communications retry count.

OID (object identifier)
The name that uniquely identifies the object for testing.
For example OID "1.3.6.1.2.1.2.1" represents the number of network interfaces on which your system can send/receive IP datagrams; OID "1.3.6.1.2.1.6.9" represents the number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT; etc. To get a list of valid OIDs for your SNMP enabled devices you should contact the vendor of the device. They should be able to give you a MIB file that contains all the OIDs for the device. If you cannot contact the vendor, try to find the file on the Internet. Numerous free resources offer wide lists of MIB files for various devices (e.g. http://www.mibdepot.com/index.shtml).
When you are configuring SNMP Get test method with MIB Browser installed HostMonitor allows you to specify SNMP variables by a name (e.g. iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.0) as well as by an OID in numeric format (e.g. 1.3.6.1.2.1.1.3.0). If you click on "Browse MIBs" button next to "OID" field, HostMonitor will launch MIB Browser displaying the hierarchy tree of SNMP variables. The specified variable (if any) is highlighted and additional information is displayed for it (such as status, access mode, description). Now you may browse variables, choose another variable if needed and click [Ok] button to use the selected variable by HostMonitor.

Starting from version 9.18 HostMonitor allows you to use expressions like
TotalTraffic1 = [1.3.6.1.2.1.2.2.1.10.1] + [1.3.6.1.2.1.2.2.1.16.1]
In such case HostMonitor will retrieve 2 counters (1.3.6.1.2.1.2.2.1.10.1 - total number of octets received on interface #1; 1.3.6.1.2.1.2.2.1.16.1 - total number of octets transmitted out of interface #1) calculate sum of these counters and check result.
When you are using this expression, %MIBNAME%, %MIBNAMESHORT% and %PATH% variables will be set to TotalTraffic1 (name of the variable specified in this expression); while %OBJECT% variable will be set to [1.3.6.1.2.1.2.2.1.10.1] + [1.3.6.1.2.1.2.2.1.16.1]

Also you may use folder-level variables instead of expression. In such case variable should be specified using Folder Properties dialog and it should contain valid expression.
For example you may use [1.3.6.1.2.1.2.2.1.10.1]+[1.3.6.1.2.1.2.2.1.16.1] string for %fvar_totaltraffic1% folder variable and then just type %fvar_totaltraffic1% when setup SNMP Get test item. In such case %MIBNAME%, %MIBNAMESHORT% and %PATH% variables will be set to totaltraffic1 while %OBJECT% variable will be set to [1.3.6.1.2.1.2.2.1.10.1]+[1.3.6.1.2.1.2.2.1.16.1]

When you are using expression for SNMP Get test, counters should be specified by OID numbers enclosed in square brackets. MIB names cannot be used in expressions.
Also you may use round brackets (to change common rules of precedence) and the following operators:
 div - integer division, the value of (x div y) is the value of x divided by y and then rounded in the direction of zero to the nearest integer
 mod - remainder
 *  - multiplication
 +  - addition
 -   -subtraction
 or  - bitwise OR operation
 and - bitwise AND operation
 xor - bitwise XOR operation
Note: When at least one operand of AND/OR/XOR operators specified in binary format, HostMonitor will use binary format for result as well. E.g. (6 and '11111111B') will return '110B'. If you want to convert number in binary format to decimal format, you may use addition (+), subtraction (-) or multiplication operations. E.g. '110B'+0 will return '6'.
Example: var1 = (([1.3.6.1.2.1.2.2.1.10.1]+[1.3.6.1.2.1.2.2.1.16.1]) div ([1.3.6.1.2.1.2.2.1.14.1]+[1.3.6.1.2.1.2.2.1.20.1]+1) AND 11110000B)+0

Condition for alert
HostMonitor can compare values returned by the device with a specified string and start alert actions if the returned value is:

  • less/more than the specified value
  • equal to/different from the specified number or string
  • contains/doesn't contain the specified string

Also HostMonitor has 9 alert conditions to check how new value changes compare to the previous test:
 "increases by" - HM sets "Bad" status when value increases by specified number or more
 "decreases by" - HM sets "Bad" status when value decreases by specified number or more
 "changes by" - HM sets "Bad" status when value changes by specified number or more
 "increases by (%)" - HM sets "Bad" status when value increases by specified (or greater) percentage
 "decreases by (%)" - HM sets "Bad" status when value decreases by specified (or greater) percentage
 "changes by (%)" - HM sets "Bad" status when value changes by specified (or greater) percentage
 "increases /sec" - HM sets "Bad" status when average increase of the counter (per second) is greater than the specified limit ((new value - old value)/elapsed time >= specified limit)
 "decreases /sec" - HM sets "Bad" status when average decrease of the counter (per second) is greater than the specified limit ((old value - new value)/elapsed time >= specified limit)
 "changes /sec" - HM sets "Bad" status when average change of the counter (per second) is greater than the specified limit (abs(new value - old value)/elapsed time >= specified limit)

BTW: if OCTET STRING returned by SNMP agent contains non-printable characters, HostMonitor displays them using %XX format where "XX" is a hexadecimal code of a character (byte). This is useful when you need to check MAC address or some other counters.


SNMP Credentials

SNMP Credentials dialog allows you to setup list of SNMP profiles (accounts). Profiles store login or community string and other information necessary for communication with SNMP agent.
For each profile you should specify name of the profile (your choice) and version of SNMP protocol used by SNMP agent. HostMonitor supports SNMP v1, v2c and v3.

Community
If SNMP agent uses SNMP v1 or v2c protocol, specify the SNMP community name. Often SNMP systems uses "public" as community string but it can be different on your systems.


If SNMP agent is configured to use SNMP v3, you should specify the following parametrs:

Username
Enter the username that is configured for the SNMP agent(s). An SNMP device, upon reception of a request, uses this username to look for configured authentication and encryption parameters and applies them to the received request message.

Context
Specify the context needed to identify specific SNMP instances. This parameter is optional.

Authorization
You may choose one of the following authorization methods: None (no authorization), MD5 or SHA authentication.

Authorization password
If authorization is used, use this field to specify authorization password.

Privacy type
Specify encryption mode: DES, AES or 3DES

Privacy password
Specify key for encryption


Check OPAQUE data for float numbers
This option tells HostMonitor to check for single and double precision floating-point numbers that can be encoded as OPAQUE SNMP data and compare such numbers with specified value (number that specified as alert condition for each specific test item).

SNMP Trap

SNMP Trap test method allows you to receive SNMP Trap messages - unsolicited messages from a device (such as router, server) to an SNMP console. Traps might indicate power-up or link-up/down conditions, temperatures exceeding certain thresholds, high traffic, etc. Traps provide an immediate notification for an events that otherwise might only be discovered during occasional polling.

This test method is different from any other. Unlike rest of tests that really test some devices (by sending request and receiving response), SNMP Trap test method was implemented as listener - it does not send any requests. HostMonitor listens for incoming messages from network hosts and reacts in real-time.
That is why time interval fields for this test method are disabled; however you still may use Schedule as well as for any other method. HostMonitor simply ignores messages that come within restricted time period.

BTW: Active RMA agent is able to collect, filter and forward SNMP Trap messages from remote networks to HostMonitor. Some notes regarding Active RMA:
  • RMA encrypts Trap messages like any other traffic between HostMonitor and RMA
  • When you setup SNMP Trap test item and choose remote active agent using "Test by" property, HostMonitor send filter settings to the agent. This allows filtering incoming trap messages on remote site and sending to HostMonitor only messages that satisfy specified requirements.
  • HostMonitor does not use "Backup RMA" for SNMP Trap test items.

In addition to the common test parameters, the SNMP Trap test has the following options:
In the Options dialog (Miscellaneous: SNMP Trap test settings page) you may specify general Trap Watcher settings and provide special instructions to warn about high SNMP traffic from network devices.


Filters:

When you setup SNMP Trap test item, you should provide filters (one or more conditions) that will separate "Bad" and "Good" messages. Message passes the filter only when it matches ALL specified requirements of the filter.
When HostMonitor receives message that fits "Bad" filter conditions, it changes status of the test item to "Bad". If HostMonitor receives message that fits "Good" filter conditions, it changes status of the test item to "Ok".
Different test items may react on different trap messages. For example one test item may react on router configuration changes, while another test reacts on incoming connections received by your firewall.
It is also possible to change status of the test if no "Bad" (or "Good") trap messages were received within specified time interval. For example, you may setup 3rd test item alerting you when a temperature-monitoring device does not send any messages for 5 min.

The following options define which situation will be reported as "bad":
  • set "Bad" status if received message satisfies...
    with this option selected HostMonitor will set "Bad" status when received trap message meets all conditions of the "Bad" filter.
  • set "Bad" status if no "Good" trap received within NN sec
    with this option selected HostMonitor will assign "Bad" status to the test item when there were no messages received within specified interval of time or when received messages don't meet conditions of the "Good" filter.

The same options are available for "Good" messages:
  • Set "Ok" status if received message satisfies...
  • Set "Ok" status if no "Bad" trap received within NN sec
Plus there is one more option for "Good" status:
  • Set Ok status by acknowlegement (manually)
With this option enabled, test item will remain "Bad" until operator Acknowledge status (then status will be changed to Ok)

You should provide at least one filter ("Bad" or "Good) or both.

Filter conditions:

There are 2 sets of conditions in the Trap Filter dialog - "Bad" and "Good" filters. Message passes the filter only when it matches ALL specified requirements. If received message does not match neither "Bad" nor "Good" filter, trap message is ignored by the test item (but of course it can be processed by another test item with different filter).

So, let's describe the conditions:

SNMP device
Match against the source device - device that have sent message. You can provide list of IP addresses and choose one of the following options:
  • Any
messages from any device will be accepted
  • Any from the following
messages only from specified devices will be accepted
  • Any except the following  
messages from any devices except specified will be accepted
List editing tips
  • To add new items to the end of the list go to the last existing line and press Down Arrow key.
  • Press INSERT key to insert new item.
  • Press CTRL+DEL to remove item.
  • Press F2 to edit item.
Note: also you may specify ranges of IP addresses from which SNMP Trap message may be accepted. E.g. 192.168.1.1 - 192.168.1.100

Trap type (generic)
Match against the generic type of the trap:
  • Any
select this option to accept messages of any type.
  • Any from the following  
if you want to accept just some type of messages, select this option and mark one or several possible event types: Cold Start, Warm Start, Link Down, Link Up, Authentication Failure, EGP Neighbor Loss, Enterprise Specific
  • Cold Start - the sender is reinitializing and its configuration may change
  • Warm Start - the sender is reinitializing but its configuration will not change
  • Link Down - failure in one of the agent's links
  • Link Up - one of the agent's links has come up
  • Authentication Failure - the agent received a protocol message improperly authenticated
  • EGP Neighbor Loss - an Exterior Gateway Protocol neighbor is down
  • Enterprise Specific - the trap is identified as not being one of the basic traps

Trap type (specific)
You can provide list of enterprise specific codes (numbers) and choose one of the following options:
  • Any
accept messages of any type
  • Any from the following
accept only messages that have one of the specified enterprise specific types
  • Any except the following  
accept messages with any enterprise specific type except those that are specified in the list
List editing tips
  • To add new items to the end of the list go to the last existing line and press Down Arrow key.
  • Press INSERT key to insert new item.
  • Press CTRL+DEL to remove item.
  • Press F2 to edit item.

Enterprise
Enterprise field of the trap contains an OBJECT IDENTIFIER, which names the device that sends the trap. Here you may provide list of OIDs and choose one of the following options:
  • Any
do not check Enteprise field of the traps
  • Any from the following
accept only messages from listed devices.
  • Any except the following accept  
all messages except from the devices on the list

Message contains OID
This option allows you to check incoming trap messages for some specific variable and
  • compare its value to some constant (string or number)
  • compare current value of the variable with previous value of this variable
Just provide OID (OBJECT IDENTIFIER) of the variable and choose one of the following compare conditions:
  • is < than
message fits the condition when value of the variable is less than specified number
  • is > than
message fits the condition when value of the variable is greater than specified number
  • is = to
message fits the condition when value of the variable is equal to specified number or string
  • is <> from
message fits the condition when value of the variable is not equal to specified number or string
  • contains
message fits the condition when value of the variable contains specified string
  • does not contain
message fits the condition when value of the variable does not contain specified string
Also HostMonitor supports 9 conditions that allows you to check how new value had changed versus its previous value:
  • increases by
trap message fits the condition when new value is greater then the old one by specified number or more
  • decreases by
message fits the condition when new value is less then old one by specified number or more
  • changes by
message fits the condition when absolute difference between new and old value is equal or greater then specified number
  • increases by (%)
message fits the condition when new value had increased by specified (or greater) percentage versus the old one
  • decreases by (%)    
message fits the condition when new value had decreased by specified (or greater) percentage versus the old one
  • changes by (%)
message fits the condition when an absolute difference between new and old values measured as a percentage of an old value is equal or greater then specified percentage number
  • increases /sec
message fits the condition when average increase of the counter (per second) is greater than the specified limit ((current value - old value)/elapsed time >= specified limit)
  • decreases /sec
message fits the condition when average decrease of the counter (per second) is greater than the specified limit ((old value - current value)/elapsed time >= specified limit)
  • changes /sec
message fits the condition when average absolute difference (change) of the counter (per second) is greater than the specified limit (abs(current value - old value)/elapsed time >= specified limit)

Note 1: When you are configuring SNMP Trap test method with MIB Browser installed HostMonitor allows you to specify SNMP variables by a name (e.g. iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.0) as well as by an OID in numeric format (e.g. 1.3.6.1.2.1.1.3.0). If you click on "Browse MIBs" button next to "OID" field, HostMonitor will launch MIB Browser displaying the hierarchy tree of SNMP variables. The specified variable (if any) is highlighted and additional information is displayed for it (such as status, access mode, description). Now you may browse variables, choose another variable if needed and click [Ok] button to use the selected variable by HostMonitor.

Note 2: You may type "any" instead of specific object identifier. In such case HostMonitor will check every object contained in the Trap message.
Also you may use trailing wildcard * for "Message contains OID" test property. E.g. 1.3.6.1.2.1.1.3*

Note 3: If you use relative compare modes (increases by, changes by, decreases by (%), increases /sec, etc) and various network sources can send the same variable, you should restrict the filter to accept SNMP Trap messages from a single source only. Otherwise HostMonitor could compare variables that were received from different sources (that usually does not make any sense). Create several test items (one item for each network source) if you have to use relative compare mode for some variable.


Counters fit expression
Instead of "Message contains OID" option you may mark "Counters fit expression" checkbox and provide logical expression that will be applied to incoming trap messages. This option allows you to check several parameters (counters) of the message using expressions like the following:
('gmail.com' in '%1.3.6.1.4.1.3093.1.1.0%') and (%1.3.6.1.4.1.3093.1.3.0% > 995)
Such expression means - trap message will pass verification when it contains OID 1.3.6.1.4.1.3093.1.1.0 and its value contains 'gmail.com' string; also trap message contains OID 1.3.6.1.4.1.3093.1.3.0 with numeric value above 995.

In these expressions you can use:

  • numbers and strings (in quotes). Strings that contain a number plus one of the following unit specificators [ms, Kb, Mb, Gb, %] are compared as numbers, so that '900 Kb' is less than '9 Mb' ('900 Kb' is equivalent to 921600)
  • variables that represent trap message OIDs. Such variables should be marked by % signs. HostMonitor resolves OID variables using values from received trap message. If received SNMP Trap message does not contain specified OID, HostMonitor sets variable to empty string '' before logical expression evaluation;
  • logical operators [and, or, xor, not, <, >, >=, <=, ==, <>];
  • arithmetic operators [div, mod, *, +, -]
     div (integer division)
     mod (remainder)
     *  (multiplication)
     +  (addition)
     -  (subtraction)
    Note: the value of (x div y) is the value of x divided by y and then rounded in the direction of zero to the nearest integer; 'mod' operator returns the remainder obtained by dividing its operands (in other words, (x mod y) == x - (x div y) * y);
  • operator [in]. Expression 'Substr' in 'Str' searches for a sub string, Substr, in a string Str. Operator returns True when Str contains Substr; otherwise operator returns False
  • parentheses
    In complex expressions, common rules of precedence determine the order in which operations are performed:
    Operators Precedence
    not first (highest)
    div, mod, * second
    +, -, in third
    <, >, >=, <=, ==, <> fourth
    and, or, xor fifth (lowest)
    An operator with higher precedence is evaluated before an operator with lower precedence, while operators of equal precedence associate to the left. You can use parentheses to override precedence rules. An expression within parentheses is evaluated first and then its result is treated as a single operand.


Display
This option defines what information will be displayed in the Reply field of the test item. Choose one of the following options:
  • Agent address  
Represents IP address of the host that have sent the message
  • Trap type
Represents type of the trap. It provides information about generic type and enterprise specific number. Generic type could be one of the following: Cold Start, Warm Start, Link Down, Link Up, Auth Failure, EGP Loss, Specific.
  • Cold Start - the sender is reinitializing and its configuration may change
  • Warm Start - the sender is reinitializing but its configuration will not change
  • Link Down - failure in one of the agent's links
  • Link Up - one of the agent's links has come up
  • Authentication Failure - the agent received a protocol message improperly authenticated
  • EGP Neighbor Loss - an Exterior Gateway Protocol neighbor is down
  • Enterprise Specific - the trap is identified as not being one of the basic traps
Enterprise specific number is only applicable when generic trap type is Enterprise Specific, otherwise enterprise specific number is 0
  • Enterprise
Enterprise field contains an OBJECT IDENTIFIER which names the device that have sent the trap
  • OID
Variable name (OID)
  • Counter
Variable value
  • Relative value
Relative value of the variable. This is could be useful when you check incoming trap messages for some specific variable and compare current value of the variable with its previous value (see "Message contains OID" option in the Trap Filter dialog). Depending on the test settings HostMonitor may display:
  • simple difference between current and previous value (if you use "increases by", "decreases by" or "changes by" compare option)
  • relative difference as a percentage of previous value (if you use "increases by (%)", "decreases by (%)" or "changes by (%)" compare option)
  • average increase/decrease of the counter per second since previous message (if you use "increases /sec", "decreases /sec" or "changes /sec" compare option)
  • OID & Value
Display variable name (OID) and variable value

Increment counters when no messages received
If you are using SNMP Trap test items with "Set Ok status if no Bad trap received within N sec" option, HostMonitor sets "Ok" status to the test item when there are no messages received within specified time interval or when received messages don't meet conditions of the "Bad" filter.
With "Increment counters when no messages received" option enabled HostMonitor sets the status AND increments Recurrences and statistical counters every N seconds. This allows the use of escalation alerts even if HostMonitor does not receives any messages from monitoring device. Of course the same rule applies to "Set Bad status if no Ok trap received within N sec".

SNMP Table


This test uses SNMP protocol, like SNMP Get test method. The Simple Network Management Protocol (SNMP) is the Internet standard protocol for exchanging management information between management console applications and managed entities (hosts, routers, bridges, hubs). Using SNMP protocol, HostMonitor can control many different parameters of various network devices.
While single SNMP Get test item allows you to check just one counter provided by specified SNMP agent, single SNMP Table test item may check hundreds counters at once. Single SNMP Table test item cannot check various SNMP agents (check different hosts) but it can retrieve set of counters from target agent and perform various checks. E.g. you may setup HostMonitor to look for a maximum or minimum counter within some table, check average value or look for most rapidly changing counter.
In some cases you may replace thousand of you SNMP Get test items with single SNMP Trap test. E.g. if you want to receive alert when any network interface on your router changes status, you may easily do this using single SNMP Table test.
In addition to the common test parameters, the SNMP Table test has the following options:

Host
Specify target host name or address. You may provide either a dotted-decimal IP address or a host name that can be resolved to an IP address, an IPX address (in 8.12 notation), or an Ethernet address.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) and specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6) If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If the name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: IPv6 protocol is not supported on Windows NT 4.0, Windows 2000 and Windows XP SP1. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify the port number on which target SNMP agent is listening for incoming requests. By default SNMP agents use port 161.

Timeout
This is the amount of time in milliseconds the program will wait for a response from the server before the request fails.

Retries
Specifies the communications retry count.

SNMP profile
Choose profile that stores credentials necessary for communication with SNMP agent. You may select profile from drop-down list or click button beside the list to bring up SNMP Credentials dialog.

Table OID
Here you specify what exactly information should be requested from target SNMP agent by providing object identifier. In contrast to SNMP Get test method (where you should specify OID of single instance counter or specific instance of multi-instance counters), here you should provide OID that identifies multi-instance counter. E.g. when the following OIDs identify current operational state for 64 interfaces on target router
- 1.3.6.1.2.1.2.2.1.8.1
- 1.3.6.1.2.1.2.2.1.8.2
....
- 1.3.6.1.2.1.2.2.1.8.64 SNMP Table test allows you to specify OID 1.3.6.1.2.1.2.2.1.8 when you want to check state of all network interfaces on target device.
When you are configuring SNMP Table test method with MIB Browser installed HostMonitor allows you to specify SNMP variables by a name (e.g. iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInErrors) as well as by an OID in numeric format (e.g. 1.3.6.1.2.1.2.2.1.14). If you click on "Browse MIBs" button next to "OID" field, HostMonitor will launch MIB Browser displaying the hierarchy tree of SNMP variables. The specified variable (if any) is highlighted and additional information is displayed for it (such as status, access mode, description).

Max rows
In some cases table provided by SNMP agent can be huge but it's enough to check just part of the table. You may use this option to set maximum number of rows (counters) that should be retrieved from target host and checked by HostMonitor thus you may save system resources and increase performance.

Apply filter
Also you may provide additional filter based on counter values. For example if you want to find minimum nonzero counter, you should use "Apply filter: skip items are = to 0" option.

Alert when
The following options specify how exactly retrieved data should be checked and when HostMonitor should set "bad" test status and start alerts assigned to the test item. There are 6 summation modes and 15 comparison modes offered by HostMonitor.

First you should choose summation mode:
- any itemcheck every retrieved counter
- mincheck counter with minimum value
- maxcheck counter with maximum value
- averagecheck average value of all counters
- totalcheck total (cumulative) value of all counters
- row count  check number of retrieved counters

Then you should set comparison mode and threshold value. HostMonitor can compare counter values retrieved from SNMP agent with a specified number (or string) and set "Bad" status if counter value is:

  • less or more than the specified number (string)
  • equal to or different from the specified number (string)
  • contains or does not contain the specified string

Also HostMonitor offers 9 alert conditions that allow you to check how counter values change comparatively to the values received by previous test probe:
- increases by HostMonitor sets "Bad" status when counter value increases by (or over) the specified limit
- decreases by HostMonitor sets "Bad" status when counter value decreases by (or over) the specified limit
- changes by HostMonitor sets "Bad" status when counter value either increases or decreases by (or over) the specified limit

The following options allow you to check how counter value changes relatively to previous value of the same counter percentage wise
- increases by (%)   HostMonitor sets "Bad" status when counter value increases by (or over) the specified percentage
- decreases by (%)   HostMonitor sets "Bad" status when counter value decreases by (or over) the specified percentage
- changes by (%)   HostMonitor sets "Bad" status when counter value changes by (or over) the specified percentage

Other options allow you to check how fast counter value changes over time
- increases /secHostMonitor sets "Bad" status when average increase of the counter (per second) is greater than the specified limit. I.e.
(new value - old value)/elapsed time >= specified limit
- decreases /secHostMonitor sets "Bad" status when average decrease of the counter (per second) is greater than the specified limit. I.e.
(old value - new value)/elapsed time >= specified limit
- changes /secHostMonitor sets "Bad" status when average change of the counter (per second) is greater than the specified limit. I.e.
abs(new value - old value)/elapsed time >= specified limit

Note 1: If you are using "Alert if any item" mode for SNMP Table test, HostMonitor checks entire table (all counters passed thru filter) and finds not just a value that fits specified alert threshold but finds the counter that maximally satisfies specified condition.
For example:
  • If you setup "Alert if any item < than 1000" condition and SNMP agent returns numbers 2222, 100, 50, 5000 then HostMonitor will report 50 as test result (1st number that fits condition is 100 but HostMonitor will continue scanning and find minimal number 50).
  • If you setup "Alert if any item > than 1000" condition and SNMP agent returns numbers 2222, 100, 50, 5000 then HostMonitor will report 5000 as test result (not 2222)
The same rule works when you use "increases by", "decreases by", "changes by %" and other comparative modes - HostMonitor will find counter that increased or decreased maximally (or increased/decreased maximally percentage wise).
This way you may find not just network interface with new errors but find interface that has the highest number of new errors; or find interface where growth of incoming network traffic has the highest rate.

Note 2: Test Info dialog shows table with all counters retrieved from target host; it shows OID, current counter value, old counter value and difference for each row. Also you may view this information using Web Service.

Note 3: There are variables specific to SNMP Table test; you may use these variables as parameters of some actions assigned to such test items.

Traffic Monitor


This test allows you to check the traffic on network interfaces of SNMP enabled devices. It has the following advantages over the SNMP test:

  • you don't need to know much about OIDs. Connection to the specified network device is established with the help of Test Properties dialog which displays the list of available interfaces. You only have to select the interface that you want to monitor;

  • using single test item you may monitor total (both incoming and outgoing ) traffic on the selected interface;

  • with single test item you may monitor summarized total of the traffic or some other parameters (like queue length) for all interfaces of selected device. For example you may monitor the traffic on all ports of one network router.

In addition to the common test parameters, Traffic Monitor test has the following options:

Host
Here you should provide a string specifying either a dotted-decimal IP address (e.g. 195.168.10.10) or a host name that can be resolved to an IP address, an IPX address (in 8.12 notation), or an Ethernet address.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) or specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify the port number on which the host is listening for incoming requests. By default SNMP agent uses port 161.

Profile
Choose profile that stores credentials necessary for communication with SNMP agent. You may select profile from drop-down list or click button beside the list to bring up SNMP Credentials dialog.

Timeout
This is the amount of time in milliseconds the program will wait for a response from the server before the request fails.

Retries
Specifies the communications retry count.

Check (interface)
Select interface that you want to monitor. For each available interface popup window displays the index, description, speed and status facilitating easy selection of correct interface. If you choose "Monitor traffic on all interfaces", HostMonitor will check summarized traffic for each network interface available on the device.

Alert if
Here you should specify which parameter of the interface to check together with its minimum or maximum value beyond which an alert action will be started.
Parameter Comment Alert threshold unit(s)
In/Out traffic total of incoming and outgoing traffic Kbit/sec, KB/sec, Mbit/sec, MB/sec,
Kbit/min, KB/min, Mbit/min, MB/min
Income traffic income traffic only Kbit/sec, KB/sec, Mbit/sec, MB/sec,
Kbit/min, KB/min, Mbit/min, MB/min
Outgoing traffic outgoing traffic only Kbit/sec, KB/sec, Mbit/sec, MB/sec,
Kbit/min, KB/min, Mbit/min, MB/min
In Discards the number of inbound packets which were chosen to be discarded (e.g. because of an unknown or unsupported protocol) pkt/sec
pkt/min
In Errors the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol pkt/sec
pkt/min
Out Discards the number of outbound packets which were chosen to be discarded pkt/sec
pkt/min
Out Errors the number of outbound packets that could not be transmitted because of errors. pkt/sec
pkt/min
Output queue the length of the output packet queue pkt

Note #1: even though you specify traffic (or errors) limit in Kb/sec, Mb/min, etc, it doesn't mean that HostMonitor will check network interface every second or every minute. It checks the device by specified schedule and then calculates average traffic between 2 consecutive probes.

Note #2: options located on Misc page in the Options dialog allow you to select units used to report amount of network traffic (KB/MB or Kbit/Mbit).

Note #3: since version 7.06 HostMonitor does not use Microsoft`s mgmtapi.dll anymore, this helps to avoid various problem caused by bugs in some versions of this DLL

Network Interfaces Status (NIS)


This test allows you to check all or some specific interfaces on SNMP enabled device (server, router, etc). HostMonitor may warn you when network interface goes down or changes its administrative and/or operative status.

In addition to the common test parameters, NIS test has the following options:

Host
Provide a string specifying either a dotted-decimal IP address (e.g. 195.168.10.10) or a host name that can be resolved to an IP addres.
Also you may provide IPv6 addresses (e.g. fe80::370:ff56:fed5:22) or specify hostname with suffixes ::ipv4 or ::ipv6 (e.g. www.google.com::ipv4 or www.6bone.net::ipv6).
If you specify hostname without any suffix, HostMonitor will try to resolve name into IP address using IPv4 protocol. If name cannot be resolved by IPv4 protocol, HostMonitor will try to use IPv6 protocol. If you specify hostname with ::ipv4 (or ::ipv6) suffix, HostMonitor will use IPv4 (or IPv6) protocol only.
Note: on Windows NT 4.0, Windows 2000 and Windows XP SP1 IPv6 protocol is not supported. You may use menu Tools -> Local Info to check is your system IPv6 ready.

Port
Specify the port number on which the host is listening for incoming requests. By default SNMP agent uses port 161.

Profile
Choose profile that stores credentials necessary for communication with SNMP agent. You may select profile from drop-down list or click button beside the list to bring up SNMP Credentials dialog.

Timeout
This is the amount of time in milliseconds the program will wait for a response from the server before the request fails.

Retries
Specifies the communications retry count.

Check
Use this option to choose which status should be checked for each network interface.
admin status onlyHostMonitor will check the desired (administrative) state of the interface and show number of interfaces with administrative_status<>UP
admin and operative statusesHostMonitor will check administrative and current operational state of the interface and show number of interfaces that fits the following condition:
(administrative_status<>UP) OR (operational_status<>UP)
operative status (all interfaces)   HostMonitor will check the current (operative) state of the interface and show number of interfaces with operative_status<>UP
operative status
(when admin status UP)
HostMonitor will check administrative and current operational state of the interface and show number of interfaces that fits the following condition:
(administrative_status==UP) AND (operational_status<>UP)
Lets call these selected interfaces "bad" interfaces

The following options tells HostMonitor when "Bad"/"Ok" test status should be set and when actions should be triggered

Alert if
N or more interfaces downHostMonitor will set "Bad" test status when number of "bad" interfaces over specified limit.
HostMonitor will restore "Ok" test status when number of "bad" interfaces <= specified number.
any new interface down HostMonitor keeps list of all interfaces. If any interface changes status from UP to DOWN, HostMonitor sets "Bad" test status.
The following options tell HostMonitor when "Ok" status should be restored:
- set Ok: auto    the following test probe may set Ok status if no other interface changed its status from UP to DOWN
- set Ok: user    HostMonitor will keep "Bad" status until operator acknowledge item
any change in status detected   HostMonitor keeps list of all interfaces. If any interface changes status (UP to DOWN or DOWN to UP), HostMonitor sets "Bad" test status.
The following options tell HostMonitor when "Ok" status should be restored:
- set Ok: auto    the following test probe may set Ok status if no other interface changed its status
- set Ok: user    HostMonitor will keep "Bad" status until operator acknowledge item


When NIS test performs HostMonitor sets the following macro variables
%InterfacesDOWN_Index%"Bad" interfaces: list of interfaces indexes separated by commas
%InterfacesDOWN_Name% "Bad" interfaces: list of interfaces descriptions separated by CRLF

Value of the following "InterfacesChanged" variables depends on above options
- set Ok: autowith this option selected "InterfacesChanged" variables will provide list of interfaces whose status changed between last 2 probes
- set Ok: userwith this option selected "InterfacesChanged" variables will provide list of interfaces whose status changed since last user acknowledgement
 
%InterfacesChanged_Index%   List of interfaces indexes which status has been changed (separated by commas)
%InterfacesChanged_Name% List of interfaces descriptions which status has been changed (separated by CRLF)


Ignore interfaces
Select interface(s) you want to skip from monitoring. You may specify comma separated list of interface indexes or open "Choose network interface" window, view interfaces list (index, description, speed, status, etc) and mark some interfaces.

IT Temperature Monitor

When you utilize temperature-sensing units from Sensatronics, this test provides you with the ability to monitor the temperature and to start alert actions when the temperature is out of the specified range. HostMonitor supports following unit models: In addition to the common test parameters, IT Temperature Monitor test has the following options:

IP
Provides IP address of the temperature-sensing unit

Port
Specifies TCP port that is used by the unit. By default it uses port #80

Probe
After you have specified IP address and TCP port, select which Probes you want to monitor. There are two special (in addition to the list of probes) options available in the drop down list:
  • <All probes>
    HostMonitor will check all available probes (on the specified unit) and will start alarm action when the temperature on ANY probe(s) is out of specified upper/lower limits (status of the test item will then be set to "Bad"). If some probes are not connected or there is a shortcut in the circuit, HostMonitor sets "Unknown" status of the test (and starts alarm actions if "Treat Unknown status as Bad" option is enabled).

  • <All operable probes>
    if you choose this item, HostMonitor will check all operable probes. Operable, means all those probes that work correctly, shortcut or not connected probes will be ignored.

Scale
This option sets Fahrenheit or Celsius scale to display temperatures.

Low temp alarm
Use this option to set lower temperature limit. If temperature goes below this limit, HostMonitor sets test status to "Bad" (and starts alert actions if specified so).

High temp alarm
Use this option to set upper temperature limit. If temperature goes above this limit, HostMonitor sets test status to "Bad" (and starts alert actions if specified so).

* EM1 Environmental Monitor may measure wetness and humidity as well as temperature. To monitor wetness and humidity with HostMonitor you should use SNMP Get test method.

Active Script


Starting from HostMonitor version 3.40 you can create your own tests using different script languages such as Visual Basic Script or Java Script. HostMonitor uses Microsoft ActiveScripting technology to execute scripts that were written by you or somebody else. Theoretically using this type of test you can check anything what is possible to check (if its impossible to retrieve some information using script language, you can create ActiveX object (e.g. using C++) and use this object in the script). So, you are the one who can improve HostMonitor to suit all your needs. BTW you can create your own script language
In addition to the common test parameters, the Script test has the following options:

Run script from external file
Set this option and specify script file name that HostMonitor will load and execute every time test is performed. This option allows you to change script any time without changing HostMonitor's settings. E.g. HostMonitor can be loaded on server machine and execute scripts located on workstations.

Store script inside HML file
With this option enabled HostMonitor will store script inside HML file with test settings. You can protect HostMonitor's settings by password and be sure nobody read or modify your scripts.

Language
The Language property determines language in which a script is written. HostMonitor can use any script engine that is installed on your system. VBScript and JScript installed by default on Windows 2000/XP. Also you can download and install additional script languages, for more information please refer to Technical requirements paragraph.

Timeout
The Timeout property offers a safety shield to prevent a script program from going into an infinite loop and locking up the system. It specifies the maximum number of seconds the script will run before an error will be generated.

Alow UI
When this option enabled the script program can display user interface (UI) elements such as a MsgBox.

Translate macros
With this option enabled you can use special macro variables in your script.

Also Test Properties dialog contains Edit and Test buttons. First button opens Script Editor window that allows you to view, modify, and execute script. Test button executes script and displays result or an error message.


Requirements to the script:
HostMonitor has just a few requirements:
1. script must contain "performtest" function. HM always call function with this name
2. "performtest" function must not have any parameters
3. "performtest" function must return string value. This string contains two parts separated by colon (:). First obligatory part contains test status, it can take following values:
  • "Host is alive"
  • "No answer"
  • "Unknown"
  • "Unknown host"
  • "Ok"
  • "Bad"
  • "Bad contents"
Second optional part contains "Reply" value, HostMonitor displays this value in Reply field, writes to log files, uses to displays charts (Log Analyzer), etc.
Several examples:
return "Host is alive:1000 ms" | Jscript; Status: Host is alive; Reply: 1000 ms
return "Unknown host:" | Jscript; Status: Unknown host; Reply: empty
performtest = "Ok:300 Kb" | VBscript; Status: Ok; Reply: 300 Kb
performtest = "Bad:90 %" | VBscript; Status: Bad; Reply: 90 %
3a. If you want Log Analyzer will be able correctly process "Reply" values and displays charts, use one of the following formats for "Reply" value:
  • decimal_number (like '123', '0', '6456.45'. as decimal separator use symbol that is specified on your system, usually a dot (.) or a comma (,))
  • decimal_number + space + 'Kb' (like '512 Kb', '64 Kb')
  • decimal_number + space + 'Mb' (like '1024 Mb', '5 Mb')
  • decimal_number + space + 'Gb' (like '12 Gb', '4 Gb')
  • decimal_number + space + '%' (like '50 %', '99 %')
  • decimal_number + space + 'ms' (like '100 ms', '5400 ms')
That's it. Everything else is entirely up to you

When you create new script HostMonitor provides template with constants that describe test statuses and with empty "performtest" function.
Also you can find several simple examples of scripts in HostMonitor's directory "Examples\".
DrivesList.vbs - VBScript, checks list of disk drives on local system. Set test's status to "Bad" when list of drives changes. E.g. when user map/unmap network drive.
DrivesList.js - JScript, analogue of DrivesList.vbs
DiskSpaces.vbs - VBScript, checks difference between free disk space on drive C: and drive D: Sets status to "Bad" when drive C: has less amount of free space than drive D:
DiskSpaces.js - JScript, analogue DiskSpaces.vbs
CheckWord.vbs - VBScript, statrs MS Word, opens document and returns number of characters in the document. If MS Word is not installed or document does not exist, test's status will be "Uknown"
RegRead.vbs - VBScript, reads registry data. Sets test's status to "Bad" when some application (or a user) changes address to a web page that Internet Explorer use as home page
RegRead.js - JScript, analogue RegRead.vbs


Technical requirements:
As we already said HostMonitor uses Microsoft ActiveScripting technology to execute scripts. Microsoft ActiveScript is basically 2 related COM objects: the scripting engine and the scripting host.
The scripting host is responsible for the interaction between application and the scripting engine. HostMonitor uses MS Script Control as scripting host. It means MS Script Control must be installed on your system to perform script tests. Normally, this control is installed in Windows 2000, and Windows XP. If you have an old versions of Windows (Windows 98/ME/NT 4.0), you can download the MS Script Control from http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/733/msdncompositedoc.xml

The scripting engine is the COM object that actually processes the scripts, e.g. VBScript, JScript, etc. These COM objects are usually provided by a third party (in the case of VBScript it's provided by Microsoft). On Windows 2000/XP VBScript and Jscript installed by default, also you can download and install additional script languages. If you have old version of Windows or if you want to use another script language, follow links can be useful for you:

Of course we don't know about all script languages available on the Internet, these are just the most popular that we know about.


Useful links:
There are some useful links:
Scripting FAQ: http://www.mindspring.com/~mark_baker/toc.htm
Microsoft Visual Basic Script documentation available at http://www.microsoft.com/en-us/download/details.aspx?id=2764
Microsoft Java Script documentation available at http://msdn.microsoft.com/en-us/library/hbxc2t98(VS.85).aspx

Shell Script


Shell Script method combines the versatility of "External" and convenience of "Active Script" method. Both "External" and "Shell Script" test methods execute specified commands as new processes. Due to this nature it is possible to use any programming tool for test creation. E.g. you may use Visual Basic script, Java script, create real executable file using C++ compiler or use simple BAT file or shell script. On the other hand this test method allows passing of any valid Status and Reply values back to HostMonitor. Just like "Active Script" (formerly "Script") test method.
In addition to the common test parameters, the Shell Script test has the following options:

Script
Choose script profile from drop down list box or click "Script Manager" button to view/modify/select the script. Script Manager allows you to view and modify scripts; check script comments, version and history; import and export existing scripts; create and test new scripts.
Some useful UNIX-specific scripts are included into the package.

Params
If script requires some parameters, "Hint" field will show you the list of parameters. E.g. "SYSTEM: Average Load for the past 5 min" script requires single parameter: <alert threshold>. If you specify "50" as the script parameter and script detects that system load is over 50%, it will set "Bad" status for the test. Otherwise status of the test will be "Ok".
Translate macros
With this option enabled you can use global macro variables as script parameters.

Timeout
The Timeout property offers a safety shield to prevent a script program from going into an infinite loop and locking up the system. It specifies the maximum number of seconds the script can run before HostMonitor (or RMA) terminates the script and sets "Unknown" status for the test.
If you set Timeout to 0, HostMonitor will not terminate script.


Known problems:
If you are using Windows Vista or newer version of the system, UAC is enabled and HostMonitor running as Win32 service cannot start external applications, you may need to assign "Replace a process level token" right to the account (user account used for HostMonitor service). Local Computer Policy -> Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> Replace a process level token -> Properties -> Add User or Group, then restart system


Some useful UNIX-specific scripts that are included into the package.

SYSTEM: number of processes (runnable)

Purpose: Checks how many processes are on run queue.
Parameters:
  MaxLimit script sets "Bad" status when number of runnable processes is greater than specified limit.
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

SYSTEM: number of processes (total)

Purpose: Checks how many processes (in total) exist on the system.
Parameters:
  MaxLimit script sets "Bad" status when number of processes is greater than specified limit.
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

SYSTEM: number of processes (zombie)

Purpose: Checks how many zombie processes exist on the system.
Parameters:
  MaxLimit script sets "Bad" status when number of defunct processes is greater than specified limit.
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

SYSTEM: number of user sessions

Purpose: Checks how many user sessions are opened on the system.
Parameters:
- MinLimit script sets "Bad" status when number of sessions is less than specified limit.
- MaxLimit script sets "Bad" status when number of sessions is greater than specified limit.
Platform: UNIX
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

SYSTEM: Average Load for the last 1, 5 or 15 min

Purpose: Checks an average load of the system during the last 1, 5, or 15 minutes.
Parameters:
- MaxLimit script sets "Bad" status when system load is over specified limit.
Platform: UNIX
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

SYSTEM: Mem Free

Purpose: Checks the amount of free memory on the system.
Parameters:
- MinLimit script sets "Bad" status when amount of free memory is less than specified limit (Kb)
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

SYSTEM: Swap Free

Purpose: Checks the amount of available swap space on the system.
Parameters:
- MinLimit script sets "Bad" status when amount of available swap space is less than specified limit (Kb)
Platform: FreeBSD / Linux / Solaris
Tested on: Linux Mandrake 9.1, FreeBSD 4.5, and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

Process: number of instances

Purpose: Checks the number of instances of the specified process.
Parameters:
- ProcessNamename of the process that has to be checked. On Solaris you should specify first 8 characters of the base name of the process's executable file name
- MaxLimit script sets "Bad" status when number of running instances is over specified limit
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

Process: %CPU usage (average)

Purpose: Checks an average (percentage for the last minute) CPU usage for the specified process. If there are several processes with the same name, script chooses process that loads CPU more than other instances.
Parameters:
- ProcessNamename of the process that has to be checked. On Solaris you should specify first 8 characters of the base name of the process's executable file name
- MaxLimit script sets "Bad" status when CPU usage by the process is over specified limit (%)
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

Process: %CPU usage (raw)

Purpose: Checks current (raw) CPU usage in percents by the specified process. If there are several processes with the same name, script chooses process that loads CPU more than other instances.
Parameters:
- ProcessNamename of the process that has to be checked.
- MaxLimit script sets "Bad" status when CPU usage by the process is over specified limit (%)
Platform: Linux
Tested on: Linux Mandrake 9.1
See also: Shell Script test method, Test Properties dialog, Script Manager

Process: Memory usage

Purpose: Checks memory usage for the specified process. If there are several processes with the same name, script chooses process with max amount of memory usage.
Parameters:
- ProcessNamename of the process that has to be checked. On Solaris you should specify first 8 characters of the base name of the process's executable file name
- MaxLimit script sets "Bad" status when memory usage by the process is over specified limit (Kb)
Platform: BSD / Linux / Solaris
Tested on: Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

Process: Virtual Memory usage

Purpose: Checks virtual memory usage for the specified process. If there are several processes with the same name, script chooses process with max amount of memory usage.
Parameters:
- ProcessName   name of the process that has to be checked. On Solaris you should specify first 8 characters of the base name of the process's executable file name
- MaxLimit script sets "Bad" status when virtual memory usage by the process is over specified limit (Kb)
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

USER: number of processes

Purpose: Checks the number of processes started by specified user.
Parameters:
- UserName user's login name
- MaxLimit script sets "Bad" status when the user has more running processes then specified limit
Platform: AIX / BSD / Linux / Solaris
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager

USER: number of sessions

Purpose: Checks the number of sessions opened by specified user.
Parameters:
- UserName user's login name
- MinLimit script sets "Bad" status when the user has less opened sessions then specified limit
- MaxLimit script sets "Bad" status when the user has more opened sessions then specified limit
Platform: UNIX
Tested on: AIX 5.3, Linux Mandrake 9.1, FreeBSD 4.5, FreeBSD 6.0, NetBSD 3.0.1, OpenBSD 3.9 and Solaris 9
See also: Shell Script test method, Test Properties dialog, Script Manager


Script Manager

You may reach Script Manager dialog from the Test Properties dialog (as described above) or use main window menu "Test"->"New"->"Shell Script test"->"Script Manager"

How to manage a list of script profiles?

In the upper part of the dialog you see the list of script profiles. To manage the list of profiles, use following buttons on toolbar:

New
Creates new profile.

Copy
Makes a copy of the selected profile. You will need to change either the name of profile or the target platform. HostMonitor does not allow having several scripts with the same name for the same target platform. However you may have several scripts with the same name for different platforms (e.g. "CPU Usage" script for Linux, "CPU Usage" script for Solaris and "CPU Usage" script for Windows).

Delete
Removes selected profile. Tests that were using deleted profile will not function properly after profile deletion and will return "Unknown" status.

Revoke
Revokes changes that were made in selected profile. To cancel all changes that were made in the list of profiles use Cancel button instead.

Usage report
This option shows usage report for selected script. It tells you where script is used.


You may sort script profiles in different orders. Menu items for the appropriate test methods will be arranged in the same order (menu items that located in the menu Test->New->Shell Script and in the pop-up menu Add->Shell Script).

Sort by name
Allows you to sort profiles by name in alphabetical order.
Sort by platform
Groups profiles by target platform, sorts profiles alphabetically within each group.


Import
Brings up "Import" dialog window that allows you to select file with script profiles, view profiles, select some of them and import into current list.

To avoid accidental script replacement a dialog shows the status of scripts (new, newer, exists, older) and uses different icons for the scripts.
Script statuses have the following meanings:
  • new

Script that is going to be imported does not exist in the current list. It is marked by green icon that means you can import script without any fear of losing existing settings.

  • newer 

Script that is going to be imported already exists in the list, however it has more recent modification date and higher version number than existing script. Marked by yellow, probably you should check the list of modifications that has been made to this script.

  • exists 

Script already exists in the list; it has the same modification date and version number. Marked by grey.

  • older

Script that is going to be imported already exists in the list, however it has older modification date and lower version number than existing one. Marked by red - risk of losing some functionality if you import this script

  • ??

Script that is going to be imported already exists in the list. HostMonitor is confused because script's modification date and version number are not correlating (e.g. "import" script has more recent modification date than current script but has lower version than current script. Or vice versa.)

If you click "Import" button and some of the current scripts are going to be replaced, HostMonitor will ask for confirmation.
By the way: you may select another file for importing without closing the dialog. Use "Import file" control for this purpose.


Export
This function brings up "Export" dialog that allows you to select some (or all) scripts from the current list and export them into specified file. So, you may send this file to your colleague.


How to create your own script?

Now the most interesting part: how to create scripts profiles. Script profile is not just a command for execution. It is recommended to specify comments, the list of parameters (if any) and version for each profile.

General script information

Name
Provide the name of the script. This name will be displayed in drop down list in the Test Properties dialog, also HostMonitor will create menu item (with the same title) in "Shell Script" submenu. If you click on that item, HostMonitor will create new test with preselected script.
Please note HostMonitor does not allow you to have several scripts with the same name for the same target platform. However you may have several scripts with the same name for different platforms (e.g. "CPU Usage" script for Linux, "CPU Usage" script for Solaris and "CPU Usage" script for Windows).

Hint
List of script parameters (if any). This parameter is optional however we recommend to use it. It will be displayed in the Test Properties dialog as a reminder - which parameters should be specified for the script. E.g. "Process: %CPU usage (average)" script has 2 parameters: <process_name> and <maximum threshold (%)>

Developer
Select name of the developer from drop down list. If your name is not in the list yet, just type the name and HostMonitor adds it to the list.

Platform
Choose the platform on which a script can be executed. E.g. Windows, Linux, or UNIX (if script can be executed on any UNIX-like system). If the script can be executed on several platforms (e.g. Linux and FreeBSD), please separate platforms by slash (e.g. FreeBSD/Linux).

Version
Script version. Import manager uses information about version and modification date (see above). If you change script that was developed by somebody else, please, change version number.

Date
Date of the last modification. HostMonitor updates this field automatically when you modify the script. Import manager uses information about version and modification date (see above).


Optional fields

Comment
Any comment that makes sense for you and could be helpful for yourself or other administrators. It is useful to describe the purpose of the script, version of the operating system(s) where script was tested, list of parameters, or other essential information.

History
If you made changes to some script developed by Advanced Network Software (KS-Soft) or somebody else, please, make report about this modification in History section. If you modify your own script, this section can be useful as well. Please provide the date of the modification, version number, who made the changes, comments about modification (HostMonitor adds date and version number automatically, however you may change it).


Script section


This is the most important section; here you define the script and the command that HostMonitor/RMA will use to start the script.

Start cmd
This is an obligatory parameter. Please provide the command that HostMonitor/RMA will use to start the script. In this command you can use 2 special variables:

  • %Script%
    Before execution of the script HostMonitor/RMA will save the script into temporary file. %Script% variable will be replaced by the name of this temporary file. This variable doesn't have sense when you do not provide any script and use script profile just to start external executable module.
  • %Params%
    Scripts often require some parameters, you can specify the list of parameters in the Test Properties dialog for each test item separately. This allows using the same script to check different parameters on different target systems. To pass parameters to the script use %Params% variable, HostMonitor will replace this variable by parameters specified for the test item.

Examples:
  • If script is designed as BAT file for Windows NT system (like "File Compare" sample script), you can use command line like "cmd /c %Script% %Params%"
  • If script is Visual Basic Script for Windows system, use command line like "cmd /c cscript /B /E:VBScript %Script% %Params%"
  • If script is Java Script for Windows system, use command line like "cmd /c cscript /B /E:JScript %Script% %Params%"
  • If script is shell script for UNIX-like system, you may use simple command like "%Script% %Params%" or you may use more complicated command like "/bin/sh -c "%Script% %Params%""
  • If you want to execute Power Shell script, use command line like "powershell %Script% %Params%"
  • If you do not provide script and use profile to start your executable module or if you want to store script in external file, command line may look like "c:\HostMonitor4\myscripts\MyPowerfulScript %Params%"

Script
In some cases you will not provide script body, just a command for execution. E.g. if you have created an executable module using some compiler such as C++ or if you want to store script in the external file.
However in most cases script body can be stored within script profile. Use "Script" field to store your script.


Requirements to the script:

The following rules must be obeyed when creating a script:

The script or external program must write to stdout (standard output stream) single result string. This string should contain 3 parts separated by colon (:).
  1. First obligatory part - marker "scriptres" tells to HostMonitor or RMA that this string is the result string.

  2. Second obligatory part represents the test status, it can take one of the following values (case insensitive):
    Status string Comment
    Host is alive status means " script executed successfully, target system correctly responds"
    No answer script executed successfully, target system does not respond
    Unknown status means "test cannot be performed for some reason"
    Unknown host use this status when script cannot resolve target host name into IP address
    Ok script executed, result satisfies (some) requirements
    Bad script executed, result does not satisfy (some) requirements
    Bad contents use this status if script found some error in monitored file, web page, etc

  3. Third optional part contains Reply value, HostMonitor displays this value in Reply field, writes to log files, uses to displays charts (Log Analyzer), etc. If you want Log Analyzer to process Reply values correctly and display charts, use one of the following formats for Reply value:
    • decimal_number (like "123", "0", "6456.45". as decimal separator use symbol that is specified on your system, usually a dot (.) or a comma (,))
    • decimal_number + space + "Kb" (like  "512 Kb",   "64 Kb")
    • decimal_number + space + "Mb" (like  "1024 Mb", "5 Mb")
    • decimal_number + space + "Gb" (like  "12 Gb",    "4 Gb")
    • decimal_number + space + "%"  (like  "50 %",     "99 %")
    • decimal_number + space + "ms" (like  "100 ms",  "5400 ms")

    Several examples:
    String printed by script "Status" of the test"Reply" field of the test
    scriptres:Host is alive:1000 ms Host is alive 1000 ms
    scriptres:Unknown host:Unknown host
    scriptres:Ok:300 Kb Ok 300 Kb
    scriptres:Bad:90 % Bad 90 %
That's it. Everything else is entirely up to you

BTW: HostMonitor offers dozen of scripts for Unix and Windows, they are pretty simple and you can use these scripts as basis for your own development.


Lets try


This tab allows you to test script before using it for real monitoring.

Test by
Test can be performed by HostMonitor itself (by default) or by Remote Monitoring Agent. To specify what application should execute script, select an agent from drop down list.
Please note script is executed on system where HostMonitor (or RMA) is running. It means if you have created some script for Linux, you should select appropriate agent that is running on Linux system to execute this script.

Params
If script requires some parameters, provide them here.

Timeout
The Timeout property offers a safety shield to prevent a script program from going into an infinite loop and locking up the system. It specifies the maximum number of seconds the script can run before HostMonitor (or RMA) terminates the script and sets "Unknown" status for the test.
If you set Timeout to 0, HostMonitor will not terminate script.

Display N lines
If script doesn't work properly, it may display various error messages. This option allows you to check messages displayed by script; it defines how many lines of the result to display.

Test
Click this button to execute the script. HostMonitor will execute the script (by itself or with the help of selected agent) and display result.
Unlike normal test execution mode (when HostMonitor displays status and single reply string), this test sends special flag to the agent and displays complete script response if the result string of correct format was not received. It helps to find errors in the script.

Clear old res
With this option enabled HostMonitor clears previous outputs.

External


HostMonitor has many built-in check types, but it can not support all possible check types. That's why the program contains an External Test. With the External Test, HostMonitor uses an external application to perform a test and, based on the returned errorlevel, will flag the test entry as being up or down.
In addition to the common test parameters, the External test has the following options:

External program
Specify command line to launch external application

Condition
Choose condition to mark test as failed (and start alert action):
  is < than   - alert if the errorlevel returned by the program is less than a specified code.
  is > than   - alert if the errorlevel returned by the program is greater than a specified code.
  is = to   - alert if the errorlevel returned by the program is equal to a specified code.
  is <> from   - alert if the errorlevel returned by the program is different than a specified code.

Window mode
This parameter specifies how the application window is going to be shown. Choose one of the possible options:
  SW_SHOWNORMAL   - displays an application window in its original size and position.
  SW_HIDE   - starts application without displaying its window.
  SW_MAXIMIZE   - displays an application window as a maximized window.
  SW_MINIMIZE   - displays an application window as a minimized window.
  SW_SHOWMINNOACTIVE   - displays an application window as a minimized window. The active window remains active.
  SW_SHOWNOACTIVATE   - displays an application window in its original size and position. The active window remains active.

Kill application if no answer within N sec
You may select the "Kill application after N sec" option and specify a timeout. In this case if the external application hasn't returned an error level to HostMonitor within the given timeout, HostMonitor will flag the test entry as down and "kill" the external application.


Known problems:
If you are using Windows Vista or newer version of the system, UAC is enabled and HostMonitor running as Win32 service cannot start external applications, you may need to assign "Replace a process level token" right to the account (user account used for HostMonitor service). Local Computer Policy -> Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment -> Replace a process level token -> Properties -> Add User or Group, then restart system

SSH

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on UNIX based systems to access shell accounts, SSH was designed as a replacement for TELNET and other insecure remote shells.
SSH is typically used to log into a remote machine and execute commands. The encryption used by SSH provides confidentiality and integrity of data over an insecure network, such as the Internet.

HostMonitor can connect and login to specified remote system running the SSH daemon and execute a command or shell script. This allows you to perform some tests on UNIX systems without using Remote Monitoring Agent for UNIX.
HostMonitor may perform SSH test directly or using RMA for Windows.

In addition to the common test parameters, the SSH test has the following options:

Host
Host name or IP address of the system that provides SSH service

Port
Specify TCP port used by SSH server (SSH server, by default, listens on TCP port 22)

Timeout
Specify timeout in miliseconds

Command
Specify command line that should be executed on target server

Translate date macros
With this option enabled you may use special date macro variables in the command line

Check for
SSH test allows you to check result of the command execution in 3 different ways:
  • Check for exit code (just like External test method does)
    In such case HostMonitor checks errorlevel returned by the command. You should choose one of the following conditions:
    Alert if exit code
      is < than   - alert if the errorlevel returned by the program is less than a specified code.
      is > than   - alert if the errorlevel returned by the program is greater than a specified code.
      is = to   - alert if the errorlevel returned by the program is equal to a specified code.
      is <> from   - alert if the errorlevel returned by the program is different than a specified code.

  • Check for text output
    HostMonitor can search for a string in the command output and start alert actions when the string exists (or doesn't exist). You should specify a string and condition to alert using the following options:
    Alert if
      string present HostMonitor will set "Bad" status when output contains specified string
      string absent HostMonitor will set "Bad contents" status when output does not contain specified string
      expression true   

    HostMonitor will consider provided text as boolean (logical) expression, evaluate this expression using data received from the server, and set "Bad" status when retrieved data does not satisfy the required conditions.
    For example: if you define expression like "'No errors' and not ('Error' or 'Warning')", then HostMonitor will mark test as "Ok" when command output contains string 'No error' and does not contain either 'Error' or 'Warning'
    In the expression you may use strings (must be put in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".

    Additional options:
    Case sensitive
    With this option enabled search is case sensitive
    Whole words only
    Searches are for words only. With this option disabled, the search string might be found within longer words.
    Macros
    This option allows you to use date macro variables in the search string. E.g. if you provide "%mm%-%dd%-%yyyyy%" in the search string, HostMonitor will check retrieved data for the presence of a current date and will set "Bad" status for output without current date stamp.

  • Check for Shell Script result
    HostMonitor checks output text for specially formatted result string. I.e. result of the command execution should follow the same rules as Shell Script

Note 1: Connection Manager allows you to setup user name and password for each remote system (also you may use some default account information for all target systems)

Note 2: HostMonitor supports 3DES, AES128-ctr, AES192-ctr, AES256-ctr, AES128-cbc, AES192-cbc, AES256-cbc and Blowfish encryption methods for SSHv2. If you are using old SSHv1 server, HostMonitor will use 3DES encryption only.

Note3: Since SSH-1 has inherent design flaws which make it vulnerable (e.g., man-in-the-middle attacks), it is now generally considered obsolete and should be avoided.

HM Monitor


Lets say you have installed HostMonitor on the server and setup thousand test items to monitor entire network (or several networks). HostMonitor will inform you in case of any problem. Unless... unless something happens to system where HostMonitor is running. What if power supply dies, motherboard fries or Windows crashes due to some buggy driver?
You may install another instance of HostMonitor on different system and use 2nd copy of HostMonitor to check your primary monitor! Also there is another good feature: primary HostMonitor may monitor backup HostMonitor so each system will monitor colleague!

Note 1: If you want to install HostMonitor on 2 systems (physical or virtual), you need to order 2 licenses.
Note 2: In order to monitor HostMonitor "A" by HostMonitor "B" you need to enable RCI interface on HostMonitor "A". If you want to use 2 HostMonitors to monitor each other, you need to enable RCI interface on both systems (HostMonitor "A" and HostMonitor "B"). RCI license included into Enterprise package; holders of a Lite, Standard or Professional licenses may purchase RCI license separately.
Note 3: There is WatchDog application included into Enterprise package. It allows you to monitor HostMonitor remotely and start alerts as well. While WatchDog provides charts and alerts in one application at no additional cost, 2nd instance of HostMonitor will provide great flexibility and reliability.

HM Monitor test method offers more than simple check: HostMonitor is on-line or not. It may monitor many parameters of HostMonitor. For example

  • it may warn you when alerts disabled or monitoring stopped;
  • it may show how many tests per second performed by primary monitor and start alerts if less than 5 tests per second were performed over period of time;
  • it may inform you that test list was modified and modifications were not stored (saved in the file);
  • it may warn you when ODBC driver (selected for ODBC logging function) uses too much time;
  • it may tell you how many actions were executed by primary monitor and how many log records were recorded;
  • and much more.

In addition to the common test parameters, the HM Monitor test has the following options:

Host
Domain name or IP address of the machine running HostMonitor you wish to monitor.

Password
Password specified for "watchdog" account. You need to setup this account on HostMonitor that you wish to monitor. Basically you just
need to specify password and a list of IP addresses authorized for remote connections. See RCI: Operators section of the manual

TCP Port
TCP port used by "primary" HostMonitor for RCI interface.
Note: Remote Control Interface should be enabled on HostMonitor that you wish to monitor.

Timeout
Here you may specify amount of time in milliseconds the program will wait for a response from the server before the request fails.

Set Bad status if monitoring stopped or alerts disabled
With this option enabled HM Monitor test will set Bad status when someone stopped monitoring or disabled alerts on target system.
BTW: There are some options that allow you to execute action profile every time monitoring is stopped or alerts getting disabled without using external monitor. See "Pause monitoring/alerting" dialog. However external monitoring provides extra flexibility: for example you may start alerts only if monitoring paused/stopped for more than 20 minutes.
Note: HM Monitor test will not inform you when monitoring is stopped due to "evaluation pause"

Display
This option defines what kind of information should be displayed in Reply field of the test. You may choose one of the following options:
  • response time
  • tests performed (since last probe)
  • tests failed (since last probe)
  • actions performed (since last probe)
  • log records added (since last probe)
  • tests per second
  • actions per second
  • log records per second
  • actions: average time consumption.
    Actions ATC (Average Time Consumption). Time used by HostMonitor for actions (milliseconds per action). This time does not include time used by auxiliary threads, its not so important
  • logging: average time consumption.
    Time used by HostMonitor for logging (milliseconds per record). This time does not include time used by auxiliary threads, its not so important. This option can be useful for investigation of some 3rd party software related problems (e.g. if ODBC driver specified for ODBC logging consumes too much time)

As you see basic setup is pretty simple and allows you to setup test that will alert you when "primary" HostMonitor does not respond or monitoring/alerts were disabled.
However this test supports common macro variables plus dozen of HM Monitor specific variables. Using these variables with "Optional status processing" test property you may setup various additional alerts.
Several examples:
  • if you want to receive alert when test list was changed and modifications were not saved, mark "Use Warning status if" option and provide the following expression: 'modifications not stored' in '%HMStatusString%'. If you setup such condition, we recommend starting alerts after several failed probes so operator that manages test items will have time to store results. E.g. if you use "Start when 6 consecutive Bad results occur" alert condition for test performed every 5 min; alert will be triggered if modifications not stored within 30 min. BTW: There is "Autosave testlist after any changes" option located on Preferences page in the Options dialog
  • if you want to receive alert when logging module requires too much time due to some problems with ODBC driver or antivirus monitor, mark "Use Warning status if" option and provide expression like: '%HMLogsATC%' > 50 (note: usually 50 milliseconds per 1 log record is too much however it can be normal when you are using shared network drive for logging. Not recommended)
  • you may check several conditions. E.g. you may check is monitoring started, check average time consumption by logging and actions, check how many tests are performed by HostMonitor. Disable "Set Bad status if monitoring stopped or alerts disabled" option (so disabled alerts will not trigger "Bad" test status), mark "Use Warning status if" option and provide expression like ('monitoring stopped' in '%HMStatusString%') or ('%HMLogsATC%' > 50) or ('%HMActionsATC%' > 500) or (%HMTestsDone% < 12)

In the same way "Tune up Reply value" option allows you to display various parameters of the HostMonitor using single test item. E.g. expression like "%HMVersionText% %HMTestsDone% (%HMTestsFailed%), %HMActionsDone% / %HMLogsDone%" will show version of HostMonitor, number of test probes performed since last check, number of failed test items, how many actions were executed and log items recorded (since last check).
Note: in such case Log Analyzer will not be able to generate charts for the test

Macros


When you setup "Folder/File Size", "File/Folder Availability", "Count Files", "Text Log" or "Compare Files" tests you can set "Translate macros" option and use special macro variables in the file name:
%d% -Current day as a number without a leading zero (1-31).
%dd% -Current day as a number with a leading zero (01-31).
%ddd% -Current day as an abbreviation (Sun-Sat) using system's regional settings.
%jjj% -Current day of the year as a three digit decimal number in the range of 001 to 366
%dddd% -Current day as a full name (Sunday-Saturday) using system's regional settings.
%ddddd%-Current date using the short date format (see Windows Regional Options).
%dddddd%-Current date using the long date format.
%w% -Current week number (1-54).
%ww% -Current week as two-digit number with a leading zero (01-54).
%www% -Current week number according to ISO 8601 specification (1st week of the year is the week with the year's first Thursday in it)
%m% -Current month as a number without a leading zero (1-12).
%mm% -Current month as a number with a leading zero (01-12).
%mmm% -Current month as an abbreviation (Jan-Dec) using system's regional settings.
%mmmm% -Current month as a full name (January-December) using system's regional settings.
%yy% -Current year as a two-digit number (00-99).
%yyyy% -Current year as a four-digit number (0000-9999).
%h% -Current hour without a leading zero (0-23).
%hh% -Current hour with a leading zero (00-23).
%h12% -Current hour using 12-hour clock (0-12,1-11).
%hh12% -Current hour using 12-hour clock with a leading zero.
%n% -Current minute without a leading zero (0-59).
%nn% -Current minute with a leading zero (00-59).
%t% -Current time using the short time format.
%tt% -Current time using the long time format.
%am/pm%-Uses the 12-hour clock for the preceding h or hh specifier (if any), and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
%a/p% -Uses the 12-hour clock for the preceding h or hh specifier (if any), and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
%/% -Displays the date separator character given by the DateSeparator global variable.
%:% -Displays the time separator character given by the TimeSeparator global variable.

%NewestFile%-Name of the newest file in specified folder
%NewestFolder% -Name of the newest sub-folder in specified folder
%OldestFile% -Name of the oldest file in specified folder
%OldestFolder% -Name of the oldest sub-folder in specified folder

Macro specifiers may be written in upper case as well as in lower case letters - both produce the same result.
Examples:
  c:\database\archives\%DDMMYYYY%.zip
  c:\database\archives\%dd%-%mm%-%yy%.zip
  c:\application\logs\%mmyyyy%\%NewestFile%
  c:\application\logs\%NewestFolder%\%OldestFile%

Expressions

What if you need to use yesterday's date? Or date that specifies last month? In this case you may use expressions.
For example when you need to create the test that will compare two log files created by some application every day - compare 2 days old log file to yesterday's log file. Use expression like %mmddyyyy[-2d]%.log to describe the first file and %mmddyyyy[-1d]%.log to describe the second one.
Rules:

  1. to subtract a number of days from current date, use expression like [-NNd] (e.g. %dd[-1d]%)
  2. to add a number of days to current date, use expression like [+NNd] (e.g. %ddd[+22d]%)
  3. to subtract a number of months from current date, use expression like [-NNm] (e.g. %dm[-24m]%)
  4. to add a number of month to current date, use expression like [+NNm] (e.g. %ddmm[+1m]%)
  5. to subtract a number of years from current date, use expression like [-NNy] (e.g. %dmyy[-2y]%)
  6. to add a number of years to current date, use expression like [+NNy] (e.g. %ddmmyyyy[+10y]%)
  7. expression must be concluded in the same percent signs (%) that concludes date variables
  8. expression must be specified after regular date variables (e.g. %dd[-1d]% - correct expression, %[-1d]dd% - incorrect expression)
  9. you may use only one expression in each macro variable.
E.g.:
%ddmm[-1m]% - correct expression (one variable and one expression)
%dd[-1d]%%mm[-1m]% - correct expression (2 variables, 1 expression in each variable)
%ddmm[-1d][-1m]% - incorrect expression (2 expressions in one variable)

Templates


You may use folder-related user-defined variables as parameters of tests (target host, path to the file, etc). E.g. you may define %fvar_IPaddress% variable and use this variable for various test items. E.g. specify %fvar_IPaddress% as target address for Ping and Trace tests, use string like http://%fvar_IPaddress%/database/index.cgi as URL specified for HTTP test, check drive free space using \\%fvar_IPaddress%\driveC and \\%fvar_IPaddress%\driveD paths for UNC tests, etc.
Note: %folder% variable allows you to use name of the folder as parameter of the test item.
HostMonitor will resolve variable and use its current value for test item parameters. If you change value of such folder variables, test items located in this folder will apply new values automatically. This allows you to modify parameters of many test items within folder (and subfolder, if subfolders inherit variable list from parent folder) by changing single folder-level variable! E.g. if you setup 20-30 test items for some server and then you need to change server address, hostname or some other important parameter, you can make these changes in less than 1 minute.
Also, if you copy test items from one folder to another, HostMonitor will apply changes to new test items according to values of the variables that were specified for target folder. This means you may easily apply/create set of tests for new servers by using single copy operation without any following modifications.
The same rules are applicable for other operations:

  • you can move test items from one folder to another and HostMonitor will change test parameters and names according to template
  • you can rename folder and HostMonitor will apply changes to test items if you have used %folder% variable as parameter of the tests
  • if you move folder from one node to another (folder changes its parent) and folder inherits variables from parent, HostMonitor will apply changes to items according to new values
If you spend some time to prepare templates and folders then you will be able to create dozens of new checks for new set of servers in a minute.

You may use variables while specifying test name, comment and the following test-specific parameters
Test methodTemplate is applicableVariables can be used as
Ping Yes Target host (host name or IP address)
Trace Yes Target host (host name or IP address)
URL Yes URL
HTTP Yes URL
SOAP/XML No -
Certificate expiration Yes Target host (host name or IP address)
Domain expiration Yes Domain name
TCP Yes Target host (host name or IP address)
UDP Yes Target host (host name or IP address)
NTP Yes Target host (host name or IP address)
SMTP Yes Target host (host name or IP address)
POP3 Yes Target host (host name or IP address)
IMAP Yes Target host (host name or IP address)
E-Mail No -
Mail Relay No -
DNS Yes Target host (host name or IP address)
DHCP Yes Target host (host name or IP address)
LDAP Yes Target host (host name or IP address)
RADIUS Yes Target host (host name or IP address)
DICOM Yes Target host (host name or IP address)
RAS Yes Connection name
UNC Yes UNC path
Disk free space YesTarget host (host name or IP address)
Folder/File size Yes Path (UNC path, file or folder name)
Count Files Yes Path (folder name)
File/Folder Availability Yes Path (UNC path, file or folder name)
Compare files Yes Path to 1st file (UNC path, file or folder name)
File Integrity Yes Path (UNC path, file or folder name)
Text Log Yes Path (UNC path, file or folder name)
Interbase Yes Target host (host name or IP address)
MS SQL Yes Target host (host name or IP address)
MySQL Yes Target host (host name or IP address)
Oracle Yes Server (TNS alias)
PostgreSQL Yes Target host (host name or IP address)
Sybase Yes Target host (host name or IP address)
ODBC Query Yes SQL Query
Process Yes Target host (host name or IP address)
Service Yes Target host (host name or IP address)
SNMP Get Yes Target host (host name or IP address)
SNMP Table Yes Target host (host name or IP address)
SNMP Trap No -
NT Events Log Yes Target host (host name or IP address)
Memory Yes Target host (host name or IP address)
CPU Usage Yes Target host (host name or IP address)
Performance Counter Yes Target counter (target host, counter name)
WMI Yes Target host (host name or IP address)
Dominant Process Yes Target host (host name or IP address)
Registry Yes Target host (host name or IP address)
External test Yes Command line
Active Script No -
Shell Script Yes Script parameters
SSH test Yes Target host (host name or IP address)
Temperature Monitor Yes Target host (host name or IP address)
Traffic Monitor Yes Target host (host name or IP address)
HM Monitor No

When you specify test item name, comment, Related URL and Private Log path you may use folder-related variables plus you may use variables that represent parameters of the test (test-properties variables):
Variable Variable can be used for the following tests Variable represents
%MethodName% Any Name of test method (e.g. Ping, TCP, Traffic Monitor)
%Folder% Any The name of the folder containing the test
%FolderFullPath% Any The full folder path name (e.g. Root\USA\Main office)
%Agent% Any Represents a name of the remote agent that performs the test, this variable returns the string "HostMonitor" when the test is performed by HostMonitor
%host% or
%hostaddr%
Ping, TCP, URL, HTTP, SOAP/XML, Certificate Expiration, Domain Expiration, SMTP, POP3, IMAP, E-Mail, Mail Relay, DNS, DHCP, LDAP, UNC, UDP, NTP, RADIUS, DICOM, Oracle, Interbase, MS SQL, MySQL, Sybase, Postgre, SNMP Get, SNMP Table, Temperature Monitor, Traffic Monitor, Drive Free Space, NT Log, Service, Process, CPU Usage, Memory, Dominant Process, Performance Counter, WMI, Registry and HM Monitor. Represents the host name (or IP address) of the target system
Text Log, Compare Files, File Integrity, Folder/File size, File/Folder Availability, Disk Free Space Name of target server or "localhost" when test item checks local file. Note: if you setup test using path to mapped network drive (instead of using UNC path), this variable will return "localhost".
%HostAddrB% -//- Variable works similar to %HostAddr% variable but returns host name without back slashes. E.g. if path to the file specified as \\sqlserver5\shareddisk1\file5 then %HostAddr% will return \\sqlserver5 while %HostAddrB% will return sqlserver5
%Path% URL URL
HTTP URL
SOAP/XML URL specified for request
UNC UNC Path
Drive Free Space List of drives, including "local" and "removable" (if such options were selected for the test)
Folder/File size Full path to the folder/file
File/Folder Availability Full path to the folder/file
Count Files Full path to the folder plus file mask
Compare files Full path to the file (1st file)
File Integrity Full path to the file
Text Log Full path to the file
ODBC Query SQL Query
SNMP Get
SNMP Table
Using the database of compiled MIB files HostMonitor translates specified OID from its numeric form to a MIB name.
E.g.
  - %Path% = iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus.1
  - %Object% = .1.3.6.1.2.1.2.2.1.8.1
If you need to extend the database by including information about MIBs supported by some specific SNMP enabled device, use MIB Browser.
Service"Display name" property of the service
NT Events Log Event log \ Event source
Registry Full path to registry key
External test Command line
Active Script Full path to the script or 'Internal active script' string if script is stored in HML file
Shell Script Name of the script
Performance Counter Full path to the counter
WMI WMI Query
E-Mail Login and server (e.g. hmonitor@mailserv.com)
Mail Relay Source e-mail address + destination address
%Object% URL Target page with optional parameters
E.g.
  - %Path% = http://www.google.com/search/advanced.cgi?hl=en
   - %Object% = /advanced.cgi?hl=en
HTTPTarget page with optional parameters
SOAP/XMLSOAP method
Domain expirationDomain
SMTPUsername if "Perform VRFY test" option is enables, otherwise %object% variable returns empty string
POP3Username
IMAPUsername
E-Mail"Bad" filter: short text description
Mail RelayDestination e-mail address
DNSRequested domain name
LDAPBase object if "Perform search" option is enabled, otherwise variable returns empty string
RASDial-up connection name
UNC Target resource (file, folder, etc)
E.g.
   - %Path% = \\primary_host\shareddrive1\logs\log1.txt
   - %Object% = log1.txt
Disk free space List of drives (only if "check listed drives" option is selected)
Folder/File size Folder/File name (no path, just name and extension)
Count Files Folder name
File/Folder Availability Folder/File name (name and extension)
Compare files File name (1st file)
File Integrity File name (name and extension)
Text Log File name (name and extension)
Interbase Database name
MS SQLDatabase name
MySQLDatabase name
OracleServer (TNS alias)
PostgreSQLDatabase name
SybaseDatabase name
ODBC QueryData source
ProcessProcess name
ServiceService name
SNMP Get OID (object identifier)
SNMP Table OID (object identifier)
SNMP Trap OIDs used as test filters
NT Events Log If test was setup to checks specific source, variable represents source name, otherwise it shows log name
Memory Memory type checked by the test item
 Swap
 Physical memory
 Virtual memory
Performance Counter Counter name
WMI Name of 1st field listed in the query
Registry Counter name
External test File name (without path and parameters)
Active Script File name (script) or 'Internal active script' string if script is stored in HML file
Shell Script 1st parameter of the script (if any)
Temperature Monitor Temperature probe name
Traffic Monitor Network interface description
HM Monitor Name of target HostMonitor parameter selected for Reply value
%Object2% SOAP/XMLValue specified for XML comparison or text string used for search
URLRepresents search string specified for "check contents" option
HTTPRepresents search string specified for "check header" or "check contents" options
DNSRepresents string (IP address) specified for results comparison
E-MailIf "good" filter specified, shows short text description
Count Filesfile mask used for the test
Compare Files2nd file name if you compare 2 files, otherwise variable returns search string specified for the test
Text LogSearch string specified for the test
SNMP GetValue specified for comparison
SNMP TableValue specified for comparison
Performance CounterValue specified for comparison
WMIValue specified for comparison
RegistryValue specified for comparison
Shell Script2nd parameter of the script (if any)
%TargetPort% TCP, UDP, SMTP, POP3, IMAP, E-Mail, LDAP, DNS, NTP/SNTP, DICOM, Radius, Certificate Expiration, Domain Expiration, SNMP Table, Traffic Monitor, SSH and HM Monitor TCP (UDP) port specified for the test
%TestMode% DNS Type of DNS request - one of the following:
A
AAAA
CNAME
MX
NS
SOAP/XML Information about CRC, Text or XML check modes
Compare Files Comparison mode - one of the following:
FilesDifferent
FilesIdentical
ContainsFile
DoesntContainFile
ContainsString
DoesntContainString
Dominant Process Shows what kind of resources is checked by the test item - one of the following:
CPU Usage
Handles
Threads
Memory
VMem
Address space
SNMP GET
SNMP Table
Comparison mode - one of the following:
LessThan
MoreThan
EqualTo
DifferentFrom
Contain
NotContain
IncreaseBy
DecreaseBy
ChangeBy
IncreaseBy%
DecreaseBy%
ChangeBy%
Increase/Sec
Decrease/Sec
Change/Sec
Network Traffic Shows what check mode is used - one of the following:
Traffic
Traffic in
Traffic out
Discards in
Errors in
Discards out
Errors out
Queue
Memory Protocol used for the test:
SNMP
WMI
Performance Counter
WMI
Comparison mode - one of the following:
LessThan
MoreThan
EqualTo
DifferentFrom
IncreaseBy
DecreaseBy
ChangeBy
IncreaseBy%
DecreaseBy%
ChangeBy%
Increase/Sec
Decrease/Sec
Change/Sec
Registry Comparison mode - one of the following:
Any change
LessThan
MoreThan
EqualTo
DifferentFrom
Contain
NotContain
Active Script Script langauge (VBScript, JScript, etc)
%MibName% SNMP Get
SNMP Table
Using the database of compiled MIB files HostMonitor translates specified OID from its numeric form to a MIB name. If you need to extend the database by including information about MIBs supported by some specific SNMP enabled device, use MIB Browser.
%MibNameShort% SNMP Get
SNMP Table
Similar to %MibName% but shows the name of the variable (plus possible index) without names of parent nodes.
E.g.
   - %Object% = .1.3.6.1.2.1.2.2.1.8.1
   - %MibName% = iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus.1
   - %MibNameShort% = ifOperStatus.1

These variables allow you to configure HostMonitor to assign test name and comment automatically (see Patterns dialog).
When you edit test properties using Test Properties dialog HostMonitor displays template used for the field (if any) every time you enter the field and resolves template when you leaving the field. Active field with template in use will be displayed in yellow background color. When you see template (field is active) you may check correspondent value while moving mouse over the field (HostMonitor will show popup "hint", also value will be displayed on status bar). And vice versa: when field is not active you will see resolved value as text written in the field and you may check template that was used for the field by moving mouse over the text.

Acknowledgement


Acknowledgement form Menu item "Acknowledge" (available thru main menu [Test] and popup menu in Test Detail Area) provides access to "Acknowlegement form" window.
When you click on the "Acknowledge that" or "Acknowledge and stop alerts" button, HostMonitor will mark selected test item(s) as "acknowledged". What does that mean?

It means:

  1. "Acknowledged" test items can be displayed in different color (different from non-acknowledged "bad" or "unknown" tests). There is item in "Color profiles" dialog which allows you to select specific color for "acknowledged" items within each color scheme. This applies to GUI, HTML reports and HTML log files.
  2. Same color will be used for folders containing some "unknown" and/or "bad" test items when all of them are "acknowledged" (this applies only to GUI interface).
  3. HostMonitor's system tray icon: HostMonitor displays such icon when there are some "unknown" and/or "bad" test items but all of them are "acknowledged".

  4. HostMonitor adds the record into the log file, with information about acknowledgement (date and time, name of the user who acknowledged test status).
  5. Also you may see this information in Quick Log
    Note: You may setup HostMonitor to include acknowledgement comments (1st line of the comment) into log file/database. This option is not accessible thru GUI however you may add line like ReplyIncludeAckComment=1 into [Logging] section of hostmon.ini file and restart HostMonitor

  6. If you have used "Acknowledge and stop alerts" button, HostMonitor will suspend all alerts triggered by "acknowledged" test item(s) until the test(s) restores "good" status - then HostMonitor will resume normal actions behavior ("ack" flag could also be cleared when test changes the status from "unknown" to "bad", unless you have marked "Treat Unknown status as Bad" option for this test item).
  7. If you have used "Acknowledge that" button, HostMonitor will not suspend alerts. However you may configure the alert profile to launch different actions for "non-acknowledged" and "acknowledged" test items (using "advanced mode" actions and "acknowledged" macro variables).

  8. There are 3 fields that display information about acknowledged test items:
    • Acknowledged At
      - shows the time of the test acknowledgement
    • Acknowledged By
      - shows name of the user (operator) who have acknowledged the test status
    • ACK Comment
      - displays 1st line of the comment that was provided for "acknowledge" operation; if later operator adds 2nd or 3rd acknowledgment comment then GUI shows last comment line (so you will see newest comment)
    These fields could be displayed in main HostMonitor's window (use the Columns page in the Options dialog to setup the list of visible fields); also these fields can be displayed in reports (see Report Manager section of the manual for details). As well, you may see information about "aknowledgment" in the Info Pane, where the detailed "aknowledgment" comment is included.
    When test changes its status back to "good", all these fields are automatically cleared by HostMonitor.

  9. There are 6 macro variables that provide information about acknowledged tests:
    %AcknowledgedAt% Represents the date and time when test status was acknowledged
    %AcknowledgedDate%Represents the date when test status was acknowledged
    %AcknowledgedTime%Represents the time when test status was acknowledged
    %AcknowledgedBy% Shows the name of the operator who have acknowledged the test status
    %AckComment% Shows the comment which was provided for "acknowledge" operation
    %AckRecurrences%

    Represents the number of test probes which have returned similar (bad or unknown) result after it was already acknowledged.
    For example if the test returned "bad" status during five consecutive probes, then %Recurrences% variable will be equal 5. If the user has acknowledged the bad status after the second probe then %AckRecurrences% will be equal 3 (5-2=3).
    This variable is useful when you want to configure alert profile to launch different actions for "non-acknowledged" and "acknowledged" test items. E.g. if condition to trigger action execution looks like ('%SimpleStatus%=='DOWN') and (%AckRecurrences%==1), HostMonitor will start action when user confirmed status and test failed once again (after acknowledgement).

    All these variables, except %AckRecurrences%, return empty string for non-acnowledged test items. %AckRecurrences% returns 0 for non-acknowledged test items.

  10. Report Manager provides filtering options that allows you to display "acknowledged" and "non-acknowledged" items in separate reports (if you want to do so)
Note 1: after initial acknowlegement of test status, "acknowledgement" comment can be amplified by other local and remote operators.
Note 2: HM Script provides command for automatic acknowledgement

Test Info dialog


Test Info Test Info dialog shows information about latest acknowledgement, pause and disabling operations on specified test item. Also this window shows unique ID of the test item, test statistics, number of links to the test item, test comment, Quick Log and the actions triggered by the test item.
Button beside test name field may switch display mode from "name" to "full path+name"

Also, when you select SNMP Table test item, Test Info dialog shows table with data retrieved from SNMP agent. For each retrieved counter, it shows OID, current value, previous value and difference. HostMonitor/RCC allows you to sort items by each parameter; also you may copy data to clipboard as CSV (comma separated values) or TSV (tab separated values) list.

When "Related URL" field specified for the test item points to some web site, you may click on this field displayed by Test Info dialog. HostMonitor will open default browser and show web site. Also it may open default mailer program when URL points to some e-mail address (e.g. mailto:admin@mycompany.com)

If Log Visualizer is installed, Test Info dialog allows you to call Log Visualizer using necessary command line switches to start utility in maintenance-free mode. So you just need to click a button to see the chart for the test item.

You may bring up dialog using main menu Tests -> Test info; also you may use popup menu or simply press Ctrl+I

Test history


When "Store historical data in the file" option (located in "Test list properties" dialog) is enabled, HostMonitor collects additional statistical information for each test item. Such information can be displayed by "Test history" window, SLA reports, Web Service interface, etc.

"Test history" window shows 4 "historical" charts for single test item. You may select test item and use "History charts" popup menu item or press Ctrl+H to open this window. For each chart you may choose different display modes and different time intervals.
Note: Up/Down button tells HostMonitor to display charts for previous/next test item.

There are 3 chart modes available:
- Availability: such charts show information about alive/dead/unknown ratio based on test results
- Performance: charts show information about minimum, maximum and average reply values of the test
- Availability + Average reply: these type of charts shows information about alive/dead/unknown ratio plus line that displays average reply of the test probes (note: left axis provides information about alive/dead ratio; right axis provides information about average reply)
You may choose any of the following time periods to display:
- Prediction: next 7 days
- Today
- Yesterday
- Last 24 hours
- Last 48 hours
- This week
- Last week
- Last 7 days
- Last 14 days
- This month
- Last month
- Last 30 days
- Last 60 days
- This year
- Last year
- Last 12 months
- Last 24 months
"Prediction: next 7 days" mode tells HostMonitor to calculate and show statistical counters for future 7 days. HostMonitor analyzes previous 30 days of test results trying to predict future test results. HostMonitor shows counters (text labels) for next 7 days while charts show data for last 7 days and next 7 days (using different color for past and the future). Of course software cannot tell you what really happens in the future, its just assumption based on historical data.

Also you may select up to 16 test items or choose a folder item (in Test Details area) and open "History" window that will show up to 16 charts at once. If you select more than 16 test items or selected folder contains more than 16 test items, HostMonitor will show charts for 1st 16 test items. HostMonitor (RCC) will display single chart for each test, you may choose display mode and time periods as well, however these settings will be applied to all 16 charts at once.
If you double click mouse button on any chart, HostMonitor will open 4 charts history window for specified test item so you will be able to see charts for various time periods for selected test.