您可以使用 OSProfiler 为 OpenStack 部署中的核心服务启用跟踪功能。跟踪功能将捕获 OpenStack 操作中所有 API、RPC、驱动程序和数据库调用的响应时间。

VMware Integrated OpenStack 支持探查 Cinder、Glance、Heat、Neutron 和 Nova 命令。您可以存储 Ceilometer 或 vRealize Log Insight 的探查器跟踪数据。

前提条件

  • 如果要使用 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