13.4. ログファイルの収集
journalctl
コマンドを使用して、すべてのデーモンのログファイルを収集できます。
これらのコマンドはすべて、cephadm
シェルの外部で実行する必要があります。
デフォルトでは、Cephadm はログを journald に格納します。つまり、デーモンログは /var/log/ceph
では利用できなくなります。
特定のデーモンのログファイルを読み取るには、次のコマンドを実行します。
構文
cephadm logs --name DAEMON_NAME
例
[root@host01 ~]# cephadm logs --name cephfs.hostname.ppdhsz
このコマンドは、デーモンが実行されているホストと同じホスト上で実行すると機能します。
別のホストで実行されている特定のデーモンのログファイルを読み取るには、次のコマンドを実行します。
構文
cephadm logs --fsid FSID --name DAEMON_NAME
例
[root@host01 ~]# cephadm logs --fsid 2d2fd136-6df1-11ea-ae74-002590e526e8 --name cephfs.hostname.ppdhsz
ここで、
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
例
[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; done