Thursday, December 1, 2011

Add Business Services and Configuration Items from SCOM to SCSM

  1. Import same SEALED version of MP to both SCOM and SCSM (same version is critical)
  2. Launch PowerShell on SCSM MS and add-pssnapin smcmdletsnapin (more info here http://technet.microsoft.com/en-us/library/ff461183.aspx)
  3. add-scsmallowlistclass -ClassName (insert class name here)
    1. Class names for DAs created in SCOM begin with Service_ such as Service_705e85be9b0442fbb6dee387258ac789
      1. You won't need to explicitly add DA's created in SCOM to the allow-list since they are sub-classes of System.Entity which is in the allow-list by default.  Just make sure both MPs in SCOM and SCSM are sealed.
    2. Class names for Microsoft created MPs are Microsoft.SQL or Microsoft.Exchange
    3. Class names for MPs created in the Authoring Tool can be pretty much anything but should follow some sort of nomenclature such as CompanyName.Application
  4. Once the classes are added to the allow list then open the SCOM CI Connector in Service Manager. If you don't already have one, then you can create one in the Connectors pane under Administration
  5. Refresh the list and select the MPs you want to sync.
  6. Enable (if not already done so) the connector and sync.
Step 5.




Monday, November 28, 2011

Add Affected Items to the Title or Description of a Service Manager IR

I recently began creating Incidents in Service Manager from alerts created in Operations Manager via the SCOM Alert Connector.  I'm pushing this out slowly to the various groups (SQL, Windows Server, App Support, etc...) so I can pay more attention to each one as I roll it out and do some hand holding.  The SQL group was welcoming of it last week, but requested that the Affected Item(s) show in the Title of the Incident so they can quickly see (either via the e-mail notification or in the console) which server or DB was affected because otherwise you have to open the ticket and scroll down and you might end up with a situation like this:


I know a DB is offline, some IS Packages failed, etc... but considering I have thousands of DBs and many packages... this view doesn't really help me if I want to quickly identify which DB is offline.

I reached out to Travis and asked him how to do this.  He responded with this blog post which says it's not possible natively within Service Manager because the max cardinality for those relationships can be > 1.  More info here: http://blogs.technet.com/b/servicemanager/archive/2011/04/06/faq-why-can-t-i-add-some-columns-that-i-want-to-views.aspx.

At a high-level, here is how I solved this and here's the policy I created in Opalis specifically for the SQL team.  
  1. Use Monitor Object to look for newly created or updated IRs
  2. Get the relationship between the object GUID returned from Monitor Object and whatever class you're looking for.  In this case, I chose Windows Computer class.
  3. Query the ServiceManager DB to match the GUID of the Affected Item to it's Principal Name
  4. Repeat steps 2 and 3 for other classes such as SQL DB Engine or SQL Database
  5. Update Incident
Since depending on what alert is thrown, it's going to use items from different classes, you might need to add many get-relationship and query sql objects.  In my example, I've added three since for the alerts we receive, they seem to all involve three classes.
  1. Windows Computer
  2. SQL DB Engine
  3. SQL Database
Here are the screenshots from the first 3 objects and then the last one:



To query the SQL DB Engine, you'll need this:
USE ServiceManager
SELECT [AgentName_69B79706_8AE1_470D_5FD7_0AAA7A126CCA]
FROM [ServiceManager].[dbo].[MT_Microsoft$SQLServer$DBEngine]
WHERE BaseManagedEntityId = 'Related Object Guid from...'

For SQL Database:
USE ServiceManager
SELECT [DisplayName]
FROM [ServiceManager].[dbo].[MT_Microsoft$SQLServer$Database]
WHERE BaseManagedEntityId ='Related Object Guid from...'

You'll just have to use SQL Management Studio and dig inside the Service Manager DB to find which table and column you need to query depending on the object.


Now when a new IR comes through, the policy will run and the Title will look like this:


If you rather, you can update the Description field or both.  Just add or modify the Fields section in the Update Object Properties.

Friday, November 18, 2011

How to Integrate VMM 2008 R2 into SCOM 2007 R2


  • Ensure Virtual Machine Manager service is running as svc-vmm or domain account other than Local System
    • VMM Agent can be running Local System
  • Add svc-vmm (or other domain account running the VMM service) to the Local Admins on the SCOM RMS
  • Remove previous VMM 2008 MPs from SCOM before importing VMM 2008 R2 MPs
    • VMM 2008 R2 MP is located with the VMM media ONLY - this tripped me up for a solid 5 minutes
  • Open VMM logged in as svc-vmm (or other domain account running the VMM service) and launch SCVMM console - if prompted for credentials or server, click OK
  • Navigate to Administration > System Center and double-click Operations Manager Server - type the FQDN of the OpsMgr RMS
  • Navigate to Administration > System Center and double-click Operations Manager Reporting URL - type the FQDN of where SSRS is installed for SCOM Reporting with a /ReportServer at the end - example http://SCOMRPT01/ReportServer
Not too difficult, but as per everything Microsoft if your permissions aren't correct, or you haven't removed all previous VMM MPs from SCOM - you'll get cryptic errors.  Enjoy!

This is also a helpful document: http://technet.microsoft.com/en-us/library/ee236428.aspx

Wednesday, August 24, 2011

Stale/Gray objects in Operations Manager

Occasionally you'll have grayed out agents in your Monitoring view in SCOM.  This can be due to the fact that a server was decommissioned before you had a chance to properly uninstall the agent and delete it from the Administration pane.  Even after you delete it from the Administration pane the object may still appear grayed out.  For this, I turned to SQL Management Studio.


First I run this query against the OperationsManager DB:
SELECT * FROM dbo.[BasemanagedEntity] where FullName Like '%computername%'

This shows me all instances that still reside in the DB for that computer.  Scroll over the the IsManaged and IsDeleted column.  You'll often, not always, notice a mixture of 1's and 0's.  Ideally if you want this server deleted IsManaged = 0 and IsDeleted = 1.  All it takes is one of the items in the IsDeleted column to show 0 for the object to show in the console in a gray state.


Which leads us to the SQL query to remove these from the console:

USE [OperationsManager]
UPDATE dbo.[BaseManagedEntity]
SET
[IsManaged] = 0,
[IsDeleted] = 1,
[LastModified] = getutcdate()
WHERE FullName like '%computername%'



Now IsManaged = 0 and IsDeleted = 1.  Refresh your SCOM Console and...



No more gray agent :)

The query to run the data purging Stored Proc is as follows:


DECLARE @GroomingThresholdUTC datetime
SET @GroomingThresholdUTC = DATEADD(d,-2,GETUTCDATE())
UPDATE BaseManagedEntity
SET LastModified = @GroomingThresholdUTC
WHERE [IsDeleted] = 1
UPDATE Relationship
SET LastModified = @GroomingThresholdUTC
WHERE [IsDeleted] = 1
UPDATE TypedManagedEntity
SET LastModified = @GroomingThresholdUTC
WHERE [IsDeleted] = 1
EXEC p_DataPurging

I believe this runs each night but just in case you want to force it.  Should only take a few seconds.


If that doesn't fix it, follow this guide: http://blogs.technet.com/b/kevinholman/archive/2008/09/29/agent-pending-actions-can-get-out-of-synch-between-the-console-and-the-database.aspx

Failed to create process due to error '0x80070002 : The system cannot find the file specified. ', this workflow will be unloaded.


I recently was receiving this message on one of my monitored DC's....

Event Type: Error
Event Source: Health Service Modules
Event Category: None
Event ID: 21400
Date: 8/24/2011
Time: 9:08:02 AM
User: N/A
Computer: SERVERNAME
Description:
Failed to create process due to error '0x80070002 : The system cannot find the file specified.
', this workflow will be unloaded.

Command executed: "C:\WINDOWS\System32\cscript.exe" /nologo "C:\Program Files\System Center Operations Manager 2007\Health Service State\Monitoring Host Temporary Files 1\84\DiscoverVMMSelfService.vbs" {E68CED9E-FB3F-B856-E3D5-F3A91FCA395B} {72BEBFB5-0B16-F3BA-8B9A-281D81DBA0C3} SERVERNAME
Working Directory: C:\Program Files\System Center Operations Manager 2007\Health Service State\Monitoring Host Temporary Files 1\84\

One or more workflows were affected by this.

Workflow name: Microsoft.SystemCenter.VirtualMachineManager.2008.SelfService.DiscoveryRule
Instance name: SERVERNAME
Instance ID: {72BEBFB5-0B16-F3BA-8B9A-281D81DBA0C3}
Management group: SCOMManagementGroup

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

>>>

Turns out the issue was that cscript.exe was not in C:\WINDOWS\SYSTEM32.  Another issue could be that  Windows Server Support Tools are not installed to C:\Program Files\.

Tuesday, August 2, 2011

getting vmware components to show up in service manager

if you have quest's qmx xtensions for vmware monitoring, it's easy to get that information into service manager so you can report on those components.

once the scom ci connector is setup, you'll need to import the sealed eXcSoftware.nonWindows MP (mine is version 7.0.0.23).  once that is imported you'll need to import the Network Device Library MP.  once that is imported you can then import the unsealed QMX.VMWare MP (mine is version 7.0.0.19).  they must be done in this order.


once the MPs are imported, you'll need to allow those classes:
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.WindowsProxyComputer
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.AVAILABILITY
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.CONFIGURATION
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.CPU
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.DISK
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.FAN
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.MEMORY
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.NETWORK
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.POWER
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.PROCESS
add-scsmallowlistclass -ClassName eXcSoftware.nonWindows.nonWindowsObject.SECURITY
add-scsmallowlistclass -ClassName QMX_Monitor_VMWare_OpsMgrMP.Group

open the scom ci connector > click on management packs and refresh.  type in your account password for the connector and eXcSoftware.nonWindows and QMX_Monitor_VMWare_OpsMgrMP should now show up.  put a checkbox next to those and click 'ok'.

keep in mind, if you use the free version of QMX for VMware then ONLY your vCenter host will show up (not the ESX hosts or guests).  in my case i'm also monitoring some IronPort's so those show up as well.  if you want all the ESX hosts to show up then you need to get paid licenses for EACH ESX host ~ costly.

Friday, July 29, 2011

scom 2012 beta - can't install reporting services

when installing the reporting component for scom 2012 beta, this error occurs:

Event Name: CLR20r3
Signature: setupchainerui.exe

how to resolve?  configure SSRS via the reporting services configuration manager :)  took me a day before it dawned on me too....

Tuesday, July 19, 2011

service manager 2010 MP for operations manager not monitoring workflows availability

after importing the service manager management pack, you might find that the workflows availability monitors (grooming, linking and wf) are not monitored.  this is because you haven't configured a database write action account for service manager inside scom yet.

in scom:
navigate to the administration pane > accounts
create a windows run as account.  name it something like "service manager database write action account".
the credentials will be whatever account you've configured already in service manager to be the database account.
for distribution, i always choose "more secure" and in this instance i'll target all my service manager and sql servers.

now click on profiles and find the "service manager database account" which is automatically created when you import the service manager mp.  double-click this account profile, click run as accounts on the left and click "add".  choose the account from the drop down list that you created in the previous steps and target 'all objects'.  save you changes and wait a few hours unless you feel like altering the discoveries.

scom 2012 beta released!

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26804

Tuesday, March 22, 2011

IS Package Failed

In conjunction with my post at http://social.technet.microsoft.com/Forums/en-US/operationsmanagergeneral/thread/b76658a3-2153-4c52-b7cf-0a2b707e3fd4, these screen shots show what is happening.


Event Viewer on SQL006 - 1 eventID 12291 occurs...


which creates 2 alerts in the SCOM Console.  1 for the node (SQL006 - bottom of the two shown) and one for the instance (SHRD2 - top of the two shown) which happens to be the only instance on that node.  If there were more instances (like on the other nodes) there would be a SCOM alert for each of those SQL Instances - this is just a bad example but the only one I have right now since it was requested that I set an override.