【BI】イベントログを PowerPivot に読み込んで分析ーその2 分析軸の作成

「イベントログを PowerPivot に読み込んで分析」シリーズです。

    1. はじめに
    2. 計画
    3. 分析軸の作成 ←今回 
    4. PowerPivot for EXCEL 2010 の準備とデータの取り込み
    5. 計算列の作成とテーブル間リレーションの作成
    6. ピボットテーブルの作成

今回は EXCEL を使用して分析軸の作成を行います。

前回の話の流れから、以下のシナリオで考えてみます。

シナリオ:時間帯およびサーバーごと、およびサービスごとのエラーの傾向を分析したい

■メジャー(尺度) :エラーの数
■ディメンジョン(軸) :日時、イベントタイプ、サーバー名、サービス

さっそく、分析軸を作成しましょう…といっても大した作業ではありません。単にEXCELのシートを作成するだけです。ここで作成した分析軸を、あとでPowerPivotに読み込みます。

■日時ディメンジョンの作成

日時ディメンジョンは、イベントの時間的な推移をみるうえでも重要ですし、異なる種類のイベント同志、異なるサーバー間のイベント同志を関係づける際にも重要な軸となります。以下の図を見てください。時間軸が用意されているからこそ、サーバーAとサーバーBそれぞれで発生しているイベントの密度に「同じ時間帯」という関係性を見出すことができます。

image

パフォーマンスログがとられていれば、以下のようにパフォーマンスとイベント発生の密度の関係を把握することも可能です。

image

ということで時間軸を作るわけですが、事前に軸の粒度を決めておく必要があります。1秒単位の軸なのか、1分単位なのか、はたまた1時間単位なのか…。これによって分析の粒度が変わってきます。

イベントログを分析する場合、秒単位ほどの細かさは必要ないでしょう。よって、今回は分単位とします。

作成する時間軸の範囲は 2009年12月1日 から 2010年11月30日 の 1年間とします。

※ 軸を作成するのは Excel 2010である必要はありませんが、ここでは2010を使用します

Excel を起動して、適当なシートを開いてください。

はじめに、シートの名前を「時間軸」に変更しておきましょう。

次に、以下のようにシートの1行目に起点となる「2010/12/1 0:00」を入力してください。

image

これ以降、2010年11月30日 23:59 まで1分単位の値を手で入力するわけにはいかないので、Excel の素晴らしい機能である「フィル」を使用します。以下(左図)のように「フィル」メニューから [連続データの作成] を選択してください。

[連続データ]ダイアログが表示されたら、以下(右図)のように設定します。これは、

  • 選択されたセルを基準にして、方向に 1分(0:01)単位で2010/11/30 23:59 になるまで加算

を意味しています。

 imageimage

[OK]をクリックしてください。以下のように2010年11月30日 23時59分まで1分単位にセルが生成されるはずです。

image image

ここで最終行の行番号に注目してください。525600 です。EXCEL の最大行数は104万行なので、1分単位で時間軸を持つと、2年分しか確保できないことがわかります。これ以上の期間を1分単位で確保する場合には、Excel は使用することができませんので、SQL Server など100万行のテーブルを扱うことができるソフトウェアを使用しなければなりません。

ひとまずこれで、1年分の時間軸を作成できました。

手順さえ知っていれば1分程度の作業ですね。

ここで、「1日単位でいいんだけどな」と思った方がいらしたら安心してください。PowerPivot に読み込んだ後で「計算列」という機能を使用して調整することができます。

■イベントタイプ ディメンジョンの作成

イベントタイプ軸は、その名の通り「イベントのタイプ」の一覧です。これを軸にすることで、それぞれのサーバーで発生しているイベントから「重大」や「エラー」で絞り込むことができます。

ここではなーんの技も必要ありません。タイプは6種類しかないので、以下のように手作業でシートを作成するだけです。シートの名前を「イベントタイプ軸」とでもしておきましょう。

image

■サーバー名 ディメンジョンの作成

この軸を使用して、イベントをサーバー単位に絞り込むことができます。これも大したことないですよね。

以下のように、分析の対象となるコンピューターが少ない場合には手作業で入力してもよいですし、たとえサーバー名が多くてもコンピュータリストは存在しているはずです!ないはずがありません。

image

ただし、コツがあります。

イベントログのコンピュータ名にはFQDN名が入ってきますので、FQDN名で用意したほうがよいでしょう。ただ、分析時にはFQDN名は長すぎて邪魔なんですよねぇ。なのでコンピュータ名のカラムも用意しておくとよいです。

シートの名前は「サーバー名軸」とでもしておきましょう。

■サービス名 ディメンジョン

ここでいうサービス名とは、イベントのソースです。どのサービス(ソース)がエラーを出しているかを把握することが問題解決の第一歩ですから、軸として当然必要です。

image

ただ、残念ながら全ての「ソース」を事前に用意しておくことは事実上難しいので、イベントログに保存されているソースを随時使用することにしましょう。

以上で分析軸の作成が終わりました。

作成したEXCELのブックは、dimension.xlsx などというファイル名で保存しておきましょう。

次回はPowerPivotを起動してイベントログと分析軸を PowerPivot に読み込みます。