フェールオーバークラスタのイベントログ

先日、とある研修で、マイクロソフトフェールオーバークラスタ (MSFC) を実装する操作を皆さんに体験してもらっていたのですが、
その中で、MSFCではどのようなイベントログが発生するか?という質問をいただいたので、
こちらの投稿で紹介しておきたいと思います。

まず、基本的なところからですが、
マイクロソフトフェールオーバークラスタ (MSFC) のイベントログは、イベントビューアーの
アプリケーションとサービス ログ/Microsoft/Windows/FailoverClustering/Operational
で確認できます。

MSFCevt1

 

そして、どのようなイベントログが記録されるか見てみると、主に次のログが確認できました。

 

■ イベントID 1061
「フェールオーバークラスタを形成しました」のログはMSFCを構成すると、
このイベントログが記録されました。

MSFCevt2

■ イベントID 1200 / 1201
サービスまたはアプリケーションをオンラインにしようとしている(イベントID 1200)、
クラスタグループを正常にオンラインになりました(イベントID 1201)、のログをそれぞれ表します。
このイベントはイベントID 1200 → イベントID 1201の順で記録されます。
イベントログを見ると、下図のようにリソースグループ(この場合、「使用可能記憶域」)を確認できますが、

MSFCevt3

リソースグループの情報はXMLで開くと、EventDataのResourceGroupに入っています。

MSFCevt4

 

イベントID 1201でフィルタするときは、全部のログが表示されるようにフィルタしてもよいのですが、
どうでもよいリソースグループに関してオンラインになりました、というログは見たくないでしょう。
そのときは、特定のリソースグループがオンラインになったことを示すログだけがフィルタされるように
XMLの情報をもとに、XPathクエリを書いてあげると、目的のログにたどり着きやすくなると思います。
(XPathクエリの詳細についてはこちらを参照)

 

■イベントID 1203 / 1204
サービスまたはアプリケーションをオフラインにしようとしている(イベントID 1203)、
クラスタグループを正常にオフラインになりました(イベントID 1204)、のログをそれぞれ表します。
このイベントはイベントID 1203 → イベントID 1204の順で記録されます。
これもオンラインの時と同様に、リソースグループの情報が記録されます。
(XML形式では、EventDataのResourceGroupに記録)

MSFCevt5

 

このように、リソースグループのオンライン/オフラインを中心にいくつかのイベントログがMSFCの環境では記録されます。
もし、クラスタの監視を行うことをお考えであれば、こうしたイベントログを追跡するような仕掛けを作っておくことで
簡易的な監視システム(システムっていうほど大げさなものじゃないけど…)を作れます。

例えば、タスクスケジューラと組み合わせて、

SQL Serverのリソースグループがオフライン(イベントID 1203)
→ タスクスケジューラで管理者にメールを送信

なんていう仕掛けが作れるのかな、と思いました。

 

■参考情報

・イベントIDをトリガーにして、タスクスケジューラを動かすときの参考に ~
パフォーマンスカウンターからスクリプトを実行
http://sophiakunii.wordpress.com/2010/08/26/

・XPathクエリを作成するときの参考に ~
イベントビューアのクエリをカスタマイズする
http://sophiakunii.wordpress.com/tag/xpath/