IM-BPM for Accel Platform IM-BPM チュートリアルガイド 第18版 2021-04-01

6.1.4. グラフ上にKPIを表示する

このチュートリアルでは、Kibanaのグラフ上にKPIとして静的な基準線と、グラフの傾向(増加傾向/減少傾向)を表示し、KPIが付与されたグラフをダッシュボードに追加する方法を解説します。
../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0001.png
図:「業務A_新規契約タスク完了数とKPI」

注意

本チュートリアルは、事前に「IM-BPM for Accel Platformのプロセスの実行時のログをKibanaのダッシュボードに表示する」の実施が完了していることを前提とします。

6.1.4.1. Kibanaの「Timelion」機能を使用してグラフ上にKPIを表示する

Kibanaの「Timelion」(タイムライン)機能を使用して、グラフ上にKPIとして静的な基準線と、グラフの傾向(増加傾向/減少傾向)を表示します。

コラム

「Timelion」画面と「Timelion Expression」について

「Timelion」画面では、「Timelion Expression」という記法にもとづき、複雑な形式のグラフを表示したり、また、それらを組み合わせ、一つの図中に複数のグラフを重ねて表示するなど、様々な表現を行えます。
「Timelion Expression」で使用可能な関数についての詳細は「Help」の「Function reference」より確認できます。
../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0002.png
図:「Help」→「Function reference」
  1. 「Kibana」のメインメニューより「Timelion」をクリックし、「Timelion」画面を開きます。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0003.png
    図:「Timelion」画面
  2. 集計対象の期間を指定します。
    「Time Range」欄より「Last 30 days」を選択します。
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0004.png
    図:「Time Range」の選択
  3. 集計単位を指定します。
    画面右側のプルダウンリストより「1d」(1日毎)を選択します。
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0005.png
    図:集計単位
  4. グラフを表示するための「Timelion Expression」を指定します。
    画面中央のテキストボックスに下記の文字列を設定します。
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0006.png
    図:「Timelion Expression」
    .es(index='im_bpm*', q='type_activiti:PROCESS_COMPLETED AND variables.selectedTaskName:業務A_新規契約', metric='count', timefield='time').bars().label('新規契約の推移'),
    .es(index='im_bpm*', q='type_activiti:PROCESS_COMPLETED AND variables.selectedTaskName:業務A_新規契約', metric='count', timefield='time').trend().lines(width=2).label('新規契約の推移の傾向'),
    .static(value=2).lines(width=1,fill=1).color(#000000).label('目標値')
    
    各行で指定している関数および各パラメータの説明
    • 1行目は、「業務A_新規契約」の完了件数の推移を表示するための記述です。

      .es() 関数(Elasticsearchへ問い合わせを行うための関数)へ、インデックスパターンや、フィルタ条件、時系列フィールドなどの条件を引数として渡し、メソッドチェーン形式でグラフの見た目や、凡例上の表示などを指定します。
      .es(index='im_bpm*', q='type_activiti:PROCESS_COMPLETED AND variables.selectedTaskName:業務A_新規契約', metric='count', timefield='time').bars().label('新規契約の推移'),
      

      コラム

      ここでは、インデックスパターン「im_bpm*」に含まれるドキュメントのうち、「type_activiti」フィールドの値が PROCESS_COMPLETED かつ、「variables.selectedTaskName」フィールドの値が 業務A_新規契約 のドキュメントを対象とします。
      • .es(*)関数のパラメータ
        パラメータ 説明
        index='im_bpm*'
        可視化対象のインデックスパターンを指定します。
        q='type_activiti:PROCESS_COMPLETED AND variables.selectedTaskName:業務A_新規契約'
        抽出条件を表すクエリを指定します。
        metric='count'
        メトリクスとしてドキュメントの件数を指定します。
        timefield='time'
        時系列を表すフィールドを指定します。

      • .bars()関数をメソッドチェーン形式で呼び出し、グラフの種類を「棒グラフ」に指定します。

      • .label()関数をメソッドチェーン形式で呼び出し、凡例に表示されるラベルを設定します。
        パラメータ 説明
        '新規契約の推移'
        凡例に表示されるラベルを設定します。
    • 2行目は、「業務A_新規契約」の完了件数の推移の傾向(増加傾向/現象傾向)を表示するための記述です。
      .es() 関数への引数は1行目と同様ですが、メソッドチェーン形式で呼び出す関数が異なります。
      .es(index='im_bpm*', q='type_activiti:PROCESS_COMPLETED AND variables.selectedTaskName:業務A_新規契約', metric='count', timefield='time').trend().lines(width=2).label('新規契約の推移の傾向'),
      

      • .trend()関数をメソッドチェーン形式で呼び出し、グラフの傾向(増加傾向/現象傾向)を表示することを指定します。

      • .label()関数をメソッドチェーン形式で呼び出し、凡例に表示されるラベルを設定します。
        パラメータ 説明
        '新規契約の推移の傾向'
        凡例に表示されるラベルを設定します。
    • 3行目は、KPIとして静的な基準線を表示するための記述です。
      ここでは、一日の目標件数を 2 件として設定しています。
      .static() 関数を使用し、静的な基準線を表示します。
      .static(value=2).lines(width=1, fill=1).color(#000000).label('目標値')
      

      • .static()関数のパラメータ
        パラメータ 説明
        value=2
        基準線の値を指定します。
      • .lines()関数をメソッドチェーン形式で呼び出し、グラフの種類を「折れ線グラフ」に指定します。
        パラメータ 説明
        width=1
        線の幅を指定します。
        fill=1
        塗りつぶしの濃さを指定します。
      • .color()関数をメソッドチェーン形式で呼び出し、グラフの色を指定します。
        パラメータ 説明
        #000000
        16進数カラーコードを指定します。
      • .label()関数をメソッドチェーン形式で呼び出し、凡例に表示されるラベルを設定します。
        パラメータ 説明
        '目標値'
        凡例に表示されるラベルを設定します。
  5. 「Apply Changes」をクリックし、「新規契約の推移」の棒グラフと、「目標値」KPI、「新規契約の推移の傾向」が表示されることを確認します。
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0007.png
    図:「Apply Changes」
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0008.png
    図:「新規契約の推移」の棒グラフと、「目標値」KPI、「新規契約の推移の傾向」
  6. グラフに名前を付けダッシュボードに表示できる形式で保存します。
    「ヘッダメニュー」の「Save」をクリックし、表示されたメニューより「Save current expression as Kibana dashboard panel」をクリックし、「Save expression as」に下記の値を設定し、「Save」をクリックします。
    項目名 設定値
    Save expression as 業務A_新規契約タスク完了数とKPI
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0009.png
    図:「Save current expression as Kibana dashboard panel」
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0010.png
    図:「Save expression as」

6.1.4.2. 「業務A_新規契約タスク完了数とKPI」をダッシュボードに追加する

Kibana上に上記で作成した「業務A_新規契約タスク完了数とKPI」を「IM-BPM Dashboard」ダッシュボードに追加します。
  1. Kibanaのメインメニューより「Dashboard」をクリックし、「Dashboards」画面の「IM-BPM Dashboard」をクリックします。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0011.png
    図:「Dashboards」画面

    コラム

    下記のような画面が表示され、データが表示されていない場合、「Time Range」(画面右上の「Last 15 minutes」と表示されている項目)より、データの表示期間を「Last 30 days」へ変更してください。
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0012.png
    図:データが表示されていない場合
  2. 「Dashboard / IM-BPM Dashboard」画面より、ヘッダメニューの「Edit」をクリックし、「Dashboard / Editing IM-BPM Dashboard」画面を開きます。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0013.png
    図:「IM-BPM Dashboard」
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0014.png
    図:「Dashboard / Editing IM-BPM Dashboard」画面
  3. ヘッダメニューの「Add」をクリックし、「Add Panels」を開きます。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0015.png
    図:「Editing New Dashboard」→「Add」
  4. 「Add Panels」→「Visualization」タブより「業務A_新規契約タスク完了数とKPI」をクリックします。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0016.png
    図:「Add Panels」→「Visualization」
  5. ダッシュボードに「業務A_新規契約タスク完了数とKPI」が追加されたことを確認し、ヘッダメニューの「Save」をクリックします。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0017.png
    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0018.png
    図:「Save」
  6. 「Confirm Save」をクリックします。

    ../../../../_images/elasticsearch_kibana_add_graph_with_kpi_to_dashboard_0019.png
    図:「Save Dashboard」