• /
  • ログイン
  • 無料アカウント

MySQL監視インテグレーション

MySQL インテグレーションでは、ご利用のMySQLデータベースからインベントリとメトリックスを収集して当社のプラットフォームに送信します。このプラットフォームで、ご利用のデータベースサーバの健全性を確認し、メトリックデータを分析して、問題の原因を簡単に見つけることができます。

インテグレーションのインストールと、当社がどのようなデータを収集するかについてお読みください。

互換性と要件

当社のインテグレーションは、MySQLバージョン5.6以上と互換性があります。

インテグレーションをインストールする前に、以下の要件を満たしていることを確認してください。

重要

MySQL v8.0以降では、次のメトリックはサポートされていません。cluster.slaveRunning, db.qCacheFreeMemoryBytes, db.qCacheHitRatio, db.qCacheNotCachedPerSecond.

インストールと有効化

MySQLインテグレーションをインストールするには、お使いの環境の指示に従います:

設定

インテグレーションのYAML形式設定では、必要なログインクレデンシャルやデータの収集方法を設定できます。どのオプションを変更するかは、設定とプリファレンスにより異なります。

インストールの方法により、インテグレーションの設定方法はいくつかあります。

この設定は、メトリックスとすべての設定オプションを取得する単一のコマンド、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インテグレーションは以下のメトリックスを収集します。

デフォルトのメトリックス

デフォルトでキャプチャされるメトリックス

名前

説明

cluster.slaveRunning

ブール値。このサーバーがレプリケーションマスターに接続されたレプリケーションスレーブで、I/OとSQLスレッドの両方が実行している場合は1、そうでない場合は0になります。有効にした場合に報告されるメトリックスについては、 レプリケーションスレーブメトリックスをご覧ください。

db.handlerRollbackPerSecond

ストレージエンジンに対しロールバック操作の実行を要求する1秒あたりの回数。

db.innodb.bufferPoolPagesData

データが入っているInnoDBバッファープールのページ数。

db.innodb.bufferPoolPagesFree

InnoDBバッファプール内のフリーページ数。

db.innodb.bufferPoolPagesTotal

InnoDBバッファプールの総ページ数。

db.innodb.dataReadBytesPerSecond

InnoDBテーブルからデータが読み込まれる速度(バイト数/秒)。

db.innodb.dataWrittenBytesPerSecond

InnoDBテーブルにデータが書き込まれる速度(バイト数/秒)。

db.innodb.logWaitsPerSecond

ログバッファーが小さすぎたため、続行前にフラッシュされて待機が必要となった回数(待機回数/秒)。

db.innodb.rowLockCurrentWaits

InnoDBテーブルの操作によって現在待機されている行ロック数。

db.innodb.rowLockTimeAvg

InnoDBテーブルの行ロックを取得する平均時間(ミリ秒単位)。

db.innodb.rowLockWaitsPerSecond

InnoDBテーブルの操作が、行ロックの待機を必要とした回数(秒単位)。

db.openedTablesPerSecond

my_open()(mysysライブラリ関数)で開かれたファイル数(秒単位)。この関数を使わずにファイルを開くサーバー部分はカウントしません。

db.openFiles

開いているファイル数。このカウントには、サーバーが開いた通常のファイルが含まれます。ソケットやパイプなどの他のタイプのファイルは含まれません。

db.openTables

開いているテーブル数。

db.qCacheFreeMemoryBytes

クエリキャッシュの空きメモリ量。

db.qCacheHitRatio

キャッシュから取得されたクエリの割合。

db.qCacheNotCachedPerSecond

1秒あたりのキャッシュされていないクエリの数 (query_cache_type settingによりキャッシュ不可またはキャッシュされていない)。

db.qCacheUtilization

使用されているクエリキャッシュメモリの割合。

db.tablesLocksWaitedPerSecond

テーブルロックの要求がすぐに許可されず、待機が必要だった回数(秒単位)。

net.abortedClientsPerSecond

クライアントが正しく接続を終了せずに終了したために中止された接続数。

net.abortedConnectsPerSecond

MySQLサーバーへの接続に失敗した回数(秒単位)。

net.bytesReceivedPerSecond

すべてのクライアントから受信したスループット(秒単位)。

net.bytesSentPerSecond

すべてのクライアントに送信されたスループット(秒単位)。

net.connectionErrorsMaxConnectionsPerSecond

サーバーのmax_connections制限に達したために接続が拒否されたときの1秒あたりの速度。

net.connectionsPerSecond

1秒当たりの接続試行回数。

net.maxUsedConnections

サーバーが起動してから同時に使用された最大接続数。

net.threadsConnected

現在開いている接続数。

net.threadsRunning

スリープしていないスレッド数。

query.comCommitPerSecond

1秒あたりに実行されたCOMMITステートメントの数。

query.comDeletePerSecond

1秒あたりに実行されたDELETEステートメントの数。

query.comDeleteMultiPerSecond

1秒あたりに実行された複数テーブルの構文を使用するDELETEステートメントの数。

query.comInsertPerSecond

1秒あたりに実行されたINSERTステートメントの数。

query.comInsertSelectPerSecond

1秒あたりに実行されたINSERT SELECTステートメントの数。

query.comReplaceSelectPerSecond

1秒あたりに実行されたREPLACE SELECTステートメントの数。

query.comRollbackPerSecond

1秒あたりに実行されたROLLBACKステートメントの数。

query.comSelectPerSecond

1秒あたりに実行されたSELECTステートメントの数。

query.comUpdateMultiPerSecond

1秒あたりに実行された複数テーブルの構文を使用するUPDATEステートメントの数。

query.comUpdatePerSecond

1秒あたりに実行されたUPDATEステートメントの数。

query.preparedStmtCountPerSecond

1秒あたりのプリペアードステートメントの現在の数。(ステートメントの最大数は、システム変数max_prepared_stmt_countによって設定されます)。

query.queriesPerSecond

1秒あたりにサーバーが実行するステートメントの合計数。 ストアドプログラム内で実行されるステートメントを含む。

query.questionsPerSecond

1秒あたりにサーバーが実行するステートメントの数。クライアントが送信したステートメントのみに限る。

query.slowQueriesPerSecond

long_query_time秒を超えた1秒あたりのクエリ数。このカウンタは、低速クエリログが有効かどうかにかかわらず増えていきます。

拡張メトリックス

extended_metricsが有効化されている(設定ファイル1に設定されている)場合は、追加のメトリックスが取得されます:

名前

説明

db.createdTmpDiskTablesPerSecond

ステートメントの実行中にサーバーによって作成されたディスク上の一時的な内部テーブルの数(秒単位)。

db.createdTmpFilesPerSecond

mysqldが作成した一時ファイルの数(秒単位)。

db.createdTmpTablesPerSecond

ステートメントの実行中にサーバーが作成した内部一時テーブルの数(秒単位)。

db.handlerDeletePerSecond

表から行が削除された回数(秒単位)。

db.handlerReadFirstPerSecond

インデックスの最初のエントリが読み取られた回数(秒単位)。

db.handlerReadKeyPerSecond

キーに基づいて行を読み取るリクエスト数(秒単位)。

db.handlerReadRndNextPerSecond

データファイルの次の行を読み込むリクエスト数(秒単位)。

db.handlerReadRndPerSecond

固定位置に基づいて行を読み取るリクエスト数(秒単位)。

db.handlerUpdatePerSecond

テーブル内の行を更新するリクエスト数(秒単位)。

db.handlerWritePerSecond

テーブルに行を挿入するリクエスト数(秒単位)。

db.maxExecutionTimeExceededPerSecond

実行タイムアウトを超えたSELECTステートメントの数(秒単位)。

db.qCacheFreeBlocks

クエリキャッシュ内の空きメモリブロックの数。

db.qCacheHitsPerSecond

クエリキャッシュヒットの数(秒単位)。

db.qCacheInserts

クエリキャッシュに追加されたクエリの数。

db.qCacheLowmemPrunesPerSecond

メモリ不足のためにクエリキャッシュから削除されたクエリの数(秒単位)。

db.qCacheQueriesInCachePerSecond

クエリキャッシュに登録されたクエリの数(秒単位)。

db.qCacheTotalBlocks

クエリキャッシュ内のブロックの合計。

db.selectFullJoinPerSecond

インデックスを使用しないために、テーブルスキャンを実行するジョインの数(秒単位)。

db.selectFullJoinRangePerSecond

参照テーブルで範囲検索を使用したジョインの数(秒単位)。

db.selectRangeCheckPerSecond

各行の後にキーの使用状況をチェックするキーのないジョインの数(秒単位)。

db.selectRangePerSecond

最初のテーブルの範囲を使用したジョインの数(秒単位)。

db.sortMergePassesPerSecond

並べ替えアルゴリズムが実行しなければならなかったマージパスの数(秒単位)。

db.sortRangePerSecond

範囲を使って行われた並べ替えの数(秒単位)。

db.sortRowsPerSecond

ソートされた行数(秒単位)。

db.sortScanPerSecond

テーブルをスキャンして行われた並べ替えの数(秒単位)。

db.tableOpenCacheHitsPerSecond

オープンテーブルのキャッシュルックアップのヒット数(秒単位)。

db.tableOpenCacheMissesPerSecond

オープンテーブルのキャッシュルックアップのミス数(秒単位)。

db.tableOpenCacheOverflowsPerSecond

オープンテーブルのキャッシュのオーバーフロー数(秒単位)。

db.threadCacheMissRate

キャッシュに十分なスレッドがないため、新しい接続を処理するために作成する必要があるスレッドの割合。

db.threadsCached

スレッドキャッシュ内のスレッド数。

db.threadsCreatedPerSecond

接続処理のために作成されたスレッドの数。

innodbの拡張メトリックス

extended_innodb_metricsが有効化されている(設定ファイル1設定されている)場合は、追加のメトリックスが取得されます:

名前

説明

db.innodb.bufferPoolPagesDirty

InnoDBバッファプール内の現在のダーティページ数。

db.innodb.bufferPoolPagesFlushedPerSecond

InnoDBバッファプールからページをフラッシュするリクエスト数(秒単位)。

db.innodb.bufferPoolReadAheadEvictedPerSecond

先読みバックグラウンドスレッドによってInnoDBバッファプールに読み込まれ、その後、クエリによるアクセスなしに削除されたページ数(秒単位)。

db.innodb.bufferPoolReadAheadPerSecond

先読みバックグラウンドスレッドによってInnoDBバッファプールに読み込まれたページ数(秒単位)。

db.innodb.bufferPoolReadAheadRndPerSecond

InnoDBによって開始された「ランダム」先読みの数(秒単位)。これは、クエリがテーブルの大部分をランダムにスキャンする場合に発生します。

db.innodb.bufferPoolReadRequestsPerSecond

論理的な読み取りリクエスト数(秒単位)。

db.innodb.bufferPoolReadsPerSecond

InnoDBがバッファプールから満たすことができず、ディスクから直接読み込まなければならなかった論理読み込みの数(秒単位)。

db.innodb.bufferPoolWaitFreePerSecond

バッファプール内で使用可能なクリーンページがなかったために、InnoDBへの読み書きが待機しなければならなかった回数(秒単位)。

db.innodb.bufferPoolWriteRequestsPerSecond

InnoDBバッファプールへの書き込み回数(秒単位)。

db.innodb.dataFsyncsPerSecond

fsync()操作の回数(秒単位)。

db.innodb.dataPendingFsyncs

現在、保留中の fsync() 操作数。

db.innodb.dataPendingReads

現在、保留中の読み取り数。

db.innodb.dataPendingWrites

現在、保留中の書き込み数。

db.innodb.dataReadsPerSecond

データ読み取りの回数(OSファイル読み取り)(秒単位)。

db.innodb.dataWritesPerSecond

データ書き込み回数(秒単位)。

db.innodb.logWriteRequestsPerSecond

InnoDB redoログの書き込みリクエスト数(秒単位)。

db.innodb.logWritesPerSecond

InnoDB redoログファイルへの物理的な書き込み回数(秒単位)。

db.innodb.numOpenFiles

InnoDBが現在保持しているファイルの数。

db.innodb.osLogFsyncsPerSecond

InnoDB redoログファイルに対して行われたfsync()の書き込み回数(秒単位)。

db.innodb.osLogPendingFsyncs

InnoDB redoログファイルに対する保留中のfsync()操作の回数。

db.innodb.osLogPendingWrites

InnoDB redoログファイルへの保留中の書き込み数(秒単位)。

db.innodb.osLogWrittenBytesPerSecond

rate

InnoDB redoログファイルに書き込まれたバイト数(秒単位)。

db.innodb.pagesCreatedPerSecond

InnoDB テーブルの操作によって作成されたページ数(秒単位)。

db.innodb.pagesReadPerSecond

InnoDBテーブルの操作によってInnoDBバッファプールから読み込まれたページ数(秒単位)。

db.innodb.pagesWrittenPerSecond

InnoDBテーブルの操作によって書き込まれたページ数(秒単位)。

db.innodb.rowsDeletedPerSecond

InnoDBテーブルから削除された行数(秒単位)。

db.innodb.rowsInsertedPerSecond

InnoDB テーブルに挿入された行数(秒単位)。

db.innodb.rowsReadPerSecond

InnoDBテーブルから読み込まれた行数(秒単位)。

db.innodb.rowsUpdatedPerSecond

InnoDBテーブルで更新された行数(秒単位)。

myisamの拡張メトリックス

extended_myisam_metrics設定ファイルで有効化されている場合は、追加のメトリックスが取得されます:

名前

説明

db.myisam.keyBlocksNotFlushed

変更されたものの、まだディスクにフラッシュされていないMyISAMキーキャッシュ内のキーブロック数。

db.myisam.keyCacheUtilization

使用中のキーキャッシュの割合。

db.myisam.keyReadRequestsPerSecond

MyISAMキーキャッシュからのキーブロックの読み取りリクエスト数(秒単位)。

db.myisam.keyReadsPerSecond

ディスクからMyISAMキーキャッシュへのキーブロックの物理読み込み回数(秒単位)。

db.myisam.keyWriteRequestsPerSecond

MyISAMキーキャッシュにキーブロックを書き込むリクエスト数(秒単位)。

db.myisam.keyWritesPerSecond

MyISAMキーキャッシュからディスクへのキーブロックの物理書き込み回数(秒単位)。

スレーブクラスタの拡張メトリックス

設定ファイルで拡張メトリックスフラグが有効化されており、cluster.slaveRunningメトリックス1を返す場合に取得される追加メトリックス:

名前

説明

db.relayLogSpace

すべての既存リレーログファイルに対する合計バイト数。

cluster.lastIOErrno

I/Oスレッドを停止させた最も最近のエラーのエラー番号。

cluster.lastIOError

I/Oスレッドを停止させた最も最近のエラーのエラーメッセージ。

cluster.lastSQLErrno

SQLスレッドを停止させた最も最近のエラーのエラー番号。

cluster.lastSQLError

SQLスレッドを停止させた最も最近のエラーのエラーメッセージ。

cluster.slaveIORunning

ブール値:0または1。I/Oスレッドが開始され、マスターへの接続に成功したかどうかのステータス。

cluster.slaveSQLRunning

ブール値:0または1。SQLスレッドが開始されているかどうかのステータス。

cluster.secondsBehindMaster

スレーブがマスターのバイナリログに記録されたときの、スレーブのドックタイムとクエリのタイムスタンプの差(秒)。スレーブがマスターに正しく接続されてない場合、このメトリックは報告されません。

cluster.masterLogFile

I/Oスレッドが現在読み込んでいるマスターバイナリログファイルの名前。

cluster.readMasterLogPos

現在のマスターバイナリログファイルにおいて、I/Oスレッドがどの位置まで読み込んだか。

cluster.relayMasterLogFile

SQLスレッドにより実行された、最も最近のイベントを含むマスターバイナリログファイルの名前。

cluster.execMasterLogPos

SQLスレッドが読み込んで実行した現在のマスターバイナリログファイル内の位置であり、処理すべき次のトランザクションまたはイベントの開始点を表す。

インベントリ

MySQLインテグレーションは、SHOW GLOBAL VARIABLESによって返されたMySQLノードの設定パラメーターを取得します。このデータは、Inventoryページconfig/mysqlソースで取得できます。

システムメタデータ

MySQLインテグレーションは、お使いのMySQLシステムについて以下のメタデータ 属性 を収集します。

名前

説明

software.edition

software.editionはMySQLのversion_commentの値を取得します。

software.version

MySQLサーバのバージョン。

cluster.nodeType

監視されているMySQLノードの役割に応じてmasterまたはslave

ソースコード

MySQL インテグレーションはオープンソース ソフトウェアです。つまり、ソースコードを参照して改善を送信したり、独自のフォークを作成して構築したりできます。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成するこのページを編集する
Copyright © 2020 New Relic Inc.