Microsoft SQL Server の統合により、SQL Server インスタンスからトランザクション、接続、その他の指標が収集されます。
SQL Server の詳細については、SQL Server のドキュメントをご覧ください。
始める前に
Ops エージェント バージョン 2.15.0 では、workload.googleapis.com/
接頭辞を使用した新しい SQL Server 指標セットのサポートが追加されています。構成例の説明に沿って、これらの指標を収集するようにエージェントを構成する必要があります。
Ops エージェントは、常に限定された SQL Server 指標をサポートしています。これらの指標は agent.googleapis.com/mssql/
接頭辞を使用します。Windows VM でこれらの指標を収集するために、追加の構成は必要ありません。
このドキュメントでは、agent
接頭辞の指標を v1 指標と、workload
接頭辞の指標を v2 指標と表記しています。
- v1 指標にはトランザクション レートと接続数の情報が含まれます。
- v2 指標には、インスタンス レベルのバッチ、ロック、ページ、ユーザー接続数情報と、データベース レベルのトランザクションおよびトランザクション ログ情報が含まれます。
これらの指標の表については、モニタリング対象をご覧ください。
Ops エージェント バージョン 2.15.0 以降では、v1 指標、v2 指標、またはその両方を収集するようにエージェントを構成できます。
前提条件
SQL Server テレメトリーを収集するには、Ops エージェントをインストールする必要があります。
- 指標 v1 の場合は、バージョン 1.0.0 以降をインストールします。
- 指標 v2 の場合は、バージョン 2.15.0 以降をインストールします。
この統合は、SQL Server バージョン 11.x、12.x、13.x、14.x、15.x をサポートしています。
SQL Server の Ops エージェントを構成する
Microsoft Windows VM で Ops エージェントを使用する場合、エージェントは SQL Server v1 指標を自動的に収集します。追加の構成作業は必要ありません。
Ops エージェントの構成のガイドに沿って、SQL Server インスタンスからテレメトリーを収集するために必要な要素を追加し、エージェントを再起動します。
新しい SQL Server インスタンスを設定した後、Metrics Explorer に指標がすぐに表示されないことがあります。報告するデータベース アクティビティが見つかった場合にのみ、Ops エージェントが SQL Server の指標の収集を開始します。
構成の例
次のコマンドは、SQL Server のテレメトリーを収集して取り込み、Ops エージェントを再起動するための構成を作成します。
v1 指標の収集を構成する
Microsoft Windows VM の Ops エージェントは、SQL Server v1 指標を自動的に収集します。追加の構成作業は必要ありません。v2 指標のみの収集については、v2 指標の収集の構成をご覧ください。
新しい SQL Server インスタンスを設定した後、SQL Server がすぐに指標を報告しないことがあります。報告するデータベース アクティビティが見つかると、Ops エージェントが SQL Server の指標の収集を開始します。
v2 指標の収集を構成する
SQL Server から v2 指標を取り込むには、SQL Server が生成する指標に対するレシーバーを作成し、新しいレシーバーのパイプラインを作成する必要があります。
このレシーバーでは、複数のエンドポイントのモニタリングなど、構成で複数のインスタンスを使用することはできません。このようなインスタンスはすべて同じ時系列に書き込まれるため、Cloud Monitoring ではインスタンスを区別できません。Ops エージェントは、SQL Server の名前付きインスタンスをサポートしていません。
mssql
指標のレシーバーを構成するには、次のフィールドを指定します。
フィールド | デフォルト | 説明 |
---|---|---|
collection_interval |
60s |
time.Duration 値(例: 30s 、5m )。 |
receiver_version |
収集された指標のバージョン。v2 指標を収集する場合は、2 を使用します。 |
|
type |
値は、mssql にする必要があります。 |
デフォルトでは、v1 の指標は自動的に収集されます。v2 指標を収集して v1 指標を拡張することも、v1 指標をオーバーライドして v2 指標のみを収集することもできます。
v2 の指標のみを収集する方法は次のとおりです。
- レシーバに
mssql
という名前を付けます。 type
フィールドをmssql
に設定します。receiver_version
フィールドを2
に設定します。- このレシーバを
default_pipeline
パイプラインで使用します。この構成により、mssql
レシーバの組み込み構成がオーバーライドされます。
- レシーバに
v1 と v2 の両方の指標を収集する方法は次のとおりです。
- レシーバに
mssql
以外の名前(mssql_v2
など)を設定します。 type
フィールドをmssql
に設定します。receiver_version
を2
に設定します。- このレシーバを新しいパイプラインで使用します。この構成により、組み込みのレシーバがオーバーライドされることなく、v2 レシーバが追加されます。構成例のスクリプトは、このアプローチを使用しています。
- レシーバに
モニタリング対象
バージョン 2.15.0 以降では、Ops エージェントは 2 つの異なる指標セットを収集できます。
- v1 指標:
agent.googleapis.com/mssql/
。 - v2 の指標:
workload.googleapis.com/
。
v1 指標
次の表に、Ops エージェントが SQL Server インスタンスから収集する v1 指標の一覧を示します。
次の表の指標タイプの文字列には、agent.googleapis.com/mssql/
という接頭辞を付ける必要があります。この接頭辞は表内で省略されています。
ラベルをクエリする場合は、metric.labels.
接頭辞を使用します(例: metric.labels.LABEL="VALUE"
)。
指標タイプリリース ステージ 表示名 |
|
---|---|
種類、タイプ、単位 モニタリング対象リソース |
説明 ラベル |
connections/user GASQL Server のオープン接続の数 |
|
GAUGE 、DOUBLE 、1
aws_ec2_instance gce_instance |
SQL Server に対して現在開かれている接続の数。60 秒ごとにサンプリングされます。 |
transaction_rate 一般提供SQL Server のトランザクション レート |
|
GAUGE 、DOUBLE 、1/s
aws_ec2_instance gce_instance |
SQL Server の 1 秒あたりの合計トランザクション数。60 秒ごとにサンプリングされます。 |
write_transaction_rate GASQL Server の書き込みトランザクション レート |
|
GAUGE 、DOUBLE 、1/s
aws_ec2_instance gce_instance |
SQL サーバーの 1 秒あたりの書き込みトランザクション数。60 秒ごとにサンプリングされます。 |
表の生成日時: 2024-05-23 21:36:30 UTC。
v2 指標
次の表に、Ops エージェントが SQL Server インスタンスから収集する v2 の指標の一覧を示します。
指標タイプ | |
---|---|
種類、タイプ モニタリング対象リソース |
ラベル |
workload.googleapis.com/sqlserver.batch.request.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.batch.sql_compilation.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.batch.sql_recompilation.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.lock.wait.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.lock.wait_time.avg
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.page.buffer_cache.hit_ratio
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.page.checkpoint.flush.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.page.lazy_write.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.page.life_expectancy
|
|
GAUGE 、INT64 gce_instance |
|
workload.googleapis.com/sqlserver.page.operation.rate
|
|
GAUGE 、DOUBLE gce_instance |
type
|
workload.googleapis.com/sqlserver.page.split.rate
|
|
GAUGE 、DOUBLE gce_instance |
|
workload.googleapis.com/sqlserver.transaction.rate
|
|
GAUGE 、DOUBLE gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction.write.rate
|
|
GAUGE 、DOUBLE gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction_log.flush.data.rate
|
|
GAUGE 、DOUBLE gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction_log.flush.rate
|
|
GAUGE 、DOUBLE gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction_log.flush.wait.rate
|
|
GAUGE 、DOUBLE gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction_log.growth.count
|
|
CUMULATIVE 、INT64 gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction_log.percent_used
|
|
GAUGE 、INT64 gce_instance |
database
|
workload.googleapis.com/sqlserver.transaction_log.shrink.count
|
|
CUMULATIVE 、INT64 gce_instance |
database
|
workload.googleapis.com/sqlserver.user.connection.count
|
|
GAUGE 、INT64 gce_instance |
|
構成を確認する
このセクションでは、SQL Server レシーバが正しく構成されていることを確認する方法について説明します。Ops エージェントがテレメトリーの収集を開始するまでに 1~2 分かかる場合があります。
SQL Server 指標が Cloud Monitoring に送信されていることを確認する手順は次のとおりです。
-
Google Cloud コンソールで、leaderboard[Metrics Explorer] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- クエリビルダー ペインのツールバーで、[codeMQL] または [codePROMQL] という名前のボタンを選択します。
- [言語] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定と同じツールバーにあります。
- v1 指標の場合、エディタで次のクエリを入力し、[クエリを実行] をクリックします。
fetch gce_instance | metric 'agent.googleapis.com/mssql/connections/user' | every 1m
- v2 指標の場合、エディタで次のクエリを入力して、[実行] をクリックします。
fetch gce_instance | metric 'workload.googleapis.com/sqlserver.user.connection.count' | every 1m
ダッシュボードを表示する
SQL Server 指標を表示するには、グラフまたはダッシュボードを構成する必要があります。SQL Server インテグレーションには、1 つ以上のダッシュボードが含まれています。インテグレーションを構成して Ops エージェントが指標データの収集を開始すると、ダッシュボードは自動的にインストールされます。
インテグレーションをインストールすることなく、ダッシュボードの静的プレビューを表示することもできます。
インストールされているダッシュボードを表示する手順は次のとおりです。
-
Google Cloud コンソールで [ダッシュボード] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- [ダッシュボード リスト] タブを選択し、[統合] カテゴリを選択します。
- 表示するダッシュボードの名前をクリックします。
インテグレーションを構成してもダッシュボードがインストールされていない場合は、Ops エージェントが実行されていることを確認します。ダッシュボードにグラフの指標データがない場合、ダッシュボードのインストールは失敗します。Ops エージェントが指標の収集を開始した後に、ダッシュボードがインストールされます。
ダッシュボードの静的プレビューを表示する手順は次のとおりです。
-
Google Cloud コンソールで、 [インテグレーション] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- [デプロイメント プラットフォーム] フィルタの [Compute Engine] をクリックします。
- SQL Server のエントリを見つけて、[詳細を表示] をクリックします。
- [ダッシュボード] タブを選択すると、静的プレビューが表示されます。ダッシュボードがインストールされている場合は、[ダッシュボードを表示] をクリックして移動できます。
Cloud Monitoring のダッシュボードについて詳しくは、ダッシュボードとグラフをご覧ください。
[インテグレーション] ページの使用方法については、インテグレーションを管理するをご覧ください。
アラート ポリシーをインストールする
アラート ポリシーは、指定した条件が成立した際に通知するように Cloud Monitoring に指示します。SQL Server インテグレーションには、1 つ以上のアラート ポリシーが含まれています。これらのアラート ポリシーは、Monitoring の [インテグレーション] ページで表示してインストールできます。
使用可能なアラート ポリシーの説明を表示してインストールする手順は次のとおりです。
-
Google Cloud コンソールで、 [インテグレーション] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- SQL Server のエントリを見つけて、[詳細を表示] をクリックします。
- [アラート] タブを選択します。このタブには、利用可能なアラート ポリシーの説明と、それらをインストールするためのインターフェースが表示されます。
- アラート ポリシーをインストールします。アラート ポリシーでは、アラートがトリガーされた通知の送信先を特定する必要があるため、インストール環境の情報が必要になります。アラート ポリシーをインストールする手順は次のとおりです。
- 利用可能なアラート ポリシーのリストから、インストールするアラート ポリシーを選択します。
[通知の構成] セクションで、1 つ以上の通知チャンネルを選択します。通知チャンネルの使用を無効にすることもできますが、無効にすると、アラート ポリシーは通知なく起動します。Monitoring でステータスを確認できますが、通知は受信しません。
通知チャンネルの詳細については、通知チャンネルを管理するをご覧ください。
- [ポリシーの作成] をクリックします。
Cloud Monitoring のアラート ポリシーの詳細については、アラートの概要をご覧ください。
[インテグレーション] ページの使用方法については、インテグレーションを管理するをご覧ください。
次のステップ
Ansible を使用して Ops エージェントをインストールし、サードパーティ アプリケーションを構成してサンプル ダッシュボードをインストールする方法については、Ops エージェントをインストールして、サードパーティ アプリケーションのトラブルシューティングを行うの動画をご覧ください。