MySQL インテグレーションでは、ご利用のMySQLデータベースからインベントリとメトリックスを収集して当社のプラットフォームに送信します。このプラットフォームで、ご利用のデータベースサーバの健全性を確認し、メトリックデータを分析して、問題の原因を簡単に見つけることができます。
インテグレーションのインストールと、当社がどのようなデータを収集するかについてお読みください。
互換性と要件
当社のインテグレーションは、MySQLバージョン5.6以上と互換性があります。
インテグレーションをインストールする前に、以下の要件を満たしていることを確認してください。
- MySQLがKubernetesまたはAmazon ECSで実行されていない場合、Infrastructureエージェントが、MySQLを実行しているLinux OSホストにインストールされている必要があります。その他の場合:
重要
MySQL v8.0以降では、次のメトリックはサポートされていません。cluster.slaveRunning
, db.qCacheFreeMemoryBytes
, db.qCacheHitRatio
, db.qCacheNotCachedPerSecond
.
インストールと有効化
MySQLインテグレーションをインストールするには、お使いの環境の指示に従います:
設定
インテグレーションのYAML形式設定では、必要なログインクレデンシャルやデータの収集方法を設定できます。どのオプションを変更するかは、設定とプリファレンスにより異なります。
インストールの方法により、インテグレーションの設定方法はいくつかあります。
- Kubernetesを通じて有効化された場合: Kubernetesで実行しているサービスを監視するをご覧ください。
- Amazon ECSを通じて有効化された場合: ECSで実行しているサービスを監視するをご覧ください。
- オンホストでインストールされた場合: インテグレーションのYAML設定ファイルである
mysql-config.yml
で設定を編集します。
この設定は、メトリックスとすべての設定オプションを取得する単一のコマンド、status
を提供します。このコマンドは、以下の引数を受け取ります。
hostname
:MySQLのホスト名。port
:MySQLサーバーがリッスンしているポート。username
:MySQLサーバーに接続しているユーザー。アクティベーション命令
でCREATE USERコマンドを使用した場合は、これをnewrelic
に設定する必要があります。password
:上記で指定されたユーザーのパスワード。extended_metrics
:拡張された一連のメトリックスをキャプチャします。デフォルトでは無効です。有効化するには、1
に設定します。これによりスレーブメトリックスの取得も可能になります。extended_innodb_metrics
:追加のinnodbのメトリックスをキャプチャします。デフォルトでは無効です。有効化するには、1
に設定します。extended_myisam_metrics
:追加のMyISAMメトリックスをキャプチャします。デフォルトでは無効です。有効化するには、1
に設定します。- オプション:
labels
フィールド。たとえば、env
ラベルはenvironment
インベントリデータを制御します。デフォルト値はproduction
です。 - オプション:
metrics
フィールド。インベントリの収集を無効化するには、1
に設定します。
設定ファイルのサンプルを参照してください。
遠隔監視を起動する
remote_monitoring
パラメーターにより、このインテグレーションの遠隔監視とマルチテナンシーが有効になります。
このパラメーターはデフォルトで有効にされており、カスタム環境で必要な場合を除き変更しないでください。
remote_monitoring
を起動すると、一部の属性が変更されるほか、設定アラートに影響が及ぶ可能性があります。詳しくは、オンホストインテグレーションにおける遠隔監視を参照してください。
重要
remote_monitoring
を使用するには、Infrastructureエージェントのバージョン1.2.25以降が必要です。
環境変数パススルー
環境変数は構成設定の管理に使用された後、Infrastructureエージェントにパススルーされます。この機能の利用手順に関しては、Infrastructureエージェントを設定するを参照してください。
重要
シークレット管理を使用して、New Relic Infrastructureのエージェントによりオンホストインテグレーションを設定し、インテグレーションの設定ファイルにプレーンテキストで書き込みを行わずに(パスワードのような)機密データを使用できます。詳細については、シークレット管理をご覧ください。
オンホストインテグレーション設定の一般的な構成の詳細については、設定をご覧ください。
データの検索と使用
このサービスからのデータは、インテグレーションダッシュボードにレポートされます。
メトリックスは、MysqlSample
イベントタイプに関連付けられます。トラブルシューティング目的で、またはカスタムのチャートとダッシュボードを作成するために、このデータのクエリを行えます。
データの検索・使用方法の詳細については、 インテグレーションデータを理解するをご覧ください。
メトリックデータ
MySQLインテグレーションは以下のメトリックスを収集します。
デフォルトのメトリックス
デフォルトでキャプチャされるメトリックス
名前 | 説明 |
---|---|
| ブール値。このサーバーがレプリケーションマスターに接続されたレプリケーションスレーブで、I/OとSQLスレッドの両方が実行している場合は |
| ストレージエンジンに対しロールバック操作の実行を要求する1秒あたりの回数。 |
| データが入っているInnoDBバッファープールのページ数。 |
| InnoDBバッファプール内のフリーページ数。 |
| InnoDBバッファプールの総ページ数。 |
| InnoDBテーブルからデータが読み込まれる速度(バイト数/秒)。 |
| InnoDBテーブルにデータが書き込まれる速度(バイト数/秒)。 |
| ログバッファーが小さすぎたため、続行前にフラッシュされて待機が必要となった回数(待機回数/秒)。 |
| InnoDBテーブルの操作によって現在待機されている行ロック数。 |
| InnoDBテーブルの行ロックを取得する平均時間(ミリ秒単位)。 |
| InnoDBテーブルの操作が、行ロックの待機を必要とした回数(秒単位)。 |
|
|
| 開いているファイル数。このカウントには、サーバーが開いた通常のファイルが含まれます。ソケットやパイプなどの他のタイプのファイルは含まれません。 |
| 開いているテーブル数。 |
| クエリキャッシュの空きメモリ量。 |
| キャッシュから取得されたクエリの割合。 |
| 1秒あたりのキャッシュされていないクエリの数 ( |
| 使用されているクエリキャッシュメモリの割合。 |
| テーブルロックの要求がすぐに許可されず、待機が必要だった回数(秒単位)。 |
| クライアントが正しく接続を終了せずに終了したために中止された接続数。 |
| MySQLサーバーへの接続に失敗した回数(秒単位)。 |
| すべてのクライアントから受信したスループット(秒単位)。 |
| すべてのクライアントに送信されたスループット(秒単位)。 |
| サーバーの |
| 1秒当たりの接続試行回数。 |
| サーバーが起動してから同時に使用された最大接続数。 |
| 現在開いている接続数。 |
| スリープしていないスレッド数。 |
| 1秒あたりに実行されたCOMMITステートメントの数。 |
| 1秒あたりに実行されたDELETEステートメントの数。 |
| 1秒あたりに実行された複数テーブルの構文を使用するDELETEステートメントの数。 |
| 1秒あたりに実行されたINSERTステートメントの数。 |
| 1秒あたりに実行されたINSERT SELECTステートメントの数。 |
| 1秒あたりに実行されたREPLACE SELECTステートメントの数。 |
| 1秒あたりに実行されたROLLBACKステートメントの数。 |
| 1秒あたりに実行されたSELECTステートメントの数。 |
| 1秒あたりに実行された複数テーブルの構文を使用するUPDATEステートメントの数。 |
| 1秒あたりに実行されたUPDATEステートメントの数。 |
| 1秒あたりのプリペアードステートメントの現在の数。(ステートメントの最大数は、システム変数 |
| 1秒あたりにサーバーが実行するステートメントの合計数。 ストアドプログラム内で実行されるステートメントを含む。 |
| 1秒あたりにサーバーが実行するステートメントの数。クライアントが送信したステートメントのみに限る。 |
|
|
拡張メトリックス
extended_metrics
が有効化されている(設定ファイルで1
に設定されている)場合は、追加のメトリックスが取得されます:
名前 | 説明 |
---|---|
| ステートメントの実行中にサーバーによって作成されたディスク上の一時的な内部テーブルの数(秒単位)。 |
| mysqldが作成した一時ファイルの数(秒単位)。 |
| ステートメントの実行中にサーバーが作成した内部一時テーブルの数(秒単位)。 |
| 表から行が削除された回数(秒単位)。 |
| インデックスの最初のエントリが読み取られた回数(秒単位)。 |
| キーに基づいて行を読み取るリクエスト数(秒単位)。 |
| データファイルの次の行を読み込むリクエスト数(秒単位)。 |
| 固定位置に基づいて行を読み取るリクエスト数(秒単位)。 |
| テーブル内の行を更新するリクエスト数(秒単位)。 |
| テーブルに行を挿入するリクエスト数(秒単位)。 |
| 実行タイムアウトを超えたSELECTステートメントの数(秒単位)。 |
| クエリキャッシュ内の空きメモリブロックの数。 |
| クエリキャッシュヒットの数(秒単位)。 |
| クエリキャッシュに追加されたクエリの数。 |
| メモリ不足のためにクエリキャッシュから削除されたクエリの数(秒単位)。 |
| クエリキャッシュに登録されたクエリの数(秒単位)。 |
| クエリキャッシュ内のブロックの合計。 |
| インデックスを使用しないために、テーブルスキャンを実行するジョインの数(秒単位)。 |
| 参照テーブルで範囲検索を使用したジョインの数(秒単位)。 |
| 各行の後にキーの使用状況をチェックするキーのないジョインの数(秒単位)。 |
| 最初のテーブルの範囲を使用したジョインの数(秒単位)。 |
| 並べ替えアルゴリズムが実行しなければならなかったマージパスの数(秒単位)。 |
| 範囲を使って行われた並べ替えの数(秒単位)。 |
| ソートされた行数(秒単位)。 |
| テーブルをスキャンして行われた並べ替えの数(秒単位)。 |
| オープンテーブルのキャッシュルックアップのヒット数(秒単位)。 |
| オープンテーブルのキャッシュルックアップのミス数(秒単位)。 |
| オープンテーブルのキャッシュのオーバーフロー数(秒単位)。 |
| キャッシュに十分なスレッドがないため、新しい接続を処理するために作成する必要があるスレッドの割合。 |
| スレッドキャッシュ内のスレッド数。 |
| 接続処理のために作成されたスレッドの数。 |
innodbの拡張メトリックス
extended_innodb_metrics
が有効化されている(設定ファイルで1
設定されている)場合は、追加のメトリックスが取得されます:
名前 | 説明 |
---|---|
| InnoDBバッファプール内の現在のダーティページ数。 |
| InnoDBバッファプールからページをフラッシュするリクエスト数(秒単位)。 |
| 先読みバックグラウンドスレッドによってInnoDBバッファプールに読み込まれ、その後、クエリによるアクセスなしに削除されたページ数(秒単位)。 |
| 先読みバックグラウンドスレッドによってInnoDBバッファプールに読み込まれたページ数(秒単位)。 |
| InnoDBによって開始された「ランダム」先読みの数(秒単位)。これは、クエリがテーブルの大部分をランダムにスキャンする場合に発生します。 |
| 論理的な読み取りリクエスト数(秒単位)。 |
| InnoDBがバッファプールから満たすことができず、ディスクから直接読み込まなければならなかった論理読み込みの数(秒単位)。 |
| バッファプール内で使用可能なクリーンページがなかったために、InnoDBへの読み書きが待機しなければならなかった回数(秒単位)。 |
| InnoDBバッファプールへの書き込み回数(秒単位)。 |
|
|
| 現在、保留中の fsync() 操作数。 |
| 現在、保留中の読み取り数。 |
| 現在、保留中の書き込み数。 |
| データ読み取りの回数(OSファイル読み取り)(秒単位)。 |
| データ書き込み回数(秒単位)。 |
| InnoDB redoログの書き込みリクエスト数(秒単位)。 |
| InnoDB redoログファイルへの物理的な書き込み回数(秒単位)。 |
| InnoDBが現在保持しているファイルの数。 |
| InnoDB redoログファイルに対して行われた |
| InnoDB redoログファイルに対する保留中の |
| InnoDB redoログファイルへの保留中の書き込み数(秒単位)。 |
rate | InnoDB redoログファイルに書き込まれたバイト数(秒単位)。 |
| InnoDB テーブルの操作によって作成されたページ数(秒単位)。 |
| InnoDBテーブルの操作によってInnoDBバッファプールから読み込まれたページ数(秒単位)。 |
| InnoDBテーブルの操作によって書き込まれたページ数(秒単位)。 |
| InnoDBテーブルから削除された行数(秒単位)。 |
| InnoDB テーブルに挿入された行数(秒単位)。 |
| InnoDBテーブルから読み込まれた行数(秒単位)。 |
| InnoDBテーブルで更新された行数(秒単位)。 |
myisamの拡張メトリックス
extended_myisam_metrics
が設定ファイルで有効化されている場合は、追加のメトリックスが取得されます:
名前 | 説明 |
---|---|
| 変更されたものの、まだディスクにフラッシュされていないMyISAMキーキャッシュ内のキーブロック数。 |
| 使用中のキーキャッシュの割合。 |
| MyISAMキーキャッシュからのキーブロックの読み取りリクエスト数(秒単位)。 |
| ディスクからMyISAMキーキャッシュへのキーブロックの物理読み込み回数(秒単位)。 |
| MyISAMキーキャッシュにキーブロックを書き込むリクエスト数(秒単位)。 |
| MyISAMキーキャッシュからディスクへのキーブロックの物理書き込み回数(秒単位)。 |
スレーブクラスタの拡張メトリックス
設定ファイルで拡張メトリックスフラグが有効化されており、cluster.slaveRunning
メトリックスが1
を返す場合に取得される追加メトリックス:
名前 | 説明 |
---|---|
| すべての既存リレーログファイルに対する合計バイト数。 |
| I/Oスレッドを停止させた最も最近のエラーのエラー番号。 |
| I/Oスレッドを停止させた最も最近のエラーのエラーメッセージ。 |
| SQLスレッドを停止させた最も最近のエラーのエラー番号。 |
| SQLスレッドを停止させた最も最近のエラーのエラーメッセージ。 |
| ブール値:0または1。I/Oスレッドが開始され、マスターへの接続に成功したかどうかのステータス。 |
| ブール値:0または1。SQLスレッドが開始されているかどうかのステータス。 |
| スレーブがマスターのバイナリログに記録されたときの、スレーブのドックタイムとクエリのタイムスタンプの差(秒)。スレーブがマスターに正しく接続されてない場合、このメトリックは報告されません。 |
| I/Oスレッドが現在読み込んでいるマスターバイナリログファイルの名前。 |
| 現在のマスターバイナリログファイルにおいて、I/Oスレッドがどの位置まで読み込んだか。 |
| SQLスレッドにより実行された、最も最近のイベントを含むマスターバイナリログファイルの名前。 |
| SQLスレッドが読み込んで実行した現在のマスターバイナリログファイル内の位置であり、処理すべき次のトランザクションまたはイベントの開始点を表す。 |
インベントリ
MySQLインテグレーションは、SHOW GLOBAL VARIABLES
によって返されたMySQLノードの設定パラメーターを取得します。このデータは、Inventoryページのconfig/mysql
ソースで取得できます。
システムメタデータ
MySQLインテグレーションは、お使いのMySQLシステムについて以下のメタデータ 属性 を収集します。
名前 | 説明 |
---|---|
|
|
| MySQLサーバのバージョン。 |
| 監視されているMySQLノードの役割に応じて |
ソースコード
MySQL インテグレーションはオープンソース ソフトウェアです。つまり、ソースコードを参照して改善を送信したり、独自のフォークを作成して構築したりできます。
その他のヘルプ
さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:
- Explorers Hubを参照して、コミュニティから支援を受け、ディスカッションに参加してください。
- 当社のサイトで回答を見つけ、サポートポータルの使用方法について学びます。
- Linux、Windows、およびmacOSのトラブルシューティングツールであるNew Relic Diagnosticsを実行します。
- New Relicのデータセキュリティとライセンスドキュメントを見直してください。