Database Autonomy Service (DAS) は、SQL ステートメントに関するさまざまな情報をクエリおよびエクスポートできる検索 (監査) 機能を提供します。このトピックでは、SQL Explorer と Audit での検索機能の使用方法について説明します。
DAS Enterprise Edition V3 を有効にしている場合、検索機能は Audit 機能に名称変更されています。
前提条件
-
管理対象のデータベースインスタンスは DAS に接続されており、そのステータスは 正常なアクセス です。
-
インスタンスで SQL Explorer と Audit が有効化されていること。詳細については、「SQL Explorer と Audit の有効化」をご参照ください。
-
RAM ユーザー として検索機能を使用するには、AliyunHDMReadOnlyWithSQLLogArchiveAccess ポリシーをアタッチする必要があります。詳細については、「システムポリシーを使用した RAM ユーザーの承認」をご参照ください。
説明カスタムポリシー を使用して、データのエクスポートを含む検索機能の使用権限を RAM ユーザーに付与することもできます。詳細については、「カスタムポリシーを使用して RAM ユーザーに SQL Explorer と Audit の検索およびエクスポート機能の使用を許可する」をご参照ください。
サポートされるデータベースとリージョン
DAS Enterprise Edition の各バージョンでサポートされるデータベースとリージョンについては、「エディションとサポートされる機能」をご参照ください。
注意事項
-
Logs では、SQL ステートメントの ステータス が 成功 であることは、そのステートメントが例外なく正常に実行されたことのみを示します。 たとえば、トランザクションのロールバック中に、トランザクション内の個々の SQL ステートメントが正常に実行された場合、Logs 内のその ステータス は 成功 と表示されます。
ApsaraDB RDS for MySQL および PolarDB for MySQL インスタンスでは、接続プーリングが原因で接続が再利用されることがあります。その結果、Logs に表示される IP アドレスとポートが、実際のクライアント IP アドレスとポートと一致しない場合があります。詳細については、ApsaraDB RDS for MySQL の「接続プーリング」、または PolarDB for MySQL の「接続プーリング」をご参照ください。
-
A parameter setting determines the maximum length of recorded SQL statements. Statements that exceed this length are truncated. Because a prefix is added during data collection and processing, the actual recorded length of an SQL statement is slightly less than the configured parameter value.
説明-
For ApsaraDB RDS for MySQL and PolarDB for MySQL versions 5.6 and 5.7, the recording length is controlled by the
loose_rds_audit_max_sql_sizeparameter. -
For ApsaraDB RDS for MySQL and PolarDB for MySQL version 8.0, the recording length is controlled by the
loose_rds_audit_log_event_buffer_sizeparameter.
-
-
Enable Advanced Query をクリックすると、お使いのデータベースインスタンスが以下のバージョン要件を満たしている場合、トランザクション ID でクエリできます。
-
ApsaraDB RDS for MySQL インスタンスでは、メジャーバージョンが 8.0 で、かつマイナーバージョンが 20210311 以降である必要があります。 クエリを実行する前に、loose_rds_audit_log_version パラメーターを MYSQL_V3 に設定する必要があります。 詳細については、「ApsaraDB RDS for MySQL 8.0 のパラメーター概要」をご参照ください。
-
PolarDB for MySQL クラスターのバージョンは、8.0.1.1.15 以降である必要があります。
-
手順
にログインします。DASコンソール.
左側のナビゲーションウィンドウで、インスタンスモニター.
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
-
左側のナビゲーションペインで、SQL Explorer and Audit をクリックします。表示されたページで、検索 をクリックし、次のパラメーターを設定します。
DAS エンタープライズ版 V3 を有効にしている場合、表示されるページで監査をクリックします。
パラメーター
説明
[時間範囲]
ビジネス要件に基づいて、クエリの時間範囲を選択します。
SQL Explorer と Audit によってキャプチャされるデータ量が多いため、24 時間を超えるクエリは遅延したり、タイムアウトしたりする可能性があります。
説明-
DAS エンタープライズ版が有効化された後、保持期間内に生成されたデータのみをクエリできます。
-
より長い時間範囲のレコードをクエリするには、オフライン分析のためにログをエクスポートします。エクスポート機能は非同期で実行され、大容量のデータに適しています。
-
SQL Explorer と Audit が ホット/コールドストレージ を使用している場合、1 回のクエリまたはエクスポートの最大時間範囲は 24 時間です。
[キーワード]
検索で複数のキーワードを組み合わせることができます。キーワードはスペースで区切ります。あいまい検索はサポートされていません。
説明キーワードには 4 文字以上を含める必要があります。
[ユーザー]
複数のユーザー名を指定できます (例:
user1 user2 user3)。[データベース]
複数のデータベース名を指定できます (例:
DB1 DB2 DB3)。[操作タイプ]
クエリ対象の操作タイプを 1 つ以上選択します。
説明Enable Advanced Query をクリックして、詳細情報を入力し、検索範囲を絞り込むことができます。
-
-
クエリ をクリックして、Logs の SQL ステートメントの詳細を表示します。
エクスポート をクリックし、エクスポートされたフィールド で必要なフィールドを選択して、SQL レコードのエクスポート をクリックします。 エクスポート期間 を設定して、より広い時間範囲のレコードをエクスポートできます。
ホット/コールドストレージを使用する SQL エクスプローラーと監査では、データをエクスポートする際に SQL ログに存在しない CSV 区切り文字 を選択してください。 データが別々の列に表示されるように、詳細については「エクスポートされた CSV ファイルを設定して開く」をご参照ください。
重要-
1 回のタスクで、7 日間の期間内に最大 1,000 万件のデータエントリをエクスポートできます。
-
SQL Explorer と監査で ホット/コールドストレージ を使用する場合、コールドストレージからデータをクエリまたはエクスポートすると、システムによってタスクが作成されます。タスクの進捗状況と履歴は、タスクリスト ページで確認できます。
-
監査ログの収集が有効になった後に生成されたデータのみをクエリまたはエクスポートできます。
時間範囲、キーワード、ユーザー、データベース、および操作タイプ (SELECT、INSERT、UPDATE、DELETE) で結果をフィルタリングできます。また、[高度なクエリを有効化] をクリックして追加の条件を設定することもできます。ログセクションには、SQL 文、データベース、スレッド ID、ユーザー、クライアント IP、操作、ステータス、レイテンシー (ms)、実行時間、更新された行、スキャンされた行 などの列が含まれます。
-
エクスポートされた CSV ファイルの設定とオープン
エクスポートされた SQL ログにデータ区切り文字が存在する場合、Microsoft Excel などのツールで CSV ファイルを開くと、列がずれる可能性があります。これを防ぐために、ホットストレージとコールドストレージの 検索 機能では、エクスポート時に CSV 区切り文字 を選択できます。このセクションでは、Windows 上の Excel 2019 を例に、列形式で表示されるようにファイルを正しくフォーマットする方法を説明します。
-
エクスポートタスクを作成する際に、SQL ログに存在しない区切り文字 (例: $) を選択します。
利用可能な CSV 区切り文字は、
|、$、#です。SQL テキストに引用符が含まれている場合は、競合を避けるためにこれらの特殊な区切り文字のいずれかを選択してください。[タスク名] を編集することもできます。設定が完了したら、[タスクの送信] をクリックします。 -
エクスポートされた CSV ファイルを Excel で開きます。
-
分割するデータ列を選択します。Excel のツールバーで、データ > [区切り位置] を選択します。
-
[テキストを列に変換ウィザード] で、[元のデータ型] の [区切り記号付き] を選択し、次のステップ をクリックします。
-
[区切り文字] セクションで Others を選択し、フィールドに
$を入力してから、次のステップ をクリックします。[データプレビュー] セクションで、列のプレビューを表示できます。
-
[列データ形式] セクションで、レギュラー を選択し、完了 をクリックします。
よくある質問
関連 API
以下の API を呼び出して、ApsaraDB RDS for MySQL、ApsaraDB RDS for PostgreSQL、および ApsaraDB RDS for SQL Server インスタンスの SQL ログをクエリできます。
|
API |
説明 |
|
ApsaraDB RDS インスタンスの SQL Explorer と Audit のログをクエリする。 |
|
|
SQL Explorer と Audit からエクスポートされたファイルの一覧を取得する。 |