물리적 서버, 가상 머신 및 독립 실행형 Windows 설치를 포함한 Windows 자체 호스팅 환경에서 NRDOT 수집기를 사용하여 Microsoft SQL Server 모니터링을 설정합니다.
SQL Server 보안 설정에 따라 세 가지 인증 방법 중 하나를 선택하여 NRDOT Collector를 SQL Server 인스턴스에 연결할 수 있습니다:
전제 조건
환경이 호환성 및 필수 조건을 충족하는지 확인하세요.
NRDOT Collector설정하세요
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
데이터베이스 사용자 구성
다음 스크립트를 root user/sysadmin 사용자 권한으로 실행하여 newrelic 모니터링 사용자를 생성하고 전역 읽기 권한을 부여하십시오.
newrelic 모니터링 사용자를 생성하려면 SQL Server Management Studio(SSMS)를 사용하여 다음 스크립트를 실행하십시오.
USE [master];GOCREATE LOGIN [newrelic] WITH PASSWORD = '<PASSWORD>';GO
GRANT VIEW SERVER STATE TO [newrelic];GRANT VIEW ANY DEFINITION TO [newrelic];GRANT VIEW ANY DATABASE TO [newrelic];GO
DECLARE @name SYSNAME;DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FORSELECT [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 = 0BEGIN BEGIN TRY EXEC('USE [' + @name + ']; IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'') BEGIN CREATE USER [newrelic] FOR LOGIN [newrelic]; END; GRANT VIEW DATABASE STATE TO [newrelic];'); END TRY BEGIN CATCH PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE(); END CATCH FETCH NEXT FROM db_cursor INTO @name;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GONRDOT Collector구성
모니터링 요구 사항에 따라 설정 유형을 선택하십시오:
구성 매개변수
다음 표에서는 nrsqlserver 수신자에 대한 주요 설정 초기화에 대해 설명합니다.
| 매개변수 | 설명 |
|---|---|
<YOUR_USERNAME> | 인증을 위해 데이터베이스 사용자 이름을 입력하세요. |
<YOUR_PASSWORD> | 인증을 위해 데이터베이스 비밀번호를 입력하세요. |
<YOUR_SERVER> | SQL Server 호스트명 또는 IP 주소를 입력하십시오. |
<YOUR_PORT> | SQL Server 포트 번호를 입력합니다. 기본값은 1433입니다. |
<YOUR_OTLP_ENDPOINT> | 뉴렐릭 OTLP 엔드포인트를 입력하세요. 자세한 내용은 뉴렐릭 OTLP 엔드포인트 문서를 참조하세요. |
<YOUR_LICENSE_KEY> | 귀하의 블루 클러스터 키를 입력하세요. |
collection_interval | 데이터베이스 메트릭을 수집하는 간격(초)입니다. 기본: 15s |
팁
참고: 사용 가능한 모든 메트릭을 활성화하는 경우 메모리 제한기가 데이터를 삭제하지 않도록 limit_mib 값(예: 1,000)을 늘리세요.
팁
참고: max_concurrent_queries 옵션은 각 스크랩 주기 동안 수신기가 SQL Server에 대해 병렬로 실행하는 메트릭 쿼리 수를 제어합니다.
receivers: nrsqlserver: max_concurrent_queries: 4 # default is 4 if omitted or set to 0Windows 서비스 레지스트리 업데이트
새 mssql-config.yaml 파일을 사용하도록 Windows 서비스 레지스트리를 업데이트합니다.
방법 1: PowerShell
관리자 권한으로 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"'방법 2: 명령 프롬프트(대안)
PowerShell을 사용할 수 없는 경우 대신 명령 프롬프트를 사용할 수 있습니다:
- 시작 메뉴를 열고 다음을 입력합니다
cmd - 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭하고 Run as administrator [관리자 권한으로 실행]을 선택합니다
- 검은색 CMD 창에 이 명령을 그대로 복사하여 붙여넣고 Enter를 누릅니다:
sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""NRDOT Collector 설정 유효성 검사
NRDOT Collector 설정의 유효성을 검사하여 형식이 올바르고 제대로 작동하는지 확인합니다.
& "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"NRDOT 수집기 재시작
설정을 업데이트한 후 NRDOT Collector 서비스를 다시 시작하십시오:
$net stop nrdot-collector$net start nrdot-collector팁
설정을 변경한 후에는 반드시 NRDOT 수집기 서비스를 다시 시작하여 새 설정이 적용되도록 하십시오.
(선택 사항) APM-데이터베이스 상관 관계 설정
애플리케이션 성능과 데이터베이스 작업 간의 상관관계를 파악하려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이를 통해 특정 데이터베이스워크로드 기능을 생성하는 기능을 정확하게 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM- 데이터베이스 상관 관계를 가져오기 위한 데이터베이스 서비스 식별 설정을 참조하세요.
중요
APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.
(선택 사항) 비밀 관리 구성
비밀 관리 기능을 사용하면 데이터베이스 자격 증명과 같은 중요한 정보를 안전하게 관리할 수 있습니다. 이렇게 하면 구성 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화할 수 있습니다. 자세한 내용은 비밀 관리 부분 을 참조하십시오.
데이터 찾기 및 사용
데이터가 수집되면 뉴렐릭의 UI 통해 포괄적인 SQL Server 데이터베이스 모니터링에 액세스할 수 있습니다.
뉴렐릭에서 SQL Server 데이터베이스를 찾으려면 다음을 수행하세요.
- https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
- Entity type 드롭다운 메뉴에서 MSSQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.
- 모임 목록에서 SQL Server 데이터베이스를 선택합니다.
전제 조건
환경이 호환성 및 필수 조건을 충족하는지 확인하세요.
Windows 인증을 위한 추가 요구 사항:
- Active Directory가 있는 Windows 도메인 환경
- Windows 인증을 허용하도록 설정된 SQL Server
- 적절한 SQL Server 권한이 있는 도메인 사용자 계정
- 도메인 계정 컨텍스트에서 실행되는 NRDOT Collector 서비스
NRDOT Collector설정하세요
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
Windows 인증 설정 확인
SQL Server가 Windows 인증을 위해 설정되어 있는지 확인하고 연결을 확인합니다.
Windows 사용자 이름 확인:
SELECT SYSTEM_USER;아래 명령을 실행하여 필요한 권한이 부여되었는지 확인합니다 (1단계의 사용자 이름으로
<account_name>업데이트):DECLARE @TargetUser SYSNAME = '<account_name>'; -- <-- Set your Windows user here-- 1. Create the checklist of required permissions from your scriptDECLARE @Checklist TABLE (Scope NVARCHAR(50), [Database] SYSNAME, [Permission] NVARCHAR(128));INSERT INTO @Checklist VALUES('Server', 'ALL', 'VIEW SERVER STATE'),('Server', 'ALL', 'VIEW ANY DEFINITION'),('Server', 'ALL', 'VIEW ANY DATABASE');INSERT INTO @ChecklistSELECT 'Database Role', [name], 'db_datareader' FROM sys.databases WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution') AND [state] = 0UNION ALLSELECT 'Database Explicit', [name], 'VIEW DATABASE STATE' FROM sys.databases WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution') AND [state] = 0UNION ALLSELECT 'Database Explicit', [name], 'VIEW DEFINITION' FROM sys.databases WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution') AND [state] = 0;-- 2. Gather existing explicit permissionsWITH ExplicitPerms AS (SELECT 'Server' AS Scope, CAST('ALL' AS NVARCHAR(128)) COLLATE DATABASE_DEFAULT AS [Database], p.permission_name COLLATE DATABASE_DEFAULT AS [Permission]FROM sys.server_permissions p JOIN sys.server_principals l ON p.grantee_principal_id = l.principal_id WHERE l.name = @TargetUserUNION ALLSELECT 'Database Role', d.name COLLATE DATABASE_DEFAULT, r.name COLLATE DATABASE_DEFAULTFROM sys.databases d CROSS APPLY (SELECT dp_role.name FROM sys.database_role_members drm JOIN sys.database_principals dp_role ON drm.role_principal_id = dp_role.principal_id JOIN sys.database_principals dp_user ON drm.member_principal_id = dp_user.principal_id JOIN sys.server_principals sp ON dp_user.sid = sp.sid WHERE sp.name = @TargetUser) r WHERE d.state = 0UNION ALLSELECT 'Database Explicit', d.name COLLATE DATABASE_DEFAULT, p.permission_name COLLATE DATABASE_DEFAULTFROM sys.databases d CROSS APPLY (SELECT db_p.permission_name FROM sys.database_permissions db_p JOIN sys.database_principals dp_user ON db_p.grantee_principal_id = dp_user.principal_id JOIN sys.server_principals sp ON dp_user.sid = sp.sid WHERE sp.name = @TargetUser) p WHERE d.state = 0)-- 3. Output the exact verification matrixSELECTchk.Scope,chk.[Database],chk.[Permission] AS [Required Permission],CASEWHEN exp.[Permission] IS NOT NULL THEN 'GRANTED'WHEN IS_SRVROLEMEMBER('sysadmin', @TargetUser) = 1 THEN 'PASSED (via SysAdmin Role)'ELSE 'MISSING'END AS [Verification Status]FROM @Checklist chkLEFT JOIN ExplicitPerms exp ON chk.Scope = exp.Scope AND chk.[Database] = exp.[Database] AND chk.[Permission] = exp.[Permission]ORDER BY chk.Scope, chk.[Database], chk.[Permission];필요한 권한이 없는 경우 다음 권한 부여를 실행합니다(
<account_name>을(를) Windows 계정으로 대체):USE [master];GO-- 1. Grant Instance-level permissions to your Windows AccountGRANT VIEW SERVER STATE TO [<account_name>];GRANT VIEW ANY DEFINITION TO [<account_name>];GRANT VIEW ANY DATABASE TO [<account_name>];GO-- 2. Loop through all user databases and grant read/visibility permissionsDECLARE @name SYSNAME;DECLARE @sql NVARCHAR(MAX);DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FORSELECT [name]FROM [master].[sys].[databases]WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution')AND [state] = 0; -- Only online databasesOPEN db_cursor;FETCH NEXT FROM db_cursor INTO @name;WHILE @@FETCH_STATUS = 0BEGINBEGIN TRYPRINT 'Granting permissions on database: ' + @name;-- Create the database user mapping if it doesn't exist, then grant rolesSET @sql = 'USE [' + @name + '];IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''<account_name>'')BEGINCREATE USER [<account_name>] FOR LOGIN [<account_name>];END;GRANT VIEW DATABASE STATE TO [<account_name>];GRANT VIEW DEFINITION TO [<account_name>];ALTER ROLE db_datareader ADD MEMBER [<account_name>];';EXEC sp_executesql @sql;PRINT 'Success: ' + @name;END TRYBEGIN CATCHPRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();END CATCHFETCH NEXT FROM db_cursor INTO @name;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GO중요
중요한 참고 사항:
<account_name>의 모든 인스턴스를 실제 Windows 계정 이름으로 바꿉니다(예:ComputerName\Username)- SQL Server Management Studio(SSMS) 또는 sqlcmd 유틸리티를 사용하여 이 스크립트를 실행합니다.
- 확인 스크립트는 누락된 권한을 정확히 보여줍니다
NRDOT Collector구성
필요에 따라 모니터링 설정을 선택합니다:
구성 매개변수
다음 표에서는 nrsqlserver 수신자에 대한 주요 설정 초기화에 대해 설명합니다.
| 매개변수 | 설명 |
|---|---|
<YOUR_HOSTNAME> | SQL Server 호스트명 또는 IP 주소를 입력하십시오. |
<YOUR_PORT> | SQL Server 포트 번호를 입력합니다. 기본값은 1433입니다. |
<YOUR_OTLP_ENDPOINT> | 뉴렐릭 OTLP 엔드포인트를 입력하세요. 자세한 내용은 뉴렐릭 OTLP 엔드포인트 문서를 참조하세요. |
<YOUR_LICENSE_KEY> | 귀하의 블루 클러스터 키를 입력하세요. |
collection_interval | 데이터베이스 메트릭을 수집하는 간격(초)입니다. 기본: 15s |
팁
참고: 사용 가능한 모든 메트릭을 활성화하는 경우 메모리 제한기가 데이터를 삭제하지 않도록 limit_mib 값(예: 1,000)을 늘리세요.
팁
참고: max_concurrent_queries 옵션은 각 스크랩 주기 동안 수신기가 SQL Server에 대해 병렬로 실행하는 메트릭 쿼리 수를 제어합니다.
receivers: nrsqlserver: max_concurrent_queries: 4 # default is 4 if omitted or set to 0Windows 서비스 레지스트리 업데이트
새 mssql-config.yaml 파일을 사용하도록 Windows 서비스 레지스트리를 업데이트합니다.
방법 1: PowerShell
관리자 권한으로 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"'방법 2: 명령 프롬프트(대안)
PowerShell을 사용할 수 없는 경우 대신 명령 프롬프트를 사용할 수 있습니다:
- 시작 메뉴를 열고 다음을 입력합니다
cmd - 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭하고 Run as administrator [관리자 권한으로 실행]을 선택합니다
- 검은색 CMD 창에 이 명령을 그대로 복사하여 붙여넣고 Enter를 누릅니다:
sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""NRDOT Collector 설정 유효성 검사
NRDOT Collector 설정의 유효성을 검사하여 형식이 올바르고 제대로 작동하는지 확인합니다.
& "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"NRDOT 수집기 재시작
설정을 업데이트한 후 NRDOT Collector 서비스를 다시 시작하십시오:
$net stop nrdot-collector$net start nrdot-collector팁
설정을 변경한 후에는 반드시 NRDOT 수집기 서비스를 다시 시작하여 새 설정이 적용되도록 하십시오.
(선택 사항) APM-데이터베이스 상관 관계 설정
애플리케이션 성능과 데이터베이스 작업 간의 상관관계를 파악하려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이를 통해 특정 데이터베이스워크로드 기능을 생성하는 기능을 정확하게 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM- 데이터베이스 상관 관계를 가져오기 위한 데이터베이스 서비스 식별 설정을 참조하세요.
중요
APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.
(선택 사항) 비밀 관리 구성
비밀 관리 기능을 사용하면 데이터베이스 자격 증명과 같은 중요한 정보를 안전하게 관리할 수 있습니다. 이렇게 하면 구성 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화할 수 있습니다. 자세한 내용은 비밀 관리 부분 을 참조하십시오.
데이터 찾기 및 사용
데이터가 수집되면 뉴렐릭의 UI 통해 포괄적인 SQL Server 데이터베이스 모니터링에 액세스할 수 있습니다.
뉴렐릭에서 SQL Server 데이터베이스를 찾으려면 다음을 수행하세요.
- https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
- Entity type 드롭다운 메뉴에서 MSSQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.
- 모임 목록에서 SQL Server 데이터베이스를 선택합니다.
전제 조건
환경이 호환성 및 필수 조건을 충족하는지 확인하세요.
gMSA(그룹 관리 서비스 계정)에 대한 추가 요구 사항:
- gMSA를 지원하는 Active Directory 환경
- SQL Server 액세스를 위해 생성되고 구성된 gMSA 계정
- Windows 호스트는 도메인에 가입되어 있어야 하며 gMSA 계정을 사용하도록 권한이 부여되어야 합니다
NRDOT Collector설정하세요
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
Microsoft SQL Server 활성화
SSMS를 열고, Windows 인증을 통해 로그인한 후, 새 쿼리를 열고 다음 데이터베이스 관리 스크립트를 실행합니다:
USE master;GO
-- Provision an engine login identity for the gMSACREATE LOGIN [<DOMAIN>\<gMSA_NAME>$] FROM WINDOWS;GO
-- Grant monitoring permissionsGRANT VIEW SERVER STATE TO [<DOMAIN>\<gMSA_NAME>$];GRANT VIEW ANY DEFINITION TO [<DOMAIN>\<gMSA_NAME>$];GRANT VIEW ANY DATABASE TO [<DOMAIN>\<gMSA_NAME>$];GO
-- Grant access to all databases (required for query monitoring and tempdb metrics)DECLARE @name SYSNAME;DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FORSELECT [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 = 0BEGIN BEGIN TRY EXEC('USE [' + @name + ']; IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''<DOMAIN>\<gMSA_NAME>$'') BEGIN CREATE USER [<DOMAIN>\<gMSA_NAME>$] FOR LOGIN [<DOMAIN>\<gMSA_NAME>$]; END; GRANT VIEW DATABASE STATE TO [<DOMAIN>\<gMSA_NAME>$];'); END TRY BEGIN CATCH PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE(); END CATCH FETCH NEXT FROM db_cursor INTO @name;ENDCLOSE db_cursor;DEALLOCATE db_cursor;GO중요
[<DOMAIN>\<gMSA_NAME>$] 실제 gMSA 계정 이름으로 바꾸세요. 끝에 있는 $ 은(는) gMSA 계정에 필요합니다.
gMSA로 실행되도록 NRDOT Collector 서비스 구성
NRDOT Collector를 설치한 후 PowerShell을 사용하여 gMSA 계정으로 실행되도록 서비스를 설정합니다:
# Stop the NRDOT Collector serviceStop-Service nrdot-collector
# Configure service to use gMSA account# Use cmd /c to avoid PowerShell treating $ as a variablecmd /c 'sc config nrdot-collector obj= "DOMAIN\gMSA-Account$" password= ""'
# Verify the configurationGet-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, StartName
# start the NRDOT Collector serviceStart-Service nrdot-collector중요
DOMAIN\gMSA-Account$ 실제 gMSA 계정 이름으로 바꾸세요. gMSA 계정의 경우 끝에 있는 $ 이 필요합니다. gMSA가 인증을 자동으로 처리하므로 암호가 필요하지 않습니다.
NRDOT Collector구성
필요에 따라 모니터링 설정을 선택합니다:
구성 매개변수
다음 표에서는 nrsqlserver 수신자에 대한 주요 설정 초기화에 대해 설명합니다.
| 매개변수 | 설명 |
|---|---|
<YOUR_HOSTNAME> | SQL Server 호스트명 또는 IP 주소를 입력하십시오. |
<YOUR_PORT> | SQL Server 포트 번호를 입력합니다. 기본값은 1433입니다. |
<YOUR_OTLP_ENDPOINT> | 뉴렐릭 OTLP 엔드포인트를 입력하세요. 자세한 내용은 뉴렐릭 OTLP 엔드포인트 문서를 참조하세요. |
<YOUR_LICENSE_KEY> | 귀하의 블루 클러스터 키를 입력하세요. |
collection_interval | 데이터베이스 메트릭을 수집하는 간격(초)입니다. 기본: 15s |
팁
참고: 사용 가능한 모든 메트릭을 활성화하는 경우 메모리 제한기가 데이터를 삭제하지 않도록 limit_mib 값(예: 1,000)을 늘리세요.
팁
참고: max_concurrent_queries 옵션은 각 스크랩 주기 동안 수신기가 SQL Server에 대해 병렬로 실행하는 메트릭 쿼리 수를 제어합니다.
receivers: nrsqlserver: max_concurrent_queries: 4 # default is 4 if omitted or set to 0Windows 서비스 레지스트리 업데이트
새 mssql-config.yaml 파일을 사용하도록 Windows 서비스 레지스트리를 업데이트합니다.
방법 1: PowerShell
관리자 권한으로 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"'방법 2: 명령 프롬프트(대안)
PowerShell을 사용할 수 없는 경우 대신 명령 프롬프트를 사용할 수 있습니다:
- 시작 메뉴를 열고 다음을 입력합니다
cmd - 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭하고 Run as administrator [관리자 권한으로 실행]을 선택합니다
- 검은색 CMD 창에 이 명령을 그대로 복사하여 붙여넣고 Enter를 누릅니다:
sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""NRDOT Collector 설정 유효성 검사
NRDOT Collector 설정의 유효성을 검사하여 형식이 올바르고 제대로 작동하는지 확인합니다.
& "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"NRDOT 수집기 재시작
설정을 업데이트한 후 NRDOT Collector 서비스를 다시 시작하십시오:
$net stop nrdot-collector$net start nrdot-collector팁
설정을 변경한 후에는 반드시 NRDOT 수집기 서비스를 다시 시작하여 새 설정이 적용되도록 하십시오.
(선택 사항) APM-데이터베이스 상관 관계 설정
애플리케이션 성능과 데이터베이스 작업 간의 상관관계를 파악하려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이를 통해 특정 데이터베이스워크로드 기능을 생성하는 기능을 정확하게 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM- 데이터베이스 상관 관계를 가져오기 위한 데이터베이스 서비스 식별 설정을 참조하세요.
중요
APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.
(선택 사항) 비밀 관리 구성
비밀 관리 기능을 사용하면 데이터베이스 자격 증명과 같은 중요한 정보를 안전하게 관리할 수 있습니다. 이렇게 하면 구성 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화할 수 있습니다. 자세한 내용은 비밀 관리 부분 을 참조하십시오.
데이터 찾기 및 사용
데이터가 수집되면 뉴렐릭의 UI 통해 포괄적인 SQL Server 데이터베이스 모니터링에 액세스할 수 있습니다.
뉴렐릭에서 SQL Server 데이터베이스를 찾으려면 다음을 수행하세요.
- https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
- Entity type 드롭다운 메뉴에서 MSSQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.
- 모임 목록에서 SQL Server 데이터베이스를 선택합니다.
다음 단계
Windows 자체 호스팅 모니터링을 설정한 후: