データベースのヘルススコア機能は、ApsaraDB RDS for MySQL インスタンスに対して自動チェックを実行し、スコア付きの診断レポートを生成します。このレポートを使用してリスクを特定し、本番環境に影響が及ぶ前に対処します。
利用可能な検査モードは 2 種類あります:
-
[自動検査]:手動操作なしで、接続されているすべてのインスタンスを 1 日 1 回スコアリングします。
-
手動検査:特定期間のオンデマンドチェックを実行します。設定変更後やインシデント調査中に役立ちます。
サポートされるインスタンスタイプ
この機能は、次のインスタンスタイプで利用できます:
-
RDS High-availability Edition、RDS Enterprise Edition、または RDS Cluster Edition の MySQL 8.0
-
RDS High-availability Edition、RDS Enterprise Edition、または RDS Cluster Edition の MySQL 5.7
-
RDS High-availability Edition の MySQL 5.6
-
RDS High-availability Edition の MySQL 5.5
自動検査の有効化
自動検査は、手動操作なしで、接続されている各 RDS インスタンスを 1 日 1 回スコアリングします。
-
ApsaraDB RDS コンソールにログインします。
-
左側メニューで、[メンテナンスとモニタリング] > [パフォーマンスモニタリング] を選択します。
-
[パフォーマンスモニタリング] ページで、[検査とスコアリング] タブをクリックします。
-
[有効化] をクリックします。
-
[検査とスコアリングの設定] ダイアログボックスで、[エンジンの選択] パラメーターを設定し、[OK] をクリックします。
自動検査を有効にすると、システムは接続されている各 RDS インスタンスを 1 日 1 回スコアリングします。
手動検査の実行
-
ApsaraDB RDS コンソールにログインします。
-
左側メニューで、[メンテナンスとモニタリング] > [パフォーマンスモニタリング] を選択します。
-
[検査とスコアリング] タブをクリックし、[検査の開始] をクリックします。
-
[インスタンス検査] ダイアログボックスで、[インスタンスの選択] セクションに移動します。[利用可能なインスタンス] から 1 つ以上のインスタンスを選択し、
アイコンをクリックして [選択されたインスタンス] に移動させます。 -
[検査時間] セクションで、期間を設定します。
開始時間は現在時刻より後に設定することはできません。開始時間と終了時間の最小間隔は 1 時間、最大間隔は 24 時間です。
-
[確認] をクリックします。

結果の表示と管理
検査の実行後、インスタンス名またはエイリアスで検索して、特定の期間の結果を表示します。
結果ごとに利用可能な操作
[操作] 列では、次の操作を行えます:
| 操作 | 説明 |
|---|---|
| [減点の詳細] | [減点の詳細] パネルが開き、どのメトリクスによってどの程度のポイントが減点されたかが表示されます。 |
| [レポート] | [スコアリングレポートの詳細] パネルが開き、指摘された各問題の最適化の提案を含む完全な診断レポートが表示されます。 |
| [削除] | そのインスタンスの検査結果を削除します。 |
追加オプション
-
インスタンス ID をクリックすると、[パフォーマンストレンド] タブでそのパフォーマンス傾向を表示できます。詳細については、「パフォーマンストレンド」をご参照ください。
-
アイコンをクリックすると、結果をコンピューターにダウンロードできます。
スコアリングルール
この検査では 9 つのメトリクスカテゴリを評価します。各メトリクスについて、システムは 1 日の平均値を事前定義されたしきい値と比較します。CPU やメモリなどのリソースメトリクスはスケーリング式を使用します。メトリクスがクリティカルなしきい値に近いほど、記載された最大値まで、より多くのポイントが減点されます。デッドロックなどのバイナリメトリクスは、固定の減点を使用します。
| 減点項目 | サブ項目 | 条件 | 減点ポイント |
|---|---|---|---|
CPU 使用率 (cpuUsage) — すべてのコアにわたる 1 日の平均 CPU 使用率 |
警告 | 70% ≤ cpuUsage ≤ 80% | 1+(cpuUsage−0.7)×20 |
| クリティカル | cpuUsage ≥ 80% | min[3+(cpuUsage−0.8)×30, 10] | |
メモリ使用率 (memUsage) — 1 日の平均メモリ使用率 |
警告 | 80% ≤ memUsage ≤ 90% | 1+(memUsage−0.8)×20 |
| クリティカル | memUsage > 0.9 | min[(memUsage−0.9)×50, 10] | |
| ストレージ使用率 — ストレージ使用率 = 平均使用ストレージ ÷ 合計ストレージ × 100% | 利用可能日数 | availableDays ≤ 30 | 15−availableDays/3 |
| 大規模テーブル数 | bigTableCount > 0 | min(bigTableCount, 15) | |
接続使用率 (connectionRate) — 平均接続数 ÷ 最大許容接続数 × 100% |
警告 | 70% ≤ connectionRate ≤ 80% | 1 |
| クリティカル | connectionRate > 80% | 3 | |
IOPS 使用率 (iopsUsage) — 平均 IOPS ÷ 最大許容 IOPS × 100% |
警告 | 70% < iopsUsage < 90% | 3 |
| クリティカル | iopsUsage > 90% | 5 | |
アクティブセッション (threadRunning) — 1 日のアクティブセッション数 |
警告 | threadRunning > min(2×cpuCores+8, 64) | 3 |
| クリティカル | threadRunning > min(4×cpuCores+8, 96) | 9 | |
低速 SQL (slowSqlCount) — 1 日に低速クエリを引き起こした SQL ステートメント。カウントをクリックすると、最も実行頻度の高い 5 つの低速 SQL ステートメントを表示できます。 |
検出済み | 0 < slowSqlCount < 100 | 1+(slowSqlCount−10)/30 |
| 警告 | 100 ≤ slowSqlCount < 500 | 4+(slowSqlCount−100)/30 | |
| クリティカル | slowSqlCount ≥ 500 | min[18+(slowSqlCount−500)/30, 30] | |
| SQL セキュリティ監査 | 高リスク SQL | riskSqlCount > 0 | min(riskSqlCount, 5) |
| SQL インジェクション攻撃 | sqlInjectionCount > 0 | min(sqlInjectionCount, 5) | |
| デッドロック | 検出済み | 検出済み | 3 |
次のステップ
検査結果で特定の問題が明らかになった場合は、次の機能を使用して対処してください:
低速 SQL:
ストレージ容量の問題:
パフォーマンスの問題: