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

VMware Integrated OpenStack 支援剖析 Cinder、Glance、Heat、Neutron 和 Nova 命令。您可以儲存 Ceilometer 或 vRealize Log Insight 的 Profiler 追蹤資料。

先決條件

  • 如果您想要使用 Ceilometer 儲存追蹤資料,請啟用 Ceilometer。請參閱〈啟用 Ceilometer 元件〉

  • 如果您想要使用 vRealize Log Insight 儲存追蹤資料,請部署並設定 vRealize Log Insight。請參閱 vRealize Log Insight 對應的入門文件。

程序

  1. viouser 身分登入 OpenStack 管理伺服器
  2. 如果您的部署未使用 custom.yml 檔案,請將範本 custom.yml 檔案複製到 /opt/vmware/vio/custom 目錄。
    sudo mkdir -p /opt/vmware/vio/custom
    sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
  3. 取消 os_profiler_enabled 參數的註解,並將其值設定為 True
  4. 取消 os_profiler_hmac_keys 參數的註解,然後輸入 OSProfiler 的密碼。
  5. 如果您使用的是 vRealize Log Insight,請取消 os_profiler_connection_string 參數的註解並將其值設定為 vRealize Log Insight 伺服器的位置。

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

    指定在 vRealize Log Insight 部署中具有 USER 角色之使用者的使用者名稱和密碼。

  6. 部署已更新的組態。
    sudo viocli deployment configure

    部署組態會暫時中斷 OpenStack 服務。

  7. 如果您使用的是 vRealize Log Insight,請登入控制器節點,並將 OSPROFILER_CONNECTION_STRING 環境變數設為您在步驟 5 中使用的 vRealize Log Insight 伺服器位址。
    export OSPROFILER_CONNECTION_STRING="loginsight://username:password@loginsight-ip"

結果

您現在可以啟用對 OpenStack 命令的剖析。使用 --profile 參數執行所需的命令,並指定您的 OSProfiler 密碼。命令會輸出剖析追蹤 UUID。使用此 UUID 執行 OSProfiler,以產生報告。例如:

cinder list --profile osprofiler-password
osprofiler trace show --html profiling-uuid