NRDOT Collectorによって収集された包括的なメトリクスを使用して、SQL Serverデータベースのパフォーマンスをモニターします。デフォルトでは、New Relicは利用可能なメトリクスセクションで参照されているメトリクスを収集します。追加のメトリクスセクションにリストされている目的のメトリクスを有効にすることで、監視を強化できます。
利用可能なメトリクス
以下のメトリクスは、New Relic UI機能のために自動的に収集されます。これらはデフォルトで有効になっており、直接のSQL Server接続を介して任意のプラットフォームで機能します。
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| SQL Serverによって受信されたバッチrequestsの数 |
| ゲージ(double) |
| 必要なSQLコンパイルの数 |
| ゲージ(double) |
| 必要なSQL再コンパイルの数 |
| ゲージ(double) |
| 待機につながったロックrequestsの数 |
| ゲージ(double) |
| ディスクから読み取る必要なくバッファプールで見つかったページ |
| ゲージ(double) |
| ページがバッファプールに留まる時間。利用可能な属性:
|
| ゲージ(int) |
| SQL Serverに接続しているユーザー数 |
| ゲージ(int) |
追加のメトリクス
以下のメトリクスはデフォルトで無効になっていますが、SQL Serverのパフォーマンスと健全性に関するより深いインサイトを得るために有効にすることができます。これらのメトリクスは機能ごとに整理されており、ほとんどの場合、直接のSQL Server接続が必要です。
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| 受信したSQLアテンション(クライアントのキャンセル割り込み)の数(秒単位) |
| ゲージ(double) |
| バッチリクエストあたりのSQLコンパイル数 |
| ゲージ(double) |
| バッチリクエストあたりのページ分割数 |
| ゲージ(double) |
| パーセンテージで表した、コンパイルに対するSQL再コンパイルの比率 |
| ゲージ(double) |
| 結果別に分類された、自動パラメータ化アクティビティの割合。利用可能な属性:
(
、
、
、
、
) |
| ゲージ(double) |
| プランガイドの結果によって分類された、プラン実行の割合。利用可能な属性:
(
、
) |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| バックアップ/リストアの合計数 |
| ゲージ(double) |
| データベースの数。利用可能な属性:
(
、
、
、
、
、
) |
| ゲージ(int) |
| 実行エラー数 |
| ゲージ(int) |
| データベースファイルのサイズ。利用可能な属性:
、
|
| ゲージ(int) |
| 制限のないフルテーブルスキャンまたはインデックススキャンの数 |
| ゲージ(double) |
| データベース内のアクティブなトランザクションの数。利用可能な属性:
|
| ゲージ(int) |
| デッドロックの合計数 |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| このファイルでのI/Oのバイト数。利用可能な属性:
、
、
、
|
| 合計(累積、int) |
| このファイルに対して発行されたI/Oをユーザーが待機した合計時間。利用可能な属性:
、
、
、
|
| 合計(累積、double) |
| ファイルに対して発行された操作の数。利用可能な属性:
、
、
、
|
| 合計(累積、int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| Always-On可用性グループのClusterタイプ。利用可能な属性:
、
(
、
、
、
) |
| ゲージ(int) |
| 可用性グループに設定された障害条件レベル(1~5)。利用可能な属性:
|
| ゲージ(int) |
| 可用性グループに設定されたヘルスチェックのタイムアウト。利用可能な属性:
|
| ゲージ(int) |
| 可用性グループでのコミットに必要な、同期されたセカンダリレプリカの数。利用可能な属性:
|
| ゲージ(int) |
| AGデータベースレプリカのログ送信またはREDOキューのサイズ。利用可能な属性:
、
、
、
(
、
) |
| ゲージ(int) |
| AGデータベースレプリカのREDOレート。利用可能な属性:
、
、
|
| ゲージ(double) |
| 観測されたAGフロー制御に費やされた累積時間(ミリ秒/秒単位) |
| ゲージ(double) |
| 可用性レプリカのロール。利用可能な属性:
、
、
(
、
、
、
) |
| ゲージ(int) |
| 可用性レプリカの同期の正常性。利用可能な属性:
、
、
(
、
、
、
) |
| ゲージ(int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| インデックス検索の合計数 |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| 現在アクティブなスーパーラッチ数 |
| ゲージ(int) |
| スーパーラッチの昇格または降格のレート。利用可能な属性:
(
、
) |
| ゲージ(double) |
| ラッチ待機数(秒単位) |
| ゲージ(double) |
| ラッチ(軽量の同期)の待機に費やされた平均時間 |
| ゲージ(double) |
| ラッチ待機時間の合計 |
| 合計(累積、double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| ロックタイムアウトの総数 |
| ゲージ(double) |
| 発生したロック待機の累積数。利用可能な属性:
(
、
) |
| 合計(累積、int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| ログインの合計数 |
| ゲージ(double) |
| ログアウトの合計数 |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| SQL Serverメモリプールによって使用されるメモリの量。利用可能な属性:
(
、
、
、
、
、
、
) |
| ゲージ(int) |
| SQL Serverキャッシュ内のキャッシュオブジェクト数。利用可能な属性:
(
、
) |
| ゲージ(int) |
| 保留中のメモリ許可の合計数 |
| 合計(累積、int) |
| SQL Serverバッファプール内のページ数。利用可能な属性:
(
、
、
、
、
、
、
) |
| ゲージ(int) |
| 使用中の合計メモリ。利用可能な属性:
(
、
) |
| 合計(累積、double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| コンピューターの稼働時間 |
| ゲージ(int) |
| CPU数 |
| ゲージ(int) |
| SQL Serverデータベースファイルをホストするボリューム全体の合計ディスク容量 |
| ゲージ(int) |
| SQL Serverによって監視されるシステムの物理メモリの量。利用可能な属性:
(
、
) |
| ゲージ(int) |
| SQL Serverプロセスによって使用されているシステムの物理メモリの割合 |
| ゲージ(double) |
| オンラインスケジューラ全体の実行可能なタスクの総数 |
| ゲージ(int) |
| この待機タイプの合計待機時間。利用可能な属性:
、
|
| 合計(累積、double) |
| SQL Serverの起動以降に、この待機タイプで待機したタスクの累積数。利用可能な属性:
、
|
| 合計(累積、int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| フリーリストストールの数 |
| ゲージ(int) |
| ページルックアップの総数 |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| ステータス別のSQL Serverプロセス(ユーザーセッション)数。利用可能な属性:
(
、
、
、
、
、
、
) |
| ゲージ(int) |
| 現在ブロックされているプロセス数 |
| ゲージ(int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| レプリカデータのスループット率。利用可能な属性:
(
、
) |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| 発行された操作のレート。利用可能な属性:
(
、
) |
| ゲージ(double) |
| 過去1秒間にスロットルされた読み取り操作の数 |
| ゲージ(int) |
| 過去1秒間にスロットルされた書き込み操作の数 |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| テーブルの数。利用可能な属性:
(
、
)、
(
、
) |
| 合計(累積、int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| 一時DBの合計空き領域。利用可能な属性:
(
、
) |
| 合計(累積、int) |
| TempDBバージョンストアのサイズ |
| ゲージ(double) |
| ページタイプ別に分類された、tempdb割り当てページの累積待機時間。利用可能な属性:
(
、
、
、
) |
| 合計(累積、double) |
| 少なくとも1つのアクティブなウェイターがあるtempdb pagelatch待機タイプの数 |
| ゲージ(int) |
| インスタンスに構成されているtempdbデータファイルの数 |
| ゲージ(int) |
| 各tempdbデータまたはログファイルのサイズ。利用可能な属性:
、
|
| ゲージ(int) |
| 割り当てカテゴリ別に分類された、tempdbによって使用されるスペース。利用可能な属性:
(
、
、
、
) |
| ゲージ(int) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| 状態別のSQL Serverタスク数。利用可能な属性:
(
、
、
) |
| ゲージ(int) |
| 状態別に分類されたSQL Serverのワーカースレッドの数。利用可能な属性:
(
、
) |
| ゲージ(int) |
| インスタンスに設定されたSQL Serverワーカースレッドの最大数 |
| ゲージ(int) |
| 現在実行中の設定済みSQL Serverワーカースレッドの割合 |
| ゲージ(double) |
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| トランザクションの遅延で消費された時間 |
| 合計(累積、double) |
| サーバー上で現在開いている最長のトランザクションの経過時間(秒) |
| ゲージ(double) |
| ミラー書き込みトランザクションの総数 |
| ゲージ(double) |
| tempdbバージョンストアからクリーンアップされた累積バイト数 |
| 合計(累積、double) |
| tempdb バージョンストアに書き込まれた行バージョンの累積バイト数 |
| 合計(累積、double) |
追加のWindowsメトリクス
SQL ServerでNRDOT Collectorを使用する場合、Windowsプラットフォームでは以下のメトリクスを利用できます。これらのメトリクスは、SQL Server監視のためのWindows固有のパフォーマンスインサイトを提供します。
メトリック | 説明 | ユニット | タイプ |
|---|---|---|---|
| システム稼働時間カウンター |
| ゲージ(double) |
| 使用可能なCPUコア数 |
| ゲージ(double) |
| SQL Serverプロセスによるメモリ使用量。利用可能な属性:
|
| ゲージ(double) |
| バッファキャッシュで見つかったページの割合 |
| ゲージ(double) |
| キャッシュのルックアップに対するキャッシュのヒットの比率。利用可能な属性:
|
| ゲージ(double) |
| SQLコンパイル回数(秒単位) |
| ゲージ(double) |
| SQL Serverへのユーザー接続数 |
| ゲージ(double) |
| 現在のロック数。利用可能な属性:
|
| ゲージ(double) |
| 1秒あたりのロックタイムアウト回数 |
| ゲージ(double) |
| メモリ割り当てを待機しているプロセスの総数 |
| ゲージ(double) |
| 物理データベースページ操作の回数(秒単位)。利用可能な属性:
|
| ゲージ(double) |
| 1秒あたりのSQL再コンパイル数 |
| ゲージ(double) |
| 1秒あたりのトランザクション数。利用可能な属性:
|
| ゲージ(double) |
ログイベント
設定の「events」セクションで有効にされている場合、以下のイベントがOpenTelemetryのログレコードとして収集されます。これらにより、クエリレベルの可視性が提供されます:アクティブなクエリのサンプル、トップクエリ、実行計画、トップストアドプロシージャ。
セッションごとのアクティブなクエリのサンプル。収集時のアクティブなSQL Serverセッションの現在の実行状態をキャプチャします。
属性名 | 説明 |
|---|---|
| 実行中のデータベースクエリのテキスト |
| クライアント計装によって識別されるデータベース管理システム(DBMS)製品 |
| データベース名 |
| SQL Server セッションに関連付けられたログイン名 |
| クライアントのホスト名またはアドレス |
| クライアントが使用するTCPポート |
| ピアクライアントのIPアドレス |
| ピアクライアントが使用するTCPポート |
| SQL ServerセッションのID |
| セッションのステータス(たとえば、running、sleeping) |
| セッションが確立された時点のタイムスタンプ(ログイン時刻)、ISO 8601形式 |
| セッションが確立されてからの合計経過時間(秒) |
| セッションを開始したクライアントアプリケーションの名前 |
| 実行中のSQLコマンドタイプ |
| リクエストのステータス(例:実行中、一時停止中) |
| クエリが消費したCPU時間、秒単位 |
| 論理的な読み取り数(キャッシュ/メモリから読み取られたデータ) |
| クエリによって実行された物理読み取りの数 |
| クエリによって実行された書き込みの数 |
| クエリによって影響を受けた、または返された行数 |
| このプランの完了した実行の合計経過時間、デルタ秒単位で報告 |
| 完了した作業の割合 |
| リクエストが完了するまでの推定残り時間(秒単位) |
| リクエストで発生した待機の種類です。存在しない場合は空 |
| リクエストが待機している時間(秒) |
| セッションが待機しているリソース |
| 利用可能な場合、ロックされたリソースまたは待機リソースのSQL Server識別子 |
| ロックされた、または待機中のリソースのSQL Serverタイプ(利用可能な場合) |
| 現在のセッションをブロックしているセッションID。存在しない場合は0 |
| ISO 8601形式の、現在のブロッキング待機が開始された日時のタイムスタンプ |
| セッションのデッドロック優先度値 |
| ロックのタイムアウト値(秒) |
| セッション内で現在開いているトランザクション数 |
| アクティブなトランザクションのユニークID |
| 数値定数として表される、セッションで使用されるトランザクション分離レベル |
| クエリに対して計算され、類似のロジックを持つクエリを識別するために使用されるバイナリハッシュ値。HEX形式で報告されます。 |
| クエリ実行計画に基づいて計算され、類似のクエリ実行計画を識別するために使用されるバイナリハッシュ値で、HEX形式で報告されます。 |
| SQLクエリが開始されたときのタイムスタンプ(ISO 8601形式) |
| 16進数文字列として表される、セッションのコンテキスト情報 |
| ストアドプロシージャのSQL Server ID(存在する場合) |
| ストアドプロシージャの名前(存在する場合) |
| ステートメントの抽出元となったSQLバッチまたはストアドプロシージャのフルテキスト。
が有効な場合にのみ入力されます |
| フィルタリングされたクエリコメントから抽出されたNew RelicサービスGUIDです。
が
に含まれていない限り、空になります。APMトレースとの相関付けに使用されます。 |
| 正規化された完全なSQLクエリテキストのMD5ハッシュ。APMスロークエリトレースとの相関付けに使用されます。
が有効な場合にのみ入力されます |
収集間隔内で消費された最大経過時間に基づいてフィルタリングされた、上位N個のクエリのイベントメトリクスのコレクション。
属性名 | 説明 |
|---|---|
| 実行中のデータベースクエリのテキスト |
| クライアント計装によって識別されるデータベース管理システム(DBMS)製品 |
| データベース名 |
| 最後にコンパイルされてからプランが実行された回数、デルタ値で報告されます |
| コンパイルされてからこのプランの実行によって消費されたCPU時間の合計、デルタ秒単位で報告 |
| このプランの完了した実行の合計経過時間、デルタ秒単位で報告 |
| コンパイル以降にこのプランの実行によって行われた論理読み取りの合計数、デルタ値で報告 |
| コンパイル以降にこのプランの実行によって行われた論理書き込みの合計数、デルタ値で報告 |
| コンパイル以降にこのプランの実行によって行われた物理読み取りの総数であり、デルタ値として報告されます。 |
| クエリによって返された行の総数。デルタ値で報告されます。 |
| コンパイルされてからこのプランが受け取った予約済みメモリ許可の総量(KB単位)、デルタ値で報告されます。 |
| クエリに対して計算され、類似のロジックを持つクエリを識別するために使用されるバイナリハッシュ値。HEX形式で報告されます。 |
| SQL Serverが使用するクエリ実行プラン |
| クエリ実行計画に基づいて計算され、類似のクエリ実行計画を識別するために使用されるバイナリハッシュ値で、HEX形式で報告されます。 |
| SQLクエリが最後に実行を開始したときのタイムスタンプ、ISO 8601形式 |
| ISO 8601形式の、SQLクエリ実行プランがコンパイルされた日時のタイムスタンプ |
| ストアドプロシージャのSQL Server ID(存在する場合) |
| ストアドプロシージャの名前(存在する場合) |
| 最後にコンパイルされてからプロシージャが実行された回数、デルタ値で報告されます。 |
| ステートメントの抽出元となったSQLバッチまたはストアドプロシージャのフルテキスト。
が有効な場合にのみ入力されます |
| フィルタリングされたクエリコメントから抽出されたNew RelicサービスGUIDです。
が
に含まれていない限り、空になります。APMトレースとの相関付けに使用されます。 |
| 正規化された完全なSQLクエリテキストのMD5ハッシュ。APMスロークエリトレースとの相関付けに使用されます。
が有効な場合にのみ入力されます |
クエリ実行プラン。有効にすると、プランはdb.server.top_queryではなくここで報告されるため、サイズが大きすぎるプランのペイロードによって軽量なクエリ統計が一緒にドロップされることはありません。
属性名 | 説明 |
|---|---|
| クライアント計装によって識別されるデータベース管理システム(DBMS)製品 |
| データベース名 |
| クエリに対して計算され、類似のロジックを持つクエリを識別するために使用されるバイナリハッシュ値。HEX形式で報告されます。 |
| SQL Serverが使用するクエリ実行プラン |
| クエリ実行計画に基づいて計算され、類似のクエリ実行計画を識別するために使用されるバイナリハッシュ値で、HEX形式で報告されます。 |
収集間隔のデルタとして計算された、経過時間に基づく上位ストアドプロシージャの集計パフォーマンスメトリクス。sqlserver.procedure_idを介してdb.server.top_queryおよびdb.server.query_sampleと相関します。
ヒント
sys.dm_exec_procedure_stats.total_spillsのサポートが導入された、SQL Server 2017 CU3以降が必要です。以前のバージョンでは、このイベントはデータを出力せず、エラーをログに記録します。他のイベントは影響を受けません。
属性名 | 説明 |
|---|---|
| クライアント計装によって識別されるデータベース管理システム(DBMS)製品 |
| データベース名 |
| ストアドプロシージャのSQL Server ID(存在する場合) |
| ストアドプロシージャの名前(存在する場合) |
| データベーススキーマの名前 |
| 最後にコンパイルされてからプロシージャが実行された回数、デルタ値で報告されます。 |
| コンパイルされてからこのプランの実行によって消費されたCPU時間の合計、デルタ秒単位で報告 |
| このプランの完了した実行の合計経過時間、デルタ秒単位で報告 |
| コンパイル以降にこのプランの実行によって行われた論理読み取りの合計数、デルタ値で報告 |
| コンパイル以降にこのプランの実行によって行われた論理書き込みの合計数、デルタ値で報告 |
| コンパイル以降にこのプランの実行によって行われた物理読み取りの総数であり、デルタ値として報告されます。 |
| 収集間隔中にプロシージャによってtempdbにスピルされたページ、デルタとして報告されます |
| プロシージャの1回の実行にかかった最長経過時間(秒単位)です。プランがキャッシュされている全期間を対象とするため、他の経過時間とは異なり、差分ではありません。 |
| プロシージャの1回の実行における最短経過時間(秒)。プランがキャッシュされている全期間を対象とするため、他の期間とは異なり、差分ではありません。 |
| プロシージャの最終実行時のISO 8601タイムスタンプ |
Amazon RDSの制限事項
Amazon RDS for SQL Serverインスタンスを監視する場合、RDSサービスの制限やSQL Serverエディションの制限により、特定のメトリクスが0を報告したり、収集されなかったりする場合があります。
重要
以下の制限事項は、Amazon RDSで実行されているSQL Serverインスタンスに特に適用されます。セルフホスト型のSQL Serverデプロイメントは、これらの制限の影響を受けません。
メトリック | 制限 | 影響を受けるエディション |
|---|---|---|
| 常に
を報告します。SQL Server ML Services(Extensibilityフレームワーク)は、どのAmazon RDS SQL Serverエディションにもプロビジョニングされていません。 | すべてのエディション |
、
、
、
、
、
、
、
| 収集されません。Always On可用性グループにはマルチAZデプロイメントが必要ですが、WebエディションおよびExpressエディションでは利用できません。 | Web、Express |
、
、
、
| 送信されますが、常に
を報告します。これらは、マルチAZなしでは利用できないAGレプリカのアクティビティを測定します。 | Web、Express |
詳細については、Amazon RDS for SQL Server:サポートされていない機能およびAmazon RDS for SQL Server のマルチ AZを参照してください。