您可以使用 OSProfiler 為 OpenStack 部署中的核心服務啟用追蹤。追蹤會擷取 OpenStack 作業中所有 API、RPC、驅動程式和資料庫呼叫的回應時間。

VMware Integrated OpenStack 支援剖析 Cinder、Glance、Heat、Neutron、Nova 和 Keystone 命令。Profiler 追蹤資料儲存在 vRealize Log Insight 中。

必要條件

部署和設定 vRealize Log Insight。請參閱 vRealize Log Insight 對應的入門文件。

程序

  1. root 使用者身分登入 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 修改要剖析的服務的組態。
    viocli update service-name
  3. 建立 profiler 區段。
  4. 新增 enabled 參數,並將其值設定為 true
  5. 如果您想要追蹤資料庫呼叫,請新增 trace_sqlalchemy 參數並將其值設定為 true
  6. 新增 hmac_keys 參數,然後輸入 OSProfiler 的密碼。
  7. 新增 connection_string 參數,並將其值設定為 vRealize Log Insight 伺服器的位置。

    採用下列格式輸入 vRealize Log Insight 伺服器位址:loginsight://username:password@loginsight-ip

    指定在 vRealize Log Insight 部署中具有 USER 角色之使用者的使用者名稱和密碼。在使用者名稱或密碼中使用任何特殊字元的百分比編碼。例如,將冒號 (:) 取代為 %3A,將 @ 符號取代為 %40

    現在,組態檔類似於以下內容。
    conf:
      [...]
    profiler:
      enabled: true
      trace_sqlalchemy: true
      hmac_keys: osprofiler-password
      connection_string: loginsight://username:password@loginsight-ip

結果

您現在可以啟用對 OpenStack 命令的剖析。使用 --profile 參數執行所需的命令,並指定您的 OSProfiler 密碼。命令會輸出剖析追蹤 UUID。然後,透過剖析追蹤 UUID 和 vRealize Log Insight 位址執行 OSProfiler 來產生報告。下列範例會剖析 openstack volume list 命令:

openstack --profile osprofiler-password volume list
osprofiler trace show --connection-string "loginsight://username:password@loginsight-ip" --html profiling-uuid