采用奥斯陆 Guru Meditation 报告¶
https://blueprints.launchpad.net/heat/+spec/guru-meditation-report
本规范在 Heat 中采用奥斯陆 Guru Meditation 报告。该功能将增强所有 Heat 服务的调试能力,通过提供一种简单便捷的方式来收集当前线程和配置等调试数据,供开发人员、操作员和技术支持在生产部署中使用。
问题描述¶
目前,Heat 无法提供收集活动服务进程状态数据的方式。可供部署者、开发人员和技术支持使用的唯一信息是服务实际记录的日志。额外的数据可以有效地用于调试和解决 Heat 操作过程中出现的问题。我们可能对绿色线程和真实线程的堆栈跟踪、pid/ppid 信息、软件包版本、服务看到的配置等感兴趣。
奥斯陆 Guru Meditation 报告提供了一种简单的方法来添加对从任何服务收集实时状态信息的支持。报告生成是通过向服务发送一个特殊信号(USR1)来触发的。报告生成在 stderr 上,可以根据需要管道到系统日志中。
Nova 已经支持奥斯陆 Guru Meditation 报告。
提议的变更¶
首先,应将 oslo-incubator 模块(reports.*)同步到 heat 树中。然后,每个服务进程需要在服务启动()之前初始化错误报告系统。
备选方案¶
无
实现¶
负责人¶
- 主要负责人
zhangtralon
里程碑¶
- 完成目标里程碑
liberty-1
工作项¶
同步 oslo-incubator 中的 reports.* 模块
在 heat/bin/ 下的所有 heat 服务中采用它
添加一些开发者文档,说明如何使用此功能
依赖项¶
[1] oslo-incubator 模块: http://git.openstack.org/cgit/openstack/oslo-incubator/tree/openstack/common/report [2] nova guru meditation 报告: https://blueprints.launchpad.net/nova/+spec/guru-meditation-report [3] 关于 nova guru 报告的博客: https://www.berrange.com/posts/2015/02/19/nova-and-its-use-of-olso-incubator-guru-meditation-reports/ [4] oslo.reports 仓库: https://github.com/directxman12/oslo.reports