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

Data Management:Simple Log Service で DMS の操作ログをクエリおよび分析する

最終更新日:Nov 09, 2025

このトピックでは、Simple Log Service (SLS) で Data Management (DMS) の操作ログをクエリおよび分析する方法について説明します。

背景情報

操作ログは、ユーザーが DMS で実行するすべての操作のシーケンシャルレコードです。これらのログには、ユーザーの詳細、使用された機能モジュールの名前、操作の時間、操作の種類、実行された SQL 文などの情報が含まれます。詳細については、「特徴」をご参照ください。

前提条件

  • Simple Log Service が有効化されていること。詳細については、「Simple Log Service の有効化」をご参照ください。

  • Simple Log Service でプロジェクトと Logstore が作成されていること。詳細については、「プロジェクトの作成」および「Logstore の作成」をご参照ください。

  • Simple Log Service (SLS) の宛先 Logstore は空であり、フルテキストインデックスが有効になっている必要があります。フルテキストインデックスを有効にする方法の詳細については、「手動でのインデックス作成」をご参照ください。

課金

  • DMS 操作ログを SLS にエクスポートする機能は無料です。

  • Logstore が機能別の課金方法を使用している場合、ログが収集されると、Simple Log Service はログストレージ、読み取りトラフィック、リクエスト、データ変換、およびデータシッピングに対して課金します。詳細については、「課金項目」をご参照ください。

  • Logstore がデータ量別の課金方法を使用している場合、ログが収集されると、Simple Log Service は書き込まれた生データの量に基づいて課金します。詳細については、「課金項目」をご参照ください。

リソース

  • カスタム Simple Log Service プロジェクトと Logstore

    重要
    • DMS 操作ログに関連する Simple Log Service プロジェクトと Logstore を削除しないでください。削除すると、ログを Simple Log Service に収集できなくなります。

    • カスタム Logstore を作成すると、課金方法に基づいて異なる課金項目が生成されます。

  • 排他的ダッシュボード

    利用可能な排他的ダッシュボードはありません。

手順

ステップ 1: DMS にプロジェクトを登録する

  1. 管理者として DMS コンソール V5.0 にログインします。

  2. コンソールのホームページの [データベースインスタンス] エリアで、image..png アイコンをクリックします。

    説明

    DMS コンソールをシンプルモードで使用する場合は、左側のナビゲーションウィンドウで [データベースインスタンス] をクリックします。[データベースインスタンス] セクションで、image..png をクリックします。

  3. [インスタンスの追加] ページで、SLS 情報を入力します。

    カテゴリ

    パラメーター

    説明

    データソース

    -

    [Alibaba Cloud] を選択します。

    基本情報

    データベースタイプ

    SLS を選択します。

    インスタンスリージョン

    SLS プロジェクトが配置されているリージョンを選択します。

    入力方法

    デフォルト値は [接続文字列] です。

    接続文字列

    [インスタンスリージョン] を選択すると、接続文字列が自動的に生成されます。

    プロジェクト名

    SLS で作成したプロジェクトの名前を入力します。

    AccessKey ID

    Alibaba Cloud アカウントの AccessKey ID を入力します。AccessKey ID は、DMS にプロジェクトを登録する際の ID 検証に使用されます。

    説明

    AccessKey ID の取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    AccessKey Secret

    AccessKey ID に対応する AccessKey Secret を入力します。

    説明

    AccessKey Secret の取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    付加価値機能パッケージ

    このデータソースは機能パッケージをサポートしていません。デフォルトでは、柔軟な管理 モードをサポートしています。

    詳細情報

    環境タイプ

    環境タイプを選択します。有効な値は Dev、Test、Production、Pre-release、SIT、UAT、Stress Testing、および STAG です。詳細については、「インスタンス環境タイプ」をご参照ください。

    インスタンス名

    DMS に表示する SLS プロジェクトのカスタム名を指定します。

    説明

    インスタンスを編集してインスタンス名を変更できます。詳細については、「インスタンス情報を編集する」をご参照ください。

    インスタンス DBA

    インスタンスのデータベース管理者 (DBA) を選択します。DBA は、権限申請などの後続のプロセスで使用できます。

    クエリタイムアウト (秒)

    クエリ文の実行時間を制御してデータベースを保護するセキュリティポリシー。

    エクスポートタイムアウト (秒)

    データベースを保護するために、export 文の実行時間を制御するセキュリティポリシーです。

    説明
    • 基本情報を設定した後、ページの下部にある [接続テスト] をクリックし、テストに合格するまで待ちます。

    • エラーメッセージ "The execution result of the 'getProject' command is null" が表示された場合、DMS にログインするために使用する Alibaba Cloud アカウントによってプロジェクトが作成されていることを確認してください。

  4. [送信] をクリックします。

ステップ 2: DMS でタスクを作成して操作ログをエクスポートする

  1. DMS コンソール V5.0 にログインします。
  2. 左上隅の 2023-01-28_15-57-17.png アイコンにポインターを移動し、[すべての機能] > [セキュリティとディザスタリカバリ (DBS)] > [操作監査] を選択します。

    説明

    DMS コンソールを通常モードで使用する場合は、上部のナビゲーションバーで [セキュリティとディザスタリカバリ (DBS)] > [操作監査] を選択します。

  3. [ログのエクスポート] タブをクリックします。次に、右上隅の [新しいタスク] をクリックします。

  4. [新しいエクスポートタスク] ダイアログボックスで、次のパラメーターを設定します。

    パラメーター

    必須

    説明

    タスク名

    はい

    エクスポートタスクの名前。識別しやすいように、わかりやすい名前を指定します。

    宛先 SLS

    はい

    リソース管理ユニットである Simple Log Service プロジェクト。

    SLS Logstore

    はい

    エクスポートされた DMS 操作ログを格納する Logstore。このパラメーターの入力ボックスをクリックし、宛先 Logstore を選択します。

    説明

    宛先 Logstore がドロップダウンリストにない場合は、[辞書の同期] をクリックしてから [OK] をクリックします。DMS は Logstore のメタデータを自動的に収集します。

    機能モジュール

    はい

    エクスポートするログの DMS 機能モジュールを選択します。これらのモジュールは、[操作ログ] タブのモジュールに対応します。モジュールには、インスタンス管理、ユーザー管理、権限、SQL ウィンドウでのデータクエリなどの機能が含まれます。デフォルトでは、すべての機能のログがエクスポートされます。

    スケジュールメソッド

    はい

    タスクのスケジュールメソッドを選択します。

    • ワンタイム: エクスポートタスクが作成された後、1 回だけ実行されます。

    • 定期的: [毎日][毎週]、または [毎月] を選択して、ログを Logstore にループで複数回エクスポートできます。定期的なタスクが初めて実行されるとき、ログの開始時刻から最初のスケジュールされた開始時刻までに生成されたすべての DMS 操作ログがエクスポートされます。その後の実行では、増分ログのみがエクスポートされます。詳細については、「定期的なスケジュール」をご参照ください。

    ログ時間範囲

    いいえ

    説明

    このパラメーターは、[スケジュールメソッド][ワンタイム] に設定した場合にのみ使用できます。

    特定の時間範囲内のログをエクスポートします。このパラメーターを設定しない場合、デフォルトで過去 3 年間のログがエクスポートされます。

    ログ開始時刻

    いいえ

    説明
    • このパラメーターは、[スケジュールメソッド][定期的] に設定した場合にのみ使用できます。

    • 定期的なタスクには終了時刻がありません。

    DMS ログレコードの開始時刻。このパラメーターを設定しない場合、デフォルト値はタスク作成時刻の 3 年前になります。

  5. [OK] をクリックします。ログエクスポートタスクが作成されます。システムは、後続のデータクエリと分析のために、Logstore に dbId、dbName、dbUser などのインデックスフィールドも作成します。

    • ワンタイムタスクはログを 1 回だけエクスポートします。タスクのステータスが [成功] の場合、ログがエクスポートされます。

      説明

      Logstore インデックスは遅れて有効になるため、ワンタイムタスクは作成後約 90 秒で開始されます。

    • 定期的なタスクはログを複数回エクスポートします。タスクのステータスは、エクスポートの前後両方で [スケジューリング待ち] です。タスクログを表示して、タスクの実行が成功したかどうかを判断できます。

    タスクの [アクション] 列で次の操作を実行することもできます。

    • クエリ: [クエリ] をクリックします。SQL コンソールページにリダイレクトされます。[クエリ] をクリックします。ページ下部の実行結果セクションで、Logstore にエクスポートされたログを表示できます。

    • タスクログ: [タスクログ] をクリックして、タスクの開始時刻と終了時刻、配信されたログの数、タスクのステータスなどの情報を表示します。

    • 一時停止: [一時停止] をクリックします。表示されるダイアログボックスで、[OK] をクリックします。定期的なタスクは一時停止されます。

    • 再起動: [再起動] をクリックします。表示されるダイアログボックスで、[OK] をクリックして、一時停止した定期的なタスクを再起動します。

      説明
      • 再起動操作はワンタイムタスクではサポートされていません。ただし、他の操作はサポートされています。

      • クエリや一時停止などのすべての操作は、定期的なタスクでサポートされています。

詳細については、「DMS 操作ログを Simple Log Service にエクスポートする」をご参照ください。

ステップ 3: SLS コンソールでエクスポートされた DMS 操作ログのクエリと分析

  1. Simple Log Service コンソールにログインします。

  2. [プロジェクト] セクションで、対象のプロジェクトをクリックします。

    image

  3. [ログストレージ] > [Logstores] タブで、対象の Logstore をクリックします。

    image

  4. 検索ボックスに、クエリと分析の文を入力します。

    クエリと分析の文は検索文と分析文で構成され、フォーマットは 検索文|分析文 です。 構文の詳細については、「検索構文と関数」および「SQL 分析関数」をご参照ください。

    SLS では、次の情報をクエリおよび分析できます。

    説明

    dmstest Logstore を例として使用します。

    • データベースへのログインに最も頻繁に失敗したユーザー。

      __topic__ : DMS_LOG_DELIVERY AND subModule : LOGIN | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest WHERE state = '0' GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10;

    • 異常なソース IP アドレスを持つユーザー。 IP アドレス 127.0.0.1 を例として使用します。

      説明

      インスタンスのソース IP アドレスは、DMS にインスタンスを登録するときのローカル IP アドレスです。 このアドレスは、インスタンスアクセスのソースを識別します。

      __topic__ : DMS_LOG_DELIVERY | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest WHERE state = '0' and requestIp in ('127.0.0.1') GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10;

    • DMS に最も頻繁にアクセスしたユーザー。

      __topic__ : DMS_LOG_DELIVERY| SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10;

    • 同じ日に複数のデータベースにアクセスして操作したユーザー。

      __topic__: DMS_LOG_DELIVERY | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, date_trunc('day', gmtCreate) time, dbId, COUNT(*) qpd from dmstest GROUP BY time, operUserId, operUserName, dbId ORDER BY time, qpd DESC;

    • DMS でのデータベース操作の実行に失敗したユーザー。

      __topic__ : DMS_LOG_DELIVERY AND moudleName : SQL_CONSOLE | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, actionDesc as sqlStatement, subModule as sqlType, remark as failReason FROM dmstest WHERE state = '-1' order by id;

    • 機密データを最も頻繁にダウンロードしたユーザー。

      __topic__ : DMS_LOG_DELIVERY AND moudleName : DATA_EXPORT | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest WHERE hasSensitiveData = 'true' GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10;
    • 機密データの削除や更新などのバッチ操作で実行される SQL 文。

      __topic__ : DMS_LOG_DELIVERY | SELECT subModule, COUNT(*) cnt, COUNT(affectRows) affectRow FROM dmstest WHERE subModule != '' GROUP BY subModule ORDER BY cnt DESC;

    • データのエクスポート中にデータウォーターマーク機能が有効になっているかどうか。

      __topic__ : DMS_LOG_DELIVERY AND moudleName : DATA_EXPORT | SELECT targetId as orderId, concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest where actionDesc like '%Enable data watermark: false' GROUP BY targetId, operUserId, operUserName ORDER BY cnt DESC LIMIT 10;
      説明
      • データウォーターマーク機能を有効にしたユーザーをクエリするには、'%Enable data watermark: true' という文を使用します。

      • データウォーターマーク機能を無効にしたユーザーをクエリするには、'%Enable data watermark: false' という文を使用します。

    • SQL コンソールページの実行結果セクションから SQL 結果セットをダウンロードしたユーザー。

      __topic__ : DMS_LOG_DELIVERY AND moudleName : SQL_CONSOLE_EXPORT | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10;

クエリと分析の詳細については、「ステップ 1: インデックスを設定する」をご参照ください。

(オプション) ステップ 4: 定期的なタスクを一時停止する

説明

ステップ 2 で定期的なタスク ([スケジューリング方法][定期的] に設定) を作成し、DMS 操作ログの分析が完了した場合、タスクを一時停止できます。

  1. DMS コンソール V5.0 にログインします。
  2. 左上隅の 2023-01-28_15-57-17.png アイコンにポインターを移動し、[すべての機能] > [セキュリティとディザスタリカバリ (DBS)] > [操作監査] を選択します。

    説明

    DMS コンソールを通常モードで使用する場合は、上部のナビゲーションバーで [セキュリティとディザスタリカバリ (DBS)] > [操作監査] を選択します。

  3. [ログのエクスポート] タブをクリックします。

  4. 定期的なタスクの [アクション] 列で、[一時停止] をクリックします。

  5. 表示されるダイアログボックスで、[OK] をクリックします。

次のステップ

ログエクスポートタスクが正常に実行された後、または一時停止された後、プロジェクトは自動的に削除されません。DMS 操作ログの分析が完了したら、Simple Log Service コンソールに移動し、不要な課金を避けるためにログのエクスポート用に選択したプロジェクトを削除してください。

SLS の生ログフィールドの説明

次の表に、SLS にインポートされる DMS 操作ログのいくつかの重要なフィールドを示します。

フィールド

説明

id

ログの一意の ID。

gmt_create

ログが作成された時間。

gmt_modified

ログが変更された時間。

oper_user_id

オペレーターのユーザー ID。

oper_user_name

オペレーターの名前。

module_name

エクスポートされた機能モジュール:

  • PERMISSION: 権限

  • OWNER: データ所有者

  • SQL_CONSOLE: SQL ウィンドウ

  • DSQL_CONSOLE: データベース間のデータクエリ

  • LOGICDW_CONSOLE: 論理データウェアハウス

  • SQL_CONSOLE_EXPORT: SQL ウィンドウの結果のエクスポート

  • DSQL_CONSOLE_EXPORT: データベース間のクエリ結果のエクスポート

  • DATA_CHANGE: データ変更

  • DATA_EXPORT: データエクスポート

  • DATA_TRACK: データ追跡

  • SQL_REVIEW: SQL レビュー

  • DT_SYNC: データベースとテーブルの同期

  • DT_DETAIL: データベースとテーブルの詳細

  • DB_TASK: タスク管理

  • INSTANCE_MANAGE: インスタンス管理

  • USER_MANAGE: ユーザー管理

  • SECURITY_RULE: セキュリティルール

  • CONFIG_MANAGE: 構成管理

  • ACCESS_WHITE_IP: アクセス用の IP アドレスホワイトリスト

  • NDDL: スキーマ設計

  • DATASEC_MANAGE: 機密データ管理

  • DATABASE_CLONE: データベースのクローン作成

  • DATABASE_MANAGE: データベース管理

  • MESSAGE_CENTER: 通知管理

  • VERSION_MANAGE: バージョン管理

  • OPER_AUDIT: 操作監査

  • SENSITIVE_DATA_PROTECT: 機密データ保護

  • SENSITIVE_DATA_USAGE: 機密データの使用状況監査

  • DB_EXPORT: データベースのエクスポート

  • WATERMARK_EXTRACT: ウォーターマーク抽出

  • GENERATE: テストデータ生成

  • CLASSIFICATION_TEMPLATE: 分類テンプレート

  • SECURITY_CENTER: Data Security Center

sub_module

サブ機能モジュール。

たとえば、SQL_CONSOLE の場合、サブモジュールはユーザーが実行する SQL 文のタイプを指します。

db_id

操作が実行されるデータベースの ID。これは DMS の ID です。

db_name

操作が実行されるデータベースの名前。

is_logic_db

データベースが論理データベースであるかどうかを示します。

instance_id

操作が実行されるインスタンスの ID。これは DMS の ID です。

instance_name

操作が実行されるインスタンスの名前。

action_desc

操作の説明。

remark

備考。

has_sensitive_data

ログに機密情報が含まれているかどうかを示します。