概要
DASは、検索、SQL Explorer、セキュリティ監査、および完全なリクエスト統計収集とセキュリティ監査に基づくトラフィックのリプレイとロードテストなどの機能を統合します。 これらの機能により、SQL文に関する特定の情報を効率的に取得し、さまざまなパフォーマンスの問題をトラブルシューティングし、リスクの高い脅威を特定し、ピークのビジネストラフィックに対応するためにクラスター容量を拡張する必要があるかどうかを評価できます。
検索: この機能は、SQL文と、SQL文が実行されるデータベース、SQLリクエストのステータス、各SQL文の実行期間などの関連情報をクエリおよびエクスポートするために使用されます。 詳細については、「検索 (監査) 」をご参照ください。
SQL Explorer: この機能は、SQL文の正常性の診断、パフォーマンスの問題のトラブルシューティング、およびビジネストラフィックの分析に使用されます。 詳細は、「SQL Explorer」をご参照ください。
SQLレビュー: この機能は、SQL文のグローバルワークロード分析をサポートします。 疑わしいSQL文をすばやく見つけ、疑わしいSQL文を分析し、対応する最適化の提案を提供するのに役立ちます。 詳細については、「SQLレビュー」をご参照ください。
トラフィックの再生とストレステスト: これらの機能は、ピーク時にワークロードを処理するためにデータベースインスタンスをスケールアップする必要があるかどうかを確認するために使用されます。 詳細については、「トラフィックの再生とストレステスト」をご参照ください。
セキュリティ監査: この機能は、リスクの高いSQL文、SQLインジェクション攻撃、新しいアクセスソースなどのリスクを自動的に特定するために使用されます。 詳細については、「セキュリティ監査」をご参照ください。
トランザクション分析: この機能は、指定された期間内のスレッドのトランザクションタイプ、トランザクション数、およびトランザクションの詳細を取得するために使用されます。 これにより、トランザクションレベルでデータベースのパフォーマンスを理解、分析、最適化できます。 詳細については、「トランザクション分析」をご参照ください。
クイックトランザクション分析: この機能は、分析するSQL文が配置されているトランザクションの開始および終了SQL文を確認するために使用されます。 これにより、SQL文のコミットまたはロールバックのステータスを取得できます。 詳細については、「クイックトランザクション分析」をご参照ください。
サポートされるリージョン
SQL Explorerおよび監査機能を使用する前に、データベースインスタンスのDAS Enterprise Editionを有効にする必要があります。 DAS Enterprise Editionの異なるバージョンは、異なるデータベースとリージョンをサポートします。 詳細については、「DASのエディションとサポートされている機能」トピックのサポートされているデータベースとリージョンセクションを参照してください。
影響
SQL Explorer機能は、実行されたすべてのデータクエリ言語 (DQL) 、DML、およびDDLステートメントに関する情報を記録します。 DASは、少量のCPUリソースしか消費しないデータベースカーネルから情報を取得します。
使用上の注意
RAM (Resource Access Management) ユーザーとしてsearch機能を使用する場合は、RAMユーザーにAliyunPolardbReadOnlyWithSQLLogArchiveAccess権限が付与されていることを確認してください。 詳細については、「RAMユーザーの作成と権限付与」をご参照ください。
課金
エンタープライズエディションV0
Enterprise Edition V0以降
SQL Explorer機能は、従量課金に基づいて課金でき、サブスクリプションの課金方法をサポートしていません。 関連料金はPolarDBに分類されます。
(オプション) SQL Explorerの課金ルール詳細については、「DAS課金」をご参照ください。
SQLエクスプローラーと監査機能の有効化
PolarDBコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 左上隅のリージョンを選択し、リスト内のクラスターのIDをクリックして、[基本情報] ページに移動します。
左側のナビゲーションウィンドウで、を選択します。
表示されるページで、[SQL Explorer] タブをクリックします。 次に、[SQLエクスプローラーの有効化] をクリックします。
説明
Alibaba CloudアカウントでDAS Enterprise Editionを有効にしない場合は、表示されるページの指示に従ってDAS Enterprise Editionを有効にします。
表示されるページで、ビジネス要件に基づいて機能に対応するタブをクリックします。 次に、フィーチャの情報を表示できます。
Parameters
実行期間の文布: [実行時間の分布] タブで、指定した時間範囲に基づいてSQLクエリの実行時間の分布を表示できます。 統計データは毎分収集されます。 実行時間の範囲は 7 つに分けられます。
[0,1] ms: 実行期間が0 ms〜1 msであることを示します。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
(1,2) ms: 実行時間が1 msより大きく2 ms以下であることを示す。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
(2,3) ms: 実行時間が2 msより大きく3 ms以下であることを示す。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
(3,10) ms: 実行時間が3 msより大きく、10 ms以下であることを示す。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
(10,100) ms: 実行時間が10 msより長く100 ms以下であることを示す。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
(0.1,1]s: 実行時間が0.1秒より長く1秒以下であることを示します。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
> 1s: 実行期間が1sより大きいことを示します。 このグラフは、実行期間がこの範囲内にあるSQLクエリの割合を示しています。
説明
実行期間の文布 タブのセクションには、インスタンスでのSQL文の実行時間の経過が表示されます。 グラフの青い部分が大きいほど、SQL文がインスタンスで実行されたときのインスタンスはより健全になります。 グラフのオレンジと赤の領域が大きいほど、インスタンスでSQL文が実行されたときのインスタンスの健全性が低下します。
実行時間: [実行時間] タブで、SQLクエリの実行時間を表示する時間範囲を指定できます。
完全なリクエスト統計: 指定した時間範囲に基づいて、SQL文の詳細を表示できます。 詳細には、各SQL文のSQLテキスト、実行期間の割合、平均実行期間、および実行傾向が含まれます。
説明
特定のSQLテンプレートを使用するSQL文の実行時間の割合は、次の式に基づいて計算できます。実行時間の割合=(SQLテンプレートを使用するSQL文の実行時間 × SQL文の実行回数)/(すべてのSQL文の合計実行時間 × 実行回数) × 100% 。 実行期間の割合が高いほど、データベースインスタンスが対応するSQL文の実行に使用するMySQLリソースの数が多いことを示します。
SQL ID: SQL IDをクリックすると、対応するSQLテンプレートを使用するSQL文のパフォーマンスの傾向とサンプルデータを表示できます。
SQLサンプル: [SQLサンプル] タブで、各サンプルSQLリクエストを開始したクライアントを表示できます。
説明
UTF-8文字セットは、SQLサンプルのエンコードに使用されます。
SQLログの保持期間の変更
警告
SQLエクスプローラーと監査機能によって生成されたデータの保存期間を短縮すると、DASは、指定された保存期間よりも長い期間保存されたSQL監査ログを直ちに消去します。 ストレージ期間を短縮する前に、SQL監査ログをコンピューターにエクスポートして保存することをお勧めします。
PolarDBコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 左上隅のリージョンを選択し、リスト内のクラスターのIDをクリックして、[基本情報] ページに移動します。
左側のナビゲーションウィンドウで、を選択します。
監査ページの右上隅で、サービス設定をクリックします。
保存期間を変更し、OKをクリックします。
SQLエクスプローラーと監査機能を無効にする
警告
SQLエクスプローラーと監査機能を無効にすると、すべてのSQL監査ログが削除されます。 SQL Explorerおよび監査機能を無効にする前に、SQL監査ログをファイルとしてエクスポートし、そのファイルをコンピューターにダウンロードすることをお勧めします。 SQL Explorerおよび監査機能を再度有効にすると、SQL監査ログは、SQL Explorerおよび監査機能が有効になっている時点から記録されます。
PolarDBコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 左上隅のリージョンを選択し、リスト内のクラスターのIDをクリックして、[基本情報] ページに移動します。
左側のナビゲーションウィンドウで、を選択します。
サービス設定をクリックしてSQLエクスプローラーと監査機能を無効にします。
DAS Enterprise V3を有効にする場合は、SQL Explorerおよび監査機能のすべてのサブ機能を選択します。
説明
log ServiceのCloudLens for PolarDBアプリケーションでPolarDB for MySQLクラスターの監査ログ収集機能を有効にすると、PolarDB for MySQLクラスターのSQL Explorerおよび監査機能が自動的に有効になります。 したがって、PolarDB for MySQLクラスターの監査ログ収集機能も無効にする必要があります。 詳細については、「データ収集の有効化」をご参照ください。
SQLエクスプローラーと監査機能を無効にすると、すべてのSQLログエントリが削除されます。 この機能を無効にする前に、SQLログエントリをエクスポートすることを推奨します。 SQLレコードをエクスポートする方法の詳細については、「手順」をご参照ください。
OKをクリックします。
監査ログのサイズと使用状況の詳細を表示
Alibaba Cloud 管理コンソールにログインします。 ページの右上隅にある [費用] をクリックします。
費用と費用ページの左側のナビゲーションウィンドウで、を選択します。 [課金項目] 列の値がsql_explorerであるデータエントリで課金の詳細を表示します。
[請求書の詳細] ページで、[請求書の詳細] タブをクリックします。 検索バーで、ドロップダウンリストから [インスタンスID] を選択し、詳細を照会するクラスターのIDを入力します。 [課金項目] 列の値がsql_explorerであるデータエントリで課金の詳細を表示します。
新しいSQL Explorerと監査へのアップグレード
説明
PolarDB for MySQLクラスターが中国 (杭州) 、中国 (上海) 、中国 (北京) 、または中国 (深セン) リージョンにデプロイされている場合、SQL Explorerと監査を新しいバージョンにアップグレードできます。
PolarDBコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 左上隅のリージョンを選択し、リスト内のクラスターのIDをクリックして、[基本情報] ページに移動します。
表示されるページの左側のナビゲーションウィンドウで、[ログと監査] > [SQLエクスプローラーと監査] を選択します。
[SQL ExplorerからSQL Explorerおよび監査へのアップグレード] メッセージで、[アップグレード] をクリックします。
DAS Enterprise Editionの異なるバージョン間でデータを移行する
Enterprise Edition V1と比較して、Enterprise Edition V2は、ホットおよびコールドハイブリッドストレージを実装する新しい基盤ストレージアーキテクチャを採用して、ストレージコストを削減し、ストレージ効率を向上させます。 Enterprise Edition V3は、ホットおよびコールドハイブリッドストレージアーキテクチャに基づいて開発され、柔軟な請求方法とストレージコストの削減のために、きめ細かい請求可能アイテムをさらに設計します。
お使いのクラスターがDAS Enterprise Edition V3をサポートしている場合、DAS Enterprise Edition V1またはDAS Enterprise Edition V2からDAS Enterprise Edition V3にデータを移行してコストを削減できます。 詳細については、「DAS Enterprise Editionの異なるバージョン間でデータを移行するにはどうすればよいですか。」をご参照ください。
よくある質問
リソースプランを使用して使用料金を相殺できますかSQLエクスプローラー?
いいえ。 SQL Explorer機能は、従量課金に基づいて課金でき、サブスクリプションの課金方法またはリソースプランをサポートしていません。
何がログアウト!
[SQLエクスプローラー] タブの [完全なリクエスト統計] セクションのステートメントは、
ログアウト!
は切断を示します。 ログアウト!
の実行期間 ステートメントは、最後のインタラクション時間と切断が発生した時間の差です。
時間差の間、接続はアイドルのままである。 [ステータス] 列に表示される1158コードは, 次の原因によるネットワークの切断を示しています。
SQL Explorerタブの [ソース統計] タブの [アクセスソース] 列にパーセント記号 (%) が表示されるのはなぜですか。
ストアドプロシージャを使用すると、[SQLエクスプローラー] タブの [ソース統計] タブの [アクセスソース] 列にパーセント記号 (%) が表示される場合があります。 この状況を再現するには、次の操作を実行します。
説明
次の例では、データベースクラスターはPolarDB for MySQLクラスター、テストアカウントはtest_user、テストデータベースはtest_dbです。
PolarDBコンソールで、データベースと標準アカウントを作成し、データベースに対する権限を標準アカウントに付与します。 詳細については、「標準アカウントの作成」をご参照ください。
CLIを使用して、test_userアカウントを使用してクラスターに接続します。 詳細については、「CLIを使用したクラスターへの接続」をご参照ください。
testdbデータベースに切り替え、次のステートメントを実行してストアドプロシージャを作成します。
DELIMITER $$
DROP PROCEDURE IF EXISTS `das` $$
CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
BEGIN
SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
END $$
DELIMITER ;
特権アカウントを使用してクラスターに接続します。 詳細については、「特権アカウントの作成」および「CLIを使用したクラスターへの接続」をご参照ください。
作成したストアドプロシージャを呼び出します。
+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+
| 269660316 | test_user | %:46182 | test_db | Query | 0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
+
[ログ] セクションに表示されるデータベース名がSQL文のデータベース名と一致しないのはなぜですか。
[ログ] セクションに表示されるデータベース名はセッションから取得されますが、SQL文のデータベース名はユーザーによって指定され、ユーザーの入力またはクエリ設計 (データベース間クエリや動的SQLなど) によって異なります。 これにより、SQL文と [ログ] セクションに表示されるデータベース名に矛盾が生じます。
SQL Explorerおよび監査機能はデータベースのパフォーマンスに影響を与えますか? 影響はどのくらい重要ですか?
はい。 SQL Explorerと監査機能はデータベースのパフォーマンスに影響を与えますが、その影響は軽微であり、ほとんど目立ちません。
次のリソースが使用されます。
CPUとメモリ: CPUとメモリの消費量は非常に少なく、ほとんど無視できます。
ストレージスペース: 監査データはDASに保存されるため、DAS Enterprise Editionが提供するSQL Explorerおよび監査機能は、クラスターのストレージスペースに影響を与えません。
ネットワーク: ネットワークのパフォーマンスには影響しません。
ディスクのパフォーマンス: 監査データはクラスターのディスクではなくDASに保存されるため、SQL Explorerと監査はディスクのパフォーマンスに影響を与えません。