It might be. It depends on the WMI Classes available. Most of the checks list which versions of Windows or other application they have been tested against, so we only know about the versions we say we have tested against.
If the WMI Classes/fields we need to do the monitoring do not exist then you’ll probably either have to modify the check, rebuild your WMI database, or you just can’t get the information.
Typically the checks are developed and tested against the latest versions of Windows and various applications. Over the various versions the Microsoft or other application providers normally add WMI Classes and fields to provide more data whilst leaving most or all existing classes and fields intact to provide backward compatibility. So normally, older versions just can not provide the same detail via WMI as the newer versions.
If you have an older version eg Exchange 2003 when checkexchange has only been tested against Exchange 2007/2010, then you’ll have to try it. If you get errors like “The target host might not have the required WMI classes installed” then the WMI Classes just don’t exist and that version probably can’t be monitored unless a new check is developed to use the WMI Classes that your version uses.
If you run the check against an older version of the software and you get some data back and other fields back as NO_WMI_DATA then the version of your application just does not provide all the WMI fields. You might be able to modify the check and get some but the chances are that the application provider added some WMI fields as the versions progress and you are simply out of luck.
Try browsing your WMI Classes and compare what you have against what the check needs (see the query= definition in the ini file).
As an example, the check, “checkexchange listDBInstances” defines the WMI query as
query=SELECT Name,SessionsInUse FROM Win32_PerfRawData_ESE_MSExchangeDatabaseInstances
Hence, it is expecting a WMI Class called Win32_PerfRawData_ESE_MSExchangeDatabaseInstances.
Use WMI Explorer to browse the WMI Classes and see if this class actually exists.
If not, well, we can’t get the data using the existing checks to allow “checkexchange listDBInstances” to work.
If it ends up that you have some version we have never tested against and the WMI Classes we use just don’t exist, then it is possible that we might be able to create a similar check. You could try a feature request.