您可以使用 OSProfiler 为 OpenStack 部署中的核心服务启用跟踪功能。跟踪功能将捕获 OpenStack 操作中所有 API、RPC、驱动程序和数据库调用的响应时间。
VMware Integrated OpenStack 支持探查 Cinder、Glance、Heat、Neutron 和 Nova 命令。您可以存储 Ceilometer 或 vRealize Log Insight 的探查器跟踪数据。
过程
- 以
viouser
用户身份登录到 OpenStack 管理服务器。
- 如果您的部署未使用 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
- 取消对 os_profiler_enabled 参数的注释并将其值设置为 True。
- 取消对 os_profiler_hmac_keys 参数的注释,然后输入 OSProfiler 的密码。
- 如果您使用的是 vRealize Log Insight,请取消对 os_profiler_connection_string 参数的注释并将其值设置为 vRealize Log Insight 服务器的位置。
采用以下格式输入 vRealize Log Insight 服务器地址:"loginsight://username:password@loginsight-ip"
指定在 vRealize Log Insight 部署中具有 USER
角色的用户的用户名和密码。
- 部署更新的配置。
sudo viocli deployment configure
部署此配置会短暂中断 OpenStack 服务。
- 如果您使用的是 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