Welcome to TechNet Blogs Sign in | Join | Help

Last week on http://www.opsmanjam.com my Maintenance Mode management pack was published.  However, shortly after releasing it I discovered a couple of bugs, one of which prevents maintenance mode from starting against your targetted set of systems (pretty bad bug) intermitently.  I have addressed those bugs, refined the PowerShell script used, and even added a couple of features, most notably the ability to schedule maintenance mode for a Windows Cluster.  I just submitted that updated version of the MP to the team and also requested the 'buggy' version be removed from the site in the meantime. 

Here is a summary of what the new version offers:

This management pack provides an automated method to schedule maintenance mode for a given set of Windows computers that are in a pre-defined set of groups and the associated rules to target against those groups. In addition, this version supports scheduling maintenance mode for Windows Cluster services.   It serves as an example and foundation to build from in order to develop your own custom schedule to automate within Operations Manager 2007 R2 accordingly.

 

Hopefully this week that new version will be released to web.  I am now starting to work on another management pack for managing agent failover as an alertnative for those customers who do not wish to implement Active Directory integration.   This will also be PowerShell driven and hopefully be flexible enough to meet your implementation scenarios.  If you would like to send me your ideas or suggestions, please feel free to e-mail me at - mgoedtel@microsoft.com

I was recently e-mailed by a colleague regarding the maintenance mode PowerShell script that was originally released by Boris Yanushpolsky (found here) that worked great for RTM/SP1, but was failing when executed on an OpsMgr 2007 R2 agent managed system.  In addition, the script was designed to place an object into maintenance mode for an hourly duration, not in minutes matching the setting in the Operations Console. 

As you know, in Operations Manager RTM/SP1, we did not place the health service or health service watcher instance of the computer object into maintenance mode as one would expect, when you place a computer and its contained objects into maintenance mode.  In Operations Manager R2, this was resolved and no longer requires you to perform this as a second step in the process. 

The attached script has been updated to support automating the placement of computer objects into maintenance mode for Operations Manager R2, and now accepts the argument of minutes instead of hours for duration of maintenance.  I am also in the process of updating the Maintenance Mode management pack that Brian Wren originally developed, and Andrzej Lipka (a former MCS Consultant from Poland) and myself modified with some additional features (see Andrzej's MP here and mine here) so you can leverage it for R2.  I hope to have it completed and tested by this weekend, and submitted for review and release on http://www.opsmanjam.com the following week.

The command-line for executing the script is:

Starting MM - powershell "c:\MMode_R2.ps1" -groupName 'All Computers' -minutes 10 -rmsServerName RMSSERVER -startMM $true

 

Ending MM - powershell "c:\MMode_R2.ps1" -groupName 'All Computers' -minutes 10 -rmsServerName RMSSERVER -startMM $false

Suggestions and feedback are always welcome.

As promised, I finally finished and submitted the Extended SQL Server 2005/2008 Management Pack for Operations Manager 2007 and it is now available for download on OpsManJam.  

This management pack augments the existing Microsoft SQL Server 2005/2008 management pack by monitoring for the following change in your environment:

  • A database mirroring event has been detected on the principal server, affecting replication of the database transaction logs between principal and its mirroring partner based on user-defined performance thresholds for that mirrored database instance.
  • Performance collection of key database mirroring performance counters for viewing in performance views inculded with this management pack, or referencing in a performance report.

This management pack was developed referencing the latest version of the Operations Manager 2007 SQL Server Management Pack, version 6.0.6569.0. 

 

After my short break, I'll begin working on the next version of this management pack, which will include a health model and monitoring of the health of a mirrored database.  Hopefully I can turn this around withina  reasonable timeframe.  As always, I encourage and appreciate your feedback.

It has been quite some time since I have posted anything of relevance on my blog.  I have been focused on updating some of the management packs that I published a few months ago, such as:

  • Extended Windows Server Active Directory
  • Extended Windows Server
  • System Center Configuration Manager OSD

In addition, I was developing some new custom management packs, such as:

  • Extended Windows Server Internet Information Services 2003
  • Extended SQL Server 2005/2008
  • Alachisoft NCache 3.x

All of these MP's, with exception of the Alachisoft and Extended SQL Server MP's, have been published on OpsManJam Library, under Management Packs.  The Alachisoft NCache MP is undergoing an internal review and should be published this week or next.  I am currently putting the finishing touches on the custom Extended SQL Server 2005/2008, which will provide the following features:

  1. Provides basic monitoring of specific events when you have database mirroring enabled on specific databases hosted on your SQL 2005/2008 server.
  2. Collects specific performance data related to database mirroring to view in the Console.
  3. Monitors for an event condition when a database filegroup runs out of disk space (such as when AUTOGROW is not enabled, insufficient disk space, etc.)

So I have this first version complete and am currently drafting the deployment guide.  I should have it completed by the weekend and submitted for publishing on OpsManJam next week.  The next version of this MP that I am preparing to develop, will look to provide more advanced health monitoring for database mirroring. 

From now on, all custom MP's that I develop will be published on OpsManJam and not on my blog. 

 

The latest Active Directory management pack deployment guide has a small section entitled "Enabling or Disabling Performance Data for Reports" and it was generating some good dialog internally between some colleagues and the product group.  This section recommends that you disable the Performance monitor for the class "Active Directory Domain Controller Server 200x Computer Role" in order to minimize performance data collection for reports.  However, this is a base aggregate monitor that is basically responsible for reflecting the best/worse case of health relative to the state of the child monitors.  It has no direct impact on controlling the behavior of the child monitors, nor performance collection in general.

If you really want to disable performance data collection because reporting is not important to you, then you should be focusing on the performance collection rules.  They are denoted as such with the words "performance collection" in the name of the respective rule.  Examples in the ADMP are:

  • AD Global Catalog Search Time Response Performance Collection
  • AD DC Performance Collection - Metric Memory Committed Bytes

If you want to disable performance alerts because you are not concerned with certain performance issues with your DC's (as you may already know these facts and don't want to be constantly reminded), then you should be disabling the respective performance unit monitor.  Examples in the ADMP are:

  • AD DC Last Bind Monitor
  • AD DC Op Master Domain Naming Last Bind Monitor

 

I uncovered a situation with SQL Server 2005 Reporting Services that I did not encounter before and it is worth mentioning because it follows the premise of - verify SQL Reporting Services first before installing Operations Manager 2007 Reporting. 

Background:

Windows Server 2008 x64 hosting SQL Server 2005 Enterprise Edition x64 w/SP2 configured with two instances.  One instance is dedicated to the Operations Manager operational database (i.e. OperationsManager) and the second instance is dedicate to SSRS, Operations Manager data warehouse (i.e. OperationsManagerDW), and Operations Manager Reporting Services.  The default instance is not installed in this scenario.  All services are configured to run with a domain user account that has local administrative rights.  SSRS was installed with default settings during setup of the second instance of SQL Server.

Scenario:

When attempting to access SQL Report Manager - http://localhost/Reports with the browser to verify SSRS was functioning correctly, the browser would never render the home page of SSRS and it would eventually time out.   No error messages were displayed in the Application Event Log and the configuration settings were verified to be correct in SQL Reporting Services Configuration Tool.  My initial thoughts were that this was a possible permissions issue, however further investigation showed that not to be the case.  I started to review the logs that are written by SSRS under Program Files\Microsoft SQL Server\MSSQL.<x>\Reporting Services\LogFiles and saw some errors in the ReportServerWebApp_.log file, and thought based on those entries it was firewall or IIS configuration related.  However, those ideas were put to bed after doing some additional troubleshooting.  

Some of the errors in the log: 

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

 

at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)

 

at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

 

--- End of inner exception stack trace ---

 

at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)

 

at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)

 

at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)

 

--- End of inner exception stack trace ---

 

at Microsoft.SqlServer.ReportingServices2005.RSConnection.GetSecureMethods()

 

at Microsoft.ReportingServices.UI.Global.RSWebServiceWrapper.GetSecureMethods()

 

at Microsoft.SqlServer.ReportingServices2005.RSConnection.IsSecureMethod(String methodname)

 

at Microsoft.SqlServer.ReportingServices2005.RSConnection.ValidateConnection()

 

at Microsoft.ReportingServices.UI.Global.SecureAllAPI()

 

at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel(HttpsLevel level)

 

at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)

 

at System.EventHandler.Invoke(Object sender, EventArgs e)

 

at System.Web.UI.Control.OnInit(EventArgs e)

 

at System.Web.UI.Page.OnInit(EventArgs e)

 

at System.Web.UI.Control.InitRecursive(Control namingContainer)

 

at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

w3wp!ui!a!2/11/2009-10:40:42:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.

at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)

w3wp!ui!9!2/11/2009-10:40:42:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.

at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)

w3wp!ui!6!2/11/2009-10:40:44:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.

at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)

 

With time being of the essence and I needed to focus on other critical tasks, I suggested that the customer open a case with CSS and they work through it with them. 

Solution:

The RSWebApplication.config configuration file for Report Manager was modifed, which is located in the following folder - SQLInstall\MSSQL.X\Reporting Services\ReportManager.  By default, Reporting Services is configured to reference the IIS virtual directory "ReportServer" as noted in the tag - ReportServerVirtualDirectory. The value was removed from that tag and instead, the URL for Report Manager was entered for the tag - ReportServerUrl.  Once the SQL Reporting Services service was restarted, accessing Report Manager from the browser was attempted and was successful. 

In retrospect, I should have tried the recommendations in this KB Article - 922656, which I just came across as I was writing this blog entry (funny because I did not get a hit for it when I was originally searching for possible solutions).  As Homer Simpson would have said, "How convenient."

One of the new features of R2 that hasn't received any attention yet (at least to my knowledge) is how we changed the functionality of Run As Profiles.  Today in Operations Manager 2007, you associate a RunAs Account for a particular RunAs Profile on a specific computer.  Pretty straight forward and if I remember correctly, the same as MOM 2005 (haven't touched it in some time so my memory is vague).  When I was testing my custom ADMP (my lab environment is running on R2), I was caught off guard because I needed to associate a RunAs account with a RunAs profile as part of my testing, and it took me some time to figure out how to configure it correctly (since the on-line documentation for R2 was not updated to provide an appropriate level of guidance). 

In Operations Manager 2007 R2, when associating a RunAs Account for a particular RunAs Profile, you can now target the the profile to any class available in Operations Manager and see the logical relationship between the two.  Take for example a script that we run as a response to a monitor or a script that performs some level of monitoring against a SQL Server database.  Instead of associating the profile with the agent, you can associate the profile with the database instance or the SQL Server Database Engine for that agent.  So any workflow that requires running under a specific set of privileges in order to access the instrumentation correctly, you will be able to target the profile by group, object, and instance class.  This follows the same logic as targeting a workflow today (monitors, rules, discoveries, tasks, etc.).

While today's management packs for Operations Manager aren't developed with this strategy in mind, by the time R2 comes out I would expect to see them supporting this. 

Over the weekend I was able to make the time needed to wipe and load Windows 7 Beta, which I can say with much enthusiasm is stellar (really, I am not saying that because I work for Microsoft).  Anywho, I installed the Operations Manager 2007 SP1 Operations Console and fired it up to see how it would fair on this beta OS.  Thus far, it is working reliably.

While this is not earth shattering news and not a big deal from a "ohh I can do that" type of blog entry, I figured I would share this little tidbit of news anyway.

Oh, the Operations Manager 2007 R2 Operations Console is also running sound on Windows 7.  So for you who are admins or operators using Operations Manager 2007, go forward and enjoy the fruits of Windows 7!

Leagl jargon - your milage may vary and this is not an endorsement to violate your company's policy with using beta software on production systems.

I forgot to mention a few weeks ago I had taken the ITIL v3 Foundation Certification exam and a couple of days later I received my results in the mail.  I passed...

That is all - end transmission.

 

Today I have updated the Deployment Guide for Operations Manager 2007 Reporting on Windows Server 2008.  This was due to some confusion from those who downloaded the doc and were attempting to setup this configuration in their environment.  I received a few e-mails and determined this needed to be addressed accordingly.  Specifically I had verbiage in a paragraph in the section "Installing SQL Server 2005 with Service Pack 2" where I eluded to the fact installing SQL 2005 with Reporting Services should be performed using a slipstreamed version of SQL 2005 with SP2.  I don't remember why I had that statement in this paragraph, but there is no technical reason from my experience why you cannot install SQL 2005 RTM and then apply Service Pack 2.  It has worked fine for me on various occasions. 

Thanks to those who have pointed this out and sorry that this caused any unnecessary confusion.

This updated version will also be uploaded on the http://www.opsmanjam.com site within a day or so.

I just completed the deployment guide for this custom management pack that Walter and I have been working on.  It is now ready for you to download and evaluate. 

DescriptionThis management pack provides performance views and dashboards to present key performance data from the SQL Server(s) hosting one or all of the Operations Manager databases.

What this management pack does not do is proactively monitor and alert/change health state if the SQL Servers are not operating reliably.  This is something that I am currently evaluating as a possibility for the next version, in addition to supporting dynamic membership so that we can automatically discover the Windows Server(s) hosting SQL Server 2005 and the Operations Manager (operational, data warehouse, and audit) databases.  If time can be found, I'll look to devote some effort towards developing the next version.  One of the things I wished I had more time to focus on was the discovery and targeting of views/rules dynamically for the operational database, due to the way discovery and targeting is configured in Operations Manager today.  That is a topic I don't have time to discuss further right now, sadly.

Limited testing of this management pack has been conducted by myself and Walter. 

Feedback is encouraged.

Being Chris Fox is busy right now with authoring/updating docs for Operations Manager 2007 R2, I am going to post this guide on my blog until it is uploaded on the OpsManJam site.  This document I authored, provides the following guidance:

This document provides deployment guidance for installing and configuring the SQL Server 2005 Log Shipping feature as an option to provide redundancy of the Operations Manager operational database between two SQL Server 2005 servers in the same management group.  This configuration is intended to compliment your recovery strategy.

 

Enjoy!

This has been on my list of things to do - release the custom Operations Manager Performance Monitoring MP that Walter Chomak and myself co-developed.  I am in the process of getting the deployment guide authored and hope to have it released shortly.  This was something Walter and I wanted to release to the public several months ago, but time has not been on our side.  It compliments the guidance Walter has blogged about and I have been preaching to customers while engaged with them (no need to duplicate guidance if Walter has blogged about it already) :)

I almost published it this evening without the deployment guide, which goes against the standards I follow.  Then I came to my senses...  I'll get that guide done before the end of next week and submit to Chris Fox for posting on the OpsManJam Site (with a little bit of luck). 

Thanks for hanging in there!

Back in June I attended an internal class to review Microsoft Operations Framework v4 (formerly known as Project Hanna) and attended a beta exam thereafter, which I fortunately passed.  Now this week, I am going to update my ITIL Foundation Certification from v2 to v3. 

I have a very strong opinion with respect to anyone in IT and the benefits of learning and adopting a process frameworks in an effort to improve the delivery and support of IT Services to the business.  Not simply focusing on technology makes anyone in IT a well rounded person as long as they take it seriously and work towards improving the way IT functions.  It makes us better IT stewards. 

You can learn more about MOF here - http://technet.microsoft.com/en-us/library/cc506049.aspx

You can learn more about ITIL here - http://www.itil-officialsite.com/home/home.aspm and here - http://www.itlibrary.org/ 

I'll get off the soapbox now....:)

I just submitted to Chris Fox for review and posting on the OpsManJam site, the guide "System Center Operations Manager 2007 Configure SQL Server Log Shipping Guide for Operations Manager 2007 Operational Database" that I have been working on in my spare time.  This guide currently only covers the implementation of Log Shipping as an HA option for the OperationsManager (operational) database, not the Audit or Data Warehouse database, and provides guidance on configuring the secondary SQL Server and the management group when the primary SQL Server becomes unavailable.  While I have reviewed similar documentation developed by others outside of Microsoft, I felt it necessary to ensure detailed guidance is consistant with our other published whitepapers.  I am a stickler for consistency and detail, if you have not realized that already!

While I could have also covered the Data Warehouse and Audit database, it would have taken a bit more time and I felt I could add guidance for those two databases in a future version. 

 As soon as I see it published on the OpsManJam site, I'll post an update.  However, I am sure you have RSS feeds enabled and will be notified accordingly.

More Posts Next page »
 
Page view tracker