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

Managed Service for Prometheus:Managed Service for Prometheus による MySQL のモニタリング

最終更新日:Jun 25, 2026

Managed Service for Prometheus を使用して、MySQL インスタンスの可用性、接続数、クエリ、トラフィック、ファイル使用量をモニタリングできます。

前提条件

ご利用の MySQL インスタンスの認証情報(エンドポイント、ポート、ユーザー名、パスワード)を取得済みである必要があります。

MySQL モニタリングの統合

  1. 左側のナビゲーションウィンドウで、アクセスセンター をクリックします。

  2. アクセスセンター ページの Database セクションで、MySQL をクリックします。

  3. MySQL パネルの アクセス開始 タブでパラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    環境タイプの選択

    ご利用の MySQL インスタンスのデプロイ環境を選択します。有効な値は以下のとおりです。

    • Kubernetes 環境

    • ECS (VPC)

    • クラウドサービス

    クラスターの選択

    対象のクラスターを選択します。

    ECS (VPC) の選択

    対象の ECS インスタンスを選択します。

    データストレージリージョンの選択

    環境タイプの選択Cloud Services を選択した場合、モニタリングデータを保存するリージョンを選択する必要があります。

    MySQL サービスエンドポイント

    ご利用の MySQL インスタンスの接続エンドポイントです。

    説明

    Container Service for Kubernetes (ACK)、ECS インスタンス、ApsaraDB RDS にデプロイされた MySQL インスタンスをサポートしています。

    MySQL サービスポート

    ご利用の MySQL インスタンスのポート番号です。例:3306。

    MySQL ユーザー名およびMySQL パスワード

    ご利用の MySQL インスタンスへの接続に使用するユーザー名およびパスワードです。

    重要

    データ漏えいなどのセキュリティリスクを回避するため、管理者アカウントを使用しないでください。代わりに、mysqld_exporter 専用の MySQL アカウントを作成し、必要な最小限の権限を付与してください。詳細については、「Prometheus 用の MySQL アクセスアカウントの作成」をご参照ください。

MySQL アラートルールの設定

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

  2. 左側のナビゲーションウィンドウで、Managed Service for Prometheus > インスタンス を選択して、Managed Service for Prometheus のインスタンス一覧ページを開きます。

  3. ページ上部で、ご利用のインスタンスが配置されているリージョンを選択し、インスタンス名をクリックします。

  4. 左側のナビゲーションウィンドウで、Alarm Rules をクリックして、MySQL の Prometheus アラートルールを表示します。

    Managed Service for Prometheus では、重要な MySQL メトリック向けに複数のデフォルトアラートルールが提供されています。また、ビジネス要件に基づいてカスタムアラートルールを作成することも可能です。詳細については、「Managed Service for Prometheus のアラートルールの作成」をご参照ください。

    説明

MySQL ダッシュボードの表示

ダッシュボードには、可用性、データベースクエリ、ネットワークトラフィック、接続数、メモリ使用量などのモニタリングデータが表示されます。

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

  2. 左側のナビゲーションウィンドウで、アクセス管理 をクリックします。

  3. アクセス管理 ページで、アクセス済みの環境 タブをクリックし、対象の環境を選択して、リスト内の環境名をクリックして詳細ページを開きます。

    環境は Kubernetes 環境ECS 環境クラウドサービスリージョン環境 に分類されます。

  4. コンポーネントの管理 タブの コンポーネントタイプ セクションで、MySQL をクリックし、次に Dashboard をクリックして、すべてのダッシュボード名を表示します。

  5. ダッシュボード名をクリックして、対応する Grafana ダッシュボードを表示します。

    • 可用性、秒間クエリ数 (QPS)、データベース接続数。sk

    • データベースクエリ。aj

    • トラフィックおよびメモリ使用量。xq

    • ファイルモニタリングデータ。qt

主要メトリック

タイプ

メトリック

説明

可用性

mysql_up

MySQL インスタンスが実行中かどうかを示します。値が 1 の場合はインスタンスが稼働中、0 の場合は停止中です。

mysql_global_status_uptime

インスタンスが稼働している時間(秒単位)。たとえば、30 分未満しか稼働していない最近再起動されたインスタンスに対してアラートを送信するために使用できます。

データベース接続

mysql_global_status_connection_errors_total

接続エラーの総数。データベースの問題を示す一般的な指標です。

mysql_global_status_threads_connected

現在接続されているクライアントスレッド数。

mysql_global_status_threads_running

スリープ状態でないスレッド数。

mysql_global_status_max_used_connections

サーバー起動以降、同時に使用されていた接続数のピーク値。

mysql_global_variables_max_connections

許可されるクライアント接続の最大数。この制限に達すると、新しい接続リクエストは拒否されます。

mysql_global_status_aborted_connects

MySQL サーバーへの接続試行失敗回数。

mysql_global_status_aborted_clients

クライアントが適切に接続を閉じずに終了したために中止された接続数。

クエリ

mysql_global_status_slow_queries

long_query_time 秒を超えて実行されたクエリの数。

mysql_global_status_queries

サーバーによって実行された文の総数。

トラフィック

mysql_global_status_bytes_received

すべてのクライアントから受信したバイト数。

mysql_global_status_bytes_sent

すべてのクライアントに送信されたバイト数。

ファイル

mysql_global_status_opened_files

サーバー起動以降に開かれたファイルの総数。

mysql_global_status_open_files

現在開いているファイル数。

mysql_global_variables_open_files_limit

オペレーティングシステムが mysqld サーバーに開くことを許可するファイルの最大数。

mysql_global_status_innodb_num_open_files

InnoDB が現在開いているファイル数。

事前設定済みメトリックモニタリングおよびアラートシステム

MySQL モニタリング用のセルフマネージド Prometheus システムを構築するには、エクスポーターのデプロイ、MySQL 接続情報の提供、サービス検出の設定、ダッシュボードの構築が必要です。Managed Service for Prometheus では、ワンクリックでの MySQL エクスポーター統合、すぐに使えるダッシュボード、事前設定済みアラートにより、これらの手順を簡略化できます。

Managed Service for Prometheus には、一般的な MySQL アラートルール向けの事前設定済みテンプレートが含まれています。

  • MySQL 停止:MySQL インスタンスが停止している場合にアラートをトリガーします。値が 0 の場合はインスタンスが停止中、1 の場合は稼働中です。${instance} を使用して特定のインスタンスを対象にできます。

    mysql_up{${instance}} != 1
  • MySQL スロークエリ:最適化が必要な可能性のある SQL ステートメントを特定します。

    rate(mysql_global_status_slow_queries{${instance}}[5m]) > 0
  • MySQL 接続エラー:接続エラーが発生した場合に、エラーの種類とクエリ数を含むアラートを送信します。アラートルールは Managed Service for Prometheus によって提供されます。

    rate(mysql_global_status_connection_errors_total{${instance}}[5m]) > 0
  • MySQL 接続使用率:接続使用率が高い場合、利用可能な接続数が不足している可能性があります。

    100 * mysql_global_status_threads_connected{${instance}} 
          / mysql_global_variables_max_connections{${instance}} > 90

    接続使用率がしきい値に達すると、MySQL インスタンスは新しい接続を拒否します。これを解決するには、最大接続数を増やすことができます。その前に、システムが開くことのできるファイル数を確認してください。

    mysql_global_variables_open_files_limit - mysql_global_variables_innodb_open_files
  • MySQL InnoDB ログ待機:InnoDB ログバッファーを待機しているスレッドのレート。

    rate(mysql_global_status_innodb_log_waits{${instance}}[5m])