MySQL監視

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

MySQLは、幅広く使用されているオープンソースのリレーショナルデータベース管理システム(RDBMS)です。プラグインを設定し、重要情報を通じてデータベースの効率的な監視を実現します。

このページでは、次の内容について説明します。:

 

パフォーマンス監視メトリクス

Running Threads

threads_running メトリクスは、現在データベースで実行中であり、スリープ状態でないスレッドの合計数を表示します。

Reads

reads メトリクスは、MySQLサーバーで実行された読み込みの合計数(選択されたクエリー数とクエリーキャッシュのヒット数)を表示します。

Writes

writes メトリクスは、MySQLサーバーで実行された書き込みの合計数(挿入、置換、更新、および削除されたクエリーの合計数)を表示します。

 

Slow Queries

slow_queries メトリクスは、MySQLサーバーで実行されているスロークエリー数を表示します。クエリーが遅い場合、ディスクの読み込みおよびメモリー、CPUの使用率が高くなります。

Temporary Tables Created on the Disk

created_tmp_tables_on_disk メトリクスは、ステートメント実行中にサーバーが作成した内部ディスク上の一時テーブル合計数を表示します。

Aborted Clients

aborted_clients tメトリクスは、クライアントが接続を適切に終了しなかったために、中断された接続合計数を表示します。クライアントが接続できない場合、サーバーはAborted Connectsステータス変数を増やします。

Aborted Connections

aborted_connections メトリクスは、MySQLサーバーへの接続が失敗した合計試行回数を表示します。クライアントがデータベースへの接続試行を失敗した場合、このカウンターが増加します。

 

Connection Usage

connection_usage メトリクスは、データベース内の最大接続の割合に関する合計接続数を表示します。このデータを基にデータベースを調整し、パフォーマンスを向上させることができます。

Maximum Used Connections

max_used_connections メトリクスは、サーバーを起動してから、一定時間経過後の最大接続数を表示します。サーバーが最大接続制限に達すると、追加の接続リクエストが拒否されます。

Threads Connected

threads_connected メトリクスは、現在オープンしている接続合計数を表示します。また、現在接続されているクライアント数も表示できます。値が0または高すぎる場合は、異常事態です。

Temporary Tables Created

created_tmp_tables メトリクスは、MySQLサーバーによって作成された内部の一時テーブル合計数を表示します。値が大きい場合は、スレッドキャッシュのサイズ値を増やすことができます。

Open Files

open_files で開いているファイルの合計数を表示します。合計数には、サーバーが開く通常のファイルが含まれ、ソケットやパイプなど他のタイプのファイルは含まれません。また、サーバーレベルに要求せずに、ストレージエンジンが独自内部機能を使用して開くファイルも含まれません。

 

前提条件

  • ネットワークまたはMySQLインスタンスが実行されている特定のホストに、Site24x7 Linuxサーバー監視エージェントをインストールする必要があります。
  • プラグインを追加する際、プラグイン名とそのフォルダー名が一致している必要があります。
  • MySQLプラグインは、MySQLサーバーの監視に必要な[pymysql]モジュールを自動で検証、ダウンロード、およびインストールします。これはmysql.pyファイルで表示できます。[pymysql]モジュールがインストールされていない場合は、以下手動インストールの手順へお進みください。
  • サーバーで次のコマンドを実行してpymysqlをインストールします
    pip install pymysql

pipのインストール:

  • "pip"を使用してpymysqlモジュールをインストールしますe

    メモ: 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
 

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

  • プラグイン実行予定のサーバーに Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。 正常にインストールされると、Site24x7コントロールパネルにLinuxサーバーモニターが表示されます。これにより、エージェントがデータセンターと通信できるようになります。
  • GitHubレポジトリーから"mysql.py" ファイルをダウンロードします。
    wget https://raw.githubusercontent.com/site24x7/plugins/master/mysql/mysql.py
  • プラグインは、デフォルトで以下の設定によりMySQLインスタンスに接続します。既存の設定を変更するには、[mysql.py]ファイルの[#Config Section]を編集します。
    #Config Section:
    MYSQL_HOST = "localhost"
    MYSQL_PORT="3306"
    MYSQL_USERNAME="root"
    MYSQL_PASSWORD=""
  • Site24x7 Linuxエージェントのプラグインディレクトリー [ /opt/site24x7/monagent/plugins/ ]に、[mysql]という名前のフォルダーを作成し、[ /opt/site24x7/monagent/plugins/mysql/ ]に[mysql.py]を配置します。'

エージェントは5分以内にプラグインを自動実行し、Site24x7データセンターにパフォーマンスデータを送信します。

Site24x7 Webクライアントでデータ表示

  1. ログインしたら、[サーバー] >[プラグイン] > [プラグイン監視名]へ移動します。
  2. MySQLサーバーのさまざまなメトリクスに関するパフォーマンスグラフを表示できます。

プラグインのカスタマイズ

属性の追加/削除や、単位の変更をする場合は、[mysql.py]ファイルで変更を加え、プラグインバージョンをインクリメントします。以下の連続したデータ収集から、変更が反映されます。

例えば、メトリクス[Flush_commands]を監視用に追加するには、

  • メソッドmetricCollector() に、以下を追加します。
    data['flush_commands'] = global_metrics['Flush_commands']
  • [mysql.py]ファイルのプラグインバージョン値を PLUGIN_VERSION = "1" から "PLUGIN_VERSION = "2"にインクリメントします。
  • 変更を保存します。次回のデータ収集の際に、このメトリクスも監視用に追加されます。

プラグインに貢献

関する提案やフィードバックをご自由にお寄せください。貴重な意見を既存のプラグイン発展に繋げていきます。 コミュニティーに.

関連記事

  • サーバー監視 - サーバーの停止やパフォーマンスの問題を完全に把握します。
  • Out-of-the-Boxプラグイン – 豊富な連携リストでアプリケーション全体を監視します。
  • Nagios - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
  • RabbitMQ - RabbitMQデータベースのパフォーマンスメトリクスを監視します。
  • MongoDB - MongoDBデータベースのパフォーマンスメトリクスを監視します。
  • Samba - Sambaサーバーのパフォーマンスを分析します。
  • Linux および Windows にプラグインを作成します。