|
|
|
Demand Technology Software |
This procedure is for diagnosing data collection problems where the Counter values you need are not available in the NTSMF data collection file and not visible in System Monitor either. If you are still not able to collect the missing Objects and Counters after you have followed all the steps in this procedure, please contact Customer Support and tell us about your problem. Please attach the .smf data file and the <computername>.ntsmf.log file from the machine where you are experiencing the problem.
An Event ID 604 Warning message in the Application Event log (or the <computername>.ntsmf.log file) documents performance Counters that were specified in the DCS Data Definition, but are not available for collection on the local machine. This happens because not all the Counters associated with a given performance Object are available for collection across all versions of the associated Performance Library DLL that is responsible for maintaining them. While the developers of the operating system base Counters, like Processor and System, are pretty good about maintaining upward compatibility between versions of their Perflib DLLs, not all developers of Perflib DLLs are as circumspect. For instance, if you specify that you want to collect all the Counters in the Internet Information Services Global Object and you are running IIS version 5.0, you are likely to receive a Warning message similar to the following:
These are Counters that used to be in the Internet Information Services Global Object, but were dropped in later versions of IIS. This situation is not an error condition (which is why the Collection service only warns you about it), but you need to abandon any hope you may have of collecting those specific Counters on this machine.
Sometimes the Performance Library DLL that is defined is simply missing on the local machine. When the Performance SeNTry collection service attempts to load the Library module referenced in the HKLM\SYSTEM\CurrentControlSet\Services\<servicename>\Performance key, the module is not found. In this event, you should see an Application Event log similar to the following: 11/05/02-17:48:08 - Event ID: 210, Category: Discovery,
Severity: Warning In this example, the perfctrs.dll module identified in the Library field of the /Services/Tcpip/Performance subkey was missing. When the collection service tried to load it, the Load operation failed, for the following reason: "The specified module could not be found." When a problem like this occurs, using either the Extended Counter List applet or the Registry Editor, determine where the Library is supposed to be and verify that the Perflib DLL is, in fact, missing. If the Library field of the /Performance subkey points to a fully qualified filename, look for the module in the folder specified. If only the module name is referenced, then look for it in the %system32% folder in the Windows <root> directory. Sometimes this occurs when the application that installed the Performance Library was removed, but the corresponding Performance subkey was not deleted when the uninstall procedure executed. In this case, it is usually safe to remove the Performance subkey manually using the Registry Editor. The Event ID 210 Warning message will disappear after that. However, if you feel that the missing Performance Library DLL is a mistake, try to correct the problem. Sometimes uninstalling and re-installing the application will restore the Perflib. Alternatively, try to locate a working version of the Performance Library DLL on a different machine running the same or a similar level of software. Copy that Perflib DLL module to this machine and then restart the collection service to see if that solves the problem.
When the collection service encounters a defective Perflib DLL, it generates Application Event log messages that help to document the data collection problem. Common problems that you might see reported include:
Sometimes, the Perflib DLL has a bug which causes an unhandled Exception or other error condition that causes the collection thread calling the Module to terminate. Prior to terminating, the collection service (assuming you are running the "fat" version of the collector) will generate a Stack trace showing the precise status of the collection thread at the time the error occurred. This diagnostic trace information should be forwarded to the party responsible for the Perflib DLL that failed for resolution. An example diagnostic trace message generated by an unhandled exception in a Perflib DLL is illustrated below:
As a result of encountering a serious error condition related to calling a defective Performance Library DLL, the collection service will recover and continue to gather data from whatever Perflib DLLs that are functioning correctly for the duration of the collection cycle. While the collection service bypasses collecting data from the defective Perflib for the remainder of the collection cycle, it will automatically retry the module in the initialization phase at the beginning of the next collection cycle. Consequently, the Warning messages that document the problem are likely to recur regularly at the beginning of each collection cycle until you decide to investigate and resolve the problem. Only the most serious Perflib DLL defects trigger a diagnostic trace message. You are much more likely to encounter less serious defects like the ones described below. Sometimes the collection service is able to locate and load the Perflib DLL without problems, but cannot gather the performance data the Perflib was designed to collect. Consider that many Perflib DLLs associated with extended Counters are designed to gather data from inside servers application processes like sqlserver.exe, store.exe, and inetinfo.exe. A frequent cause of data collection problems is that the process that a Perflib DLL needs to acquire performance data from is not running. For example, if the sqlserver.exe process is shutdown, the sqlctr80.dll Perflib DLL designed to gather SQL Server statistics will report an error condition, which the collection thread will post to the Event log. If sqlserver.exe stops running or is hung for some reason, failed attempts to gather data SQL performance data from the SQL Performance Library DLL (e.g., sqlctr80.dll) will generate Warning messages like the following for each SQL performance Object the collector has been instructed to collect: 11/05/02-22:31:00 - Event ID: 2200, Category: Collection, Severity: Warning 11/05/02-16:50:16 - Event ID: 1309, Category: PerfData,
Severity: Warning |
Home Products Support FAQsOrder Contact sales Contact customer support Contact usSearch News PartnersLast modified: 05/03/05Please report problems with this web site to webmaster@demandtech.com |