Excel PowerBI(PowerPivot)を利用したSystem Center Orchestraotrレポーティング

System Center OrchestratorのRunbook実行履歴などをレポーティングする機能って無いかなと探していたところPowerBIの一機能のPowerPivotでレポーティングできるみたいだったので早速使ってみました。

PowerPivotの有効化

まず、PowerPivotを有効化していきます。

参考サイトはこちらになります。
PowerPivot in Excel 2013 アドインを開始する - Excel

参考サイトにもあるように。

Power View と PowerPivot は、Office Professional Plus エディション、Office 365 Professional Plus エディション、Excel 2013 の Standalone エディションで利用できます。

といった前提があるようです。

ここではOffice Professional Plus内のExcel 2013を利用して作業進めてみます。

EXCELを開いて、[ファイル]>[オプション]>[アドイン]を選択します。
以下のような画面になります。最初はMicrosoft Office PowerPivot For Excel 2013が「アクティブでないアプリケーションアドイン」に入っている(無効化されている)のがわかります。
 
これを有効化するために「管理」でCOMアドインを選択して設定に進みます。

 
Microsoft Office PowerPivot for Excel 2013を選択して「OK」とします。

 
これでリボンにPOWERPIVOTが表示されるようになったと思います。

 
 
 

System Center Orchestratorに接続情報

次はSystem Center Orchestratorと接続するための情報を書きます。

System Center Orchestratorは操作APIWebサービスとして提供しています。Orchestrator Web Serviceと言われるコンポーネントになります。Orchestrator Consoleも裏ではこのWeb Serviceを利用しています。後はSystem Center Service Managerなどとの接続でもこのWebサービスを利用します。

このWebサービスのポート番号はインストール時に指定できます。
System Center Orchestrator 2012 SP1インストール手順 - YOMON8.NET

 
デフォルトではPort番号が81になるはずなので、以下のようなアドレスになると思います。ブラウザから接続してみましょう。

http://orchestrator:81/Orchestrator2012/Orchestrator.svc/

ユーザが聞かれると思うので、System Center Orchestratorを利用できるユーザを入力します。権限があれば以下のようなXMLが取得できると思います。

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<service xml:base="http://orchestrator:81/Orchestrator2012/Orchestrator.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
  <workspace>
    <atom:title>Default</atom:title>
    <collection href="Folders">
      <atom:title>Folders</atom:title>
    </collection>
    <collection href="Runbooks">
      <atom:title>Runbooks</atom:title>
    </collection>
    <collection href="RunbookParameters">
      <atom:title>RunbookParameters</atom:title>
    </collection>
    <collection href="Activities">
      <atom:title>Activities</atom:title>
    </collection>
    <collection href="Jobs">
      <atom:title>Jobs</atom:title>
    </collection>
    <collection href="RunbookInstances">
      <atom:title>RunbookInstances</atom:title>
    </collection>
    <collection href="RunbookInstanceParameters">
      <atom:title>RunbookInstanceParameters</atom:title>
    </collection>
    <collection href="ActivityInstances">
      <atom:title>ActivityInstances</atom:title>
    </collection>
    <collection href="ActivityInstanceData">
      <atom:title>ActivityInstanceData</atom:title>
    </collection>
    <collection href="RunbookServers">
      <atom:title>RunbookServers</atom:title>
    </collection>
    <collection href="RunbookDiagrams">
      <atom:title>RunbookDiagrams</atom:title>
    </collection>
    <collection href="Statistics">
      <atom:title>Statistics</atom:title>
    </collection>
    <collection href="Events">
      <atom:title>Events</atom:title>
    </collection>
  </workspace>
</service>


ここで接続に利用したURLとユーザを使って、EXCELからSystem Center Orchestratorに接続していきます。


PowerPivotの設定

まずPOWERPIVOTタブの管理を選択しPowerPivotの画面を表示します。
f:id:yomon8:20141114110843p:plain
 
「外部データの取り込み」>「その他のソース」を選択します。

 
「他のフィード」を選択します。

ここで以下の通り設定します。
接続の表示名:任意
データフィードURL:System Center OrchestratorのWebサービスURL
接続テストをするためには「詳細設定」からユーザ情報を入力する必要があります。

System Center OrchestratorのWebサービスに接続可能なユーザ情報を入力します。これで接続テストが成功するはずです。

 
取得可能な情報が一覧されるので必要な情報を選択します。

WebサービスからSystem Center Orchestratorの情報がPowerPivotにインポートされます。

 
インポートされた情報が表になって表示されるので、リレーションシップなどを設定していきます。

 

試しにピボットテーブルを開いてみます。

 
いつも使っているPivotテーブル上でSystem Center Orchestratorの情報をレポートできます。

 
 
こういった履歴情報などの分析は、ソフトウェアが個別に実装していても結局EXCELに落として。。。という話も多いと思います。
 

ツール側としてはWebサービスのような標準的な口だけ用意して、フロントエンドは、ある意味業務アプリのUIとしては最高峰の一つであるEXCELに任せるというアプローチはとても利にかなっていると感じました。