重构 Glance 日志记录

目前 Glance 正在将大量对运维人员有用的信息记录为 DEBUG 级别。 此外,记录的消息以各种方式翻译。 我希望重构整个 Glance 代码库,以反映当前的日志记录指南 [1]。

问题描述

运维人员抱怨整个 OpenStack 没有适当利用日志级别,并且生产环境的实现需要在 DEBUG 级别运行才能从日志中获取所需的信息。

Glance 正在将大量对运维人员有用的信息记录为 DEBUG 级别。 [1]

提议的变更

我希望对整个 Glance 代码库进行审查,并将日志记录更改为使用适当的日志级别,并反映相应级别的翻译函数。 这也将是一个很好的机会,以确保我们没有留下任何将敏感信息(如 URI 和凭据)写入日志文件的日志记录。

统一记录异常的方式。 应该始终记录异常消息,以确保运维人员可以根据最终用户的问题描述找到该事件。

备选方案

我们可以实现错误代码来区分发送给用户和记录的消息,同时仍然保持两者之间的唯一关联。 这会增加文档的开销,但可以提供更大的灵活性和粒度。

数据模型影响

REST API 影响

安全影响

这将增强我们不记录敏感/机密信息的信心。 [2]

通知影响

一些通知消息可能会有轻微的更改。

其他最终用户影响

性能影响

这不应该对性能产生影响,除了纠正所做的翻译函数调用的数量之外。

其他部署者影响

拥有自己日志过滤规则的用户需要在更改日志级别后审查这些规则。

开发人员影响

在正确的日志级别上进行日志记录应该使开发人员在尝试调试代码时更容易。

实现

负责人

主要负责人

Erno Kuvaja <jokke>

其他贡献者

<launchpad-id 或 None>

工作项

  • 审查 OpenStack 日志记录指南 [1][2]

  • 审查当前的日志记录模式,并决定在何时更改消息内容(敏感数据等)。

  • 确定每条消息的正确日志级别,并使在该日志级别上使用的翻译函数保持一致。

依赖项

  • 安全指南草案 [2] 中相关的提案,即在 oslo 中实现一些清理和标记。 这既不是依赖关系,也不应该影响这项工作,除非所提出的功能得以实现,则可能进行采用。

测试

文档影响

应该记录新的日志级别用例,以便部署者知道从他们的日志中可以期待什么。

参考资料

[1] https://wiki.openstack.org/wiki/LoggingStandards [2] https://wiki.openstack.org/wiki/Security/Guidelines/logging_guidelines