|
|
By Stefan Koell on
Saturday, February 06, 2010 5:10:58 PM
I’m almost done implementing the new “Properties” panel in Royal TS 2.0. The content and functionality is basically the same as in the current version except that it will be available for all types of objects (RDP Connections, Folders, Credentials, ...). As you can see from the screenshot, the little hint-bar on top of the panel mentions that you can easily pick up a value into the clipboard by double-clicking a row. You can also right click a row to bring up the context menu. For security reasons, passwords will not be shown in clear text instead an indicator showing that a password is defined is presented to you. But double clicking the “Password” row (or selecting Copy to Clipboard) will actually copy the password into the clipboard. So, Royal TS will also become a very versatile password manager allowing you to organize passwords of all kinds – not only for your connections. In the context menu, you’ll notice an “Execute” command. This command will only be available in the “Custom Fields” section. In case you store some URL or command line, you can quickly start the command using the Execute menu item. The Edit command will bring up the usual “Edit->Properties” dialog for the item. The Properties panel itself, can be “Docked” (always in sight, as seen screenshot), changed to “Auto Hide” (will only slide in when you hover with the mouse over the “Properties” header), changed to “Float” (panel will show up in a small window, detached from the main window) or even closed (not visible at all). I will post some more details about the docking framework in a couple of weeks but if you are familiar with the Visual Studio docking framework, you’ll get the idea… Let me know what you think. Any feedback is very much appreciated. If you miss some functionality in this area or have some improvement suggestions, please let me know; now would be a good time ;-)
|
By Stefan Koell on
Friday, January 29, 2010 11:19:19 AM
 A lot of people and most of my friends are disappointed with Apple’s latest creation. “It’s nothing more than a bigger, oversized iPod Touch” they say and basically they are right but having an oversized iPod Touch has it’s advantages. The size and form factor alone allows you to do so much more in a much more comfortable manner. In the beginning, I was very skeptical as well and was completely underwhelmed with the iPad announcement but after watching the keynote yesterday, I think it may have a bigger impact than I thought first. For once the form factor seems to be right. I am a huge iPhone fan and love all the apps I downloaded and purchased over time. I cannot imagine how it was back in the days without this little gadget. You can do so much with an iPhone but some things on the iPhone are just not that comfortable. I mean, browsing the web to quickly look up something is fine. Answering an email with “Ok, let’s do that” is just fine. Playing the casual game is just fine. Writing a longer email, taking meeting notes, browsing the web with the iPad seems to be much better (not to mention using the physical keyboard accessory). Lot’s of my friends are complaining that the iPad has a stripped down version of OS X (like the iPhone) installed. They prefer to have a full running version of OS X or Windows on it. I admit, that this would have it’s advantages but in my opinion Apple made the right decision. I’m not a fan of the App approval process and the Big Brother – Attitude of Apple and find it really annoying. I understand that this will protect most users like my parents but I really miss the “Ok, I am an adult and take the risk to install and use dangerous software”-button to do crazy stuff with a device like that. On the other hand, imagine running full OS X or Windows on a device like this. Windows, pull down menus, buttons, it’s just not built for a device like that. Imagine a Finder or Windows Explorer running on a device and by mistake you wipe your finger and move some folders around your hard drive. It’s just not right. Apple pulled something off what Microsoft failed to achieve. They (re-)invented the UI for such devices. The only “problem” is, that they achieved that with the iPhone. Yes, the UI was born with the iPhone and it was genius. There’s nothing wrong to take this approach further to the iPad. Obviously it worked great for the iPhone to enable multi-touch so why not bringing it to the iPad? My guess is, that everyone who is disappointed with the iPad announcement expected another similar breakthrough invention as the iPhone and it’s UI. Look at Windows 7. It claims to be multi-touch enabled but where’s Microsoft’s effort to build a Shell and API’s, User Controls, etc. to enable developers bringing great multi touch apps to Windows? Looking at HP’s Slate PC they introduced earlier this year, I thought, wow, you can run Windows 7 on this tiny little device? Great! But on second thought: will that be practical? What can I really do with it? Yes, I can start Outlook and Word and whatever but how will it feel? After seeing the iWork demo, I am convinced that you really can work with such a device. I’ve seen people with a Windows Tablet and stylus running around, trying to get meeting notes and even these guys admitted that working with a stylus sucks. To sum it all up: Apple may have made the right decision and the motto “Less is more” seems to be appropriate. The iPad will not replace your desktop PC, laptop or iPhone. Doing heavy duty work will always be done on your fully capable desktop OS. It’s the daily tiny stuff like communication, entertainment, infotainment such as emails, games, browsing and what ever cool apps will see the light of the day where the iPad will shine. Just my two cents…
|
By Stefan Koell on
Sunday, January 17, 2010 6:55:09 PM
Progress report #1, on Version 2 of Royal TS. Hopefully I manage to do this more often and I would be grateful for any feedback. As you may know from the previous post, Royal TS will allow you to open multiple documents at the same time. This might be handy if you are working in a team and have spread your configuration across multiple documents, or if you want to have one document for each of your clients, etc. Similar to Version 1.5x or later, Royal TS Version 2 will also allow you to encrypt your passwords with a password/passphrase. So if you have a couple of documents protected with the same password, it might be annoying when you get a prompt for each and every document you open in the same instance of Royal TS. So I invented the “Password Cache” (patent pending ) which basically holds a secure copy of your password in memory. The next time you open an encrypted file, Royal TS will try if one of the cached passwords will work and will spare you the password prompt. The check box “Remember this Password”, which is checked by default, allows you to control whether you want to cache this password or not. For security reasons, the cache will not work when you want to edit an encrypted document. Editing a document also allows you to change the password for a document (or remove password protection), therefore, Royal TS will always prompt for the document password in that case. The Password Cache lives in the RTSApp.exe process, so as soon as you quit your Royal TS instance the cache will be cleared. One more thing: I also create a Facebook page for Royal TS, so if anyone is interested to join: http://www.facebook.com/pages/Royal-TS/237851900921 cheers, Stefan
|
By Stefan Koell on
Friday, January 01, 2010 12:42:57 PM
 I hope you all had nice and refreshing holidays. I know that I did. Despite the fact that I am still recovering from my minor surgery two weeks ago, I am feeling very well again. The coming year will bring some major changes to Royal TS and I bet you all are very excited about this. I will not reveal much in this post but you can expect regular progress reports over the next weeks bringing you more and more details about the new features coming to Royal TS in Version 2. There are still some minor nasty bugs in 1.6.8 and you can also expect an update here. As many of you already know from the forums, Version 2 of Royal TS will be almost a complete rewrite and there’s still a lot of work ahead of us. We are still deciding for some features to be included in Version 2 or to be postponed. We hope that we can provide a beta version of Version 2 some time in Q1/Q2 2010. Here’s what we know to be included: Version 2 will have an “Object Explorer” which is basically replacing the current “Navigation Tree”. Why object explorer you may ask? Simply because you can now create not only RDP connections, you can also create and organize other connections and objects. Using the object explorer you can create/manage the following “Objects”: - Documents: you can now have more than one document open in the same tree
- Folders: you can now have nested folders in each document
- RDP Connections: pretty much the same as Royal TS can do now, of course some new features and options will be included.
- Web Connections: instead of connecting to a remote desktop session, you can now open a web page. Very handy if you have some web based admin pages for routers, firewalls, WIKI pages, Sharepoint sites, applications, etc.
- Tasks: pretty much the same as Royal TS can do now, only that the tasks can be organized in the tree like any other object.
- Credentials: a credential is nothing more than a username/password pair which can be defined in your document. You can then refer to these credentials in your connections/folders. You can refer to them explicitly by choosing the Task from your tree or you can instruct Royal TS to look for a credential with a specific name. This feature has a great impact if you are using the same document in a team. In your Document you configure each connection credential to look for a credential named “Domain Admin Account” and if you want to connect to this session Royal TS looks in all your open documents or in your application store (Tasks and Credentials can also be stored in something called Application Store to be available all the time in your Royal TS installation, we will talk more about the application store in another post) to find a credential with this name. This way, login information will be separated from the document but it is also possible to have auto-logon functionality.
The last bullet in the list hints another feature many of you requested: Assigning credentials/tasks on a folder level. You can now optionally assign default credentials, a pre-connect task and a post-disconnect task on a folder in your hierarchy and configure your connections to use the configuration of your parent folder instead of the individual configuration. That’s it for now. I wish you all happiness and prosperity in the new year. Thank you for being our customer and we look forward to continuing our relationship in this new year!
|
By Stefan Koell on
Sunday, December 13, 2009 1:40:23 PM
I just want to share this piece of information because it’s not really documented and someone might wonder about how SCOM behaves with discovered entities in the Operations Manager DB and Data Warehouse DB. We had a discussion with our Microsoft contacts and here’s the (somewhat surprising) outcome.
Let’s start with a short overview, why this information is so important for us (and maybe for you too):
As many of you do, we deploy our own authored management packs containing our own class definitions which are discovered and monitored. In our case, we created a sealed MP, a “library” MP containing our classes, rules, monitors, etc. We also create MPs programmatically which have a reference to this library MP. Sometimes we are forced to update this library MP to a new version and sometimes it happens that we break compatibility so that we cannot just “upgrade” our MP. We are forced to uninstall all referenced MPs, the library MP and reinstall the new library MP (my friend Tenchuu wrote an awesome script to automate this process: http://systemcentercentral.com/BlogDetails/tabid/143/IndexId/55738/Default.aspx).
First question came up: what happens to my discovered entities when I uninstall the MP containing the discovery and class definitions?
The second question was: what happens when I re-import the MPs, the discovery runs and the exact same entities with the same ID are discovered again?
The answer to the first question was – as expected:
When you uninstall the MP containing the class definitions and discovery, all discovered entities are deleted and all associated operational data (Events, Alerts, Performance Date, State Change Data, etc.) will be gone as well.
So everything is gone from the OperationsManager database.
In the data warehouse database the data will still be there.
The answer to the second question may be obvious as well:
When you reinstall your MPs and the discovery will create your entities with the same object IDs as before, the data warehouse would continue to associate the data to the same object you had before. Except for the missing data while you had your MP deleted, you will not see a difference.
There’s one caveat and you should be very careful: Since the data warehouse also keeps track of the MP version with each object ID, the data warehouse will only keep the data from the last three MP versions in the database. This is not configurable! In other words, when you keep your data warehouse data for 6 months and you do uninstalling and re-importing your MPs more than 3 times in one month, you will lose more than 5 months of data.
UPDATE: The above – the rule of 3 – only applies to unsealed Management Packs. When you use sealed Management Packs the DW data will always be kept until standard grooming kicks it out, regardless how often you update, delete or re-import the MPs.
One other small detail is, that you cannot trick this mechanism by just not changing the MP version. The data warehouse will create an “internal” versioning of the MPs which will change upon update, even if the MP version is still the same!
cheers,
Stefan
http://www.code4ward.net
Read More »
|
By Stefan Koell on
Thursday, November 26, 2009 11:57:53 PM
It’s almost a year since Royal TS became Shareware. When you obtain a license for Royal TS you also get a 12-month software upgrade protection to ensure that you have access to the latest versions of Royal TS for a year after your purchase date. Some of our very first customers were asking about extending the software upgrade protection and thought it might be a good idea to publish a blog post to clarify a few things about our licensing. So here we go… First of all, there is no extension for the software upgrade protection and there is no need for that. Here's why and how we planned our licensing structure: The license key currently issued is bound to the Royal TS Version 1.6.x The next major version of Royal TS (V2.0) a new license key will be needed. The keys for 1.6.x will not work anymore. The key issued for Version 2.0 will work with all minor versions of version 2.x. Version 3.0 will need a new license key again and so on. With our software upgrade protection we ensure you have access to all new major and minor releases for a duration of 12 months after purchase. This way you will not have to buy another license a month later after your purchase in case a new major version is released. Every customer qualifying for a free upgrade according to our software upgrade protection will get the new license key automatically by email when the new release is available. Every customer who does not qualify for a free upgrade anymore (because the purchase date was back more than a year) will get automatically notified by email when a new major version is released and they will also get a discount coupon to use when they decide to upgrade to the new version. We think this is a very fair approach because you do not have to pay for an extension without having a new major version on the horizon but at the same time ensures that loyal customers get the benefit of a discount when the release is ready and they decide to upgrade. I hope this makes sense and want to express my appreciation for all of you supporting Royal TS. Thank you!
|
By Stefan Koell on
Sunday, November 15, 2009 2:16:43 AM
We are still working hard on version 2 of Royal TS but over the last couple of months we also needed to take care of some bug of the current version. One of the current issues are some Windows 7 quirks which will hopefully be ironed out with the upcoming release 1.6.8. But here a complete list of fixes and features: Windows 7 / Font related: It seems that in Windows 7 the font size changed slightly. At least in some dialogs there are tiny text-cut-offs. These should be fixed now. Another issues for a lot of users is the text size in the tree view and the list view. We were always following the best practices and Windows design guidelines. We used the standard system font and size as recommended. So, when switching from XP to Vista/Win7, Royal TS will use a different (and larger) font. We got a lot of feedback about these issues and implemented a quick fix. For once we will reduce the default font size back to 8.25pt instead of 9.0pt regardless of the OS. Additionally we will provide a way to change the font and font size for both separately, the tree view and the list view. For now, there’s no UI for this because we basically rewrite all the UI for V2 and didn’t want to invest much in the soon to be obsolete UI. You need to edit some XML to set the font or font size. Which brings us to another small but useful new feature: directly opening the config folder from Royal TS. A frequently asked question always is: Where are my task and application settings stored. And the answer is not always easy because it depends if you have some folder redirection policies and it also depends on the OS you use. So, if you open up the Activity Log from the View menu, notice the Config Folder button on the toolbar: Clicking on this button will open a File Explorer displaying the directory with your setting files. When you now open the code4ward.RoyalTS.ApplicationSettingsData.xml you will see the following new settings: The order of the items may be different on your system. LegacyTreeStyle can be true or false: When true, it will display +/- signs (XP style) instead of the little triangles (Vista/7 style). ListViewFontName can be Default or a font name of your choice: When set to Default it will use the system’s default font. ListViewFontSize can be Default or a size of your choice: When set to Default it will use 8.25. If you use Vista or Windows 7 and want to use the system’s default font size you need to change it to 9.0! TreeViewFontName and TreeViewFontSize will be the same as ListViewFontName and ListViewFontSize except it controls the font of the tree view. TreeViewHighlightType is by default None and can be Full, Partial or TextOnly: Controls how the items in the tree view will be highlighted after selection. Control on which Screen the session will appear when it’s not embedded Notice that there’s now the possibility to setup on which display screen your external session will be opened. This option is only available when you have selected External Window or External Window (Full Screen) and when you have more than one display connected to your computer. The default value is Last Remembered, which saves the position of your session when the window is closed or the session is disconnected but selecting a specific display let’s you force to open it always on the specified screen. Also note the shortcut to the Display Properties Control Panel, which might be handy if you do not know what display number corresponds to your actual screens. If more than one display is connected, you can also use the Connect with Options functionality to temporarily open a connection on a specific monitor. Changes to the Remote Desktop Module Royal TS now sports a fancy Connecting and Reconnecting indicator: An often requested feature is to have a better reconnect function to instruct Royal TS to keep on trying to reconnect during a reboot of the remote system. This feature is still NOT available but this indicator is the first of two steps to get it implemented. The idea is to have a checkbox of some sort which says Try to reconnect until server is available again. Network Level Authentication (NLA): Royal TS supports NLA and on Windows 2008(R2) and Vista/7 NLA is enabled by default meaning the client trying to connect needs to have NLA enabled. If NLA is not enabled the connection fails with the error code 2825. If this error occurs and the connection doesn’t have NLA checked in the advanced settings tab, Royal TS not only publishes a warning about that, it is trying again with NLA enabled automatically. Single Sign On: Royal TS now also supports SSO (big thanks to Wulfert on supporting me with testing and providing valuable information!). You need to setup your environment according to this blog post of the Terminal Services Team Blog: http://blogs.msdn.com/rds/archive/2007/04/19/how-to-enable-single-sign-on-for-my-terminal-server-connections.aspx If you can connect using mstsc.exe without your explicit credentials (your desktop credentials are passed through to the remote system using Kerberos) you can now also use Royal TS. Just leave the credential information blank (no Username, Domain and no Password), enable Network Level Authentication (NLA) in the Advanced tab of your connection and set Auth. Level to Connect, but warn me if server authentication fails. Other fixes: - Individual disk redirection on Windows 7 is now working correctly.
- TS Gateway Credentials are now remembered.
- Bulk Reconnect from the list is now working.
- Some minor UI fixes.
One feature needed to be removed! A quite handy feature I cannot miss anymore is to move an existing connection out of the main window into an external window using the Change menu. If you are working on two machines and you need to quickly compare something, you can easily pull out one session to an external window and put it on the second screen. Don’t worry, this will still be possible! The feature that needed to be dropped is Window Mode: External (Full Screen). As you can see in the screen shot above, it’s not available anymore. You can of course still open an external session from scratch in external full screen mode, you just cannot do it with an initially embedded session. The ActiveX control seems to be very unstable when doing this and sometimes it worked but then again sometimes not. So for quality reasons I decided to take it out. Nobody is happy about application crashes… When will 1.6.8 be available? Beta testing of 1.6.8 will start within the next few days. If you want to participate and try out the beta you can easily join the beta group. To do so, you need to create an account on the code4ward site (if you do not have one already), sign in and click on this link: http://www.code4ward.net/main/Default.aspx?rsvp=RTSBETA Clicking on this link doesn’t really give much feedback. To verify if you are member of the beta group, click on your user name on top, right side and click on Manage Services in your Profile. If you see Royal TS Beta Group, you are in. Member of the beta group will get email announcements about new beta releases and access to the beta forum to discuss the current beta release. If you decide to try out the beta, always make backup copies of your .rts files and setting files (like task settings if you have lots of them). Depending on the issues found in the beta 1.6.8 will be publicly released within the next two or three weeks. Thanks for all of you who provided feedback, suggestions and bug reports. Your help is very much appreciated!
|
By Stefan Koell on
Tuesday, November 10, 2009 6:04:15 PM
This is a LGIMB-post (Let Google Index My Brain) so that I know where to look for when I need it. I became a link to Kevin Holman’s blog from a support engineer where all SCOM hotfixes are listed. It’s an old post but constantly updated like just yesterday to include the SP1 rollup hotfixes. http://blogs.technet.com/kevinholman/archive/2009/01/27/which-hotfixes-should-i-apply.aspx
|
By Stefan Koell on
Monday, November 09, 2009 1:46:29 PM
This is a step-by-step guide in multiple parts:
Part 1 will cover the Probe Actions Module Types: Part 1 is available on SCC or on code4ward
Part 2 will be about creating a Data Source: Part 2 is available on SCC or on code4ward
Part 3 will cover creating a Monitor Type: Part 3 is available on SCC or on code4ward
Part 4 will cover the Unit Monitor itself
As always be careful with the samples provided here. Always use a test environment first to try those examples!
Will only work with OpsMgr 2007 R2 !
Part 4: Unit Monitor
Selecting a Target
In this demo, I will target the Root Management Server class to keep it simple. This way we do not have to go through all the steps to disable the monitor and enable it with an override, etc. Another way to find an appropriate target is to discover one. The environment we are working in, admins can configure their own monitoring by just providing some registry keys and values. This registry information is discovered, an instance of a custom class (which is hosted on a computer) will be created and most properties of this class are holding the configuration values for the monitor. My friend Tenchuu mentioned to publish some blog posts about PowerShell discovery and he also wants to blog about this concept.
Creating the Unit Monitor
That’s it. If you have any suggestions for improvement, questions or general feedback on this series, do not hesitate to contact me or leave a comment. I’ve also attached the complete management pack with this sample monitor.
cheers,
Stefan Koell
http://www.code4ward.net
Read More »
|
By Stefan Koell on
Tuesday, November 03, 2009 4:58:28 PM
This is a step-by-step guide in multiple parts: Part 1 will cover the Probe Actions Module Types: Part 1 is available on SCC or on code4ward Part 2 will be about creating a Data Source: Part 2 is available on SCC or on code4ward Part 3 will cover creating a Monitor Type Part 4 will cover the Unit Monitor itself As always be careful with the samples provided here. Always use a test environment first to try those examples! Will only work with OpsMgr 2007 R2 ! Part 3: Monitor Type What’s a Monitor Type? A monitor type actually defines the workflow for a monitor. So, before you can create a monitor you need to hook up different modules and specify how these play together and what the monitor should do. The first two parts showed how to create these modules and data sources and now all those modules are coming together… Creating the Monitor Type | Let’s navigate to the Monitor Types section in the Type Library space. Right-click on the Module Types panel and select New –> Composite Monitor Type. Type in an ID like: code4ward.Sample.PowerShellMonitor.MonitorType.CheckFileContent Also provide a Name like: Check File Content Monitor Type | | Click on the States tab and provide some meaningful IDs for the two states our monitor can have. In our case: ID of state 1 will be Healthy and ID of state 2 will be Unhealthy A three state monitor is not much different than a two state monitor. If you go through this guide you should also be able to create a three state monitor. | | The Member Modules tab is a bit different in this case. What here happens, is basically just the definition of modules and their configuration. There’s no order of execution of these modules. So here we define all our modules we need for our workflow and we start with our Data Source we created in Part 2. Click on the Add… button and look for the Data Source code4ward.Sample.PowerShellMonitor.DataSource.CheckFileContent As ID we specify DS (again, as mentioned in the previous parts, this ID must only be unique for the modules we need here, it doesn’t need to be unique through the whole MP!) | | After you hit OK, the configuration window of our module will show up. All the parameters for our data source will be set to $Config/…$ (see screenshot). You can use the fly-out button and select the Promote menu item to automatically fill in the $Config/…$ values. Just to repeat this one, here we define that our consumer (in this particular case the unit monitor) will provide these values. Every value you will set here “hardcoded” will not be configurable in the unit monitor. Also, remember, that if you have defined optional (non-required) parameters in the data source, you may need to add them manually by clicking on Edit… and use a XML editor (such as Notepad.exe or Visual Studio) to put in your parameter. A side note: when you use Visual Studio, an XML schema will be generated and used automatically which speeds up XML editing! In our case, no optional parameters are defined or needed, so nothing special to do here. | | Next we need two modules to evaluate our health state. Remember, our script returns a property bag, so we need to look for a value in our property bag (in our case “Status”) to determine if the health state is “Healthy” or “Unhealthy” (as we defined those IDs for our health states). So click on Add… again and look for the System.ExpressionFilter module and give that one the ID HealthyExpression. When the Configuration window appears, do not bother to insert data into the generic XML mask, click on Configure… to open up the expression builder UI. | | There we specify our expression for the Healthy state: Property[@Name=’Status’] Equals OK Click on OK and let’s do the same for the Unhealthy expression | | Same procedure as 2 steps above. We just specify another ID: UnhealthyExpression | | Type in the following in the expression builder: Property[@Name=’Status’] Equals ERROR | | | At this point we would have already enough to create a two state monitor. Our data source which basically executes our script probe on a schedule and two expressions, one for each state. We will add two more modules. We need them to configure “On Demand” detection (= Recalculate Health button in Health Explorer). | | To enable on demand detection, we need our script probe we created in Part 1 of this guide and a PassThrough module (which is simple and doesn’t need any configuration). Click on Add… again and look for our Probe Action from Part 1 (NOT the one we created for our Tasks!) The ID will be something like “Script”. | | In the Configuration window we will again Promote the parameters with the fly-out button, except the ExecutedAsTask parameter can be set to false, because the situation where we use this module will never see that parameter set to true. One question will arise here: We already configured the parameters $Config/File$, $Config/ErrorText$ and $Config/Debug$, what will happen now? The answer is fairly simple: In this case both modules will use the same parameter. When we configure the unit monitor we provide the parameter for $Config/File$ once and will be used in both modules. Our On-Demand detection will now execute our Probe Action module and use the same parameter as the Data Source we defined in this workflow. So when we set the Debug parameter to true on the monitor level, we will get debug information every time the monitor is executed and every time we do a Recalculate Health. Let’s say we always want to avoid debug information when we click on Recalculate Health, we just need to “hardwire” this parameter to false in this Configuration window and it will always be false in this workflow. | | The last module we need, is a PassThrough module. This module doesn’t need to be configured at all and is just needed to kick-off the workflow in the On Demand module. Do not ask me what it does exactly, I just know it is needed. Now let the fun part begin and change to the Regular tab to setup the workflow. | | In this tab we define for each health state (in our case two states) the workflow. So select the Healthy state in the list and check all modules we need in this workflow to evaluate a healthy state: We need our Data Source, we called it DS and our HealthyExpression. When those two modules are enabled, we need to define the execution order of these modules using the drop down lists in the Next Module column. The start of our workflow is the Data Source (DS), so here the Next Module must be set to HealthyExpression. The HealthyExpression is the last module in this workflow, so the Next Module must be set to Monitor State Output.
| | Let’s move on to the Unhealthy state. Check all modules we need in this workflow to evaluate a unhealthy state: We need our Data Source again and this time the UnhealthyExpression Again, when those two modules are checked and enabled, setup the execution order: The start of our workflow is again the Data Source (DS). The Next Module must be set to UnhealthyExpression. The UnhealthyExpression is the last module in this workflow, so the Next Module must be set to Monitor State Output. That’s it for our two state monitor. Now we will setup the On Demand detection. | | First we need to check the Use On Demand Detection check box. On top of this dialog you have again both available health states. We need to setup a workflow for each health state. Select the first state (Healthy) in the list if not already selected and enable the modules needed for this workflow. In this case we need the PassThrough module, the Script (our Probe Action) and again the HealthyExpression. For the On Demand detection the first module is always the PassThrough module, so we select the Script module as Next Module for the PassThrough module. The Script module will return our property bag which needs to be passed on to the HealthyExpression module. The HealthyExpression module is our last in this workflow, so we set Monitor State Output as Next Module. | | Select the Unhealthy state in the list and let’s do the same workflow but in the end we will use the UnhealthyExpression module instead of the HealthyExpression. After that we finished all our workflows. Each workflow (healthy and unhealthy) will always be executed independently each time the monitor will run. So if you use other criteria in your expression (some performance value instead of a status text, or some and/or logic), be sure that each expression will uniquely identify each health state. | | As in our previous modules we need to be sure that the configuration schema is correct. The authoring console doesn’t always pre-set the right data type for each configuration value. So double check that Interval is an Integer and Debug is a Boolean. | | Now to the Overridable Parameters tab. Use the Add… button on the bottom to allow overrides on individual parameters. You may notice that I do not want to provide a way to override the File to monitor. This of course is up to you what you allow to be overridden and what not. I think it’s always a good idea to allow an override on Debug and Interval, this way you can look into issues on a specific server or change some configuration for a group of computers or so. As mentioned in the previous parts, you can mark this Monitor Type as Public, so that other MPs can reference your MP and use your Monitor Type (if sealed, of course). Click on OK and you are done! | That’s it for part 3. The next step will be creating the unit monitor and a task. cheers, Stefan Koell http://www.code4ward.net
|
|
|
|
Search Blog
|
|
You must be logged in and have permission to create or edit a blog.
|
|
|