Event logs are good at informing you that a problem has occurred; however, the information recorded in the event logs isn’t always sufficient to tell you why the problem occurred. In addition, event log notifications tend to happen after the fact, that is, problems are usually recorded in the event log only after they occur. Although there are exceptions, event log events generally don’t give you advance notice that a problem is likely to occur; instead, the event log simply reports the incident after the problem has occurred.
As a system administrator, this means that, in addition to reviewing the event logs, you will often find it necessary to conduct a more finite analysis of your Office Communications Server infrastructure. This often involves real-time monitoring of the system and its individual components. As a system administrator, you also know that the best way to monitor the performance of any Windows component is to use the Performance Monitor snap-in. And that’s good news for Office Communications Server users. Office Communications Server has been instrumented with scores of performance counters—counters that enable you to monitor everything from the total number of users currently connected to the system to the finegrained details telling you how server components such as Mediation Server are doing.
Although you can monitor performance using a standalone instance of Performance Monitor, you might find it easier to use the instances of Performance Monitor that are embedded in the Administrative Tool because these instances of Performance Monitor have been pre-populated with the performance counters most relevant to a specific server role (in much the same way the Event Log tab prepopulated the Event Viewers with relevant event categories). For example, click a Standard Edition Server node in the Administrative Tool and then click the Performance tab in the right window pane. When you do that, you’ll see an instance of Performance Monitor already up and running and using the following performance counters:
SIP – 024 –Flow-controlled Connections Dropped
DATAMCU – 000 – HTTP Stack load
SIP – 001 – Incoming Messages/sec
DATAMCU – 001 – HTTP Stack state
SIP – 000 – Average Holding Time for Incoming Messages
For comparison purposes, click the Performance tab in an Archiving Server node. You’ll see an instance of Performance Monitor that, by default, uses these performance counters:
Again, this is a quick and easy way to get an overview of your servers and how (or even if) they are carrying out their appointed tasks.
Of course, you aren’t limited to the default set of counters provided for you; after all, these are regular—and extensible—instances of Performance Monitor. This means that you can add any performance counter to any of these Performance Monitor instances. For example, suppose you want to add the % Processor Time counter to a Performance Monitor instance. To do that, find the desired instance and then click the Add button to bring up the Add Counter dialog box.
In the Add Counter dialog box, select the Performance object from the drop-down list (for this example, that’s the Processor object). After choosing the object, select the desired counter and counter instances, and then click Add. When you are finished adding performance counters, click Close to dismiss the dialog box.
If there’s a downside to using the Performance Monitors embedded in the Administrative Tool, it’s this: Any customizations you make to these Performance Monitors are not saved when you exit the Administrative Tool. For example, suppose you do add the % Processor Time counter to a Performance Monitor instance. When you close the Administrative Tool and later restart the application, that additional performance counter will be gone. You’ll see only the default set of performance counters for each instance of Performance Monitor. You cannot customize a Performance Monitor instance and then save that customization by using the Administrative Tool.
Fortunately, you can work around that problem by modifying the default set of performance counters for a particular server role. Performance counter information is stored in a file named ServerPerfmon.xml, a file that is read each time the Administrative Tool starts. (Typically, you will find this file in the folder C:Program FilesCommon FilesMicrosoft Office Communications Server 2007 R2.) You can change the default set of counters for a server role simply by adding or removing counters from ServerPerfmon.xml.
Of course, you should make a backup copy of ServerPerfmon.xml before you begin making adjustments to it. Performance Monitor is a fairly resilient application. For example, if you specify a nonexistent counter, Performance Monitor will still run; it just won’t display that particular counter. Nevertheless, it’s still a good idea to make a backup copy of the XML file. If nothing else, this provides a quick and easy way for you to restore the default values.
Removing performance counters for a server role is easy. Locate and delete the appropriate line (or lines) in ServerPerfmon.xml. For example, suppose you want to remove one of the default performance counters used by your Archiving Servers. To do that, find the section of the XML file that deals with Archiving Server. That section should look something like this:
<!-- Performance counters for Office Communications Server 2007 R2, Archiving Service --> <counters serverRole="ARCH"> <counter scaleFactor="0" path="LC:Arch Service - 01 - READArch Service - 000 - Messages successfully parsed" /> <counter scaleFactor="0" path="LC:Arch Service - 01 - READArch Service - 002 - Messages that failed validation" /> <counter scaleFactor="0" path="LC:Arch Service - 02 - WRITEArch Service - 000 - Messages written to DB" /> <counter scaleFactor="0" path="LC:Arch Service - 02 - WRITEArch Service - 002 - Messages failed to be written to DB" /> </counters>
Now, delete the line of text corresponding to the performance counter you want removed. For example, if you don’t want the Messages failed to be written to DB counter to appear by default, simply delete this line from the XML file:
<counter scaleFactor="0" path="LC:Arch Service - 02 - WRITEArch Service - 002 - Messages failed to be written to DB" />
Once you’ve deleted the entry corresponding to the counter you want to remove (in our example "LC:Arch Service – 02 – WRITEArch Service – 002 – Messages failed to be written to DB") the Archiving Server section will look like this:
<!-- Performance counters for Office Communications Server 2007 R2, Archiving Service --> <counters serverRole="ARCH"> <counter scaleFactor="0" path="LC:Arch Service - 01 - READArch Service - 000 - Messages successfully parsed" /> <counter scaleFactor="0" path="LC:Arch Service - 01 - READArch Service - 002 - Messages that failed validation" /> <counter scaleFactor="0" path="LC:Arch Service - 02 - WRITEArch Service - 000 - Messages written to DB" /> </counters>
Save ServerPerfmon.xml and then restart the Administrative Tool. Now look at the Performance Monitoring tab for one of your Archiving Servers. You should see just three performance counters; Messages failed to be written to DB will no longer appear by default.
Removing a performance counter from the default counter set is easy. But what if you want to add a new performance counter to a default instance of Performance Monitor? You first need to know the exact path of the performance counter. The easiest way to determine the path to a performance counter is to add that counter to an existing instance of Performance Monitor.
To determine the path, right-click the counter name and then click Properties. The counter path will appear on the Data tab of the System Monitor Properties dialog box.
From the counter’s properties, the path for the % Processor Time counter is \server.fabrikam.comProcessor(_Total)\% Processor Time. (If you are monitoring performance on the local machine, you can leave off the \server.fabrikam.com.) To add this counter to ServerPerfmon.xml, add the following line to the Archiving Server section:
<counter scaleFactor="0" path=" Processor(_Total)\% Processor Time " />
Setting scaleFactor to 0 causes Performance Monitor to use the default scale value for that counter.
If you are reluctant to modify ServerPerfmon.xml, you can also create a custom monitoring console by dragging a text file of performance counter data onto a running instance of Performance Monitor. (This is most useful when you simply want to add additional performance counters to an instance of Performance Monitor.)
To do so, add additional counters as needed to an existing instance of Performance Monitor. (For example, add the Processor\%Processor Time counter to the Archiving Server’s instance of Performance Monitor.) After all the counters have been added, click the Copy Properties button on the Performance Monitor toolbar. This copies information about each performance counter to the Clipboard. From there, paste the information into Notepad and then save the data as a text file. That file will include lines similar to the following lines that define each counter used in the instance:
<PARAM NAME="Counter00001.Path" VALUE="\server.Vdomain.comLC:DATAMCU - 02 - MCU Health And PerformanceDATAMCU - 000 - HTTP Stack load"/> <PARAM NAME="Counter00001.Color" VALUE="16711680"/> <PARAM NAME="Counter00001.Width" VALUE="1"/> <PARAM NAME="Counter00001.LineStyle" VALUE="0"/> <PARAM NAME="Counter00001.ScaleFactor" VALUE="0"/> <PARAM NAME="Counter00001.Minimum" VALUE="0"/> <PARAM NAME="Counter00001.Maximum" VALUE="0"/> <PARAM NAME="Counter00001.Average" VALUE="0"/> <PARAM NAME="Counter00001.StatisticStatus" VALUE="0"/>
So what do you do with this text file? The next time you want to use this same set of counters, start up an instance of Performance Monitor (either from within the Administrative Tool or as a standalone instance). As soon as Performance Monitor is up and running, drag the text file onto that instance. When you do that, any counters listed in the text file that are not currently in use will be added to that instance of Performance Monitor.
18.219.45.88