12.4. 收集日志文件
您可以使用 journalctl 命令为所有守护进程收集日志文件。
注意
您必须在 cephadm shell 之外运行所有这些命令。
注意
默认情况下,Cephadm 将日志存储在 journald 中,这意味着守护进程日志在 /var/log/ceph 中不再可用。
要读取特定守护进程的日志文件,请运行以下命令:
语法
cephadm logs --name DAEMON_NAME
cephadm logs --name DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
cephadm logs --name cephfs.hostname.ppdhsz
[root@host01 ~]# cephadm logs --name cephfs.hostname.ppdhszCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注意
在运行守护进程的同一主机上运行时,此命令可以正常工作。
要读取在不同主机上运行的特定守护进程的日志文件,请运行以下命令:
语法
cephadm logs --fsid FSID --name DAEMON_NAME
cephadm logs --fsid FSID --name DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
cephadm logs --fsid 2d2fd136-6df1-11ea-ae74-002590e526e8 --name cephfs.hostname.ppdhsz
[root@host01 ~]# cephadm logs --fsid 2d2fd136-6df1-11ea-ae74-002590e526e8 --name cephfs.hostname.ppdhszCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
fsid是ceph status命令提供的集群 ID。要获取给定主机上所有守护进程的所有日志文件,请运行以下命令:
语法
for name in $(cephadm ls | python3 -c "import sys, json; [print(i['name']) for i in json.load(sys.stdin)]") ; do cephadm logs --fsid FSID_OF_CLUSTER --name "$name" > $name; done
for name in $(cephadm ls | python3 -c "import sys, json; [print(i['name']) for i in json.load(sys.stdin)]") ; do cephadm logs --fsid FSID_OF_CLUSTER --name "$name" > $name; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
for name in $(cephadm ls | python3 -c "import sys, json; [print(i['name']) for i in json.load(sys.stdin)]") ; do cephadm logs --fsid 57bddb48-ee04-11eb-9962-001a4a000672 --name "$name" > $name; done
[root@host01 ~]# for name in $(cephadm ls | python3 -c "import sys, json; [print(i['name']) for i in json.load(sys.stdin)]") ; do cephadm logs --fsid 57bddb48-ee04-11eb-9962-001a4a000672 --name "$name" > $name; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow