クラウド環境でのOrchestrator構築とアナリティクス

2020年1月8日(水)
井上 秀和

Orchestratorでのスケジュール設定

Orchestratorでスケジュールジョブを設定し、BIの解析用ジョブを実行していきます。まず、適当なロボットグループを作成し、自身のuipath1を紐付けます。

次に、先ほどデプロイしたパッケージとロボットグループを紐付け、プロセスとして定義します。

スケジュールはデータ件数を稼ぐため、1分間隔でジョブ実行を行うスケジュールにします。

しばらくした後、ロボットメニュー内でログを見てみます。

すると、複数件のログが表示されていることを確認できます。

Cosmos DBでのロボットログの可視化

しばらくスケジュールしたジョブをロボットに実行させた後、ロボットのログを覗いてみましょう。

今回はCosmos DBをMongoDBのインターフェイスにしているので、MongoDB用のクライアントが利用できます。私が昔MongoDBを利用していた際に愛用していたRobomongo(現在はRobo T3に名称変更)を利用してデータの中身を見ていきます。MongoDBに対応するクライアントアプリケーションであれば、別のツールでも問題ありません。

●Robo 3T
https://docs.microsoft.com/ja-jp/azure/cosmos-db/mongodb-robomongo

接続にあたり、いくつかCosmos DBに依存する項目があります。下記の画面キャプチャを参考に設定してください。

うまく接続できたら、早速データを表示します。Collectionsで「UiPath」を指定し、MongoDB用のクエリを実行します。画面には擬似的な表形式でデータが表示されます。ロボットのログが一覧で閲覧できます。

今回はワークフローで「fruits」というログフィールドを追加しているので、このフィールドのサマリを表示してみたいと思います。

Group Byを使用したクエリで、それぞれの果物の出現回数をカウントします。

db.getCollection('UiPath').aggregate([
    { "$group" : { _id: "$Properties.fruits", count: { $sum: 1} }}
]);

実行すると、追加したfruitsのログフィール集計値が表示されます。

それぞれのフルーツの個数カウントは概ねランダムに出力されているようです。なお、エラーになる場合はプレビュー機能のメニューにある「集約パイプライン」オプションが有効かを確認してみてください。

このように、Cosmos DBでロボットの実行ログが解析できることがわかりました。ちなみに、ElasticSerachを使用した場合は開発元のElastic社が提供するKibanaで簡単にチャートを使用したビジュアライゼーションが行えます。データの分析やドリルダウンもKibanaのWebアプリ内で実施できます。

ビジュアライズ

ここで、UiPathにおけるビジュアライズについて簡単に紹介します。現在では3つの手法があります。

  1. 現状の稼働状況をビジュアライズするOrchestratorのダッシュボード
  2. ロボットの実行ログを解析するElasticSerach/Kibana
  3. SQL Serverのデータベースを解析するTableau、Power BI

(2)(3)はデータソースがロボットの実行ログとSQL Serverで異なりますが、ビジュアライズできる項目は概ね同じです。下記に2つの差異を示します。

項目 ElasticSerach/Kibana Tableau、Power BI
データソース ElasticSerachに格納されたロボットログ SQL Serverの各種テーブル
ジョブ実行結果解析 不可(Jobとして実行結果は連携されないため。ログデータに基づく成否の判断は可能)
ジョブ実行中に発生した
エラー解析
不可(Logsのテーブルに当該データはあるがJsonのRawデータのため簡易に解析できない)
ロボット側で動的に追加された
ログフィールドの解析
不可(Logsのテーブルに当該データはあるがJsonのRawデータのため簡易に解析できない)
ジョブ保留状態の解析 不可(スケジュールの情報がないため)
組織、ロボット、
ロボットグループ、マシンの統計情報
不可(ロボットのログに存在する範囲の解析となるため。ジョブを実行しないロボットにはデータなし)
組織名称、ロボットグループ、
タイプでの解析
不可(ログフィールドに当該情報を加えればロボットログの解析が可能)

なお、Azure Cosmos DBには、現時点で簡単にビジュアライズできるツールが見つかりませんでした。

UiPath株式会社
コーダーやプロジェクトマネージャーとして、金融、流通、飲食業界向けのシステム・ソフトウェア開発に従事し、2018年よりUiPath社に入社。RPAに関しては、過去にWeb画面、モバイル画面のUIテスト自動化、趣味では株式やFXのアービトラージにて活用していた経験あり。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています