{"id":12436,"date":"2012-04-19T18:17:04","date_gmt":"2012-04-19T17:17:04","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=12436"},"modified":"2012-04-19T18:17:04","modified_gmt":"2012-04-19T17:17:04","slug":"mms2012-operations-manager-and-orchestrator-better-together","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=12436","title":{"rendered":"MMS2012 &#8211; Operations Manager And Orchestrator: Better Together"},"content":{"rendered":"<p>Speaker: Brian Wren, Principle Knowledge Engineer, Microsoft.<\/p>\n<p>This is a packed room, and it\u2019s one of the bigger rooms.&#160; Obviously a very popular topic.&#160; A quick poll by the speaker: Very few people in here with Opalis\/Orchestrator knowledge.&#160; Most of the audience are OpsMgr experienced.<\/p>\n<p><strong><u>Quick run through of the two products (skipping OpsMgr in my notes)<\/u><\/strong><\/p>\n<p>Orchestrator has Orchestrator Database and Runbook Server.&#160; Runbook runs actions across applications.&#160; Workflows process on runbook server.&#160; Requires access to remote machines \u2013 very difficult for OpsMgr MP to do.&#160; Relatively few complex workflows.&#160; So OpsMgr monitors and Orchestrator does stuff.<\/p>\n<p>We can integrate the two products.<\/p>\n<p><strong><u>Operations Manager Integration Pack<\/u><\/strong><\/p>\n<p>A runbook can <em>use<\/em> OpsMgr.&#160; Standard activities:<\/p>\n<ul>\n<li>Get Alert<\/li>\n<li>Get Monitor<\/li>\n<li>Create Alert<\/li>\n<li>Update Alert<\/li>\n<li>Monitor Alert<\/li>\n<li>Monitor State<\/li>\n<li>Start Maintenance Mode<\/li>\n<li>Stop Maintenance Mode<\/li>\n<\/ul>\n<p>The monitor action in a runbook causes the executing runbook to sit there waiting for something to happen, e.g. if an alert of certain criteria appears, then continue execution of the runbook.<\/p>\n<p>There is also a Start SCOM Task action.&#160; These are the actions you see in the Tasks pane in the OpsMgr console.<\/p>\n<p><strong><u>Orchestrator Management Pack<\/u><\/strong><\/p>\n<p>Allows OpsMgr to reach into Orchestrator.<\/p>\n<p>Standard:<\/p>\n<ul>\n<li>General health monitoring<\/li>\n<li>Create Alert activity for runbook failures<\/li>\n<\/ul>\n<p>Extend<\/p>\n<ul>\n<li>Start a runbook<\/li>\n<li>Get information about a runbook<\/li>\n<\/ul>\n<p>This is made possible by a MP by Infront Consulting.<\/p>\n<p><strong><u>Extension and Automation Options<\/u><\/strong><\/p>\n<p><a href=\"http:\/\/orchestrator.codeplex.com\/releases\/view\/82959\">http:\/\/orchestrator.codeplex.com\/releases\/view\/82959<\/a> has a library of cmdlets for Orchestrator because it doesn\u2019t have any apparently.<\/p>\n<p><strong><u>Demo<\/u><\/strong><\/p>\n<p>Using his own MP instead of the Infront one.&#160; He shows two runbooks that are being monitored by OpsMgr.&#160; The Infront MP checks the last execution of a runbook for its health.&#160; You can launch a runbook via an OpsMgr task.&#160; <\/p>\n<p><strong><u>Scenarios<\/u><\/strong><\/p>\n<ul>\n<li>Working with alerts<\/li>\n<li>Recoveries<\/li>\n<li>Tasks and Runbooks<\/li>\n<\/ul>\n<p><strong><u>Monitor Alert<\/u><\/strong><\/p>\n<p>A runbook monitors OpsMgr for an alert(s).&#160; When the alert comes in, Orchestrator does something.&#160; For example, a critical alert comes in and Runbook can do some complex notification tasks, e.g. if nobody responds in 20 minutes, then do something.&#160; <\/p>\n<p>MSFT no longer investing in connectors for OpsMgr.&#160; Instead they are investing in Integration Packs for Orchestrator to implement this functionality instead \u2013 allows more complex tasks.<\/p>\n<p><strong><u>Monitor State<\/u><\/strong><\/p>\n<p>Expected you won\u2019t use it much.&#160; Monitors the state of objects in OpsMgr.&#160; One scenario: an error occurs to a DB in a distributed application.&#160; With that rolled up state change, we can kick off a runbook in Orchestrator.<\/p>\n<p><strong><u>Demo<\/u><\/strong><\/p>\n<p>He forces an error to happen.&#160; Now we look at the runbook.&#160; We\u2019re looking for new alerts that come from the MP that will soon detect the error and create an alert.&#160; Now he detects who owns the faulting app.&#160; This could be a query of the Service Manager CMDB.&#160; It\u2019s a SQL query.&#160; He now automatically sets the owner of the alert in OpsMgr using that data and the ID of the alert.&#160; He now checks what time of day it is, and then sends out the appropriate notification.&#160; This is actually another runbook.&#160; <\/p>\n<p>He pulls in data from the 1st runbook.&#160; It send an email.&#160; If that fails, it will create an alert in OpsMgr to say that there\u2019s a problem with the notification system.<\/p>\n<p>In theory, you could then track the alert to see if anyone does work on it in a predefined time.&#160; If not, you could escalate the alert.<\/p>\n<p><strong><u>Caution<\/u><\/strong><\/p>\n<p>Be careful of automated actions that do recoveries.&#160; You don\u2019t want to blindly reboot some machine every time it does X, e.g. bouncing machine, someone disables an app without maintenance mode, etc.&#160; What if the thing autoresolves during the runbook execution?&#160; The runbook will continue to run.<\/p>\n<p><strong><u>Automated recovery option 1<\/u><\/strong><\/p>\n<p>Runbook monitors for alert in OpsMgr.&#160; Beware of having lots of concurrently running monitor runbooks because it won\u2019t scale out that way.<\/p>\n<p>Create the recovery in the OpsMgr MP to run the runbook in Orchestrator as required.&#160; It\u2019ll use the Orchestrator web service to start the runbook over the network.&#160; It\u2019s more difficult to set up than the monitor alert runbook.<\/p>\n<p>Wow, this room is 95% full.&#160; Very popular topic.<\/p>\n<p><strong><u>Demo<\/u><\/strong><\/p>\n<p>There\u2019s a distributed app. Any time there\u2019s an error, he wants to send a notification to his helpdesk.&#160; He loses me here with XML MP authoring \u2013 a pity.&#160; Interesting, he appears to check the health of the object in OpsMgr from the runbook before bouncing the failed service.&#160; He then checks the state of the object after a 5 minute wait.&#160; If not healthy \u2026 there\u2019s more.<\/p>\n<p><strong><u>Running Tasks From a Runbook<\/u><\/strong><\/p>\n<p>Runbooks run across the network.&#160; OpsMgr tasks run on the local agent.&#160; Runbook couldn\u2019t do IPConfig but a task could.&#160; You can run an OpsMgr task from a runbook, wait for execution, and suck in the resulting data into the runbook.<\/p>\n<p><strong><u>Demo<\/u><\/strong><\/p>\n<p>Back to before.&#160; Now the runbook is going to reset a cache in the app to fix the issue.&#160; It\u2019ll be done using an OpsMgr task.&#160; The task is actually a POSH script.&#160; <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Speaker: Brian Wren, Principle Knowledge Engineer, Microsoft. This is a packed room, and it\u2019s one of the bigger rooms.&#160; Obviously a very popular topic.&#160; A quick poll by the speaker: Very few people in here with Opalis\/Orchestrator knowledge.&#160; Most of the audience are OpsMgr experienced. Quick run through of the two products (skipping OpsMgr in &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=12436\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;MMS2012 &#8211; Operations Manager And Orchestrator: Better Together&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12436","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/12436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12436"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/12436\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}