2013年8月3日土曜日

System Center 2012 Orchestratorでアラート監視と解決を実装してみる (5)

前回記事で、SC 2012 OM SP1上で、PROのアラートを検出できることがわかりました。
その情報を基に、OrchestratorのOM用統合パックを使ってみます。OM用統合パックにあるGet Alartアクティビティに以下の設定を行うと検出可能でした。

では、いきなりこんな感じのRunbookで"PROのアラートを検出して、自動的にVMをどこかに移動できる"ものでしょうか?
orchestratorrunbook0501
答えはNoだと思います。なぜなら、そもそもどのHyper-Vホストに移動すればよいのか情報が足りません。また高負荷なHyper-VホストへVMを移行してしまっては元も子もないでしょう。

よって、最適なHyper-Vをきちんと検出した上で、VMの移行を行うべきだと考えました。その結果として以下のRunbookを考えました。
orchestratorrunbook0502
実装したRunbookの全体フローは以下の通り
1 アラートを検出
2 アラートに含まれる 仮想ホスト名から、そのうえで 稼働しているVM情報、 その移行先となる仮想ホストを特定
3-1-1 移行先ホストへVMを移動
3-1-2 移動後、アラートに ”解決済み”を設定
3-2 稼働しているVMが無ければ、 アラートに”解決済み”を設定
ここから各処理で使っているアクティビティの内容について説明していきます。

1 ”Get Alert”アクティビティの概要
orchestratorrunbook0503
・OrchestratorにSC 2012 OMの Orchestrator IPを組み込むことで 利用可能なアクティビティ
・以下のフィルターを設定
 ・[解決状態]が”新規”
 ・[モニターオブジェクトのヘルス状態]が ”Clitical”
 ・[名前]が ”PRO 最大動的メモリ使用量”

2 ”移行対象のVMと、その移行先ホストを決定”アクティビティ
orchestratorrunbook0504
・OrchestratorにSC 2012 VMMの Orchestrator IPを組み込むことで利用可能な [Run VMM PowerShell Script]アクティビティ
・戻り値として、以下を設定
 ・DeployHost:移行先ホスト
 ・VMPath:移行先ホストにおけるVMの配置先
 ・VMId:VMのGUID
 ・VM:移行対象のVMオブジェクト
 ・onerror:稼働中のVM無しを通知
  ・0:稼働中のVM有り
  ・1:稼働中のVM無し
 ・PowerShellのコードは以下の通り(テキスト化すると他のアクティビティからのデータ連携がわかりにくくなるため、画像で貼り付けています)
orchestratorrunbook0505

3-1-1への分岐条件
ライブマイグレーション可能なVMが 有る場合(正常系)の分岐条件を記載
orchestratorrunbook0506
orchestratorrunbook0507

3-1-1 ”Move VM”アクティビティ
orchestratorrunbook0508
・OrchestratorにSC 2012 VMMの Orchestrator IPを組み込むことで 利用可能なアクティビティ
・以下の入力値を設定
 ・[Host Name]は、 ”移行対象のVMと、その移行先ホストを決定” アクティビティの” DeployHost”
 ・[VM ID]は、 ”移行対象のVMと、その移行先ホストを決定” アクティビティの” VMId”
 ・[Path]は、 ”移行対象のVMと、その移行先ホストを決定” アクティビティの” VMPath”
 ・[Use LAN]は、”True”

3-1-2 ”Update Alert”アクティビティ
orchestratorrunbook0509
・OrchestratorにSC 2012 OMのOrchestrator IP を組み込むことで利用可能なアクティビティ
・”Get Alert”アクティビティで取得したIDの 下記フィールドを更新
 ・[解決状態]を”解決済み”とする
 ・[カスタムフィールド1]を ”Orchestrator Updated”とする
 ・[カスタムフィールド2]を”VM Moved”とする

3-2への分岐条件
ライブマイグレーション可能なVMが 無い場合(異常系)の分岐条件を記載
orchestratorrunbook0510
orchestratorrunbook0511

3-2 ”Update Alert (2)”アクティビティ
orchestratorrunbook0512
・”Get Alert”アクティビティで取得したIDの 下記フィールドを更新
 ・[解決状態]を”解決済み”とする
 ・[カスタムフィールド1]を ”Orchestrator Updated”とする
 ・[カスタムフィールド2]を ”稼働VMが無いため解決済みとする” とする
ここで、Move VMアクティビティを別出しする意味があるのかと疑問に思いましたので、最終的には以下のRunbookにしました。
orchestratorrunbook0513

これで、目的を達成できます。まとめると以下のようなことが言えると思います。
・OchestratorのRunbookによりVMホストのリソース最適化も可能
・応用すれば、ハードディスク障害時に、VMの一斉退避といったことも可能
・SC 2012 SMと連携して、インシデント管理に基づく自動復旧も実装していけます

これまでのブログ記事
System Center 2012 Orchestratorでアラート監視と解決を実装してみる [2013/03/30 20:33]
System Center 2012 Orchestratorでアラート監視と解決を実装してみる (2) [2013/04/13 18:36]
System Center 2012 Orchestratorでアラート監視と解決を実装してみる (3) [2013/05/06 16:34]
System Center 2012 Orchestratorでアラート監視と解決を実装してみる (4) [2013/05/11 21:12]
を整理し、System Center User Group Japan 第7回勉強会で発表いたしました。その際に使った発表資料へのリンクを以下に記載しておきますので、皆様の参考になれば幸いです。
RunbookによるPROヒントの実装
http://www.slideshare.net/noriosashizaki/runbookpro


参考資料
System Center 2012 Orchestrator と System Center 2012 Operations Manager を連携させる方法
http://blogs.technet.com/b/systemcenterjp/archive/2012/06/01/3501427.aspx

0 件のコメント:

コメントを投稿