MongoDB エンジニアがサーバーの動作を分析できるように、 mongod
およびmongos
プロセスにはフルタイムの診断データ収集(FTDC)メカニズムが含まれています。 FTDC はデフォルトで有効になっています。 配置のデバッグのために重要な機能であることから、FTDC スレッドの障害は致命的なものであり、親のmongod
またはmongos
プロセスが停止します。
動作
注意
Windows での FTDC ユーザー権限
Windows では、ディスク、CPU、メモリなどのシステム データを収集するために、FTDC に次のグループからの Microsoft アクセス許可が必要です。
パフォーマンス モニター ユーザー
Performance Log Users
mongod
と mongos
を実行中ユーザーが管理者でない場合は、これらのグループに追加して FTDC データをログ。詳細については、こちら のMicrosoftドキュメント をご覧ください。
FTDC では、次のコマンドによって生成された統計情報を定期的に収集します。
local.oplog.rs
コレクションのcollStats
(mongod
のみ)
ホストのオペレーティングシステムによっては、診断データに次の使用率統計が 1 つ以上含まれる場合があります。
CPU使用率
メモリ使用率
パフォーマンスに関連するディスク使用率。FTDC にはストレージ キャパシティーに関するデータは含まれません。
ネットワークパフォーマンスの統計情報。FTDC で取得されるのはメタデータのみで、ネットワーク パケットの取得や検査は行われません。
注意
FTDC は、ファイルのローテーションまたはスタートアップ時に次のコマンドによって生成された統計情報を収集します。
FTDC データファイル
mongod
プロセスでは、インスタンス storage.dbPath
の下の diagnostic.data
ディレクトリに FTDC データファイルを保存します。すべてのデータファイルはこのディレクトリに保存されます。たとえば dbPath
が/data/db
の場合、データディレクトリは /data/db/diagnostic.data
になります。
mongos
プロセスでは、systemLog.path
ログパス設定に関連付けられた診断ディレクトリに FTDC データファイルが保存されます。MongoDB では、ログパスのファイル拡張子が切り捨てられ、残りの名前に diagnostic.data
が連結されます。たとえば path
の設定が/var/log/mongodb/mongos.log
の場合、診断データディレクトリは/var/log/mongodb/mongos.diagnostic.data
になります。
FTDC プライバシー
FTDC データ ファイルは圧縮されており、人間が判読することはできません。これらは、MongoDB のデータファイルと同じファイル アクセス権限を継承します。FTDC データファイルにアクセスできるユーザーのみが FTDC データを送信できます。
MongoDB エンジニアは、システム所有者またはオペレーターの明示的な許可と支援がなければ、FTDC データにアクセスすることはできません。
FTDCのデータには、以下の情報は一切含まれません。
クエリ、クエリ述語、またはクエリ結果のサンプル
エンドユーザーのコレクションまたはインデックスからサンプリングされたデータ
システムまたは MongoDB のユーザー認証情報またはセキュリティ証明書
FTDC データには、ホスト名、オペレーティング システム情報、 mongod
または mongos
の起動に使用されるオプションや設定など、特定のホスト マシン情報が含まれています。この情報は、一部の組織または規制機関によって保護された情報または機密情報とみなされる場合がありますが、通常は個人を特定できる情報 (PII) とはみなされません。これらのフィールドが保護されたデータ、機密データ、または PII データで構成されているクラスターの場合は、適切なセキュリティ対策を調整するために、FTDC データを送信する前に MongoDB エンジニアに通知してください。
詳細
FTD Cのソースコードは MongoDB Githubリポジトリ で閲覧できます。ftdc_system_stats_*.ccp
ファイルは、取得されたシステム固有の診断データを具体的に定義します。
FTDC のデフォルト
FTDC は、次のデフォルトで動作します。
1 秒ごとのデータキャプチャ
最大 200MB の
diagnostic.data
フォルダサイズ。
これらのデフォルトは、パフォーマンスやストレージ サイズへの影響を最小限に抑えながら、MongoDB エンジニアに有用なデータを提供するように設計されています。これらの値は、MongoDB エンジニアが特定の診断目的で要求した場合にのみ変更する必要があります。
FTDC を無効化
FTDC を無効にするには、構成ファイルの setParameter
設定内で mongod
または mongos
をdiagnosticDataCollectionEnabled: false
と共に起動します。
setParameter: diagnosticDataCollectionEnabled: false
FTDC を無効にすると、MongoDB エンジニアのサポートを受けて問題を分析またはデバッグする際に必要な時間やリソースが増加する可能性があります。MongoDB サポートの詳細については、 「MongoDB サポートの開始」を参照してください。