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

Application Real-Time Monitoring Service:Managed Service for Prometheus を使用した MySQL の監視

最終更新日:Jun 23, 2026

このトピックでは、Managed Service for Prometheus を使用して MySQL データベースを監視する方法について説明します。

前提条件

MySQL インスタンスの接続情報 (アドレス、ポート、ユーザー名、パスワード) を準備してください。

MySQL 監視の有効化

  1. にログインします。 ARMSコンソールを使用します。

  2. 左側のナビゲーションペインで、アクセスセンターをクリックします。

  3. アクセスセンター ページで、データベース セクションの [MySQL] をクリックします。

  4. MySQL パネルの 接続を開始 タブで統合を設定し、OK をクリックします。

    パラメータ

    説明

    [環境タイプの選択]

    次のいずれかの環境タイプを選択します。

    • [Kubernetes Environment]

    • [ECS (VPC)]

    • [Cloud Services]

    クラスターの選択

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

    [ECS (VPC) の選択]

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

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

    環境タイプの選択[クラウドサービス] に設定した場合、データ保存用のリージョンを選択する必要があります。

    [MySQL アドレス]

    MySQL インスタンスの接続アドレスです。

    説明

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

    [MySQL サービスポート]

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

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

    MySQL アカウントのユーザー名とパスワードです。

    重要

    データ漏洩などのセキュリティリスクを防ぐため、管理者アカウントの使用は推奨されません。代わりに、mysqld_exporter 専用の MySQL アカウントを作成し、必要最小限の権限のみを付与してください。詳細については、「Managed Service for Prometheus 用の MySQL ユーザーの作成」をご参照ください。

MySQL のアラート設定

  1. にログインします。 ARMSコンソールを使用します。

  2. 左側のナビゲーションウィンドウで、Prometheusのマネージドサービス > インスタンス.

  3. ページ上部で対象のリージョンを選択し、対象のクラスター名をクリックします。

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

    Managed Service for Prometheus は、主要な MySQL メトリックに対して複数のデフォルトの Prometheus アラートルールを提供しています。ビジネスニーズに応じて、新しいアラートルールを追加することもできます。詳細については、「Prometheus アラートルールの作成」をご参照ください。

    説明
    • 主要な MySQL メトリックの詳細については、以下の「主要なメトリック」セクションをご参照ください。

    • Managed Service for Prometheus が主要な MySQL メトリックに対して提供するプリセットアラートルールの詳細については、以下の「メトリックおよびアラートシステムの構築」セクションをご参照ください。

MySQL ダッシュボードの表示

監視ダッシュボードには、可用性、データベースクエリ、ネットワークトラフィック、接続、メモリに関するメトリックが表示されます。次の手順を実行します。

  1. にログインします。 ARMSコンソールを使用します。

  2. 左側のナビゲーションペインで、データインポート管理をクリックします。

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

    [Integrated Environments] タブには、[Kubernetes Environment][ECS Environment][Cloud Service Region Environment] の 3 つのカテゴリがあります。適切なカテゴリを選択してください。

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

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

    • 可用性、QPS、データベース接続sk

    • データベースクエリaj

    • ネットワークトラフィックとメモリ使用量xq

    • ファイル監視データqt

主要なメトリック

タイプ

メトリック

説明

可用性

mysql_up

MySQL インスタンスが稼働中かどうかを示します。値 1 はインスタンスが利用可能であることを示し、値 0 はダウンしていることを示します。

mysql_global_status_uptime

データベースインスタンスの稼働時間です。このメトリックを使用して、インスタンスが 30 分未満稼働している場合にトリガーされるアラートを作成できます。これは最近の再起動を示している可能性があります。

データベース接続

mysql_global_status_connection_errors_total

接続エラーは、データベースエラーの主要な種類の 1 つです。このメトリックを使用すると、特定の接続エラーとその頻度の詳細を表示できます。

mysql_global_status_threads_connected

MySQL インスタンスへの現在開いている接続の数です。

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

サーバーによって実行されたステートメントの総数です。これを使用して、1 秒あたりのクエリ数 (QPS) を計算できます。

ネットワークトラフィック

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

MySQL サーバーで使用可能なファイルディスクリプタの最大数です。

mysql_global_status_innodb_num_open_files

InnoDB ストレージエンジンによって現在開かれているファイルの数です。

メトリックおよびアラートシステムの構築

MySQL を監視するためのセルフマネージド Prometheus システムのセットアップは複雑なプロセスです。このプロセスには、エクスポーターのデプロイ、MySQL インスタンスの接続情報の提供、サービスディスカバリの設定、ダッシュボードの構築が必要です。Managed Service for Prometheus は、MySQL エクスポーターをワンクリックで統合することで、このプロセスを簡素化します。また、ビジュアルコンソールからすぐに利用できる監視ダッシュボードとアラートルールを提供し、設定作業を大幅に削減します。

Managed Service for Prometheus には、一般的な 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 インスタンスは新しい接続を拒否し始めます。この問題は接続制限を増やすことで解決できます。接続制限を増やす前に、次の PromQL 式を評価し、使用可能なファイルディスクリプタの数を確認してください。

    mysql_global_variables_open_files_limit - mysql_global_variables_innodb_open_files
  • [MySQL InnoDB ログ待機]: このルールは、ログ書き込みの待機が検出された場合にトリガーされます。

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