Atlas プラットフォームのアクティビティをレビューするには、ログを使用してください。
Atlas ログの機能
監査ログへのアクセス
次の監査活動には、Atlas CLI、Atlas 管理API、または Atlas UI を使用できます。
監査するログを表示してダウンロードし、複数のユーザーによる配置のシステムイベントアクションを追跡します。Atlas 管理者は、カスタム監査フィルターを構成して、監査するアクション、データベースユーザー、Atlas ロール、および LDAP グループを選択できます。
MongoDB ログを表示・ダウンロードして、配置のログ イベント(受信接続、コマンドの実行、発生した問題など)を追跡します。ログ メッセージは主に、問題の診断、配置のモニタリング、パフォーマンスの調整に役立ちます。
Project Activity Feed と Organization Activity Feed でプロジェクトと組織のイベントを表示します。これらのアクティビティ フィードには、Atlas のアクセス、アラート構成、モニタリング、請求などに関連する変更を含む、組織またはプロジェクトレベルのすべてのイベントが一覧表示されます。
ユーザーがアクセス ログのクラスターに対して行うデータベース認証試行を表示します。アクセス ログとは、Atlas UI 内の Database access history を指します。Atlas では認証の成否にかかわらず、各試行のタイムスタンプと認証を試みたユーザーがログに記録されます。
監査ログへのプログラムによるアクセス
組み込み統合以外のツールと統合するには、次のプログラム ツールを使用してログを取得し、JSON形式の出力を外部ツールにフィードすることをお勧めします。
AWS S3 バケットにログを継続的にエクスポートするには、 1 つのログ統合を作成するための Atlas 管理APIエンドポイントを使用します。
配置ログとプロジェクト イベントのリストを検索するには、モニタリングとログおよびプロジェクトと組織のイベントのための Atlas 管理API エンドポイントを使用します。
配置ログを検索するには、Atlas CLI で atlas deployment logs コマンドを使用します。
Atlas のログ記録に関する推奨事項
以下の推奨事項は、すべての配置パラダイムに適用されます。
包括的監査を実施するには、監査ログ、MongoDB ログ メッセージ、プロジェクトと組織のアクティビティフィードを組み合わせて使用できます。
デフォルトでは、監査するログメッセージは、MongoDBによって設計された形式(mongo スキーマ)で返されます。mongoスキーマに従う監査ログメッセージには、常に次の情報が含まれます。
アクション タイプ(
atype)タイムスタンプ
クライアント接続ID(UUID)
クライアントの IP アドレスとポート番号
受信接続の IP アドレスとポート番号
ユーザー名
ユーザー認証データベース
ユーザー・ロール
ユーザー ロールのデータベース
paramイベントの具体的な詳細が記載されているドキュメント結果値またはエラー コード
監査アクション タイプの一覧とそれに関連する param の詳細および result 値については、「mongo スキーマ監査メッセージ」をご覧ください。
オートメーションの例: Atlas ログ記録
Tip
すべてのピリオドにわたって推奨事項を強制する Terraform の例については、 Githubの次のいずれかの例を参照してください。
次の例では、Atlas のオートメーションツールを使用してログを検索およびダウンロードし、監査を構成する方法を示します。
ログは検索およびダウンロードできます。アラートを検索することもできます。
ログを検索すると、最新のログファイルを取得して、リアルタイムに表示したりアクセスしたりできます。
ログをダウンロードすると、MongoDB Atlas からログ アーカイブを作成して、後で分析したり保存したりできます。
ログの検索
ログの検索機能を使って、クラスターの活動をリアルタイムに監視・調査したり、最新ログの問題をトラブルシューティングしたりします。
クラスター内の各 およびインスタンスは、他の インスタンスとは異なる内容を持つ可能性のある独自のMongoDBログと監査するログメッセージを出力します。これらのログメッセージは、 atlas deployment logs コマンドを使用して、Atlas CLI で表示できます。
クラスター内のインスタンスの監査するログエントリを取得するには、ホスト名を指定し、監査するログファイルの名前として mongodb-audit-log.gz を指定します。
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongodb-audit-log.gz
シャーディングされたクラスター内のインスタンスの監査ログ エントリを検索するには、ホスト名を入力して、監査ログファイル名として mongos-audit-log.gz を指定します。
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongos-audit-log.gz
MongoDB ログメッセージを検索するには、インスタンスのホスト名を入力し、ログファイル名をそれぞれ mongodb.gz または mongos.gz と指定します。
atlas deployments logs --output json --type atlas --hostname cluster0-shard-00-00.a1b2c.mongodb.net --name mongodb.gz
Atlas accessLogs list コマンドを使用して、ノードまたはクラスターのアクセスログを表示することもできます。アクセスログは、指定されたノードまたはクラスターに対するすべての認証リクエストのJSON形式のリストです。
アクセス ログを検索するには、atlas accessLogs list コマンドを実行して、検索対象となるノードまたはクラスターのホスト名またはクラスター名を指定します。
atlas accessLogs list --output json --clusterName Cluster0
ログのダウンロード
ログをダウンロードして、過去のログを中心に監査やパフォーマンスの分析をしたり、アーカイブしたりできます。
クラスター内の各インスタンスには、固有の MongoDB ログ と監査ログがあり、ログの内容は他のインスタンスと異なる可能性があります。アプリケーションの観点からは、インスタンスは他の MongoDB インスタンスと同様に動作しますが、それらのログには MongoDB におけるロールに特有の情報が含まれています。
の ログ には、データリクエスト、データアクセス情報、 MongoDBのバックグラウンド管理操作が含まれています。
の ログには、シャーディングされたクラスター内の シャード へのクエリと書込み (write) 操作のルーティングに関する情報が含まれています。
Atlas CLI コマンド「atlas logs download」を使用すると各ログを圧縮ファイル形式でダウンロードできます。
クラスター内のインスタンスの監査ログをダウンロードするには、ホスト名と監査ログファイル名 mongodb-auditlog.gz を引数として指定します。このファイル名はここで例として使用されていますが、別の名前を使用することもできます。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb-audit-log.gz
シャーディングされたクラスター配置のインスタンスの監査するログをダウンロードするには、ホスト名と監査するログファイル名 mongos-auditlog.gz を引数として指定します。このファイルの名前は例として使用されており、別の名前を使用できます。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongos-audit-log.gz
インスタンスの MongoDB ログをダウンロードするには、インスタンスのホスト名、およびそれぞれのログファイル名「mongodb.gz 」または「mongos.gz 」を引数として指定します。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb.gz
すべてのプロジェクト アラートの検索
プロジェクト イベントまたは組織イベントによってトリガーされるアラートを返すには、次の Atlas CLI コマンドを使用できます。Atlas では、Replica set has no primary と User joined the project アラートがデフォルトで発せられます。これらのイベントではプロジェクト内や組織内における重要なアクティビティや変更のレコードが提供されます。例として、重要なデータベース、請求、セキュリティ活動やステータスの変更が挙げられます。
プロジェクトや組織に関するアラートをトリガーするイベントをカスタマイズするには、「アラート設定の構成」を参照してください。
プロジェクトまたは組織のすべてのログ イベントの検索
Project Activity Feed または Organization Activity Feed からプロジェクト イベントまたは組織イベントを取得するには、次の Atlas CLI コマンドを使用できます。
組織のすべてのイベントを取得するには、atlas events organizations list コマンドを使用し、組織ID を指定します。次のコマンドを使用すると、ID 5dd5a6b6f10fab1d71a58495 の組織のイベント リストが JSON 形式で返されます。
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
プロジェクトのすべてのイベントを取得するには、atlas events projects list コマンドを使用し、グループ ID を指定します。次のコマンドを使用すると、ID 64ac57bfe9810c0263e9d655 のプロジェクトのイベント リストが JSON 形式で返されます。
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
クラスター全体のすべてのクエリ ログのダウンロード
クラスター全体のクエリ ログをダウンロードするには、必要な権限を取得し、Atlas UI でクラスターを選択してから [Online Archive] をクリックして以下を実行します。
<cluster-name>_cluster_archive_<start-date>_<end-date>_queries.log.gz
ログの検索
Terraform ではログを検索できません。代わりに、次の Atlas Administration APIエンドポイントを使用します。
アクセス トラッキング 管理API を使用して、クラスター名またはホスト名で識別されるデータベースのすべての認証試行のアクセス ログを返します。
指定されたホストのログメッセージを含むログファイルを検索するには、モニタリングおよびログの API を使用します。