By BoLOHUKE payday loans uk

Jan 102010
 

Or you could also title this “How to talk your company into buying you a high end gaming rig for your desktop”

So I’ve been playing with this web service I’m writing for OpsMgr. I was doing a bunch of practical things with it, that you’d normally want to do with it – but then I thought screw that, let’s do something fun with it.

I like to play Team Fortress 2. I like to monitor things. Why not put them together?

Well friends, once you’ve made a web service that talks to the system, it’s fairly trivial to write something to take that information and put it somewhere else.

Let me demonstrate (And yes, you probably do want to click and view the larger version of this)

Team Fortress OpsMgr

Stay Tuned…. Video coming soon.

Jan 032010
 

Alas, with the ending of my 12th month as a Microsoft Most Valued Professional, ends it, period. I didn’t get renewed.

Just as well though.

I could go on a slight diatribe about it all, but I’ll just keep it bottled in.

Until then, let me tell you, writing a web service is a lot harder than I thought – I might be eliciting the help of the community at some point. And yes, I am still slowly trudging along with it. It’s mainly been redesign redesign redesign. Though I’m hoping to have something ‘soon’.

Nov 112009
 

Konop_screenshot

So a couple of weeks ago on the MVP mailing list someone asked the question on how to best integrate SiteScope with OpsMgr. Ever the SDK/Powershell lover I immediately replied that “Hey, there’s some code in the SDK about making a webservice, we’ll just do that and then you can write a script to talk to opsmgr”. ((Yes, I know, there already exists a connector, but it’s old and isn’t optimal))

Well, lo and behold I was wrong. It wasn’t actually sample code for a web service, but the code to talk to one you wrote.

So I started writing one.

Since I’ve started working again I haven’t had a whole lot of time to work on code – so I’ve been messing with this for about 30 mins or so a day. Right now it doesn’t really work very well, creating an XML web service is all new to me. But if you read my last post, you know that once this is finished you’ll have a system that you’ll be able to manipulate from any system that can talk to it, which is almost anything – Linux, Unix, Mac, etc.

So I’m going to keep at this, and hopefully have something to release to you guys eventually. I’ll start small, just a few functions, then slowly add to it over time.

So while it doesn’t even really work yet, I just couldn’t help but show you guys. I’m pretty exited about this!

Feb 282009
 

One of the problems with having an active, creative imagination is that you come up with multiple little ‘projects’ to work on. Some of those, you know well and can bang out fairly quickly – others, well they require you to beef up some of your weaker skills.

I guess what I’m getting at is I’m sorry my posts have been fairly light recently. My contract at my current client ends March 31st, and as such I’ve been working on shoring up the small details and getting ready to transfer knowledge over.

And now I’m getting ready to head to the 2009 MVP Summit. I’ve seen my schedule, and while it’s jam packed with workshops (Literally until 9pm or later some nights) I’ll come back with an incredible amount of new knowledge to pass on to you.

That said, I’ve been spending a lot of time recently just looking over the SDK framework. Unlike any other version of OpsMgr, this one is quite full and robust, giving us access to many many things. This makes building custom tools a cinch (Well, if you’re a programmer, anyway).

The Operations Manager SDK Framework

The Operations Manager SDK Framework

One of the things I had been wracking my brains about is something that comes up every now and then in mailing lists and IRC: How do we give non-administrators some privleges that make their (And our) life easier, but not giving them access to the whole thing.

I think I’ve figured out a decent solution, and then like I’m known to do, I kept adding and adding. We can do this all via the web. And hopefully soon, I’ll be able to show you a nifty little OpsMgr Self-Service portal.

Expect some updates next week, when I can, with pictures and such all from the summit. Meet the team!

Jan 052009
 

Although I technically received the congratulations email several days ago, I debated about whether or not I should post it. But I might as well. Well, what is it already?

I am the newest MS MVP for OpsMgr! I am absolutely thrilled to be the 29th member of the OpsMgr MVP family, and really looking forward to seeing all the new found knowledge I’ll have access too, and can pass it on to you!

microsoft_mvp_logo

As for my workload, well I’m quite busy at the moment, so posts may be a tad sparse. There’s an MS engineer on site at this client, essentially to backup that yes, these are really the only ways to do this. I’m trying to bang out this SDK connector service, which essentially is the culmination of other posts I’ve written regarding the fine tuning of alerts via alert name. Some of what I’m going to be accomplishing is in R2, but it’s not RTM yet and as such I need to act just like it doesn’t exist.

It has a new name now, the OpsMgr Alert Wrangler. It’s much like some of the code I’ve written here, except for it uses an XML config file instead of having everything hardcoded, and it hopes to be a little bit smarter about how it accomplishes things. This is really my first real foray into programming anything serious, so once it’s at a stable enough place I’ll be throwing it on CodePlex so you can all make fun of me and tear it apart.  :)

There is an additional method to narrow alerts, and it seems like it would really work well – and that is the Alert Category; right now it has things like availability, DSIntegration, performance, custom, etc etc. I can’t find a way to properly add a new category – yet. By all accounts, the SDK documentation says I can’t – the categories are static coded members of the EnerpriseManagement.Configuration namespace, but that’s not to say there isn’t something undocumented. I’ll keep tapping away at it.

I need to bang together a new contest, and this time give away something really good, like some copies of Sapien Primalscript and such – which will come soon when I finish my ‘I <3 Primalscript’ post fairly soon.

I also to work more on the Wiki, work on my video Q&A, and about 2 dozen other things – there’s really a free moment!

Nov 112008
 

A quick disclaimer, I’m not a programmer. I’m a scripter. My code reflects that – meaning it has plenty of room for improvement. Not to mention, this is a learning aid and as such doesn’t need to be absolutely amazing. Now, on with the show.

When you’re dealing with custom alerts, and using something like the ResolutionState field to manipulate who gets what alert, you need to create a battle plan. A method of attack if you will.

One way I do this is to create my alerts with a naming convention of <Base Criteria><Sub Criteria> – My Alert.

If I wanted to create a large number of alerts for a specified department, I’d create my alert names with a base criteria of the department, like “Windows Admin Group”. I then use the subcriteria to specify what subgroup the notification should be sent to, or what particular object this alert is for. So my alert names would look something like “Windows Admin Group – CPU Usage – High CPU Usage on Special Server” or “Windows Admin Group – Exchange Admin – Low Memory Reported”. I’m using examples which you can already easily limit right now, but the methodology remains the same for custom events as well, like “Widget Support – DBA Support – The widget app has a sql fault! Oh no!”.

So, now we have the base criteria ready. And I’ll assume you’ve gone and setup the alert resolution states like I’ve shown you before. Now we’ll work on building an application that works with the SDK service to change these alert states. This method is extremely fast and robust; in testing I’ve been able to process 10,000 alerts to 15 different alert resolution states in under a minute – a time impossible to achieve via the powershell methods.

I’m building this app in VB.Net, and it’s not using much error checking. It’s fairly simple, but it’s easy to build upon and alter to your needs.
I’ve also created a domain user to authenticate to the SDK service, and added it to the OpsMgr admin group.

First we need to build the framework. Be sure to reference the 2 DLL files “Microsoft.EnterpriseManagement.OperationsManager.Common.dll” and “Microsoft.EnterpriseManagement.OperationsManager.dll” located in your <Install Dir>\System Center Operations Manager 2007\SDK Binaries folder.

First we’ll create a comment to use when we update the alert. This is optional, but it’s helpful to let others know how we’re doing this

Then we’ll create another string to hold our search syntax for our base criteria. I’ll keep using “Windows Admin Group” here.

Next, we’ll setup our connection the RMS. First we setup the user.

The password criteria is a tad annoying, as it uses SecureString. We can’t just blindly cast a string to SecureString, we have to do some work first.
So we first create a string with our user’s password in it.

Then we create a new SecureString object, and loop through our password Appending each character from our plain password to it. Voila, a securestring password. Woohoo!

NOW we can assign that to our password.

Now we can actually connect to the RMS.

Now we search for all the alerts that match our base “Windows Admin Group” criteria with a res state of 0.
We first take the baseCriteria string and convert it to a MonitoringAlertCriteria object, then use that to fetch all the matching alerts.

Then we loop through all of those alerts, seeing if any of those match our sub-criteria. If any do, we’ll go ahead and change it’s Resolution state and update it, adding our comment to it.

There you go. You’ve just written your first SDK application. You can expand it as much as you want from there! Run it every 5 minutes or so, and there you go.

Nov 032008
 

Greetings my fellow OpsMgr admins! I’m back from vacation with 100% more married then before! And I come bearing gifts! ((Even though no one bought me anything OR even got me a giftcard. I guess I’m the only one that does that stuff at other peoples sites heh))

Yes, that’s right, it’s contest time again. This time I’m offering up 2 things: 1 autographed copy of System Center Operations Manager 2007 Unleashed. This is a fairly rare item as it’s one of less then a half dozen signed by all the authors. I had to do dirty dirty things to Cameron to get it. I’m not proud, but for my peeps I go the distance!

A copy of SCOM2007 Unleashed signed by all the authors

A copy of SCOM2007 Unleashed signed by all the authors

The second item is a little teaser prize package from the wonderful folks over at Sapien Technologies. Soon I’ll be posting a new contest with oodles of Sapien prizes – from the PrimalScript Universal Resource Kit to flying monkies and more! That entire contest/post will be centered around setting up PrimalScript as the development environment for us OpsMgr Admins. You’ll love it! This current package, however, isn’t as illustrious: It contains a Sapien portfolio, PicoPad, Post-It notes, a credit card sized flash drive and an awesome pen!

A little teaser of what's to come from Sapien

A little teaser of whats to come from Sapien!

Additionally I’d like to offer up some SDK app loving I’ve been baking all day!

I’m working on a neat console application that was initially called Alert Utility, and is now just called the OpsMgr Utility. It reports on a variety of things and allows you to interact with the system in a variety of ways.
I’m not much of a programmer, so I need to start out slow – so the first thing I whipped up is a little utility called SCOM-CloseAll. Simply put, it takes 2 arguments – your RMS and an optional comment to insert when you resolve the alert. It then connects to the SDK service on the RMS, retrieves all open alerts, then resolves them. And yes, it does ask if you truly want to do this. It’s in beta, so I’d love it if you all could test it out for me. This is a perfect solution to handle those pesky alert storms and another tool in the box.
Take a look at the screenshots then download it here.

Showing the initial startup of the Alert Closer

Showing the initial startup of the Alert Closer

Showing the progress bar indicating what % of alerts have been closed

Showing the progress bar indicating what % of alerts have been closed

Sep 242008
 

I’ve talked about this before, calling it the hidden ‘nag mode’ inside of SCOM, but I really need to find out whether it’s intended or not.

Please see the following bug report I filed @Connect.

Essentially, if you grab an alert object via Get-Alert, then call the Update method, one of two things will happen depending on what parameters you fiddled with.

Open up the command console and grab an alert, something like $oneAlert = Get-Alert | Select -First 1
Now, change something in that alert, such as the resolution state ($oneAlert.ResolutionState = 111), then call $alert.Update(“”) (Or comment it with $alert.Update(“Changed resolution state”)).

What happens?

As you expect, not much, just the alert resolution state was changed. Now grab another alert and call the update method alone ($alert.Update(“”)) or with only a comment ($alert.Update(“Testing an issue”)).

What happens?

Whatever notification channel attached to that alert – usually email – will now fire again. So is it a bug, or not? If it isn’t a bug, then that’s excellent – we have more tools at our disposal and can now easily add that nag mode. If it’s a bug, that means it will be fixed, and as such shouldn’t be used.

There are additional bugs I need to file, regarding how a lot of the OpsMgr Commandlets, while stating they support the common parameters, actually don’t. And how the filter parameter should follow basic syntax and use “-Filter” instead of “-Criteria”. But that’s for another post.

PS: It’s my birthday on Friday. Perhaps you’d like to buy something from my wish list? Or at least enter the contest. The next 2 will have considerably better prizes, I promise!