分析データをファイルに書き込む

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

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

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

ファイル名と場所

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

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

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

org~env~yyyyMMddhhmmss

例:

myorg~prod~20190909163500
myorg~prod~20190909163600

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

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Edge は、uploadToCloud Message Processor 構成プロパティの設定に基づいて、ディレクトリとそこに含まれる .gz ファイルを /tmp から次のいずれかのディレクトリへ定期的に移動します。

  • 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

分析データをディスク ファイルに書き込むように Message Processor を構成するには、true に設定します。

デフォルト値は false です。

conf_analytics_analytics.sendToQueue

true に設定して、Message Processor が 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 と呼ばれていますが、データはクラウドにアップロードされません。すべての分析データは、インストール環境に対してローカルに保持されます。

これらのプロパティを設定するには:

  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 に対して、上記の手順を繰り返します。