MySQL監視

使いやすいプラグインを使用して、MySQL データベース サーバーのパフォーマンスを分析し、問題を常に把握します。

MySQL は、最も人気のあるオープンソースのリレーショナル データベース管理システム (RDBMS) の 1 つです。このプラグインを構成し、重要な実用的な情報を通じて効率的なデータベース監視エクスペリエンスを確保します。

このドキュメントでは、以下について詳しく説明します。

フェイルオーバー監視

マスターとスレーブの間でフェールオーバーが発生するたびに、フェールオーバー アラートを受信します。これにより、MySQL 環境が常に監視され、タイムリーにアラートを受信できるようになります。

パフォーマンスメトリック

MySQLの接続、クエリ、中断されたクライアントと接続、クエリキャッシュアイテム、ハンドラー、読み書き、MyISAMキーキャッシュ、ソート、転送データ、テーブル、レプリケーション、InnoDBに関するものなど、さまざまなメトリックを監視してパフォーマンスを維持することが可能です。

接続の使用状況のメトリック

  • 最大接続数

    Max connectionsMySQL サーバーへの接続試行の最大回数を示します。

  • 最大使用接続数

    Max Used Connectionsサーバーが起動してから同時に使用された接続の最大数を表示します。

  • 接続の使用

    Connection Usageデータベース内の最大接続数のパーセンテージに対する合計接続数を示します。この情報を使用して、パフォーマンスを向上させるためにデータベース接続を調整できます。

クエリと質問のメトリック

  • アプリケーション クエリ

    Application Queriesサーバーによって実行されたステートメントの数を提供します。この変数には、ストアドプログラム内で実行されるステートメントが含まれます。

  • クライアントのクエリ

    Client Queriesサーバーによって実行されたステートメントの数を表示します。これには、クライアントによってサーバーに送信されたステートメントのみが含まれ、ストアド プログラム内で実行されたステートメントは含まれません。

  • 遅いクエリ

    Slow Queries実行に他のクエリよりも多くの時間を要したクエリの数(秒単位)を提供しますlong_query_time

中止されたクライアントと接続のメトリック

  • 中止されたクライアント

    Aborted Clients接続を適切に閉じずにクライアントが終了したために中止された接続の数を取得します。

  • 中止された接続

    Aborted ConnectsMySQL サーバーへの接続に失敗した回数を示します。

テーブルロック待機メトリック

  • 待機中のテーブル ロック

    Table Locks Waitedテーブル ロックの要求が待機しなければならなかった回数です。

クエリ キャッシュ アイテム メトリック

  • ヒット

    Hitsクエリ キャッシュ ヒットの数を示します。

  • 空きメモリ

    Free Memoryクエリ キャッシュの空きメモリ量をバイト単位でフェッチします。

  • 未キャッシュ

    Not Cachedキャッシュされていないクエリの数を表示します。

  • キャッシュ内

    In Cacheクエリ キャッシュに登録されているクエリの数を示します。

  • フリーブロック

    Free Blocksクエリ キャッシュ内の空きメモリ ブロックの数を表示します。

  • インサート

    Insertsクエリ キャッシュに追加されたクエリの数を取得します。

  • 低メモリプルーン

    Low Memoryプルーンは、メモリ不足のためにクエリ キャッシュから削除されたクエリの数を示します。

  • 総ブロック数

    Total Blocksクエリ キャッシュ内のブロックの総数です。

ハンドラー メトリック

  • ハンドラーのロールバック

    Handler Rollback内部ロールバック操作を実行する要求の割合を示します。

  • ハンドラーの削除

    Handler Deleteテーブル内の列が削除された回数を取得します。

  • ハンドラーの最初の読み取り

    Handler Read Firstインデックスの最初のエントリが読み取られた回数を表示します。

  • ハンドラー読み取りキー

    Handler Read Keyキーに基づいて列を読み取る要求の数を提供します。

  • ハンドラーランダムネクスト

    Handler Random Nextデータ ファイルの次の列を読み取る要求の数を取得します。

  • ハンドラー読み取りランダム

    Handler Read Random 固定位置に基づく行の読み取り要求の数を示します。

  • ハンドラーの更新

    Handler Updateテーブル内の列を更新する要求の数を取得します。

  • ハンドラー書き込み

    Handler Writeテーブルに列を挿入する要求の数を表示します。

読み書きメトリック

  • 書き込み

    WritesMySQL サーバーで行われた書き込みの総数を提供します。これは、挿入されたクエリ、置換されたクエリ、更新されたクエリ、および削除されたクエリの合計です。

  • 読み取り

    ReadsMySQL サーバーで行われた読み取りの総数を取得します。技術的には、選択されたクエリの数とクエリ キャッシュ ヒットの数です。

  • トランザクション

    Transactions取引回数を表します。

クエリメトリックの読み取り

  • 完全結合

    Full Joinインデックスを使用しないためにテーブル スキャンを実行する結合の数を示します。

  • 全範囲結合

    Full Range Join参照テーブルで範囲検索を使用した結合の数を表示します。

  • SELECT範囲

    Select Range最初のテーブルで範囲を使用した結合の数を示します。

  • 範囲チェック

    Range Check各列の後にキーの使用状況をチェックするキーなしの結合の数をフェッチします。

  • SELECTスキャン

    Select Scan最初のテーブルのフル スキャンを実行した結合の数を提供します。

  • 最大実行時間超過

    Maximum Execution Time Exceeded実行タイムアウトを超えたSELECTステートメントの数を示します。

クエリメトリックの書き込み

  • コミット

    Commit実行されたコミットステートメントの数を提供します。

  • コミットSELECT

    Commit Select実行されたSELECTステートメントの数を取得します。

  • コミット削除

    Commit Delete実行された削除ステートメントの数を表示します。

  • コミット削除マルチ

    Commit Delete Multi複数テーブル構文を使用する削除ステートメントの数を示します。

  • コミット挿入

    Commit Insert実行された挿入ステートメントの数を取得します。

  • コミット挿入SELECT

    Commit Insert Select実行された挿入SELECTステートメントの数を表示します。

  • コミット置換SELECT

    Commit Replace Select実行された置換SELECTステートメントの数を示します。

  • コミットのロールバック

    Commit Rollback実行されたロールバック ステートメントの数を提供します。

  • コミット更新

    Commit Update実行された更新ステートメントの数を提供します。

  • コミット更新マルチ

    Commit Update Multi 複数テーブル構文を使用する更新ステートメントの数を示します。

MyISAM キー キャッシュ メトリック

  • フラッシュされていないブロック

    Blocks Not FlushedMyISAM キー キャッシュ内の、変更されたがまだディスクにフラッシュされていないキー ブロックの数を示します。

  • 読み取り要求

    Read RequestsMyISAM キー キャッシュからキー ブロックを読み取る要求の数を示します。

  • キー読み取り

    Key Readsディスクから MyISAM キー キャッシュへのキー ブロックの物理読み取りの数を表示します。

  • 書き込み要求

    Write Requestsキー ブロックを MyISAM キー キャッシュに書き込む要求の数を取得します。

  • キー書き込み

    Key WritesMyISAM キー キャッシュからディスクへのキー ブロックの物理書き込みの数を示します。

メトリックの並べ替え

  • 統合パス

    Merge Passesソート アルゴリズムが実行しなければならなかった統合パスの数を示します。

  • 範囲

    Range範囲を使用して行われた並べ替えの数を表示します。

  • Rowsソートされた列数をフェッチします。

  • スキャン

    Scanテーブルをスキャンして実行された並べ替えの数を表示します。

スレッドのメトリック

  • 接続済み

    Connected現在開いている接続の数を示します。

  • 実行中

    Runningスリープしていないスレッドの数を表示します。

  • キャッシュ済み

    Cachedスレッド キャッシュ内のスレッド数を取得します。

  • 作成済み

    Created接続を処理するために作成されたスレッドの数を示します。

受信および送信されたバイト数のメトリック

  • 受信済み

    Receivedすべてのクライアントから受信したバイト数を提供します。

  • 送信済み

    Sentすべてのクライアントに送信されたバイト数を表示します。

テーブル監視メトリック

  • 列の長さ

    Row Length列の平均長をバイト単位で提供します。

  • データ長

    Data Lengthデータファイルの長さをバイト単位で表示します。

  • インデックスの長さ

    Index Lengthインデックス ファイルの長さをバイト単位で示します。

  • 最大データ長

    Maximum Data Lengthテーブルに格納できるデータの合計バイト数を示します。

テーブル キャッシュ メトリック

  • オープン キャッシュ ヒット

    Open Cache Hits開いているテーブル キャッシュ ルックアップのヒット数を表示します。

  • オープン キャッシュ ミス

    Open Cache Misses開いているテーブルのキャッシュ ルックアップのミス数を取得します。

  • オープン キャッシュ オーバーフロー

    Open Cache overflows開いているテーブル キャッシュのオーバーフロー数を提供します。

作成された一時テーブル (TAB2) メトリック

  • 一時テーブル

    Temporary Tablesステートメントの実行中にサーバーによって作成された内部一時テーブルの数を表示します。

  • ディスクテーブル

    Disk Tablesステートメントの実行中にサーバーによって作成された内部ディスク上の一時テーブルの数を示します。

  • 一時ファイル

    Temporary Filesステートメントの実行中にサーバーによって作成された内部一時テーブルの数を示します。

InnoDB メトリック

  • バッファー プール ページ データ

    Buffer Pool Pages Dataデータを含む InnoDB バッファー プール内のページ数を表示します。

  • バッファー プールダーティページ

    Buffer Pool Pages DirtyInnoDB バッファー プール内のダーティ ページの現在の数を示します。

  • バッファー プール空きページ

    Buffer Pool Pages FreeInnoDB バッファー プール内の空きページ数を提供します。

  • バッファープールページの合計

    Buffer Pool Pages TotalInnoDB バッファー プール内のページの総数をフェッチします。

  • バッファープール待機フリー

    Buffer Pool Wait Freeバッファープールでクリーンページが利用できなかったために InnoDB への読み取りまたは書き込みが待機しなければならなかった回数を示します。

  • ログ待機

    Log Waits ログ バッファーが小さすぎて、続行する前にフラッシュされるのを待つ必要があった回数を表示します。

  • 列ロック時間の平均

    Row Lock Time AvgInnoDB テーブルの列ロックを取得する時間をミリ秒単位で示します。

  • 列ロック待機

    Row Lock WaitsInnoDB テーブルの操作が列ロックを待機する必要があった回数を示します。

  • フラッシュされたバッファー プール ページ

    Buffer Pool Pages FlushedInnoDB バッファー プールからページをフラッシュするための要求の数を取得します。

  • バッファー プールの削除済み先読み

    Buffer Pool Read Ahead Evicted先読みバックグラウンド スレッドによって InnoDB バッファー プールに読み込まれ、クエリによってアクセスされずにその後削除されたページの数を示します。

  • バッファープール待機フリー

    Buffer Pool Wait Freeバッファープールでクリーンページが利用できなかったために InnoDB への読み取りまたは書き込みが待機しなければならなかった回数を示します。

  • バッファープールの先読み

    Buffer Pool Read Ahead先読みバックグラウンド スレッドによって InnoDB バッファー プールに読み込まれたページ数を表示します。

  • バッファープール先読みランダム

    Buffer Pool Read Ahead Random InnoDB によって開始されたランダム先読みの数を示します。

  • バッファープール読み取り要求

    Buffer Pool Read Requests論理読み取り要求の数を取得します。

  • バッファープール読み取り

    Buffer Pool ReadsInnoDB がバッファープールから満たすことができず、ディスクから直接読み取る必要があった論理読み取りの数を示します。

  • バッファープール書き込み要求

    Buffer Pool Write RequestsInnoDB バッファー プールの書き込み数を取得します。

  • データ fsync

    Data Fsync1 秒あたりの fsync() 操作の数を表示します。

  • データ保留中の fsync

    Data Pending Fsync保留中の fsync() 操作の現在の数を示します。

  • データ保留中の読み取り

    Data Pending Reads保留中の読み取りの現在の数を提供します。

  • データ保留中の書き込み

    Data Pending Writes保留中の書き込みの現在の数を示します。

  • データ読み取り

    Data Readsデータの読み取り回数を示します。

  • データ書き込み

    Data Writesデータ書き込み回数を表示します。

  • データ書き込み要求

    Data Write RequestssInnoDB redo ログファイルの書き込み要求の数を示します。

  • ログ書き込み

    Log WritesInnoDB redo ログファイルへの物理書き込みの数を示します。

  • OSログ fsync

    OS Log FsyncsInnoDB redo ログファイルに対して行われた fsync() 書き込みの数を提供します。

  • OSログの保留中の fsync

    OS Log Pending FsyncsInnoDB redo ログファイルの保留中の fsync() 操作の数を取得します。

  • OSログの保留中の書き込み

    Os Log Pending WritesInnoDB redo ログファイルへの保留中の書き込みの数を示します。

  • OSログ書き込み

    Os Log WrittenInnoDB redo ログファイルに書き込まれたバイト数を表示します。

  • 作成されたページ数

    Pages CreatedInnoDB テーブルの操作によって作成されたページの数を示します。

  • 読み込みページ数

    Pages ReadInnoDB テーブルに対する操作によって InnoDB バッファー プールから読み取られたページ数を示します。

  • 書き込みページ数

    Pages WrittenInnoDB テーブルの操作によって書き込まれたページ数を取得します。

  • 削除済み列数

    Rows DeletedInnoDB テーブルから削除された列数を提供します。

  • 挿入された列数

    Rows InsertedInnoDB テーブルに挿入された列数を示します。

  • 読み取り列数

    Rows ReadInnoDB テーブルから読み取られた列数を示します。

  • 更新済み列数

    Rows UpdatedInnoDB テーブルで更新された列数を示します。

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

  • スレーブIO状態

    Slave IO Stateソースへの接続の試行、ソースからのイベントの待機、ソースへの再接続など、スレッドが行っていることの状態を示します。

  • スレーブIO実行中

    Slave IO RunningI/Oスレッドが開始され、ソースに正常に接続されているかどうかが表示されます。

  • スレーブSQL実行中

    Slave Sql RunningSQLスレッドが開始されたかどうかを示します。

  • スレーブ実行中

    Slave Runningスレーブが実行中かどうかを示します。

  • 接続再試行

    Connect Retry接続がリタイアするまでの時間を秒単位で提供します。

  • 最後のIOエラー番号

    Last IO ErrnoI/Oスレッドを停止させた最新のエラーのエラー番号。

  • 最後のSQLエラー番号

    Last Sql ErrnoSQL スレッドの停止の原因となった最新のエラーのエラー番号を提供します。

  • マスターホスト

    Master Hostレプリカが接続されているソース ホストです。

  • マスター再試行回数

    Master Retry Count接続が失われた場合にレプリカがソースへの再接続を試行できる回数を提供します。

  • マスターサーバー ID

    Master Server IDソースからのサーバー ID 値です。

  • マスターユーザー

    Master Userソースへの接続に使用されるアカウントのユーザー名です。

  • リレーログ容量

    Relay Log Space既存のすべてのリレー ログ ファイルの合計サイズ (バイト単位) です。

  • マスター時間差(数秒)

    Seconds Behind Masterマスターのバイナリログに記録されたときの、スレーブのクロック時間とクエリのタイムスタンプの差 (秒単位) です。

  • スキップカウンター

    Skip Counterレプリカ サーバーがスキップするべきソースからのイベントの数を示します。

MySQL は、最も人気のあるオープンソースのリレーショナル データベース管理システム (RDBMS) の 1 つです。このプラグインを構成し、重要な実用的な情報を通じて効率的なデータベース監視エクスペリエンスを確保します。

このドキュメントでは、以下について詳しく説明します。

フェイルオーバー監視

マスターとスレーブの間でフェールオーバーが発生するたびに、フェールオーバー アラートを受信します。これにより、MySQL 環境が常に監視され、タイムリーにアラートを受信できるようになります。

パフォーマンスメトリック

MySQLの接続、クエリ、中断されたクライアントと接続、クエリキャッシュアイテム、ハンドラー、読み書き、MyISAMキーキャッシュ、ソート、転送データ、テーブル、レプリケーション、InnoDBに関するものなど、さまざまなメトリックを監視してパフォーマンスを維持することが可能です。

接続の使用状況のメトリック

  • 最大接続数

    Max connectionsMySQL サーバーへの接続試行の最大回数を示します。

  • 最大使用接続数

    Max Used Connectionsサーバーが起動してから同時に使用された接続の最大数を表示します。

  • 接続の使用

    Connection Usageデータベース内の最大接続数のパーセンテージに対する合計接続数を示します。この情報を使用して、パフォーマンスを向上させるためにデータベース接続を調整できます。

クエリと質問のメトリック

  • アプリケーション クエリ

    Application Queriesサーバーによって実行されたステートメントの数を提供します。この変数には、ストアドプログラム内で実行されるステートメントが含まれます。

  • クライアントのクエリ

    Client Queriesサーバーによって実行されたステートメントの数を表示します。これには、クライアントによってサーバーに送信されたステートメントのみが含まれ、ストアド プログラム内で実行されたステートメントは含まれません。

  • 遅いクエリ

    Slow Queries実行に他のクエリよりも多くの時間を要したクエリの数(秒単位)を提供しますlong_query_time

中止されたクライアントと接続のメトリック

  • 中止されたクライアント

    Aborted Clients接続を適切に閉じずにクライアントが終了したために中止された接続の数を取得します。

  • 中止された接続

    Aborted ConnectsMySQL サーバーへの接続に失敗した回数を示します。

テーブルロック待機メトリック

  • 待機中のテーブル ロック

    Table Locks Waitedテーブル ロックの要求が待機しなければならなかった回数です。

クエリ キャッシュ アイテム メトリック

  • ヒット

    Hitsクエリ キャッシュ ヒットの数を示します。

  • 空きメモリ

    Free Memoryクエリ キャッシュの空きメモリ量をバイト単位でフェッチします。

  • 未キャッシュ

    Not Cachedキャッシュされていないクエリの数を表示します。

  • キャッシュ内

    In Cacheクエリ キャッシュに登録されているクエリの数を示します。

  • フリーブロック

    Free Blocksクエリ キャッシュ内の空きメモリ ブロックの数を表示します。

  • インサート

    Insertsクエリ キャッシュに追加されたクエリの数を取得します。

  • 低メモリプルーン

    Low Memoryプルーンは、メモリ不足のためにクエリ キャッシュから削除されたクエリの数を示します。

  • 総ブロック数

    Total Blocksクエリ キャッシュ内のブロックの総数です。

ハンドラー メトリック

  • ハンドラーのロールバック

    Handler Rollback内部ロールバック操作を実行する要求の割合を示します。

  • ハンドラーの削除

    Handler Deleteテーブル内の列が削除された回数を取得します。

  • ハンドラーの最初の読み取り

    Handler Read Firstインデックスの最初のエントリが読み取られた回数を表示します。

  • ハンドラー読み取りキー

    Handler Read Keyキーに基づいて列を読み取る要求の数を提供します。

  • ハンドラーランダムネクスト

    Handler Random Nextデータ ファイルの次の列を読み取る要求の数を取得します。

  • ハンドラー読み取りランダム

    Handler Read Random 固定位置に基づく行の読み取り要求の数を示します。

  • ハンドラーの更新

    Handler Updateテーブル内の列を更新する要求の数を取得します。

  • ハンドラー書き込み

    Handler Writeテーブルに列を挿入する要求の数を表示します。

読み書きメトリック

  • 書き込み

    WritesMySQL サーバーで行われた書き込みの総数を提供します。これは、挿入されたクエリ、置換されたクエリ、更新されたクエリ、および削除されたクエリの合計です。

  • 読み取り

    ReadsMySQL サーバーで行われた読み取りの総数を取得します。技術的には、選択されたクエリの数とクエリ キャッシュ ヒットの数です。

  • トランザクション

    Transactions取引回数を表します。

クエリメトリックの読み取り

  • 完全結合

    Full Joinインデックスを使用しないためにテーブル スキャンを実行する結合の数を示します。

  • 全範囲結合

    Full Range Join参照テーブルで範囲検索を使用した結合の数を表示します。

  • SELECT範囲

    Select Range最初のテーブルで範囲を使用した結合の数を示します。

  • 範囲チェック

    Range Check各列の後にキーの使用状況をチェックするキーなしの結合の数をフェッチします。

  • SELECTスキャン

    Select Scan最初のテーブルのフル スキャンを実行した結合の数を提供します。

  • 最大実行時間超過

    Maximum Execution Time Exceeded実行タイムアウトを超えたSELECTステートメントの数を示します。

クエリメトリックの書き込み

  • コミット

    Commit実行されたコミットステートメントの数を提供します。

  • コミットSELECT

    Commit Select実行されたSELECTステートメントの数を取得します。

  • コミット削除

    Commit Delete実行された削除ステートメントの数を表示します。

  • コミット削除マルチ

    Commit Delete Multi複数テーブル構文を使用する削除ステートメントの数を示します。

  • コミット挿入

    Commit Insert実行された挿入ステートメントの数を取得します。

  • コミット挿入SELECT

    Commit Insert Select実行された挿入SELECTステートメントの数を表示します。

  • コミット置換SELECT

    Commit Replace Select実行された置換SELECTステートメントの数を示します。

  • コミットのロールバック

    Commit Rollback実行されたロールバック ステートメントの数を提供します。

  • コミット更新

    Commit Update実行された更新ステートメントの数を提供します。

  • コミット更新マルチ

    Commit Update Multi 複数テーブル構文を使用する更新ステートメントの数を示します。

MyISAM キー キャッシュ メトリック

  • フラッシュされていないブロック

    Blocks Not FlushedMyISAM キー キャッシュ内の、変更されたがまだディスクにフラッシュされていないキー ブロックの数を示します。

  • 読み取り要求

    Read RequestsMyISAM キー キャッシュからキー ブロックを読み取る要求の数を示します。

  • キー読み取り

    Key Readsディスクから MyISAM キー キャッシュへのキー ブロックの物理読み取りの数を表示します。

  • 書き込み要求

    Write Requestsキー ブロックを MyISAM キー キャッシュに書き込む要求の数を取得します。

  • キー書き込み

    Key WritesMyISAM キー キャッシュからディスクへのキー ブロックの物理書き込みの数を示します。

メトリックの並べ替え

  • 統合パス

    Merge Passesソート アルゴリズムが実行しなければならなかった統合パスの数を示します。

  • 範囲

    Range範囲を使用して行われた並べ替えの数を表示します。

  • Rowsソートされた列数をフェッチします。

  • スキャン

    Scanテーブルをスキャンして実行された並べ替えの数を表示します。

スレッドのメトリック

  • 接続済み

    Connected現在開いている接続の数を示します。

  • 実行中

    Runningスリープしていないスレッドの数を表示します。

  • キャッシュ済み

    Cachedスレッド キャッシュ内のスレッド数を取得します。

  • 作成済み

    Created接続を処理するために作成されたスレッドの数を示します。

受信および送信されたバイト数のメトリック

  • 受信済み

    Receivedすべてのクライアントから受信したバイト数を提供します。

  • 送信済み

    Sentすべてのクライアントに送信されたバイト数を表示します。

テーブル監視メトリック

  • 列の長さ

    Row Length列の平均長をバイト単位で提供します。

  • データ長

    Data Lengthデータファイルの長さをバイト単位で表示します。

  • インデックスの長さ

    Index Lengthインデックス ファイルの長さをバイト単位で示します。

  • 最大データ長

    Maximum Data Lengthテーブルに格納できるデータの合計バイト数を示します。

テーブル キャッシュ メトリック

  • オープン キャッシュ ヒット

    Open Cache Hits開いているテーブル キャッシュ ルックアップのヒット数を表示します。

  • オープン キャッシュ ミス

    Open Cache Misses開いているテーブルのキャッシュ ルックアップのミス数を取得します。

  • オープン キャッシュ オーバーフロー

    Open Cache overflows開いているテーブル キャッシュのオーバーフロー数を提供します。

作成された一時テーブル (TAB2) メトリック

  • 一時テーブル

    Temporary Tablesステートメントの実行中にサーバーによって作成された内部一時テーブルの数を表示します。

  • ディスクテーブル

    Disk Tablesステートメントの実行中にサーバーによって作成された内部ディスク上の一時テーブルの数を示します。

  • 一時ファイル

    Temporary Filesステートメントの実行中にサーバーによって作成された内部一時テーブルの数を示します。

InnoDB メトリック

  • バッファー プール ページ データ

    Buffer Pool Pages Dataデータを含む InnoDB バッファー プール内のページ数を表示します。

  • バッファー プールダーティページ

    Buffer Pool Pages DirtyInnoDB バッファー プール内のダーティ ページの現在の数を示します。

  • バッファー プール空きページ

    Buffer Pool Pages FreeInnoDB バッファー プール内の空きページ数を提供します。

  • バッファープールページの合計

    Buffer Pool Pages TotalInnoDB バッファー プール内のページの総数をフェッチします。

  • バッファープール待機フリー

    Buffer Pool Wait Freeバッファープールでクリーンページが利用できなかったために InnoDB への読み取りまたは書き込みが待機しなければならなかった回数を示します。

  • ログ待機

    Log Waits ログ バッファーが小さすぎて、続行する前にフラッシュされるのを待つ必要があった回数を表示します。

  • 列ロック時間の平均

    Row Lock Time AvgInnoDB テーブルの列ロックを取得する時間をミリ秒単位で示します。

  • 列ロック待機

    Row Lock WaitsInnoDB テーブルの操作が列ロックを待機する必要があった回数を示します。

  • フラッシュされたバッファー プール ページ

    Buffer Pool Pages FlushedInnoDB バッファー プールからページをフラッシュするための要求の数を取得します。

  • バッファー プールの削除済み先読み

    Buffer Pool Read Ahead Evicted先読みバックグラウンド スレッドによって InnoDB バッファー プールに読み込まれ、クエリによってアクセスされずにその後削除されたページの数を示します。

  • バッファープール待機フリー

    Buffer Pool Wait Freeバッファープールでクリーンページが利用できなかったために InnoDB への読み取りまたは書き込みが待機しなければならなかった回数を示します。

  • バッファープールの先読み

    Buffer Pool Read Ahead先読みバックグラウンド スレッドによって InnoDB バッファー プールに読み込まれたページ数を表示します。

  • バッファープール先読みランダム

    Buffer Pool Read Ahead Random InnoDB によって開始されたランダム先読みの数を示します。

  • バッファープール読み取り要求

    Buffer Pool Read Requests論理読み取り要求の数を取得します。

  • バッファープール読み取り

    Buffer Pool ReadsInnoDB がバッファープールから満たすことができず、ディスクから直接読み取る必要があった論理読み取りの数を示します。

  • バッファープール書き込み要求

    Buffer Pool Write RequestsInnoDB バッファー プールの書き込み数を取得します。

  • データ fsync

    Data Fsync1 秒あたりの fsync() 操作の数を表示します。

  • データ保留中の fsync

    Data Pending Fsync保留中の fsync() 操作の現在の数を示します。

  • データ保留中の読み取り

    Data Pending Reads保留中の読み取りの現在の数を提供します。

  • データ保留中の書き込み

    Data Pending Writes保留中の書き込みの現在の数を示します。

  • データ読み取り

    Data Readsデータの読み取り回数を示します。

  • データ書き込み

    Data Writesデータ書き込み回数を表示します。

  • データ書き込み要求

    Data Write RequestssInnoDB redo ログファイルの書き込み要求の数を示します。

  • ログ書き込み

    Log WritesInnoDB redo ログファイルへの物理書き込みの数を示します。

  • OSログ fsync

    OS Log FsyncsInnoDB redo ログファイルに対して行われた fsync() 書き込みの数を提供します。

  • OSログの保留中の fsync

    OS Log Pending FsyncsInnoDB redo ログファイルの保留中の fsync() 操作の数を取得します。

  • OSログの保留中の書き込み

    Os Log Pending WritesInnoDB redo ログファイルへの保留中の書き込みの数を示します。

  • OSログ書き込み

    Os Log WrittenInnoDB redo ログファイルに書き込まれたバイト数を表示します。

  • 作成されたページ数

    Pages CreatedInnoDB テーブルの操作によって作成されたページの数を示します。

  • 読み込みページ数

    Pages ReadInnoDB テーブルに対する操作によって InnoDB バッファー プールから読み取られたページ数を示します。

  • 書き込みページ数

    Pages WrittenInnoDB テーブルの操作によって書き込まれたページ数を取得します。

  • 削除済み列数

    Rows DeletedInnoDB テーブルから削除された列数を提供します。

  • 挿入された列数

    Rows InsertedInnoDB テーブルに挿入された列数を示します。

  • 読み取り列数

    Rows ReadInnoDB テーブルから読み取られた列数を示します。

  • 更新済み列数

    Rows UpdatedInnoDB テーブルで更新された列数を示します。

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

  • スレーブIO状態

    Slave IO Stateソースへの接続の試行、ソースからのイベントの待機、ソースへの再接続など、スレッドが行っていることの状態を示します。

  • スレーブIO実行中

    Slave IO RunningI/Oスレッドが開始され、ソースに正常に接続されているかどうかが表示されます。

  • スレーブSQL実行中

    Slave Sql RunningSQLスレッドが開始されたかどうかを示します。

  • スレーブ実行中

    Slave Runningスレーブが実行中かどうかを示します。

  • 接続再試行

    Connect Retry接続がリタイアするまでの時間を秒単位で提供します。

  • 最後のIOエラー番号

    Last IO ErrnoI/Oスレッドを停止させた最新のエラーのエラー番号。

  • 最後のSQLエラー番号

    Last Sql ErrnoSQL スレッドの停止の原因となった最新のエラーのエラー番号を提供します。

  • マスターホスト

    Master Hostレプリカが接続されているソース ホストです。

  • マスター再試行回数

    Master Retry Count接続が失われた場合にレプリカがソースへの再接続を試行できる回数を提供します。

  • マスターサーバー ID

    Master Server IDソースからのサーバー ID 値です。

  • マスターユーザー

    Master Userソースへの接続に使用されるアカウントのユーザー名です。

  • リレーログ容量

    Relay Log Space既存のすべてのリレー ログ ファイルの合計サイズ (バイト単位) です。

  • マスター時間差(数秒)

    Seconds Behind Masterマスターのバイナリログに記録されたときの、スレーブのクロック時間とクエリのタイムスタンプの差 (秒単位) です。

  • スキップカウンター

    Skip Counterレプリカ サーバーがスキップするべきソースからのイベントの数を示します。

前提条件

  • 当社の Linux/Windows サーバー監視エージェントは、ネットワークまたはMySQ インスタンスが実行されている特定のホストにインストールする必要があります。
  • プラグインを追加するときは、プラグイン名とそのフォルダー名が同じである必要があります。
  • MySQL プラグインは、MySQL サーバーの監視に必要な「pymysql」モジュールを自動的に検証、ダウンロード、およびインストールします。これは mysql_monitoring.py ファイルで確認できます。「Pymysql」モジュールがインストールされていない場合は、以下の手順に従って手動でインストールしてください。

Linuxの場合:

  • サーバーで次のコマンドを実行して、pymysql をインストールします。pip install pymysql

Pipのインストール:

  • 「Pip」を使用してpymysqlモジュールをインストールします
    注: Pip は、Python で記述されたソフトウェア パッケージのインストールと管理に使用されるパッケージ管理システムです。
  • CentOS、Fedora、RHELの場合:
    yum install python-devel
    yum install python-pip (or)
    easy_install pip
  • Debian、Ubuntuの場合:
    apt-get -y install python-pip

Windowsの場合:

  • 管理者としてcmdを開きます。
  • Python パスに移動します。cd [python path]
  • 次のコマンドを実行します。python -m pip install PyMySQL

サーバーに pymysql が既にインストールされている場合は、この記事に記載されている手順に従って、MySQL プラグインを Windows サーバーにインストールします。

役割と権限

SELECT VERSION()SHOW GLOBAL STATUS、およびSHOW VARIABLESがMySQLプラグインで使用されるクエリです。

  1. MySQLユーザーを作成するには:
    CREATE USER username@hostname IDENTIFIED BY 'password';
  2. 上記のクエリを実行するには、クエリの選択権限が必要です。
    GRANT SELECT ON mysql.* TO username@hostname IDENTIFIED BY password;
たとえば、「site24x7」をパスワードとして「site24x7」というユーザーを作成します。「site24x7」ユーザーに選択権限を付与し、権限をフラッシュします。
CREATE USER site24x7@localhost IDENTIFIED BY 'site24x7';
GRANT SELECT ON mysql.* TO site24x7@localhost IDENTIFIED BY 'site24x7';
FLUSH PRIVILEGES;

プラグインのインストール

Linux

  • プラグインを実行する予定のサーバーに、Site24x7 Linuxエージェントの最新バージョンをダウンロードしてインストールします。正常にインストールされると、Site24x7コントロールパネルにLinuxサーバーモニターが表示されます。これにより、エージェントがデータセンターと通信できることが確認されます。
  • GitHub リポジトリからmysql_monitoring.pyおよびmysql_monitoring.cfgファイルをダウンロードします。
    wget https://raw.githubusercontent.com/site24x7/plugins/master/mysql_monitoring/mysql_monitoring.py
    wget https://raw.githubusercontent.com/site24x7/plugins/master/mysql_monitoring/mysql_monitoring.cfg
  • 以下のように「mysql_monitoring.cfg」に構成を追加します:
    [MySQL]
    host ="hostname"
    port="port"
    username="username"
    database="dbname"
    table ="hostname"
    password ="password"
    logs_enabled ="logenabled"
    log_type_name ="logtypename"
    log_file_path ="logfilepath"
  • Site24x7 Linux エージェントのプラグイン ディレクトリ「/opt/site24x7/monagent/plugins/」の下に「mysql_monitoring」という名前のフォルダーを作成し、「mysql_monitoring.py」と「mysql_monitoring.cfg」を「/opt/site24x7/monagent/plugins/mysql_monitoring/」の下に配置します。

Windows

  • プラグインを実行する予定のネットワークに、 Site24x7 Windowsエージェントの最新バージョンをダウンロードしてインストールします。正常にインストールされると、Site24x7コントロールパネルにWindowsサーバーモニターが表示されます。これにより、エージェントがデータセンターと通信できることが確認されます。
  • GitHub リポジトリからmysql_monitoring.pyおよびmysql_monitoring.cfgファイルをダウンロードします。
  • この記事に記載されている手順に従って、Windows サーバーで Python スクリプトを実行する方法を確認してください。
  • Site24x7 Windowsのエージェントプラグインディレクトリ(C:\Program Files (x86)\Site24x7\WinAgent\monitoring\Plugins\)に「mysql_monitoring」という名前のフォルダーを作成し、「mysql_monitoring.py」ファイルを「C:\Program Files (x86)\Site24x7\WinAgent\monitoring\Plugins\mysql_monitoring\」に配置します。
エージェントは5分以内にプラグインを自動的に実行し、パフォーマンスデータをSite24x7データセンターに送信します。

AppLog の自動統合

  • MySQLログを使用してメトリックを分析し、問題の正確な根本原因を見つけるために、ファイルの構成変更を実行しましょうmysql_configuration.cfg
    Example:
    logs_enabled ="true"
    log_type_name="MySQL Error"
    log_file_path="/var/mysql/log/error.txt"
ヒント

次のコマンドを使用してプラグイン スクリプトを手動で実行し、その出力を確認します。

python mysql_monitoring.py --host="host_name" --port="port_number" --username="username" --password="password" --database="job_name" --table = "tablename"

Site24x7のウェブクライアントでのデータの表示

  1. Site24x7 にログインし、[サーバー] > [プラグイン] > [プラグイン モニター] をクリックします。
  2. MySQL サーバーのさまざまなメトリックに関するパフォーマンス チャートを表示できます。

プラグインの開発に貢献

気軽に既存のプラグインに貢献して、コミュニティに関する提案やフィードバックを考えてください。

その他のプラグイン統合

  • サポートされているプラットフォーム: supported os
  • Python バージョン: 2.7以上
  • Windows エージェントのバージョン: 18.4以上
  • Linux エージェントのバージョン: 15.0.0 以降