Azure Database for MySQL フレキシブル サーバーを監視する

適用対象: Azure Database for MySQL - フレキシブル サーバー

Azure Database for MySQL フレキシブル サーバーでは、Azure Monitor を通してサーバーを監視できます。 サーバーに関する監視データは、ワークロードをトラブルシューティングしたり最適化したりするのに役立ちます。

この記事では、サーバーの動作に関する情報の分析に使用できるさまざまなメトリックとフレキシブル サーバーのサーバー ログについて説明します。

注意

この記事には、Microsoft が使用しなくなった "スレーブ" という用語への言及が含まれています。 ソフトウェアからこの用語が削除された時点で、この記事から削除します。

メトリック

メトリックは、サーバーのリソースの特定の時点における何らかの側面を表す数値です。 サーバーのリソースを監視すると、ユーザーにとって最も重要なものを監視できるため、ワークロードのトラブルシューティングと最適化に役立ちます。 適切なメトリックを監視すると、サーバーとアプリケーションのパフォーマンス、信頼性、可用性を維持するのに役立ちます。

Azure Database for MySQL フレキシブル サーバーには、ワークロードがどのように実行されているかを把握し、そのデータに基づいてサーバーとアプリケーションへの影響を理解するための、さまざまなメトリックが用意されています。

すべての Azure メトリックは 1 分間隔で、各メトリックの 30 日間の履歴が保持されます。 メトリックにアラートを構成できます。 詳細な手順については、アラートの設定方法に関する記事をご覧ください。 その他のタスクとして、自動化されたアクションの設定、高度な分析の実行、履歴のアーカイブなどがあります。 詳細については、Azure のメトリックの概要に関する記事をご覧ください。

メトリックの一覧

これらのメトリックは、Azure Database for MySQL に使用できます。

メトリックの表示名 メトリック ユニット 説明
ホストの CPU 使用率 cpu_percent Percent ホストの CPU 使用率は、選択した期間にサーバー上のすべてのタスクを処理するための CPU の合計使用率です。 このメトリックには、Azure Database for MySQL フレキシブル サーバーと Azure MySQL プロセスのワークロードが含まれます。 CPU 使用率が高い状態は、データベース サーバーに処理能力を超えるワークロードがあるかどうかを確認するのに役立ちます。 このメトリックは、仮想マシン上の CPU 使用率のような、合計 CPU 使用率に相当します。
ホストのネットワーク受信 network_bytes_ingress バイト 選択した期間のサーバー上の受信ネットワーク トラフィックの合計。 このメトリックには、データベースへのトラフィックや、Azure MySQL の機能 (監視、ログなど) へのトラフィックが含まれます。
ホストのネットワーク送信 network_bytes_egress バイト 選択した期間のサーバー上の送信ネットワーク トラフィックの合計。 このメトリックには、データベースからのトラフィックや、Azure MySQL の機能 (監視、ログなど) からのトラフィックが含まれます。
アクティブな接続 active_connection Count サーバーへのアクティブな接続の数 アクティブな接続は、サーバーに接続されているスレッドの合計数です。azure_superuser からのスレッドも含まれます。
使用済みバックアップ ストレージ backup_storage_used バイト 使用されているバックアップ ストレージの量。
IO の割合 io_consumption_percent Percent 選択した期間に使用されている IO の割合。 IO の割合は、読み取りと書き込みの両方の IOPS が対象です。
ホストのメモリ使用率 memory_percent Percent サーバーで使用中のメモリの合計使用率 (データベース ワークロードと他の Azure MySQL プロセスの両方からのメモリ使用率を含む)。 このメトリックは、仮想マシン上のメモリ使用量のような、基になるホストのメモリ使用量の合計を示します。
ストレージの制限 storage_limit バイト このサーバーの最大のストレージ
ストレージの割合 storage_percent Percent サーバーの最大数のうち使用されているストレージの割合
使用されているストレージ storage_used バイト 使用されているストレージの量。 サービスで使用されるストレージには、データベース ファイル、トランザクション ログ、サーバー ログが含まれることがあります。
合計接続数 total_connections Count Azure Database for MySQL フレキシブル サーバーへのクライアント接続の数。 合計接続数は、選択した期間の TCP/IP プロトコルを使用したクライアント別の接続数の合計です。
中止された接続 aborted_connections Count MySQL への接続を試みて失敗した (たとえば、資格情報が正しくないために接続できなかった場合などの) 回数の合計。 中止された接続の詳細については、このドキュメントを参照してください。
クエリ Query Count サーバーで 1 分間に実行されたクエリの合計数。 データベース ワークロードと Azure MySQL プロセスからの、サーバー上の 1 分間のクエリの合計数です。
Slow_queries slow_queries Count 選択した時間範囲内のサーバーでの低速クエリの合計数。

レプリケーションのメトリック

メトリックの表示名 メトリック ユニット 説明
レプリケーションのラグ replication_lag Seconds レプリケーションのラグは、レプリカでソース サーバーから受信したトランザクションの再生が遅延している秒数です。 このメトリックは、"SHOW SLAVE STATUS" コマンドの "Seconds_behind_Master" から計算され、レプリカ サーバーでのみ使用できます。 詳細については、「レプリケーション待機時間の監視」を参照してください。
レプリカ IO の状態 replica_io_running State レプリカ IO の状態は、レプリケーション I/O スレッドの状態を示します。 メトリック値は、I/O スレッドが実行されている場合は 1、実行されていない場合は 0 です。
レプリカ SQL の状態 replica_sql_running State レプリカ SQL の状態は、レプリケーション SQL スレッドの状態を示します。 メトリック値は、SQL スレッドが実行されている場合は 1、実行されていない場合は 0 です。
HA IO の状態 ha_io_running State HA IO の状態は、HA レプリケーションの状態を示します。 メトリック値は、I/O スレッドが実行されている場合は 1、実行されていない場合は 0 です。
HA SQL の状態 ha_sql_running State HA SQL の状態は、HA レプリケーションの状態を示します。 メトリック値は、SQL スレッドが実行されている場合は 1、実行されていない場合は 0 です。

注意

Azure Database for MySQL フレキシブル サーバーの読み取りレプリカの場合、MySQL コマンド "SHOW SLAVE STATUS" または "SHOW REPLICA STATUS" の Replica_IO_Running の値は "NO" と表示され、無視する必要があります。読み取りレプリカの I/O スレッドの正規状態については、監視ブレードのメトリックのレプリカ IO の状態を参照してください。

拡張メトリック

DML 統計

メトリックの表示名 メトリック ユニット 説明
Com_select Com_select Count 選択した時間範囲内にサーバーで実行された SELECT ステートメントの合計数。
Com_update Com_update Count 選択した時間範囲内にサーバーで実行された UPDATE ステートメントの合計数。
Com_insert Com_insert Count 選択した時間範囲内にサーバーで実行された INSERT ステートメントの合計数。
Com_delete Com_delete Count 選択した時間範囲内にサーバーで実行された DELETE ステートメントの合計数。

DDL 統計

メトリックの表示名 メトリック ユニット 説明
Com_create_db Com_create_db Count 選択した時間範囲内にサーバーで実行された CREATE DATABASE ステートメントの合計数。
Com_drop_db Com_drop_db Count 選択した時間範囲内にサーバーで実行された DROP DATABASE ステートメントの合計数。
Com_create_table Com_create_table Count 選択した時間範囲内にサーバーで実行された CREATE TABLE ステートメントの合計数。
Com_drop_table Com_drop_table Count 選択した時間範囲内にサーバーで実行された DROP TABLE ステートメントの合計数。
Com_Alter Com_Alter Count 選択した時間範囲内にサーバーで実行された ALTER TABLE ステートメントの合計数。

InnoDB メトリック

メトリックの表示名 メトリック ユニット 説明
Innodb_buffer_pool_reads Innodb_buffer_pool_reads Count InnoDB エンジンが InnoDB バッファー プールから満たすことができず、ディスクから取り込む必要があった論理読み取りの合計数。
Innodb_buffer_pool_read_requests Innodb_buffer_pool_read_requests Count InnoDB バッファー プールから読み取る論理読み取り要求の合計数。
Innodb_buffer_pool_pages_free Innodb_buffer_pool_pages_free Count InnoDB バッファー プール内の空きページの合計数。
Innodb_buffer_pool_pages_data Innodb_buffer_pool_pages_data Count InnoDB バッファー プール内のデータを含むページの合計数。 この数字には、ダーティとクリーンの両ページが含まれます。
Innodb_buffer_pool_pages_dirty Innodb_buffer_pool_pages_dirty Count InnoDB バッファー プール内のダーティ ページを含むページの合計数。

サーバー ログ

Azure Database for MySQL Server - フレキシブル サーバーでは、ユーザーはサーバー ログを構成し、ダウンロードして、トラブルシューティング作業に役立てることができます。 この機能を有効にすると、フレキシブル サーバーは選んだログの種類についてイベントのキャプチャを開始し、ファイルに書き込みます。 これにより、ユーザーは Azure portal と Azure CLI を使ってファイルをダウンロードし、それらを操作できるようになります。 サーバー ログ機能は、既定では無効です。 サーバー ログを有効にする方法については、Azure Database for MySQL - フレキシブル サーバーのサーバー ログの有効化とダウンロードに関する記事を参照してください。

データの履歴分析を行うには、Azure portal のサーバーの [診断] 設定ペインでログを Log Analytics ワークスペース、Azure Storage、またはイベント ハブに送信する診断設定を追加します。 詳細については、診断の設定に関する記事を参照してください。

サーバー ログのリテンション期間

Azure Database for MySQL フレキシブル サーバーのログ記録が有効な場合、ログは作成から最長 7 日間使用できます。 使用可能なログの合計サイズが 7 GB を超える場合は、空き領域を利用できるようになるまで、古いファイルから削除されます。 サーバー ログの 7 GB のストレージ上限は、コストなしで使用可能であり、拡張することはできません。 ログのローテーションは、24 時間ごとか 7 GB ごとのどちらか早い方のタイミングで行われます。

次のステップ

  • メトリックに対するアラートの作成のガイダンスについては、アラートを設定する方法に関するページをご覧ください。
  • Azure portal または Azure CLI から Azure Database for MySQL - フレキシブル サーバーのサーバー ログを有効にしてダウンロードする方法