將數據分析資料寫入檔案

根據預設,Message Processor 收集的分析資料會上傳到 Qpid 和 Postgres 以便處理。接著,您就可以在 Edge UI 中查看數據分析資料。

或者,您也可以設定訊息處理器,將數據分析資料寫入磁碟。 再上傳至自家的分析系統進行分析。舉例來說,您可以將 將資料傳送至 Google Cloud BigQuery接著,您可以充分運用強大的查詢和機器學習功能 執行自己的資料分析作業。

您也可以選擇同時使用這兩種方式。也就是說,您可以將分析資料上傳至 Qpid/Postgres,並將資料儲存到磁碟。

檔案名稱和位置

根據預設,如果啟用將數據分析資料寫入磁碟檔案的功能,這類檔案就會寫入 以下目錄:

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

Edge 會在一分鐘的 /tmp 下為資料檔案建立新目錄。 目錄名稱格式如下:

org~env~yyyyMMddhhmmss

例如:

myorg~prod~20190909163500
myorg~prod~20190909163600

每個目錄都包含 .gz 檔案,當中含有該時間間隔的個別資料檔案。 .gz 檔案名稱為:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Edge 會定期從 /tmp 移動目錄和當中的 .gz 檔案 根據 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 目錄解壓縮資料,即可取得 數據分析資料檔案

設定屬性

使用下列屬性來設定訊息處理器,將數據分析資料寫入磁碟。 這些屬性全都是選用屬性:

屬性 說明
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

指定分配給分析檔案的磁碟空間 (以 MB 為單位)。

預設值為 3072。如果超出分配給 數據分析資料檔案,訊息處理器將停止儲存分析資料並寫入錯誤訊息 納入記錄檔

conf_analytics_analytics.uploadToCloud

控管 Analytics 檔案的最終位置。

  • 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. 針對以下項目,將 consumer-type 屬性的值設為 axaxgroup-001 個數據分析群組:

    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 屬性設定數據分析群組名稱。 如果不確定數據分析群組名稱,請在管理伺服器中執行下列指令 :

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

    這個指令會在 name 欄位中傳回 Analytics 群組名稱。

  6. 重新啟動訊息處理器:

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

    重新啟動後,訊息處理器會將數據分析資料寫入資料檔案。

  7. 針對所有訊息處理器重複上述步驟。