QHMM Shell 腳本使用

本主題提供有關使用兩個 shell 腳本 qhmm_usr_export.shqhmm_import_sre.sh 在 QHMM 中進行診斷資料處理的說明。

必要條件

管理者必須從IBM支援團隊取得 QHMM Shell 腳本。

qhmm_usr_export.sh

該腳本允許使用者捆綁來自 QHMM 診斷儲存桶的診斷資料文件,並與支援團隊共用壓縮的診斷文件以進行進一步分析。 (這可以透過將它們上傳到增強型客戶資料儲存庫( ECuRep )來完成)。 此腳本接受命令列參數進行配置,或可以使用預設值運行。

• -e:ENDPOINT(預設值:無)- 儲存端點。

• -r:REGION(預設值:無)- 儲存區域。

• -b:BUCKET_NAME(預設值:無)- 儲存桶的名稱。

• -a:ACCESS_KEY(預設值:無)- 儲存的存取金鑰。

• -s:SECRET_KEY(預設值:無)- 儲存的密鑰。

• -i:WXD_INSTANCE_ID(預設值:無)- WXD 的實例ID。

• -t:ENGINE_TYPE (預設值:無)- 引擎的類型(例如,Presto )。

• -d:ENGINE_ID(預設值:無)- 引擎的ID。

  • --data-type- 要匯出的資料 (支援 Dump、QueryEvent, 及 QueryHistory )。

• -p:DOWNLOAD_DIR(預設:/root/data)- 下載檔案的目標資料夾。

• -x: START_DATE(預設值:過去24 小時)- 過濾物件的開始日期。

• -y:END_DATE(預設值:目前日期)- 過濾物件的結束日期。

• -h、--base-path- 儲存桶中的基本路徑。

範例指令:

./qhmm_usr_export.sh -e <ENDPOINT> -r <REGION> -b <BUCKET_NAME> -a <ACCESS_KEY> -s <SECRET_KEY> -i <WXD_INSTANCE_ID> -t <ENGINE_TYPE> -d <ENGINE_ID> -p <DOWNLOAD_DIR> -x <START_DATE> -y <END_DATE>

qhmm_import_sre.sh

此腳本供支援團隊從增強型客戶資料儲存庫 ( ECuRep ) 檢索診斷數據,並將其上傳至支援團隊儲存桶以進行進一步分析。 與第一個腳本類似,它可以使用命令列參數進行配置或使用預設值運行。

• -e:ENDPOINT(預設值:無)- 儲存端點。

• -r:REGION(預設值:無)- 儲存區域。

• -b:BUCKET_NAME(預設值:無)- 儲存桶的名稱。

• -a:ACCESS_KEY(預設值:無)- 儲存的存取金鑰。

• -s:SECRET_KEY(預設值:無)- 儲存的密鑰。

• -i:WXD_INSTANCE_ID(預設值:無)- WXD 的實例ID。

• -t:ENGINE_TYPE (預設值:無)- 引擎的類型(例如,Presto )。

• -d:ENGINE_ID(預設值:無)- 引擎的ID。

• -p:COMPRESSED_FILE(預設值:/root/data/bundle.zip )- 壓縮檔案的來源資料夾。

範例指令:

./qhmm_import_sre.sh -e <ENDPOINT> -r <REGION> -b <BUCKET_NAME> -a <ACCESS_KEY> -s <SECRET_KEY> -i <WXD_INSTANCE_ID> -t <ENGINE_TYPE> -d <ENGINE_ID> -p <COMPRESSED_FILE>

bucket_data_migration.sh

這個腳本可讓使用者將 QHMM 資料從來源資料桶傳輸至目的地資料桶。 可使用下列命令列參數設定轉移指令碼,或以預設值執行:

-se:--source-endpoint- 來源 S3-compatible 儲存的端點 URL (預設值: http://localhost:9000 )

-se:--source-endpoint- 來源 S3-compatible 儲存的端點 URL (預設值: http://localhost:9000 )

-sr: --source-region- 來源 S3-compatible 儲存的區域 (預設值: us-east-1 )

-sb: --source-bucket- 原始資料桶的名稱 (必填)

-sa:--source-access-key- 來源儲存的存取金鑰 (必填)

-ss:--source-secret-key- 來源儲存的密匙 (必要)

-sbp: --source-base-path- 原始資料桶中的基本路徑 (預設值: qhmm)

-de:--dest-endpoint- 目的地 S3-compatible 儲存的端點 URL (預設值: http://localhost:9000 )

-dr: --dest-region- 目的地 S3-compatible 儲存的區域 (預設值: us-east-1 )

-db: --dest-bucket- 目的地儲存桶的名稱 (必填)

-da: --dest-access-key- 目的地儲存的存取金鑰 (必要)

-ds:--dest-secret-key- 目的地儲存的秘密金鑰 (必要)

-dbp: --dest-base-path- 目標資料桶中的基本路徑 (預設值: qhmm)

-bp: --base-path- 資料桶中的基本路徑 (預設值: qhmm)

  • -i: --instance-id- Instance ID (必填)

  • -t: --engine-type- 引擎類型 (必填)

  • -d: --engine-id- 引擎 ID (必填)

  • -x: --start-date- 篩選物件的開始日期 (DD-MM-YYYY,可選擇是否填寫)

  • -y: --end-date- 過濾物件的結束日期 (DD-MM-YYYY,可選)

  • --data-type- 要匯出的資料 (支援類型:Dump、QueryEvent, QueryHistory, 可選)

  • --max-size- 以 MB 為單位的最大下載大小 (預設值: 500MB )

  • --help- 顯示此說明並離開

範例指令:

./bucket_data_migration.sh \
    --source-endpoint <source-endpoint> \
    --source-bucket <source-bucket> \
    --source-access-key <source-access-key> \
    --source-secret-key <source-secret-key> \
    --source-base-path <source-base-path> \
    --dest-endpoint <dest-endpoint> \
    --dest-bucket <dest-bucket> \
    --dest-access-key <dest-access-key> \
    --dest-secret-key <dest-secret-key> \
    --dest-base-path <dest-base-path> \
    --instance-id <instance-id> \
    --engine-type <engine-type> \
    --engine-id <engine-id> \
    --start-date <start-date> \
    --end-date <end-date> \
    --data-type <data-type> \
    --max-size <max-size>

透過手動方法管理診斷數據

  1. 執行以下命令建立一個表格來儲存使用 qhmm_import_sre.sh 產生的查詢事件資料:
` CREATE TABLE IF NOT EXISTS <catalog>.diag.query_event_raw (
  record VARCHAR,
  dt VARCHAR
)
WITH (
  external_location = 's3a://<bucket>/qhmm/<instance-id>/<engine>/<engine-id>/QueryEvent/',
  format = 'textfile',
  partitioned_by = ARRAY['dt']
);`
  1. 執行以下命令建立一個表,用於儲存JSON格式的查詢歷史資料:
` CREATE TABLE IF NOT EXISTS <catalog>.diag.query_history(
  query_id VARCHAR,
  query VARCHAR,
  state VARCHAR,
  source VARCHAR,
  created VARCHAR,
  started VARCHAR,
  "end" VARCHAR,
  dt VARCHAR,
  user VARCHAR)
WITH (
  external_location = 's3a://<bucket>/qhmm/<instance-id>/<engine>/<engine-id>/QueryHistory/',
  format = 'JSON',
  partitioned_by = ARRAY['dt','user']
);`