Atlas プラットフォームのアクティビティを確認するには、 ログ を使用します。
Atlas Logging の機能
監査ログへのアクセス
次の監査アクティビティには、 Atlas CLI、 Atlas Administration API、または Atlas UIを使用できます。
監査するログを表示してダウンロードし、複数のユーザーによる配置のシステムイベントアクションを追跡します。 Atlas 管理者は、カスタム監査フィルターを構成して、監査するアクション、データベースユーザー、Atlas ロール、 LDAP グループを選択できます。
プロジェクトと組織のイベントを Project Activity FeedとOrganization Activity Feed で表示します。これらのアクティビティ フィードには、Atlas のアクセス、アラート構成、モニタリング、請求などに関連する変更を含む、組織またはプロジェクトレベルのすべてのイベントが一覧表示されます。
アクセス Database access historyログでユーザーがクラスターに対して行うデータベース認証試行を表示します(Atlas UIの )。 Atlas は、各試行のタイムスタンプや認証を試みたユーザーなど、成功および失敗した認証試行の両方を記録します。
監査ログへのプログラムによるアクセス
組み込み統合以外のツールと統合するには、次のプログラム ツールを使用してログを取得し、 JSON形式の出力を外部ツールにフィードすることをお勧めします。
AWS S3 バケットにログを継続的にプッシュするには、プッシュベースのログ エクスポート用の Atlas Administration API エンドポイントを使用します。
プロジェクトイベントの配置ログとリストを検索するには、Atlas Administration API のモニタリングとログ 、 プロジェクトと組織のイベント のエンドポイントを使用します。
デプロイメント ログを検索するには、Atlas CLI で atlas deployment logs コマンドを使用します。
Atlas のログ記録に関する推奨事項
次の推奨事項は、すべての 配置パラダイムに適用されます。
完全な監査するを実行するには、監査するログ 、 MongoDBログメッセージ 、プロジェクトおよび組織のアクティビティフィードの組み合わせを使用できます。
デフォルトでは 、監査するログメッセージは、 MongoDBによって設計された形式( mongo スキーマ )で返されます。mongo
スキーマに従う監査ログメッセージには、常に次の情報が含まれます。
アクションタイプ(
atype
)タイムスタンプ
クライアント接続ID (UUID)
クライアントのIPアドレスとポート番号
受信接続のIPアドレスとポート番号
ユーザー名
ユーザー認証データベース
ユーザー ロール
ユーザー ロールデータベース
param
イベントの具体的な詳細が記載されたドキュメント結果値またはエラー コード
監査するアクションタイプとそれに関連するparam
詳細とresult
値の完全なリストについては、「 mongo スキーマ監査メッセージ 」を参照してください。
オートメーションの例: Atlas Logging
Tip
すべてのピリオドにわたって推奨事項を強制する Terraform の例については、 Githubの次のいずれかの例を参照してください。
次の例では、Atlas のオートメーションツールを使用してログを検索およびダウンロードし、監査を構成する方法を示します。
次の例に加えて、ブログ記事の「HashiCorp Terraform による Atlas のプッシュベースのログエクスポートを使用した、Amazon S3 へのログ管理の効率化」を参照してください。
ログを取得 し、ログをダウンロードすることもできます。アラートを取得することもできます。
ログを取得すると、現在のログファイルをリアルタイムで表示したりアクセスしたりするためのログを取得できます。
ログをダウンロードすると、後で 分析やストレージ用にMongoDB Atlasからログアーカイブを作成できます。
ログの検索
ログを取得して、クラスターのアクティビティをリアルタイムで監視および検査し、現在のログの問題をトラブルシューティングします。
クラスター内の各mongod
インスタンスと インスタンスは、他のインスタンスとは異なる内容を持つ可能性のある独自のMongoDBログと監査するログメッセージを出力します。これらのログメッセージは、 atlasmongos
deployment logs コマンドを使用して、Atlas CLI で表示できます。
クラスター内の mongod
インスタンスの監査するログエントリを取得するには、mongod
ホスト名を指定し、監査するログファイルの名前として を指定します。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
mongos
インスタンスの監査するログエントリを検索するには、 ホスト名を指定し、監査するログファイルの名前として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ログメッセージ を検索するには、mongos
またはmongod
インスタンスのホスト名を指定し、ログファイルの名前をそれぞれ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
ログのダウンロード
履歴ログに焦点を当て、監査やパフォーマンスのために分析するためのログのダウンロード、またはアーカイブのためのログ。
クラスター内の各mongod
mongos
インスタンスとmongod
mongos
インスタンスには独自のMongoDBログと監査するログがあり、その内容は他のインスタンスとは異なる場合があります。アプリケーションの観点から見ると、 インスタンスまたは インスタンスは他のMongoDBインスタンスと同じように動作しますが、ログにはMongoDBでのロールに固有の情報が含まれています。
mongod
のログには、データリクエスト、データアクセス情報、 MongoDBのバックグラウンド管理操作が含まれています。のログには、 シャーディングされたクラスター内の シャード
mongos
へのクエリと書込み操作のルーティングに関する情報が含まれています。
atlas logs Download Atlas CLI コマンドを使用して、各ログを圧縮ファイルとしてダウンロードできます。
クラスターの インスタンスの監査するログをダウンロードするには、引数としてmongod
mongod
ホスト名と監査するログファイル名mongodb-auditlog.gz
を指定します。このファイルの名前は例として使用されており、別の名前を使用できます。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongodb-audit-log.gz
シャーディングされたクラスター配置のmongos
mongos
インスタンスの監査するログをダウンロードするには、引数として ホスト名と監査するログファイル名mongos-auditlog.gz
を指定します。このファイルの名前は例として使用されており、別の名前を使用できます。
atlas logs download cluster0-shard-00-00.a1b2c.mongodb.net mongos-audit-log.gz
または mongod
mongos
インスタンスの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
などのアラートを提供します。これらのイベントは、重要なデータベース、課金、セキュリティ アクティビティやステータスの変更など、プロジェクトまたは組織内の重要なアクティビティと変更のレコードを提供します。
プロジェクトと組織に対してアラートをトリガーするイベントをカスタマイズするには、「 アラート設定の構成 」を参照してください。
プロジェクトまたは組織のすべてのログ イベントの取得
次の Atlas CLI コマンドを使用して、Project Activity Feed または Organization Activity Feed からプロジェクトまたは組織のイベントを返すことができます。
組織のすべてのイベントを返すには、 atlas event organizations list コマンドを使用し、組織IDを指定します。次のコマンドは、 ID を持つ組織のイベントのJSON形式のリストを返します。5dd5a6b6f10fab1d71a58495
atlas events organizations list --orgId 5dd5a6b6f10fab1d71a58495 --output json
プロジェクトのすべてのイベントを返すには、 atlas event projects list コマンドを使用し、プロジェクトIDを指定します。次のコマンドは、 ID を持つプロジェクトのイベントのJSON形式のリストを返します。64ac57bfe9810c0263e9d655
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 を使用します。