分析データのファイルへの書き込み

デフォルトでは、Message Processor によって収集された分析データは Qpid と Postgres にアップロードされて処理されます。その後、処理された分析データを Edge UI で見ることができます。

また、分析データをディスクに書き込むように Message Processor を構成し、それらのデータをお客様独自の分析システムにアップロードして分析することもできます。たとえば、Google Cloud BigQuery にデータをアップロードし、BigQuery と TensorFlow が提供する強力なクエリと機械学習機能を活用して独自のデータ分析を行うことができます。

両方のオプションを使用することも可能です。つまり、分析データを Qpid / Postgres にアップロードし、同じデータをディスクに保存することができます。

ファイル名と場所

デフォルトでは、ディスク ファイルへの分析データの書き込みを有効にすると、それらのファイルは次のディレクトリに書き込まれます。

/opt/apigee/var/log/edge-message-processor/ax/tmp

/tmp の下にデータファイル用の新しいディレクトリが 1 分間隔で作成されます。ディレクトリ名の形式は次のとおりです。

org~env~yyyyMMddhhmmss

例:

myorg~prod~20190909163500
    myorg~prod~20190909163600
    

各ディレクトリには、その時間間隔の個々のデータファイルを含む .gz ファイルが含まれます。.gz ファイル名の形式は次のとおりです。

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

このディレクトリとそこに含まれる .gz ファイルは、定期的に /tmp から次のどちらかのディレクトリに移動されます。どちらに移動されるかは、Message Processor の uploadToCloud 構成プロパティの設定によって決まります。

  • uploadToCloud = false: ファイルは /opt/apigee/var/log/edge-message-processor/ax/staging に移動されます。
  • uploadToCloud = true:(デフォルト): ファイルは /opt/apigee/var/log/edge-message-processor/ax/failed に移動されます。

/staging または /failed ディレクトリにあるデータを解凍すると、分析データファイルが得られます。

構成プロパティ

分析データをディスクに書き込むには、Message Processor の次のプロパティを使用します。これらのプロパティはすべて省略可能です。

プロパティ 説明
conf_analytics_analytics.saveToDisk

true に設定すると、分析データがディスクに書き込まれます。

デフォルト値は false です。

conf_analytics_analytics.sendToQueue

true に設定すると、データが Qpid / Postgres にアップロードされます。false に設定すると、Qpid / Postgres への分析データの書き込みは無効になります。

デフォルト値は true です。

conf_analytics_analytics.baseDataDirectoryPath

分析データファイルを書き込む場所のベースパスを指定します。

デフォルト値は /opt/apigee/var/log/edge-message-processor/ax. です。

conf_analytics_analytics.allocatedDiskSpaceInMBytes

分析ファイル用に割り当てるディスク領域(メガバイト単位)を指定します。

デフォルト値は 3072 です。分析ファイル用に割り当てられたディスク領域を超過すると、分析データの保存は停止し、Message Processor のログファイルにエラー メッセージが書き込まれます。

conf_analytics_analytics.uploadToCloud

分析ファイルの最終的な場所を制御します。

  • false: ファイルは /opt/apigee/var/log/edge-message-processor/ax/staging に移動されます。
  • true(デフォルト): ファイルは /opt/apigee/var/log/edge-message-processor/ax/failed に移動されます。

: このプロパティは uploadToCloud という名前ではありますが、データがクラウドにアップロードされるわけではありません。分析データはすべて Edge インストール環境にローカルに保持されます。

プロパティを設定するには:

  1. message-processor.properties ファイルをエディタで開きます。このファイルが存在しない場合は作成します。

    vi /opt/apigee/customer/application/message-processor.properties
  2. 必要に応じてプロパティを設定します。

    # Enable writing analytics data to disk.
        conf_analytics_analytics.saveToDisk=true
        # Disable writing analytics data to Qpid/Postgres.
        conf_analytics_analytics.sendToQueue=false
    
        # Specify base directory for analytics data files.
        conf_analytics_analytics.baseDataDirectoryPath=/opt/apigee/var/smg
    
        # Set the disk space available for analytics files.
        conf_analytics_analytics.allocatedDiskSpaceInMBytes=3072
        # Move final analytics data to files to the /staging directory.
        conf_analytics_analytics.uploadToCloud=false
  3. 変更を保存します。
  4. プロパティ ファイルの所有者を「apigee」ユーザーにします。

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. axgroup-001 分析グループの consumer-type プロパティの値を ax に設定します。

    curl -X POST -H "Content-Type:application/json" \
        "http://ms-ip:8080/v1/analytics/groups/ax/axgroup-001/properties?propName=consumer-type&propValue=ax" \
        -u sysAdminEmail:sysAdminPWord

    axgroup-001 は分析グループのデフォルトの名前です。分析グループの名前は、Edge インストール構成ファイルの AXGROUP プロパティを使用して設定できます。分析グループの名前がわからない場合は、Management Server ノードで次のコマンドを実行して確認します。

    apigee-adminapi.sh analytics groups list \
          --admin sysAdminEmail --pwd sysAdminPword --host localhost

    出力結果の name フィールドに分析グループの名前が示されています。

  6. Message Processor を再起動します。

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    Message Processor の再起動後、分析データはデータファイルに書き込まれます。

  7. すべての Message Processor で上記の手順を繰り返します。