第 2 章 配置日志记录
本章介绍如何为各种 Ceph 子系统配置日志记录。
日志记录非常耗费资源。另外,详细日志记录可以在相对较短的时间内生成大量数据。您在集群的特定子系统中遇到问题,仅启用该子系统的日志记录。如需更多信息,请参阅 第 2.1 节 “Ceph 子系统”。
此外,还要考虑设置日志文件轮转。详情请查看 第 2.4 节 “加快日志轮转”。
修复遇到的任何问题后,将子系统日志和内存级别更改为默认值。有关所有 Ceph 子系统及其默认值的列表,请参见 附录 A, 子系统默认日志记录级别值。
您可以通过以下方法配置 Ceph 日志:
-
在运行时使用
ceph
命令。这是最常见的方法。详情请查看 第 2.2 节 “在运行时配置日志记录”。 - 更新 Ceph 配置文件.如果您在启动集群时遇到问题,请使用这种方法。详情请查看 第 2.3 节 “在 Ceph 配置文件中配置日志记录”。
2.1. Ceph 子系统 复制链接链接已复制到粘贴板!
本节包含 Ceph 子系统及其日志记录级别的信息。
了解 Ceph 子系统及其日志记录级别
Ceph 由多个子系统组成:每个子系统都有其日志记录级别:
-
输出默认存储在
/var/log/ceph/
目录中的日志(日志级别) - 存储在内存缓存中的日志(内存级别)
通常,Ceph 不会将内存中存储的日志发送到输出日志,除非:
- 引发致命信号
- 源代码中触发了 assert
- 您请求它
您可以为每个子系统设置不同的值。Ceph 日志记录级别按 1
到 20
的规模运行,其中 1
是 terse,20
详细。
对日志级别和内存级别使用单个值,以将它们都设置为相同的值。例如: debug_osd = 5
将 ceph-osd
守护进程的 debug 级别设置为 5
。
要将不同的值用于输出日志级别和内存级别,请使用正斜杠(/
)来分隔值。例如,debug_mon = 1/5
将 ceph-mon
守护进程的 debug 日志级别设置为 1
,并将其内存日志级别设置为 5
。
最常用的 Ceph 子系统及其默认值
子系统 | 日志级别 | 内存级别 | 描述 |
---|---|---|---|
| 1 | 5 | 管理套接字 |
| 1 | 5 | Authentication |
| 0 | 5 |
任何使用 |
| 1 | 5 | FileStore OSD 后端 |
| 1 | 5 | OSD 日志 |
| 1 | 5 | 元数据服务器 |
| 0 | 5 | monitor 客户端处理大部分 Ceph 守护进程和 monitor 之间的通信 |
| 1 | 5 | monitor |
| 0 | 5 | Ceph 组件之间的消息传递系统 |
| 0 | 5 | OSD 守护进程 |
| 0 | 5 | 监控用于建立共识的算法 |
| 0 | 5 | 可靠的自主分布式对象存储,Ceph 的核心组件 |
| 0 | 5 | Ceph 块设备 |
| 1 | 5 | Ceph 对象网关 |
日志输出示例
下例演示了当您提高 monitor 和 OSD 的详细程度时,日志中的消息类型。
监控调试设置
debug_ms = 5 debug_mon = 20 debug_paxos = 20 debug_auth = 20
debug_ms = 5
debug_mon = 20
debug_paxos = 20
debug_auth = 20
monitor 调试设置的日志输出示例
OSD 调试设置
debug_ms = 5 debug_osd = 20 debug_filestore = 20 debug_journal = 20
debug_ms = 5
debug_osd = 20
debug_filestore = 20
debug_journal = 20
OSD 调试设置的日志输出示例