Hello,

Befor i was monitoring my SMTP gateway by the PRTG WMI SMTP sent and receive sensors, it was working fine, but it was on Windows 2003.

Now my IIS SMTP services are on Windows 2008 R2, and the Classes Win32_PerfRawData_SMTPSVC_SMTPServer are no more found by PRTG system.

I used the WMI Tester, i can't enumerate this class, but don't know why.

If i use this KB: http://support.microsoft.com/?scid=kb;en-us;820847&x=12&y=10 the result is fine with the Windows tester tool, but not with Paessler's one, always the same error: Class(es) not found: "Win32_PerfRawData_SMTPSVC_SMTPServer".

Is there a solution ?

thanks.


Article Comments

Hi,
please try running the following commands, which force the rebuild of the WMI Performance counters:

wmiadap.exe /f
wmiadap.exe /r

For further details on this commands, please refer to this article. Does it work now?
Best regards


May, 2012 - Permalink

Hi,

Just try, doesn't work. If i use the WBemtest Microsoft tool, i can connect to root/cimV2, enumerate win32_perfrawdata and can see the Win32_PerfRawData_SMTPSVC_SMTPServer class.

but with PRTG tool, impossible to query this class, even with tool on localhost.

Any idea ?


May, 2012 - Permalink

Enumerating is one thing; if you double-click on the object in case within the WBEMTEST, do you see all the available counters?


May, 2012 - Permalink

Hi,

Yes i can see all properties of the class, as the print screen: http://www.hostimg.org/pictures/06fd642f92953ff93e9eea261a2a6f0b.jpg


May, 2012 - Permalink

Hi, Im having the same issue. I can enumerate and view the class properties in WBEMTEST but WMI Explorer and PRTG netmon (12.2.1.1881) can't seem to see them at all. This is very weird.

I tried to create a custom sensor but i can't seem to get the syntax right for the WQL query to select the correct instance (there are 2: SNMP 1 and _Total)

select LocalQueueLength from Win32_PerfFormattedData_SMTPSVC_SMTPServer

select LocalQueueLength from Win32_PerfFormattedData_SMTPSVC_SMTPServer WHERE Server.name="SMTP 1"

any help would be greatly appreciated. Im not using exchange, just an IIS 6 virtual SMTP server. Thankyou


May, 2012 - Permalink

Does perfmon.exe show the "SMTP Server" object?


May, 2012 - Permalink

Yes, perfmon show all SMTP Server counters.


May, 2012 - Permalink

Yes it does exist. This is currently the only place where i have been able to gather the metrics for Local and Remote queue length.


May, 2012 - Permalink

I also ran wbemtest.exe as the service account PRTG uses to access the SMTP server and was able to enumerate, view and query the class with no problems. (There are no failed audits in security log to suggest this anyway)

It might be worth noting the PRTG probe is a domain member and the SMTP server is not. The service account has been granted full administrative permissions. At first i thought it was a restriction on remotely calling the counters but this doesn't explain why WMI Explorer suffers the same issue when run on the local machine. Is this a bug??


May, 2012 - Permalink

I've been working with Terry on this for our environment and would like to share some additional information:

I have created a vbscript file (content below), with embedded remote ip, username & password. When I run this manually on the PRTG core server from a command prompt ("cscript somescript.vbs"), it executes and returns the expected value from the remote machine. When I create a custom exe sensor and select this script, it repeatedly fails with [Response not wellformed: "C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXE\somescript.vbs(13, 1) (null): 0x80041010 "]. The query in this script is similar/same to the one Terry was using in the Custom WMI Sensor he was working on.

Copy/Pasting the query into the Paessler WMI Tester fails with the same hex error 0x80041010.

strComputer = "172.29.234.8" strUser = "s_prtg" strPassword = "somepassword"

strNamespace = "root/cimv2"

Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = objLocator.ConnectServer(strComputer,strNamespace,strUser,strPassword) Set objResults = objWMIService.ExecQuery ("Select AvgRecipientsPermsgReceived from Win32_PerfRawData_SMTPSVC_SMTPServer WHERE name= 'SMTP 1'")

For Each colResult in objResults wscript.echo colResult.AvgRecipientsPermsgReceived Next

wscript.quit("0")


May, 2012 - Permalink

Any news from your support team or do i need to create a ticket ?


Jun, 2012 - Permalink

Please forward us a mail to support@paessler.com, refering to this knowledge base article. This would expedite the transfer of information. Thank you.


Jun, 2012 - Permalink

Did this get resolved?


Jul, 2012 - Permalink

I'm afraid it seems there is very little we can do there. PRTG and the Tester use the query

SELECT * FROM win32_perfrawdata_smtpsvc_smtpserver

if this class is not available as a WMI Class (so not accessable with perfmon and wbemtest), PRTG has nothing in its hands to read values from.


Aug, 2012 - Permalink

We've recently updated the "WMI IIS 6.0 SMTP Sent" and the "WMI IIS 6.0 SMTP Received" Sensors to use our new hybrid technology. They will then be called "Windows IIS 6.0 SMTP Sent" and the "Windows IIS 6.0 SMTP Received". Both sensors can either use Performance Counters or WMI as data source(configurable in the group/device settings). This feature is already available in Canary(We highly recommend NOT to use the canary channel for your prodution system), will be available in Preview within the next days and in stable in a few weeks.

Please keep in mind, that the remote registry service needs to be running on the target system, otherwise PRTG can't query any performance counters.


Nov, 2012 - Permalink