Showing posts with label Authoring. Show all posts
Showing posts with label Authoring. Show all posts

Wednesday, February 25, 2015

SCOM: New version available MP Author SP3

Silect just released a new version, SP3, of MP Author, a free and easy to use tool for creating SCOM management pack.
 
Soms welcome new features:
- Improved knowledge viewing and editing in multiple language environments
- Improved XML editing
- New feature to "Check for missing display names" (Nice one when MP's are authored by multiple users with different UI locales)
- Added ability to use base classes other than LocalApplication when creating new classes
- Additional MP elements are displayed
- Added a drop down list of $$ parameters for alert messages (less Traffic for Kevin Holman's blog ;))
- Schedule property grid made more user friendly
- Improvements to memory usage
But, the use of notepad, XML editor and Authoring Console still comes in handy. Or use the Visual Studio addins for authoring.

Tuesday, April 8, 2014

Microsoft Azure Automation preview!

This is just great! Automation on-premise is what we already know and on which we are currently are automatizing our processes. Yet, as we are busy doing just that, Microsoft is working on automation in the Azure cloud! Earlier this week they made a public preview of Azure Automation available.

Read this blog from Keith Mayer to follow a step-by-step approach getting started with Azure Automation. Furthermore, in the future they will publish information about using other products like Chef with Windows Azure.

Quote from Keith's blog:
Note: this week, we also announced support for Puppet and Chef for automated provisioning and configuration management of Microsoft Azure cloud resources. If you're currently using these tools as part of your DevOps strategy, be sure to look for upcoming articles that focus on these alternatives for cloud automation.
Link to article: http://blogs.technet.com/b/keithmayer/archive/2014/04/04/step-by-step-getting-started-with-windows-azure-automation.aspx

More info on Microsoft Azure Automation: http://azure.microsoft.com/en-us/documentation/services/automation/

Have fun! I know I will...

Friday, January 24, 2014

SCOM: Great start of new year - New MP Authoring Tool

This year started awesome with the introduction of a new MP authoring tool for SCOM, released by Silect.
It has a very descriptive name :),  MP Author.

I really hope this will enable more people to create useable monitoring functionality in Operations Manager.

While I still don't understand why Microsoft has not solved the issue in which the Authoring role within OpsMgr can't use the Monitoring Templates (startingpoint for authoring?), this tool could be a solution for those who do not feel comfortable with the current Authoring Pane or VSAE.

Read about it at: http://blogs.technet.com/b/momteam/archive/2014/01/13/mp-blog-the-right-tool-for-the-right-job.aspx

(The SCOM 2012 Operations Console is a prerequisite for installing MP Author)

Tuesday, October 23, 2012

SCOM: Online Management Pack documentation

Today I was working on new Management Pack for SCOM 2012. As I was searching for a base class definition on the internet, I found this website which can be convinient if you need a quick peek at the System Center libraries. This website shows the System Center management packs contents and is easy to browse for class definitions, discoveries, rules and monitors.

Check it out: http://mpdb.azurewebsites.net/

Have fun!

Wednesday, April 18, 2012

System Center 2012 Availability

The last month more and more System Center 2012 product guides, addons and other stuff was released.
Also the availability of the 2012 suite to Volume License Cusomers was already known by the public.

This week at MMS (no I'm not attending) the announcement was made that System Center 2012 is now generally available. So the coming weeks and months, more in-depth product knowledge will be shared Technet, forums, blogs and other media. Now the MVP's can finally share what they know already.

Just read a blog where Microsoft introduced a new console for creating basic management packs for Operations Manager 2007 and 2012: http://systemscentre.blogspot.com/2012/04/visio-management-pack-designer-for.html

Tuesday, June 21, 2011

SCOM: Dynamic Group MaxDepth

This blog shows a trick to retrieve the right query depth when using contains/contained expressions in group membership rules.

If you don't know how these expressions work: Raphael Burri has an excellent blog about Dynamic Group Population: http://rburri.wordpress.com/2009/01/14/dynamic-group-membership-authoring-and-performance-impact-on-rms/

Whenever you use Contains or Contained (or their compliments NotContains or NotContained), you should use the attribute MaxDepth to save I/O on the RMS.

But how do you know what the MaxDepth is???

You could find this info in the Service Model from the Management Pack Guide. But not every MP Guide is equiped with a Service Model.
To overcome this, you can use the Group membership rule wizard (Query Builder) in the Operations Console.

In this example I want to group all IIS 7.0 Application Pools which are hosted on computers with a specific Computer Description. In most cases MaxDepth 1 will do, but not in this case.

For the Computer Description attribute I created an extended class based on Windows Computer. The attribute is filled with the value of a registry key found locally on the agent.

Let's see.....

Start the Create Group Wizard and go the the Dynamic Members tab:




















Click Create/Edit rules and select IIS 7.0 Application Pool class and click Add:

















Select the property drop down list and go to the last entry, which shows the host class. This shows that the IIS 7.0 Application Pool Class is hosted by the IIS 7.0 Web Server class.





















In the next steps select the parent classes until you reach the host class Windows Computer. For every host step, maxDepth is incremented.






So now you know that you'll have to use maxDepth="3" in Contains/Contained expressions on the Windows Computer class (or in my case a class which derives from this class).
The membership rule would look like this:


$MPElement[Name="Windows1!Microsoft.Windows.InternetInformationServices.2008.ApplicationPool"]$
$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$


$MPElement[Name="MyExtLib!MyExtLib.Windows.Computer.Extended"]$



$MPElement[Name="MyExtLib!MyExtLib.Windows.Computer.Extended"]/Description$

ContainsSubstring
Web Server LOB1





Of course you can create groups based on the host properties, but sadly this doesn't work on derived classes.
If you do can work with the host properties, the membership rule can look like this:


$MPElement[Name="Windows1!Microsoft.Windows.InternetInformationServices.2008.ApplicationPool"]$
$MPElement[Name="MicrosoftSystemCenterInstanceGroupLibrary6172210!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$




$MPElement[Name="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]$
$MPElement[Name="MicrosoftWindowsLibrary6172210!Microsoft.Windows.Computer"]/OrganizationalUnit$


ContainsSubstring
Web Servers


Thursday, April 21, 2011

Searching for Management Pack authoring

Today I came accross a blog post of Brian Wren from Microsoft.
They're working on a better search solution for finding information focussed on System Center technologies.

Now information and examples are scattered around the internet on forums, blogs, technet, community sites and you name it.

The solution Microsoft is working on is called 'System Center Cloud Search'. It's using the Bing search engine with selected data sources to search in.

For now, the beta is focussed on Management Pack Authoring.

See the whole story here: http://blogs.technet.com/b/mpauthor/archive/2011/04/15/cloud-search-for-management-pack-authoring.aspx

Give it a shot to see if this works for you and help making it better!

Friday, February 25, 2011

SCOM: CU4 and Microsoft.SystemCenter.Library.mp 6.1.7221.61

This blog post is for those who updated SCOM with CU4 and have issues with the Authoring Console and Microsoft.SystemCenter.Library.mp version 6.1.7221.61.
-----------------------------
** Update: 08/09/2011 **
Microsoft published a KB-article which resolves this problem:
http://support.microsoft.com/kb/2590414
-----------------------------

After applying CU4, Microsoft.SystemCenter.Library management pack is updated.
When using the Authoring Console on MP's created in a CU4 Management Group, you are prompted for Microsoft.SystemCenter.Library.mp 6.1.7221.61.

But, the MP file is not available from the CU4 installation sources.

The management pack is updated trough the sql batch on the OperationsManager database, CU4_Database.sql.


DECLARE @ver nvarchar(25)

DECLARE @compare int
SET @ver = (SELECT Mpversion FROM ManagementPack WHERE MPName = 'Microsoft.SystemCenter.Library')
-- Update Microsoft.SystemCenter.Libarary MP directly via SQL

A thread about this is going on at the Microsoft forums: http://social.technet.microsoft.com/Forums/en-US/operationsmanagermgmtpacks/thread/45d6bac1-4b10-4f36-86de-2efea895fc94

There is an easy workaround mentioned on the forum by dbabob56:
After exporting you can change the version number.

FROM




Microsoft.SystemCenter.Library
6.1.7221.61
31bf3856ad364e35
TO




Microsoft.SystemCenter.Library
6.1.7221.0
31bf3856ad364e35

Wednesday, January 27, 2010

SCOM: Registry discovery on 64 bit OS

When you're running 32 bit applications on 64 bit servers with a 64 bit SCOM Agent, you really should read this post. Same goes for people who wonder why their discovery does work on 32 bit servers and not on 64 bit servers.

32 bit Application on 64 bit OS

When a 32 bit application is installed on a 32 bit Windows OS, the registry keys are usually writen to :
HKEY_LOCAL_MACHINE\Software\YourVendor\ApplicationName.

This changes when the OS is a 64 bit version.
Then a 32 bit installation sets its registry keys in:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\YourVendor\AppicationName

Attribute Discovery
This is tricky when you don't know if one or both of these scenarios exists in your environment. There is more than one solution for your attribute discovery. (SCOM 2007 R2 is required for solution #2).
  1. Copy the right child keys from the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ to HKEY_LOCAL_MACHINE\Software\
  2. Add an extra XML element to the Registry Discovery in your MP to make a '32 bit discovery' work on a 64 bit Agent.
  3. Use a VBScript for the discovery in which you have multiple ways of checking for CPU Archicture en reading registry keys
I will show you how to use solution 2. If you also would like to see how to work with solution 3.

Enable the Discovery using the 32 bit part of 64 bit registry
  • Open your Management Pack with a text editor, e.g. notepad.exe
  • Go to Discoveries section
  • Search for the Discovery in which you want to enable 32 bit discovery
  • Within the section , add the following XML element
    • <registryview>32bit</registryview>
  • Save your Management Pack
  • Done!
In XML it will probably will look like this:
<RegistryAttributeDefinition>
<AttributeName>AppExists</AttributeName>
<Path>SOFTWARE\YourVendor\ApplicationName\Value</Path>
<PathType>1</PathType>
<AttributeType>1</AttributeType>
<RegistryView>32bit</RegistryView>
</RegistryAttributeDefinition>

As other users have already noticed: If you make a change to the attribute from the Operations Console or Authoring console, the RegistryView element is deleted. So watch out for that!

See also: http://social.technet.microsoft.com/Forums/en/operationsmanagermgmtpacks/thread/bf566244-1164-4bf7-b08c-558bc7bc2363

Wednesday, January 20, 2010

SCOM: Creating and Using Dynamic Groups

Today i stubled upon a, somewhat older, but rather interesting blog post of Raphael Burri. He wrote an extensive article about creating dynamic groups in Operations Manager and what the impact is on the Root Management Server (RMS).

Raphael created some pdf's with examples of how you can create more advanced membership rules for dynamic groups.

When you use the Operations Manager Console for creating groups you may find that you're pretty limited in using more complex constuctions, like using contains/not contains expression in the membership element clauses.

Instance and Computer Groups

When you look closer to the XML code that is created when exporting a MP with a 'OC'-created Group in it, you will notice that those groups are always instanced from the InstanceGroup class.

Taking a peek at all your groups in the OC, shows Computer Groups besides the Instance Groups. What's the difference? The icon :P and the relationship type. A Computer Groups only contains computer whereas an Instance Group can contain all types of objects.
Micrsoft uses both Group type in various management packs, like the IIS and Exchange 2007 MP.

Asking around gives me the impression almost everybody is just using Instance Groups. But DO know that other group types (classes) are available.

Link to Raphael Burri's post: http://rburri.wordpress.com/2009/01/14/dynamic-group-membership-authoring-and-performance-impact-on-rms/

Saturday, November 14, 2009

SCOM: Sealing 'Operations Console-build' Management Packs

This blog is about the problems you can run into when you seal a management pack which is build from the Operations Console and deploy it in another Management Group.

When you create a management pack from the Operation Console a few standard items are added by default like some references to standard libraries.
If you want to delegate a logical group of computers combined with some views to a group of administrators for monitoring, usually you do the following:
  • Create new Management Pack
  • Create a group
    • For example: My Computer Group
    • Create dynamic inclusion rules (like "OU matches wildcard "*Web Servers*"
  • Create a view
    • State view (for example)
      • Data related to "Windows Computer"
      • Data contained within group "My Computer Group"
So now we have a simple management pack with a group and a state view which show the Windows Computer state for 'My Computer Group'.
This will work great in the Management Group the MP is created in, but when you seal this MP and want to use it in another SCOM Management Group, a problem arrises. e.g. Creating a MP in a test SCOM Management Group, sealing the MP and deploying the MP in a production management group.

The problem: Although the group is likely to be populated with objects that comply with the group dynamic inclusion rules, none of the items show up in the State View.

The cause: The State View is targeted at the 'My Computer Group' but under the hood the group's GUID is used instead of it's ID. The GUID is the 'unique?' BaseManagementID within the Management Group. This will only get noticed when you use this MP in another Management Group as a sealed MP. As a unsealed MP the group, frankly, uses the 'same!' GUID and the view will work.

The solution: Edit the MP XML file manually and replace the GUID within the view's target to the ID of 'My Computer Group'. You can find the ID in the 'Language Pack'-section of the MP. Note that you'll find two targets. This concerns the subelement Target and not the attribute from the view element itself.

Example:

Orginal XML

<view id="myview1234" target="systemlib!windows computer">
<columns>
....
<columns>
<target>EA99500D-8D52-FC52-B5A5-10DCD1E9D2BD</target>
</view>

New XML
<view id="myview1234" target="systemlib!windows computer">
<columns>
....
<columns>
<target>$MPElement[Name="My.Computer.Group.ID"]$</target>
</view>

You might say, "why is this a problem, i'll just won't seal my MP's". Well you could do that, but most people think you should develop a MP in one environment and deliver the MP as a sealed box to the other environment. This way it's not possible for a MP to have a higher version number in e.g. a production environment than the same MP in your test/development environment.

And remember even if you dó choose to work without sealing, and you and your collegues agree nót to add any changes to a MP in your production environment, one day it will happen. And then you release your amazing new version of the MP, following the standard release process, and all changes of your collegue could get lost.

Monday, August 24, 2009

SCOM: Monitor vs. Rule

When you want to monitor specific occurences there are two options in SCOM. You can use a monitor or a rule.

In this blog post i'll will explain why you should use a monitor for a specific occasion and not a rule and vice versa.

Rules

Rules Collect data from sources like EventLog, Text or Log Files and Perfmon. That data is stored
In the Operations Manager database. If you have installed a Data Warehouse database this data is replicated to this database for Reporting purposes.
Rules always target classes. You should not target rules to groups. See the Authoring Guide from Microsoft for best practices. Targeting groups results in targeting the Root Management Server, as this is the host of all groups.

Monitors

Monitors are used to determine the health state of an application component. A monitor is programmed with the intelligence to determine whether a component is healthy.

Monitors exist in two flavours, Two-state and Tree-State. Thus, a monitor can either be in one of two states (green or red) or in one of three states (green, yellow, red).
The state changes when the monitor responses to the monitoring information the monitor is using.

Monitors come in three different types: Unit Monitor, Aggregate Rollup Monitor and Dependency Rollup Monitor

Unit Monitor
A unit monitor is the fundamental monitoring component. Used to monitor specific counters, events, scripts and services. This monitor can generate an alert.

Aggregate Rollup Monitor
An aggregate rollup monitor reflects the state of unit, dependency rollup, or other aggregate rollup monitors. Use an aggregate rollup monitor to group multiple
Monitors intro one monitor. This monitor then is used to set the health state and optionally generate an alert. Each object has at least 4 of this rollup monitors: Availability, Configuration, Performance and Security.

Dependency Rollup Monitor
A depency rollup monitor rolls up health states from objects linked by either a hosting or a containment relationship. Use this monitor type to make the health state of a particular object dependent on the health state of components that are either hosted or contained. For example, the SQL Server 2005 object has an dependency rollup monitor that is related to a health monitor of a SQL Server 2005 Database object. When an application database is offline is doesn't mean the health state of SQL 2005 is critical, but when the master database has problems this has a direct impact on the SQL Server 2005 object.

Differences

Monitor and rules both collect monitoring data, but the collected data is used very differently. Rules collect data that goes into the Operations Manager database and Operations Manager Data Warehouse.
Monitors evaluate data from various sources and only store the state changes and alerts in the Operations Manager database.
Monitor-collected data is never stored in the Operations Manager database and Data Warehouse and thus is not usable for Reporting.

Example
You want to monitor disk usage on a file server and generate an alert when used disk space exceeds 85%. You also want to have the disk usage information available for reporting.
How to implement this?

  • Create a collection rule to collect disk usage information for reporting
  • Collection rules do not generate alerts, so you'll need to create a unit monitor for monitoring the disk usage health. This monitor will generate a health state change and an alert after the disk usage exceeds the threshold of 85%.

Source: SCOM Authoring Guide