第2章 ロギングの設定
本章では、さまざまな Ceph サブシステムのロギングを設定する方法について説明します。
ロギングはリソース集約型です。また、詳細ロギングは、比較的短い時間で大量のデータを生成できます。クラスターの特定のサブシステムで問題が発生した場合は、そのサブシステムのロギングのみを有効にします。詳細は、「Ceph サブシステム」 を参照してください。
さらに、ログファイルのローテーションを設定することも検討してください。詳しくは、「ログローテーションの頻度を上げる」 を参照してください。
発生した問題を解決したら、サブシステムのログとメモーリのレベルをデフォルトの値に変更します。すべての Ceph サブシステムのリストおよびそのデフォルト値については、付録A Ceph サブシステムのデフォルトログレベルの値 を参照してください。
以下を行って Ceph ロギングを設定できます。
-
ランタイム時に
ceph
コマンドを使用します。これは最も一般的な方法です。詳しくは、「実行時のロギング設定」 を参照してください。 - Ceph 設定ファイルの更新クラスターの起動時に問題が発生した場合は、このアプローチを使用します。詳しくは、「設定ファイルでのロギングの設定」 を参照してください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
2.1. Ceph サブシステム
本項では、Ceph サブシステムとそれらのログレベルについて説明します。
Ceph サブシステムおよびログレベルの理解
Ceph は複数のサブシステムで設定されます。
各サブシステムには、以下のログレベルがあります。
-
デフォルトで
/var/log/ceph/CLUSTER_FSID/
ディレクトリー (ログレベル) に保存されている出力ログ - メモリーキャッシュ (メモリーレベル) に保存されるログ
通常、Ceph は以下でない限り、メモリーに保存されているログを出力ログに送信しません。
- 致命的なシグナルが発生した
- ソースコードの assert がトリガーされた
- ユーザーがリクエストした
これらのサブシステムごとに異なる値を設定できます。Ceph のロギングレベルは、1
から 20
の範囲で動作します。1
は簡潔で、20
は詳細です。
ログレベルおよびメモリーレベルに単一の値を使用して、両方の値を同じ値に設定します。たとえば、debug_osd = 5
の場合には、ceph-osd
デーモンのデバッグレベルを 5
に設定します。
出力ログレベルとメモリーレベルで異なる値を使用するには、値をスラッシュ (/
) で区切ります。たとえば、debug_mon = 1/5
の場合は、ceph-mon
デーモンのデバッグログレベルを 1
に設定し、そのメモリーログレベルを 5
に設定します。
サブシステム | ログレベル | メモリーレベル | 説明 |
---|---|---|---|
| 1 | 5 | 管理ソケット |
| 1 | 5 | 認証 |
| 0 | 5 |
クラスターに接続するために |
| 1 | 5 | BlueStore OSD バックエンド |
| 1 | 5 | OSD ジャーナル |
| 1 | 5 | メタデータサーバー |
| 0 | 5 | Monitor クライアントは、ほとんどの Ceph デーモンとモニター間の通信を処理します。 |
| 1 | 5 | モニター |
| 0 | 5 | Ceph コンポーネント間のメッセージングシステム |
| 0 | 5 | OSD デーモン |
| 0 | 5 | Monitor がコンセンサスを得るために使用するアルゴリズム |
| 0 | 5 | Ceph のコアコンポーネントである、信頼できる Autonomic Distributed Object Store |
| 0 | 5 | Ceph ブロックデバイス |
| 1 | 5 | Ceph Object Gateway |
ログ出力の例
以下の例は、Monitor および OSD の詳細度を上げた場合の、ログのメッセージタイプを示しています。
Monitor デバッグ設定
debug_ms = 5 debug_mon = 20 debug_paxos = 20 debug_auth = 20
Monitor デバッグ設定のログ出力の例
2022-05-12 12:37:04.278761 7f45a9afc700 10 mon.cephn2@0(leader).osd e322 e322: 2 osds: 2 up, 2 in 2022-05-12 12:37:04.278792 7f45a9afc700 10 mon.cephn2@0(leader).osd e322 min_last_epoch_clean 322 2022-05-12 12:37:04.278795 7f45a9afc700 10 mon.cephn2@0(leader).log v1010106 log 2022-05-12 12:37:04.278799 7f45a9afc700 10 mon.cephn2@0(leader).auth v2877 auth 2022-05-12 12:37:04.278811 7f45a9afc700 20 mon.cephn2@0(leader) e1 sync_trim_providers 2022-05-12 12:37:09.278914 7f45a9afc700 11 mon.cephn2@0(leader) e1 tick 2022-05-12 12:37:09.278949 7f45a9afc700 10 mon.cephn2@0(leader).pg v8126 v8126: 64 pgs: 64 active+clean; 60168 kB data, 172 MB used, 20285 MB / 20457 MB avail 2022-05-12 12:37:09.278975 7f45a9afc700 10 mon.cephn2@0(leader).paxosservice(pgmap 7511..8126) maybe_trim trim_to 7626 would only trim 115 < paxos_service_trim_min 250 2022-05-12 12:37:09.278982 7f45a9afc700 10 mon.cephn2@0(leader).osd e322 e322: 2 osds: 2 up, 2 in 2022-05-12 12:37:09.278989 7f45a9afc700 5 mon.cephn2@0(leader).paxos(paxos active c 1028850..1029466) is_readable = 1 - now=2021-08-12 12:37:09.278990 lease_expire=0.000000 has v0 lc 1029466 .... 2022-05-12 12:59:18.769963 7f45a92fb700 1 -- 192.168.0.112:6789/0 <== osd.1 192.168.0.114:6800/2801 5724 ==== pg_stats(0 pgs tid 3045 v 0) v1 ==== 124+0+0 (2380105412 0 0) 0x5d96300 con 0x4d5bf40 2022-05-12 12:59:18.770053 7f45a92fb700 1 -- 192.168.0.112:6789/0 --> 192.168.0.114:6800/2801 -- pg_stats_ack(0 pgs tid 3045) v1 -- ?+0 0x550ae00 con 0x4d5bf40 2022-05-12 12:59:32.916397 7f45a9afc700 0 mon.cephn2@0(leader).data_health(1) update_stats avail 53% total 1951 MB, used 780 MB, avail 1053 MB .... 2022-05-12 13:01:05.256263 7f45a92fb700 1 -- 192.168.0.112:6789/0 --> 192.168.0.113:6800/2410 -- mon_subscribe_ack(300s) v1 -- ?+0 0x4f283c0 con 0x4d5b440
OSD デバッグ設定
debug_ms = 5 debug_osd = 20
OSD デバッグ設定のログ出力の例
2022-05-12 11:27:53.869151 7f5d55d84700 1 -- 192.168.17.3:0/2410 --> 192.168.17.4:6801/2801 -- osd_ping(ping e322 stamp 2021-08-12 11:27:53.869147) v2 -- ?+0 0x63baa00 con 0x578dee0 2022-05-12 11:27:53.869214 7f5d55d84700 1 -- 192.168.17.3:0/2410 --> 192.168.0.114:6801/2801 -- osd_ping(ping e322 stamp 2021-08-12 11:27:53.869147) v2 -- ?+0 0x638f200 con 0x578e040 2022-05-12 11:27:53.870215 7f5d6359f700 1 -- 192.168.17.3:0/2410 <== osd.1 192.168.0.114:6801/2801 109210 ==== osd_ping(ping_reply e322 stamp 2021-08-12 11:27:53.869147) v2 ==== 47+0+0 (261193640 0 0) 0x63c1a00 con 0x578e040 2022-05-12 11:27:53.870698 7f5d6359f700 1 -- 192.168.17.3:0/2410 <== osd.1 192.168.17.4:6801/2801 109210 ==== osd_ping(ping_reply e322 stamp 2021-08-12 11:27:53.869147) v2 ==== 47+0+0 (261193640 0 0) 0x6313200 con 0x578dee0 .... 2022-05-12 11:28:10.432313 7f5d6e71f700 5 osd.0 322 tick 2022-05-12 11:28:10.432375 7f5d6e71f700 20 osd.0 322 scrub_random_backoff lost coin flip, randomly backing off 2022-05-12 11:28:10.432381 7f5d6e71f700 10 osd.0 322 do_waiters -- start 2022-05-12 11:28:10.432383 7f5d6e71f700 10 osd.0 322 do_waiters -- finish