devstack dashboard 开启开发者选项 和 OpenStack Profiler

在ocata的版本中,引入了一个新的“openstack profiler”的面板,启用openstack profiler可以方便的看到访问horizon页面时的API调用情况。如下图所示: image 下面介绍如何启用 openstack profiler,首先需要一个正常运行的devstack环境,启用方法如下

安装mongoDB

Horizon会将API调用过程的数据都保存到mongodb中,mongodb可以安装在本机,也可以在本机能够访问的任意一台机器上。

1. 安装软件包

1
# yum install mongodb-server mongodb -y

2. 编辑文件 /etc/mongod.conf 并完成如下动作:

  • 配置 bind_ip 使用本机 ip 或者 0.0.0.0。
    1
    
    bind_ip = 192.168.3.222
    
  • 默认情况下,MongoDB会在/var/lib/mongodb/journal 目录下创建几个 1 GB 大小的日志文件。如果你想将每个日志文件大小减小到128MB并且限制日志文件占用的总空间为512MB,配置 smallfiles 的值:
    1
    
    smallfiles = true
    

3. 启动MongoDB 并配置它随系统启动

1
2
# systemctl enable mongod.service
# systemctl start mongod.service

配置 horizon

1. 复制文件

1
2
3
4
5
$ cd /opt/stack/horizon
$ cp openstack_dashboard/contrib/developer/enabled/_9001_developer.py openstack_dashboard/local/enabled/
$ cp openstack_dashboard/contrib/developer/enabled/_9030_profiler.py openstack_dashboard/local/enabled/
$ cp openstack_dashboard/contrib/developer/enabled/_9010_preview.py openstack_dashboard/local/enabled/
$ cp openstack_dashboard/local/local_settings.d/_9030_profiler_settings.py.example openstack_dashboard/local/local_settings.d/_9030_profiler_settings.py

2. 编辑 _9030_profiler_settings.py 文件,修改 mongoDB 相关配置

修改 OPENSTACK_HOST 为mongoDB所在地址

1
2
3
4
5
6
7
8
$ vim openstack_dashboard/local/local_settings.d/_9030_profiler_settings.py

OPENSTACK_PROFILER.update({
    'enabled': True,
    'keys': ['SECRET_KEY'],
    'notifier_connection_string': 'mongodb://192.168.3.222:27017',
    'receiver_connection_string': 'mongodb://192.168.3.222:27017'
})

3. 重启 horizon,重新登录 dashboard ,会发现右上角有一个 Profile 下拉菜单,如下图:

image 如果要获取当前页面的API调用数据,点击 Profile Current Page 会重新刷新页面,加载完成后,到 Developer 下面的 OpenStack Profiler 页面就会看到页面加载过程的详细数据。


参考文章: [孔令贤-OpenStack Horizon Profiling][http://lingxiankong.github.io/blog/2017/01/30/horizon-profiling/] [OpenStack Installation Guide for Red Hat Enterprise Linux and CentOS][https://docs.openstack.org/mitaka/install-guide-rdo/environment-nosql-database.html]

一个默默无闻的工程师的日常
Built with Hugo
主题 StackJimmy 设计