すべてのプロダクト
Search
ドキュメントセンター

Database Autonomy Service:監査

最終更新日:Apr 28, 2025

Database Autonomy Service ( DAS ) が提供する検索 ( 監査 ) 機能を使用すると、SQL 文に関する情報をクエリおよびエクスポートできます。このトピックでは、SQL Explorer および監査モジュールで検索機能を使用する方法について説明します。

重要

DAS Enterprise Edition V3 を有効にしている場合、検索機能は監査機能という名前に変更されます。

前提条件

  • 管理するデータベースインスタンスが DAS に接続されており、正常なアクセス 状態であること。

  • データベースインスタンスに対して SQL Explorer および監査機能が有効になっていること。詳細については、「概要」トピックのSQL Explorer および監査を有効にするセクションをご参照ください。

  • RAM ユーザーとして検索機能を使用する場合、AliyunHDMReadOnlyWithSQLLogArchiveAccess ポリシーが Resource Access Management ( RAM ) ユーザーにアタッチされていること。詳細については、「RAM ユーザーとして DAS を使用するにはどうすればよいですか?」トピックのシステムポリシーを使用して RAM ユーザーに権限を付与するセクションをご参照ください。

    説明

    ログエクスポート機能を含む、検索機能を使用するための権限を RAM ユーザーに付与するカスタムポリシーを作成することもできます。詳細については、「RAM ユーザーとして DAS を使用するにはどうすればよいですか?」トピックの「カスタムポリシーを使用して、SQL Explorer および監査モジュールで検索およびエクスポート機能を使用するための権限を RAM ユーザーに付与する」セクションをご参照ください。

サポートされているデータベースとリージョン

詳細については、エディションとサポートされている機能をご参照ください。

使用上の注意

  • Logs セクションの SQL 文に対応する ステータス 列に [完了] と表示されている場合、SQL 文は想定どおりに実行されています。たとえば、トランザクションのロールバック時にトランザクション内の SQL 文が想定どおりに実行された場合、Logs セクションの SQL 文に対応する ステータス 列に [完了] と表示されます。

  • ApsaraDB RDS for MySQL インスタンスおよび PolarDB for MySQL クラスタへの接続は再利用される場合があります。そのため、Logs セクションに表示される IP アドレスとポートは、接続されているクライアントの実際の IP アドレスおよびポートとは異なる場合があります。詳細については、「コネクションプーリング機能を構成する」 (ApsaraDB RDS for MySQL ドキュメント) および「コネクションプール」 (PolarDB for MySQL ドキュメント) をご参照ください。

  • SQL ログの SQL 文の最大長は 8,192 バイトです。SQL 文の実際の長さが 8,192 バイトを超える場合、超過部分は記録されません。ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスタの場合、SQL ログの SQL 文の最大長はパラメーターで指定されます。次の項目に注意してください。

    • SQL 文の最大長を 8,192 バイト以下の長さに指定した場合、指定した長さが上限として使用され、SQL 文の超過部分は記録されません。データの収集と処理中に、SQL 文にプレフィックスが追加されます。その結果、SQL ログの SQL 文の最大長は、指定した長さよりもわずかに短くなります。

    • SQL 文の最大長を 8,192 バイトを超える長さに指定した場合、デフォルトの上限は 8,192 バイトです。SQL 文の実際の長さが上限を超える場合、超過部分は記録されません。データの収集と処理中に、SQL 文にプレフィックスが追加されます。その結果、SQL ログの SQL 文の最大長は 8,192 バイトよりわずかに短くなります。

    説明
    • MySQL 5.6 または 5.7 を実行する ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスタの場合、SQL 文の最大長は loose_rds_audit_max_sql_size パラメーターで指定されます。

    • MySQL 8.0 を実行する ApsaraDB RDS for MySQL インスタンスと PolarDB for MySQL クラスタの場合、SQL 文の最大長は loose_rds_audit_log_event_buffer_size パラメーターで指定されます。

  • 高度なクエリを有効にし、データベースインスタンスのバージョンが次の要件を満たしている場合、トランザクション ID でデータをクエリできます。Enable Advanced Query トランザクション ID

手順

  1. DAS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[インテリジェント O&M センター] > インスタンスモニター を選択します。

  3. 表示されたページで、管理するデータベースインスタンスを見つけ、インスタンス ID をクリックします。インスタンスの詳細ページが表示されます。

  4. 左側のナビゲーションウィンドウで、[リクエスト分析] > SQL Explorer and Audit を選択します。次に、検索 タブで、次の表に示すパラメーターを構成して、クエリ条件を指定します。

    DAS Enterprise Edition V3 を有効にしている場合は、[監査] タブでパラメーターを構成します。

    パラメーター

    説明

    時間範囲

    実行された SQL 文をクエリする時間範囲。

    オンラインクエリの最大時間範囲は 24 時間です。開始時刻は、SQL Explorer のデータ保存期間内でなければなりません。これは、SQL Explorer 機能が多数の SQL 文を記録するためです。この機能を使用して、データベースインスタンスで実行されるすべての操作を追跡できます。オンラインクエリの時間範囲が 24 時間を超える場合、クエリには長い時間がかかり、タイムアウトする可能性があります。

    説明
    • データをクエリする時間範囲は、DAS Enterprise Edition が有効になった時刻よりも後でなければならず、SQL Explorer のデータ保存期間内でなければなりません。

    • 24 時間を超える時間範囲内の SQL 文をクエリする場合は、ログをオンプレミスのコンピューターにエクスポートすることをお勧めします。

    • ホットストレージとコールドストレージの組み合わせを使用する SQL Explorer および監査モジュールでは、最大 24 時間の時間範囲内のデータをクエリおよびエクスポートできます。

    キーワード

    データをクエリするために使用されるキーワード。スペースで区切られた複数のキーワードを指定できます。あいまいクエリはサポートされていません。

    説明

    各キーワードは 4 文字以上でなければなりません。

    ユーザー

    データをクエリするために使用されるユーザー名。スペースで区切られた複数のユーザー名を指定できます。例: user1 user2 user3。

    データベース

    データをクエリするために使用されるデータベース名。スペースで区切られた複数のデータベース名を指定できます。例: DB1 DB2 DB3。

    操作タイプ

    クエリする操作タイプ。1 つ以上の操作タイプを選択できます。

    説明

    Enable Advanced Query をクリックして、さらにパラメーターを構成し、クエリを絞り込むことができます。

  5. クエリ をクリックします。次に、Logs セクションで、クエリされた SQL 文に関する情報を表示できます。

    ログをエクスポートするには、エクスポート をクリックします。SQL レコードのエクスポート ダイアログボックスで、エクスポートされたフィールド パラメーターを構成します。エクスポート期間 パラメーターを構成して、SQL ログをエクスポートする時間範囲を指定します。

    CSV 区切り文字 モジュール ( ホットストレージとコールドストレージの組み合わせを使用 ) では、エクスポートされる CSV ファイルの列区切り文字として、SQL ログに含まれていない特殊文字を選択できます。これにより、エクスポートされた CSV ファイルの SQL ログの列を区切ることができます。詳細については、このトピックのCSV ファイルを構成して開くセクションをご参照ください。

    重要
    • 一度に最大 1,000 万件のデータレコードを 7 日以内にエクスポートできます。

    • ホットストレージとコールドストレージの組み合わせを使用する SQL Explorer および監査モジュールの場合、コールドストレージのデータをクエリまたはエクスポートすると、システムはクエリまたはエクスポートタスクを作成します。タスクリスト をクリックして、タスクの進捗状況と履歴タスクを表示できます。

    • 監査ログ機能が有効になっているデータのみをクエリおよびエクスポートできます。

    s

CSV ファイルを構成して開く

CSV ファイルにエクスポートされた SQL ログに区切り文字が含まれている場合でも、Excel などのツールを使用して CSV ファイルを開いた後、エクスポートされたデータが 1 つの列に表示される場合があります。この問題を防ぐには、CSV 区切り文字 モジュール ( ホットストレージとコールドストレージの組み合わせを使用 ) の検索機能を使用して SQL ログを CSV ファイルにエクスポートするときに、列区切り文字を選択できます。このセクションでは、複数の列に表示できるデータをエクスポートするように CSV ファイルを構成する方法について説明します。この例では、Windows オペレーティングシステムの Excel 2019 を使用しています。

  1. エクスポートタスクの作成後に表示される [プロンプト] ダイアログボックスで、エクスポートされる CSV ファイルの列区切り文字として、SQL ログに含まれていない特殊文字 ( $ など ) を選択します。

    image..png

  2. エクスポートされた CSV ファイルを Excel を使用して開きます。

  3. 表示するデータを選択します。上部のナビゲーションバーで、[データ] をクリックします。[データツール] セクションで、データツール[テキストを列に変換] をクリックします。

  4. [テキストファイルウィザード] ダイアログボックスのステップ 1 の [元のデータの型] セクションで、[区切り文字] を選択します。次に、[次へ] をクリックします。

  5. [区切り文字] セクションで、[その他] を選択し、フィールドに $ と入力します。次に、[次へ] をクリックします。

    [データのプレビュー] セクションで、表示効果をプレビューできます。

  6. [列のデータ形式] セクションで、[標準] を選択します。次に、[完了] をクリックします。

よくある質問

Q: ApsaraDB RDS for MySQL インスタンスまたは PolarDB for MySQL クラスタで SQL 文を実行し、データが返された後、SQL 文の [ログ] セクションに [スキャンされた行] 列が 0 と表示されるのはなぜですか?

A: データベースインスタンスで fast query cache 機能が有効になっています。[ログ] セクションに表示される SQL 文のスキャンされた行数は、InnoDB ストレージエンジンでスキャンされた行数です。fast query cache 機能が有効になると、MySQL はクエリ結果をキャッシュします。同じクエリリクエストが送信され、クエリキャッシュにヒットした場合、システムはクエリリクエストを InnoDB ストレージエンジンに送信する代わりに、キャッシュされたクエリ結果を直接返します。そのため、SQL 文を実行した後、データは返されますが、スキャンされた行数はゼロになります。

Q: ApsaraDB RDS for PostgreSQL インスタンスで実行に失敗した SQL 文をクエリできないのはなぜですか?

A: ApsaraDB RDS for PostgreSQL インスタンスで実行に失敗した SQL 文は、インスタンスの監査ログではなく、エラーログに記録されます。ApsaraDB RDS for PostgreSQL インスタンスのエラーログをクエリする方法の詳細については、ログを表示するをご参照ください。

Q: [ログ] セクションに表示されるデータベース名が SQL 文のデータベース名と一致しないのはなぜですか?

A: [ログ] セクションに表示されるデータベース名はセッションから取得されますが、SQL 文のデータベース名はユーザーによって指定され、クロスデータベースクエリや動的 SQL など、ユーザーの入力またはクエリ設計によって異なります。このため、SQL 文と [ログ] セクションに表示されるデータベース名に不一致が生じます。

Q: SQL Explorer および監査機能はデータベースのパフォーマンスに影響しますか?影響はどの程度ですか?

A: はい、SQL Explorer および監査機能はデータベースのパフォーマンスに影響しますが、影響は軽微であり、ほとんど気づかない程度です。

リソース消費への影響について、以下に説明します。

  • CPU とメモリ: CPU とメモリの消費量は非常に少なく、ほとんど無視できます。WordPress をデプロイする:

  • ストレージ容量: 監査データは DAS に保存されるため、SQL Explorer および監査はデータベースインスタンスのストレージ容量に影響しません。

  • ネットワーク: SQL Explorer および監査はネットワークパフォーマンスに影響しません。

  • ディスクパフォーマンス: 監査データはデータベースインスタンスのディスクではなく DAS に保存されるため、SQL Explorer および監査はディスクパフォーマンスに影響しません。

関連 API 操作

次の表に、ApsaraDB RDS for MySQL インスタンス、ApsaraDB RDS for PostgreSQL インスタンス、または ApsaraDB RDS for SQL Server インスタンスの SQL ログをクエリするために呼び出すことができる API 操作を示します。

操作

説明

DescribeSQLLogRecords

ApsaraDB RDS インスタンスの SQL Explorer ( SQL 監査 ) 機能によって生成された監査ログをクエリします。

DescribeSQLLogFiles

ApsaraDB RDS インスタンスの SQL Explorer ( SQL 監査 ) 機能によって生成されたログファイルをクエリします。