您可以使用 OSProfiler 為 OpenStack 部署中的核心服務啟用追蹤。追蹤會擷取 OpenStack 作業中所有 API、RPC、驅動程式和資料庫呼叫的回應時間。
VMware Integrated OpenStack 支援剖析 Cinder、Glance、Heat、Neutron、Nova 和 Keystone 命令。Profiler 追蹤資料儲存在 vRealize Log Insight 中。
必要條件
部署和設定 vRealize Log Insight。請參閱 vRealize Log Insight 對應的入門文件。
程序
- 以
root
使用者身分登入 Integrated OpenStack Manager。
- 修改要剖析的服務的組態。
viocli update service-name
- 建立
profiler
區段。
- 新增 enabled 參數,並將其值設定為 true。
- 如果您想要追蹤資料庫呼叫,請新增 trace_sqlalchemy 參數並將其值設定為 true。
- 新增 hmac_keys 參數,然後輸入 OSProfiler 的密碼。
- 新增 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