Elasticsearchを使ってRPAによる創出時間を可視化する方法
こんにちは。Airitech株式会社 Big Data AIグループの落合です。
今回は、Elasticsearch バージョン7.2で追加されたData Transformsの機能と、7.11で追加されたRuntime fieldの機能を使って、UiPathのRPA実行ログを元に創出時間(削減時間、効果時間)を可視化する方法をご紹介します。
UiPathの実行ログについて
UiPathは、RPAの統合管理ツールであるOrchestratorを使うことで、ロボットの実行ログをElasticsearchに集めることができます。
なお、Airitechでは、UiPathのユーザー向けにElasticsearchの導入をサポートするサービスも行っております
実行ログには、
タイムスタンプ、プロセス名、ジョブID、ログレベル、メッセージ
などの要素があり、1回のロボットの実行の際に出るログは、すべて同じジョブIDが付いています。
RPAによる創出時間の可視化
プロセスの種類ごとに(プロセス名ごとに)、1回のジョブ実行による創出時間(人間が同じ作業をしたらどれくらい時間がかかるか)を定義し、ジョブが何回されたかに応じてこの値を積算することで、「過去1カ月間のRPAによる効果」を算出することができます。
これにより、以下のようなダッシュボードを作成することができます。
RPAを社内の幅広い部署に導入する際には、「導入によって一体どれくらいの効果があったのか?」というのが、経営上非常に重要な関心事項となります。ElasticsearchとKibanaを活用することで、この重要なKPIがリアルタイムに把握できるようになる点が大きいです。
Data Transformsで事前に集計する
Data Transformsの機能は別の記事で詳しく紹介しているので、そちらをご覧ください。
Data Transformsとは、Elasticsearchに入っているデータを、何らかの条件で集計して、その結果を別のindexに保存する機能です。(OSS版のElasticsearchでは利用できない機能です)
今回の用途では、RPAの実行ログを、ジョブIDごとに集約して、
「1回のジョブ実行が1行」
のデータを作成するのに使います。
この際に、発生したエラーの件数も集計しておくとよいでしょう。
Runtime fieldで参照可能なデータを追加する
Runtime fieldは、新しいfieldをデータ投入時ではなくデータを入れた後に作成して検索に利用することができる機能です。
KibanaのScripted fieldと似ていますが、Elasticsearch本体の機能なので、例えば、Kibanaを使わずにElasticsearchの検索クエリを直接実行する際にも使えるなど、より幅広い用途で使うことができます。
Kibanaを利用する場合でも、Visualization(データを可視化・集計するグラフやテーブルなど)の中にはRuntime fieldしか使えないものもある(高度なグラフ作成が可能なTSVBなど)ので、可能であればRuntime fieldを使った方がよいです。
スクリプトの書き方自体は、Scripted fieldもRuntime fieldもほとんど同じなので、使い方については過去に投稿したScripted fieldの記事を参考にしてください。
今回の用途では、Data Transformsで作成したIndexに対して、プロセスごとの創出時間(削減時間)の値を入れたfieldを作成するのに使います。
実際に利用する際には、プロセス名のプレフィックスで創出時間を判定できるようにして設定を簡略化したり、逆にロボットの処理内容に応じて創出時間の値を変えるような処理を記載することで、より正確な値を出せるように作り込むことも可能です。
これにより、先ほどのジョブごとのデータに、創出時間の値が追加された状態になります。
これにより、先に挙げたダッシュボードを作成することができるようになります。
まとめ
Elasticsearchの、比較的新しい機能であるData TransformsとRuntime fieldを使うことにより、RPA導入の際に重要となる創出時間の可視化・集計ができるようになります。
UiPathの利用者の中には、まだ古いバージョンのElasticsearch(6.x)を使っている方も多いと思いますが、新しい機能を使うと創出時間の可視化など、今までできなかったことも行えるようになるため、バージョンアップを検討してみてはいかがでしょうか。
AiritechではElasticsearchのオンライン・トレーニングも実施しています。
興味のある方は、ぜひお申し込みください。
Elasticsearch・Kibanaトレーニング(オンライン)
また、Elasticsearchエンジニアの募集も行っていますので興味のある方はぜひご応募ください。
Airitechの採用情報はこちら
ホームページ