• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

WindowsセルフホストでのMSSQL向けNRDOTのインストールと設定:gMSA認証

|View as Markdown (English)

グループ管理サービスアカウント(gMSA)を使用し、物理サーバー、仮想マシン、およびスタンドアロンのWindowsインストレーションを含むWindowsセルフホスト環境で、NRDOT Collectorを使用してMicrosoft SQL Serverの監視をセットアップします。Windows RDS環境でモニターするには、Windows RDSの計装を参照してください。

ガイド付きインストレーション

代わりにNew Relic UIからこれをインストールするには、one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) に移動してください。画面上の指示に従って、インテグレーションをセットアップします。このページでは、手動インストレーションについてのみ説明します。

このページでは、gMSA認証について説明します。お使いの環境で別の認証方法を使用している場合は、「SQL Server認証」または「Windowsドメイン認証」を参照してください。

前提条件

gMSA認証を使用してNRDOTでMicrosoft SQL Serverを監視する前に、環境がこれらの要件を満たしていることを確認します:

  • 有効なライセンスキーを持つNew Relicアカウント。

  • ご利用のリージョンのNew Relic OTLPエンドポイントへのネットワーク接続。

  • SQL Serverの要件:

    • SQL Server 2017以降。
    • SQL Serverへの管理アクセス(sysadminロールまたは同等のロール)。
    • ポート1433またはカスタムポートでのコレクターとSQL Server間のネットワーク接続。
    • SQL Server Management Studio(SSMS)または sqlcmd ユーティリティ。
  • gMSAをサポートするActive Directory環境。

  • ドメインに参加しており、gMSAアカウントの使用を承認されているWindowsホスト。

NRDOT Collectorをインストールする

PowerShellを使用してNRDOT Collectorをダウンロードし、インストールします:

[Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'
$NRDOT_VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest").tag_name
$WebClient = New-Object System.Net.WebClient
$WebClient.Headers.Add("User-Agent", "Mozilla/5.0")
$WebClient.DownloadFile("https://github.com/newrelic/nrdot-collector-releases/releases/download/$NRDOT_VERSION/nrdot-collector_${NRDOT_VERSION}_windows_x64.msi", "$env:TEMP\nrdot-collector.msi")
Start-Process msiexec.exe -ArgumentList "/i `"$env:TEMP\nrdot-collector.msi`" /qn /norestart /L*V `"$env:TEMP\nrdot_install.log`"" -Wait
Get-Service nrdot-collector -ErrorAction SilentlyContinue

監視ユーザーを作成する

SQL Server Management Studio(SSMS)で次のスクリプトを実行し、gMSAアカウントのログインを作成して、必要な権限を付与します。<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>のすべての出現箇所を、実際のドメインとgMSAアカウント名に置き換えます。

USE [master];
GO
-- Provision an engine login identity for the gMSA
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FROM WINDOWS;
GO
-- Grant monitoring permissions
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GO
-- Grant access to all databases (required for query monitoring and tempdb metrics)
DECLARE @name SYSNAME;
DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FOR
SELECT [name] FROM [master].[sys].[databases]
WHERE [name] NOT IN ('master','msdb','model','rdsadmin','distribution')
AND [state] = 0;
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @name;
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC('USE [' + @name + '];
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$'')
BEGIN
CREATE USER [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FOR LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
END;
GRANT VIEW DATABASE STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];');
END TRY
BEGIN CATCH
PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();
END CATCH
FETCH NEXT FROM db_cursor INTO @name;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
GO

ヒント

データベースの認証情報などの機密情報を安全に管理するには、シークレット管理ツールに保存してください。

gMSAアカウントとして実行する

NRDOT Collectorをインストールした後、PowerShellを使用してgMSAアカウントとして実行するようにサービスを設定します。YOUR_DOMAIN\YOUR_gMSA_ACCOUNT$をドメインとgMSAアカウント名に置き換えます。gMSAアカウントに必要であるため、最後に$を含める必要があります。

# Stop the NRDOT Collector service
Stop-Service nrdot-collector
# Configure service to use gMSA account
# Use cmd /c to avoid PowerShell treating $ as a variable
cmd /c 'sc config nrdot-collector obj= "YOUR_DOMAIN\YOUR_gMSA_ACCOUNT$" password= ""'
# Verify the configuration
Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, StartName
# Start the NRDOT Collector service
Start-Service nrdot-collector

NRDOT Collectorを構成する

  1. アドミニストレーターとしてPowerShellでmssql-config.yamlという名前の設定ファイルを作成します:
New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  1. 前の手順で作成したmssql-config.yamlファイルに以下の設定を追加します:

完全な設定

この設定は、Windows SQL Server環境における必須のデータベース監視に重点を置いています。利用可能なすべてのメトリクスを使用した包括的な監視を有効にするには、設定リファレンスをご覧ください。

mssql-config.yaml
1
receivers:
2
nrsqlserver:
3
collection_interval: 15s
4
datasource: "server=sqlserver.example.com;port=1433;integrated security=true;encrypt=true;TrustServerCertificate=true;"
5
6
# Enable comprehensive database metrics
7
metrics:
8
sqlserver.database.count:
9
enabled: true
10
sqlserver.database.io:
11
enabled: true
12
sqlserver.database.latency:
13
enabled: true
14
sqlserver.database.operations:
15
enabled: true
16
sqlserver.database.tempdb.space:
17
enabled: true
18
sqlserver.database.tempdb.version_store.size:
19
enabled: true
20
sqlserver.deadlock.rate:
21
enabled: true
22
sqlserver.os.wait.duration:
23
enabled: true
24
sqlserver.processes.blocked:
25
enabled: true
26
sqlserver.memory.grants.pending.count:
27
enabled: true
28
sqlserver.database.file.size:
29
enabled: true
30
sqlserver.memory.area:
31
enabled: true
32
33
# Enable query sample, top query, query plan, and top procedure log collection
34
events:
35
db.server.query_sample:
36
enabled: true
37
db.server.top_query:
38
enabled: true
39
db.server.query_plan:
40
enabled: true
41
db.server.top_procedure:
42
enabled: true
43
44
# Top query collection configuration
45
top_query_collection:
46
lookback_time: 60s
47
max_query_sample_count: 1000
48
top_query_count: 250
49
collection_interval: 60s
50
collect_full_query_text: true
51
allowed_comment_keys:
52
- nr_service_guid
53
54
# Query sample collection configuration
55
query_sample_collection:
56
max_rows_per_query: 100
57
collect_full_query_text: true
58
allowed_comment_keys:
59
- nr_service_guid
60
61
# Top stored procedure collection configuration
62
top_procedure_collection:
63
max_procedure_sample_count: 1000
64
top_procedure_count: 250
65
collection_interval: 60s
66
67
resource_attributes:
68
db.system.version:
69
enabled: true
70
sqlserver.db.edition:
71
enabled: true
72
73
processors:
74
memory_limiter:
75
check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
76
limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
77
spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
78
79
exporters:
80
otlp:
81
endpoint: https://otlp.nr-data.net:4318
82
headers:
83
api-key: YOUR_LICENSE_KEY
84
tls:
85
insecure: false
86
compression: gzip
87
88
sending_queue:
89
enabled: true
90
sizer: bytes
91
queue_size: 100_000_000
92
num_consumers: 10
93
batch:
94
sizer: bytes
95
max_size: 1_000_000
96
min_size: 0
97
flush_timeout: 5s
98
99
service:
100
telemetry:
101
metrics:
102
level: none
103
104
pipelines:
105
metrics:
106
receivers: [nrsqlserver]
107
processors: [memory_limiter]
108
exporters: [otlp]
109
110
logs:
111
receivers: [nrsqlserver]
112
processors: [memory_limiter]
113
exporters: [otlp]

ヒント

  • logsパイプラインは、コレクターのデバッグログや内部エージェントのログを転送しません。クエリテキスト、実行プラン、およびサンプルデータを含む、SQL Serverのクエリテレメトリーを送信します。nrsqlserverレシーバーは、OpenTelemetryのログレコードとして出力されるdb.server.query_sample、db.server.top_query、db.server.query_plan、およびdb.server.top_procedureイベントを通じて、このテレメトリーをキャプチャします。

  • db.server.top_procedure イベントには、sys.dm_exec_procedure_stats.total_spills のサポートが導入された SQL Server 2017 CU3 以降が必要です。以前のバージョンでは、このイベントはデータを出力せず、エラーをログに記録します。他のイベントは影響を受けません。sys.dm_exec_procedure_stats にアクセスするには、VIEW SERVER STATE(または SQL Server のバージョンによっては VIEW SERVER PERFORMANCE STATE)が必要です。さらに、すべてのユーザーデータベースで OBJECT_NAME と OBJECT_SCHEMA_NAME を正しく解決するには VIEW ANY DEFINITION が必要であり、初期セッションを設定するには CONNECT SQL が必要です。監視ユーザーの作成で作成されたgMSAログインは、すでに3つの権限すべてを持っています。

Windowsサービスレジストリの更新

  1. 次のいずれかの方法を使用して、新しいmssql-config.yamlファイルを使用するようにWindowsサービスレジストリを更新します:

    • PowerShellの場合:アドミニストレーターとして次のコマンドを実行します:

      Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nrdot-collector" -Name "ImagePath" -Value '"C:\Program Files\nrdot-collector\nrdot-collector.exe" --config "C:\Program Files\nrdot-collector\mssql-config.yaml"'
    • コマンドプロンプトの場合:PowerShellが利用できない場合は、代わりにコマンドプロンプトを使用し、アドミニストレーターとして次のコマンドを実行します:

    bash
    $
    sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. NRDOT Collectorの設定を検証して、正しくフォーマットされ、適切に機能することを確認します:

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    ヒント

    アプリケーションパフォーマンスをデータベース操作と関連付けるには、データベースサービス識別を設定できます。詳細については、データベースサービス識別の設定を参照してください。

NRDOT Collectorを再起動します

設定を更新した後、NRDOT Collectorサービスを再起動します:

bash
$
net stop nrdot-collector
$
net start nrdot-collector

ヒント

新しい設定を確実に適用するために、設定を変更した後は常にNRDOT Collectorサービスを再起動してください。

データを探す、使う

データの収集が開始されると、New Relic UIを通じて包括的なSQL Serverデータベース監視にアクセスできます。

New Relic で SQL Server データベース エンティティを見つけるには:

  1. https://one.newrelic.com > All Capabilities > Databasesに移動します。

  2. Entity typeドロップダウンからMSSQL instanceを選択し、Applyをクリックします。

  3. エンティティのリストから SQL Server データベースを選択します。

    NRDOTを使用してSQL Serverの監視をセットアップした後、次のことができます:

APMとデータベースの相関を設定する

New Relicでアプリケーションパフォーマンスとデータベース操作を関連付ける方法について説明します。

トラブルシューティング

New RelicでのMSSQL Windows監視設定のトラブルシューティング方法を学びます。

メトリクスリファレンス

NRDOT Collectorによって収集される利用可能なメトリクスについて説明します。

Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.