Wednesday, July 28, 2010

Workaround for: Physical Windows 2008 R2 servers with Teamed NICs do not collect performance data.

29-07-2010 Update: Based on this blog posting I got a good comment that authoring against a computer object is not to be advised, it is better to use Operating System objects for this purpose. So I changed the targeting for this Rule from Windows Server 2008 Computer to Windows Server 2008 Network Adapter and tested it. It works as well. This blog posting has been updated accordingly.

As blogged before I bumped into this issue where teamed NICs on physical Windows Server 2008 R2 servers did not collect any performance data. 

Even though the conclusions as described in that blog posting are correct, I still did not like it. So I put a small MP together (nothing fancy, just straight from the SCOM R2 Console itself) in order to see and test whether I could work around this issue.

Good news I have since I got it working!

Which is great since now performance data can be collected for teamed NICs of physical Windows Server 2008 R2 servers as well!

But first lets take a few steps back in order to see how I got to create the workaround. It is based on these findings:

  1. The Teamed NIC was discovered in SCOM but no Collection Rules ran against it;
  2. In PerfMon of the same server, the instance for the Teamed NIC was not present;
  3. In SCOM the two NICs making up the Teamed NIC were neatly discovered, but no Collection Rules ran against it;
  4. In PerfMon on the same server, the instances for these two NICs are neatly present and show data!

So actually findings  3 and 4 do have some potential. Whenever PerfMon shows a counter with an instance, it can be piped into the SCOM (the Data warehouse DB that is).

But until now SCOM R2 wasn’t very cooperative. Which might seem strange at first but is neatly explained when one takes a look at the discovered network interfaces. It shows also the IP-addresses related to the discovered NICs. The Teamed NIC does have an ip-address but the NICs (the actual ones making up the Teamed NIC) don’t. So by default, no performance collection takes place since there are no IP addresses defined on those interfaces!

So why not try to collect (performance) data since PerfMon shows data coming in on those very same interfaces? Time for a wake-up call in SCOM :).

This is how to go about it:

  1. Create a MP (_Test) in order to differentiate between the real MPs and the test one. (When doing this for real make sure to give it a proper name according the naming conventions of your company);

  2. Open the Management Software of the hardware manufacturer on the related server in order to see what NICs are being used for the Teamed NIC you want to monitor. Write down the names of these NICs, they are needed in the next steps; 

  3. Open the SCOM R2 Console with SCOM R2 Administrator permissions: go to the Authoring Wunderbar > Authoring > Management Pack Objects > Rules. Click right on Rules and select Create a New Rule;

  4. Select Collection Rules > Performance Based > Windows Performance. Select as Management Pack the _Test MP > Next;

  5. Give the Rule a proper Name like: NIC Team Total Bytes Per Second - Adapter xxxx <SERVERNAME> . Add a good Description as well.

  6. Select as Rule Category: Perfomance Collection, Rule Target: Windows Server 2008 Network Adapter and DESELECT the option Rule is enabled > Next

  7. Click on Select > select the related server, select as Object Network Interface > Bytes Total/sec and select as instance the first NIC which makes up the Teamed NIC as found in Step 2;

  8. Set the Interval at a level you think to be appropriate (Not too many times nor too few) >  Next > Optimization can be chosen as well > Create.

  9. Repeat Steps 3 to 8 for the other NIC(s) of the Team as well.

  10. Right click on one of the Collection Rule which has been made in Step 2 to 8 > Overrides > Override the Rule > For a specific object of class: Windows Server 2008 Network Adapter;

  11. Select the related computer > OK > select the option Parameter Name Enabled and set the Override Value to True > Apply > OK.

  12. Repeat Steps 10 to 11 for all other Collection Rules which have been made earlier.

  13. Now patience is needed since it will take a few hours before any data is shown in the SCOM R2 Console and the Reports as well.

How to get some data shown in the SCOM Console in order to see whether all is working?

  • Create a new MP, with the name _Views for instance;
  • In the SCOM R2 Console > Monitoring Wunderbar, right click on the folder _Views and select New > Performance View;
  • Give the View a proper name like Teamed NIC Performance - Total Bytes Per Second;
  • At Show data related to: leave it at its default (Entity) and under Select conditions: select collected by specific rules;
  • Now the Select Rules dialog box appears. Select the earlier created Collection Rules > OK > OK;
  • And after a few hours, after the Rules have been created AND enabled, something like this will be shown:

How to get some data in a Performance Report?

  • Go to the Reporting Wunderbar > Microsoft Generic Report Library > double click on Performance > Select a From date (yesterday for instance);

  • Click on Change > Click on New Chart > Click on New Series > Click on Add Group > Select the proper server (make sure to select the Windows Computer Class!) > at the Rule section of the screen click on Browse > select the second tab Search by Counter > select as Performance Object Network Interface > click on Search > select the earlier created Rule;

  • Repeat the previous step for the other Rule(s) as well;

  • Run the Report:


Dominique said...


I am using the excellent article to create a Network Adapter rule but at step 10 I don't have "For a specific object of class:" the value "Windows Server 2008 Network Adapter" available?

Do I have to enable something before?

- Microsoft Windows Server 2008 R2 Enterprise

- Cluster

- From the list I have Public NIC1 Public NIC 2... but nothing starting by Windows either!!

Any idea?




Sameer said...

So for each server, we would need to create two rules. So If I have like 20 physical servers that uses HP Teaming, then I would need to create 40 Rules?
Was there any fix/updates from HP or msft on the new CU's?
Is this still a problem with scom 2012?

Dominique said...

Any update on this> has it been fixed by HP or MS? Which MP is the fix?

Marnix Wolf said...

Hi Dom

Until now this is still the case, so no fix.


yingying said...

is there a method to collect performance data for each discovered network adapter instead of only with IP address??