• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

NRDOT를 사용한 Windows RDS MSSQL 모니터링

|View as Markdown (English)

시사

이 기능은 아직 개발 중이지만 꼭 사용해 보시기 바랍니다!

이 기능은 현재 사전 출시 정책 에 따라 미리보기의 일부로 제공됩니다.

AWS RDS for SQL Server 인스턴스를 모니터링하려면 Windows 환경에서 NRDOT Collector를 사용하여 Microsoft SQL Server 모니터링을 설정하십시오. 자체 호스팅 환경에서 모니터링하려면 Windows 자체 호스팅 계측을 참조하십시오.

대신 뉴렐릭 UI를 통해 이를 설치하려면 one.newrelic.com > Integrations & Agents > MSSQL (OpenTelemetry) 로 이동하십시오. 화면의 지시에 따라 통합을 설정하십시오. 이 페이지는 CLI 설치 경로만 다룹니다.

RDS SQL Server 보안 설정에 따라 NRDOT Collector를 RDS 인스턴스에 연결할 인증 방법을 선택하십시오:

전제 조건

NRDOT로 Microsoft SQL Server를 모니터링하기 전에 환경이 다음 요구 사항을 충족하는지 확인하십시오:

  • 유효한 라이선스 키가 있는 뉴렐릭 계정

  • 해당 리전의 뉴렐릭 OTLP 엔드포인트

  • AWS RDS SQL Server 요구 사항:

    • RDS 인스턴스에서 SQL Server 인증이 활성화되었습니다.
    • RDS 마스터 사용자 자격 증명 또는 rds_superuser 역할이 있는 SQL Server 로그인의 자격 증명
    • 포트 1433 또는 사용자 지정 포트에서 연결을 허용하도록 구성된 RDS 보안 그룹
    • SQL Server Management Studio(SSMS) 또는 sqlcmd 유틸리티
  • 뉴렐릭 OTLP 엔드포인트에 대한 네트워크 연결

  • AWS RDS 콘솔의 연결 및 보안(Connectivity & security)에서 찾을 수 있는 RDS SQL Server 엔드포인트 URL입니다. 자세한 내용은 AWS RDS 문서를 참조하십시오.

미리보기에 등록하십시오

이 통합은 뉴렐릭 공개 프리뷰 프로그램의 일환으로 제공됩니다. Previews & Trials 페이지에서 옵트인하려면 조직 관리자에게 문의하십시오.

NRDOT Collector설치하세요

RDS SQL Server 인스턴스에 연결할 수 있는 EC2 Windows 인스턴스 또는 로컬 Windows 머신에 NRDOT Collector를 설치합니다.

중요

RDS 모니터링의 경우, 최적의 네트워크 연결과 더 낮은 지연시간을 위해 RDS 인스턴스와 동일한 VPC에 있는 EC2 인스턴스에 NRDOT Collector를 설치하세요.

PowerShell을 사용하여 NRDOT Collector를 다운로드하고 설치합니다:

bash
$
[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

모니터링 사용자 생성

관리 사용자로 이 스크립트를 실행하여 newrelic 모니터링 사용자를 생성하고 SQL Server 메트릭 수집에 필요한 권한을 부여하십시오.

RDS 마스터 사용자 이름 또는 rds_superuser 역할을 가진 사용자를 사용하여 이 스크립트를 실행하십시오. 이 스크립트는 AWS에서 예약한 rdsadmin 데이터베이스를 자동으로 제외합니다.

SQL Server Management Studio(SSMS)에서 다음 스크립트를 실행하여 newrelic 모니터링 사용자를 생성하십시오. <YOUR_PASSWORD>을(를) 원하는 비밀번호로 교체하십시오:

USE [master];
GO
CREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_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 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 = ''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;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
GO

데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 관리하려면 비밀 관리 도구에 저장하십시오.

NRDOT Collector구성하세요

RDS SQL Server 설정을 위한 새 NRDOT Collector 설정 파일을 생성하십시오.

  1. 관리자 권한으로 PowerShell에서 mssql-config.yaml (으)로 명명된 설정 파일을 생성하십시오:

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. 이전 단계에서 생성한 mssql-config.yaml 파일에 다음 설정을 추가하십시오:

    전체 설정

    이 설정은 RDS 환경의 필수 데이터베이스 모니터링에 중점을 둡니다. 사용 가능한 모든 메트릭으로 포괄적인 모니터링을 활성화하려면 설정 참조를 참조하십시오.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    username: newrelic
    5
    password: YOUR_PASSWORD
    6
    server: mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com
    7
    port: 1433
    8
    9
    # Enable comprehensive database metrics
    10
    metrics:
    11
    sqlserver.database.count:
    12
    enabled: true
    13
    sqlserver.database.io:
    14
    enabled: true
    15
    sqlserver.database.latency:
    16
    enabled: true
    17
    sqlserver.database.operations:
    18
    enabled: true
    19
    sqlserver.database.tempdb.space:
    20
    enabled: true
    21
    sqlserver.database.tempdb.version_store.size:
    22
    enabled: true
    23
    sqlserver.deadlock.rate:
    24
    enabled: true
    25
    sqlserver.os.wait.duration:
    26
    enabled: true
    27
    sqlserver.processes.blocked:
    28
    enabled: true
    29
    sqlserver.memory.grants.pending.count:
    30
    enabled: true
    31
    sqlserver.database.file.size:
    32
    enabled: true
    33
    sqlserver.memory.area:
    34
    enabled: true
    35
    36
    # Enable top query and query sample log collection
    37
    events:
    38
    db.server.query_sample:
    39
    enabled: true
    40
    db.server.top_query:
    41
    enabled: true
    42
    43
    # Top query collection configuration
    44
    top_query_collection:
    45
    lookback_time: 60s
    46
    max_query_sample_count: 1000
    47
    top_query_count: 250
    48
    collection_interval: 60s
    49
    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
    58
    processors:
    59
    memory_limiter:
    60
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    61
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    62
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    63
    64
    batch:
    65
    66
    exporters:
    67
    otlp:
    68
    endpoint: https://otlp.nr-data.net:4318
    69
    headers:
    70
    api-key: YOUR_LICENSE_KEY
    71
    tls:
    72
    insecure: false
    73
    compression: gzip
    74
    75
    service:
    76
    telemetry:
    77
    metrics:
    78
    level: none
    79
    80
    pipelines:
    81
    metrics:
    82
    receivers: [nrsqlserver]
    83
    processors: [memory_limiter, batch]
    84
    exporters: [otlp]
    85
    86
    logs:
    87
    receivers: [nrsqlserver]
    88
    processors: [memory_limiter, batch]
    89
    exporters: [otlp]

Windows 서비스 레지스트리 업데이트

  1. 다음 방법 중 하나를 사용하여 새 mssql-config.yaml 파일을 사용하도록 Windows 서비스 레지스트리를 업데이트하십시오:

    • PowerShell의 경우: 다음 명령을 관리자 권한으로 실행하십시오:

      bash
      $
      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 서비스를 다시 시작하십시오.

데이터 찾기 및 사용

데이터가 수집되면 뉴렐릭의 UI 통해 포괄적인 SQL Server 데이터베이스 모니터링에 액세스할 수 있습니다.

뉴렐릭에서 SQL Server 데이터베이스를 찾으려면 다음을 수행하세요.

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.

  2. Entity type 드롭다운 메뉴에서 MSSQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.

  3. 모임 목록에서 SQL Server 데이터베이스를 선택합니다.

    NRDOT로 SQL Server 모니터링을 설정한 후 다음을 수행할 수 있습니다:

전제 조건

Windows 도메인 인증을 사용하여 NRDOT로 Microsoft SQL Server를 모니터링하기 전에 환경이 다음 요구 사항을 충족하는지 확인하십시오:

  • 유효한 라이선스 키가 있는 뉴렐릭 계정

  • 해당 리전의 뉴렐릭 OTLP 엔드포인트

  • SQL Server 요구 사항, 다음이 필요합니다:

    • Amazon RDS의 SQL Server 2017 이상
    • RDS 마스터 사용자 자격 증명 또는 rds_superuser 역할이 있는 SQL Server 로그인의 자격 증명
    • 포트 1433 또는 사용자 지정 포트에서 연결을 허용하도록 구성된 RDS 보안 그룹
    • SQL Server Management Studio(SSMS) 또는 sqlcmd 유틸리티
    • AWS Active Directory 서비스와 연결된 RDS 인스턴스
  • Windows 도메인 인증 요구 사항:

    • Active Directory가 있는 Windows 도메인 환경
    • 도메인에 가입된 Windows EC2 인스턴스
    • Windows 인증을 허용하도록 설정된 RDS SQL Server
    • NRDOT Collector에서 사용할 도메인 사용자 계정
  • 뉴렐릭 OTLP 엔드포인트에 대한 네트워크 연결

  • AWS RDS 콘솔의 연결 및 보안(Connectivity & security)에서 찾을 수 있는 RDS SQL Server 엔드포인트 URL입니다. 자세한 내용은 AWS RDS 문서를 참조하십시오.

미리보기에 등록하십시오

이 통합은 뉴렐릭 공개 프리뷰 프로그램의 일환으로 제공됩니다. Previews & Trials 페이지에서 옵트인하려면 조직 관리자에게 문의하십시오.

NRDOT Collector설치하세요

동일한 도메인의 일부이며 RDS SQL Server 인스턴스에 연결할 수 있는 도메인에 가입된 EC2 Windows 인스턴스 또는 로컬 Windows 머신에 NRDOT Collector를 설치합니다.

중요

RDS 모니터링의 경우, 최적의 네트워크 연결과 더 낮은 지연시간을 위해 RDS 인스턴스와 동일한 VPC에 있는 EC2 인스턴스에 NRDOT Collector를 설치하세요.

  1. PowerShell을 사용하여 NRDOT Collector를 다운로드하고 설치합니다:

    bash
    $
    [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 Management Studio(SSMS) 또는 sqlcmd을(를) 사용하여 RDS SQL Server 인스턴스에 연결하십시오.

SQL Server Management Studio(SSMS)에서 다음 스크립트를 실행하여 gMSA 계정에 대한 로그인을 생성하고 필요한 권한을 부여하십시오. 모든 <YOUR_DOMAIN>\<YOUR_DOMAIN_USER>을(를) 실제 도메인 및 계정 이름으로 바꾸십시오.

USE [master];
GO
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>] FROM WINDOWS;
GO
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
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_DOMAIN_USER>'')
BEGIN
CREATE USER [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>] FOR LOGIN [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];
END;
GRANT VIEW DATABASE STATE TO [<YOUR_DOMAIN>\<YOUR_DOMAIN_USER>];');
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

데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 관리하려면 비밀 관리 도구에 저장하십시오.

도메인 사용자로 실행

  1. PowerShell을 사용하여 도메인 사용자로 실행되도록 NRDOT Collector 서비스를 구성하십시오. YOUR_DOMAIN\YOUR_USER_ACCOUNT을 도메인 및 계정 이름으로 바꾸십시오:

    bash
    $
    # Configure service to use domain account
    $
    # The space after obj= and password= is required syntax for sc.exe
    $
    sc.exe config "nrdot-collector" obj= "YOUR_DOMAIN\YOUR_USER_ACCOUNT" password= "<YOUR_PASSWORD>"
    $
    $
    # Restart the service
    $
    Restart-Service nrdot-collector
  2. 서비스 ID를 검증하십시오:

    bash
    $
    Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, State, StartName
    $
    # Expected: StartName = YOUR_DOMAIN\YOUR_USER_ACCOUNT

NRDOT Collector구성

  1. 관리자 권한으로 PowerShell에서 이름이 mssql-config.yaml 인 설정 파일을 생성하십시오::

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. 이전 단계에서 생성한 mssql-config.yaml 파일에 다음 설정을 추가하십시오:

    중요

    Windows 도메인 인증은 통합 보안을 사용하며, 이는 gMSA 인증과 동일한 설정 방식을 사용합니다. datasource 서버 값을 RDS 엔드포인트로 업데이트하십시오. NRDOT 서비스는 3단계에서 설정한 도메인 계정을 사용하여 인증합니다.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.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 top query and query sample log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    40
    # Top query collection configuration
    41
    top_query_collection:
    42
    lookback_time: 60s
    43
    max_query_sample_count: 1000
    44
    top_query_count: 250
    45
    collection_interval: 60s
    46
    47
    collect_full_query_text: true
    48
    allowed_comment_keys:
    49
    - nr_service_guid
    50
    51
    # Query sample collection configuration
    52
    query_sample_collection:
    53
    max_rows_per_query: 100
    54
    55
    processors:
    56
    memory_limiter:
    57
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    58
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    59
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    60
    61
    batch:
    62
    63
    exporters:
    64
    otlp:
    65
    endpoint: https://otlp.nr-data.net:4318
    66
    headers:
    67
    api-key: YOUR_LICENSE_KEY
    68
    tls:
    69
    insecure: false
    70
    compression: gzip
    71
    72
    service:
    73
    telemetry:
    74
    metrics:
    75
    level: none
    76
    77
    pipelines:
    78
    metrics:
    79
    receivers: [nrsqlserver]
    80
    processors: [memory_limiter, batch]
    81
    exporters: [otlp]
    82
    83
    logs:
    84
    receivers: [nrsqlserver]
    85
    processors: [memory_limiter, batch]
    86
    exporters: [otlp]

    전체 설정

    이 설정은 RDS 환경의 필수 데이터베이스 모니터링에 중점을 둡니다. 사용 가능한 모든 메트릭을 사용하여 포괄적인 모니터링을 활성화하려면 설정 참조를 확인하십시오.

Windows 서비스 레지스트리 업데이트

  1. 다음 방법 중 하나를 사용하여 새 mssql-config.yaml 파일을 사용하도록 Windows 서비스 레지스트리를 업데이트하십시오:

    • PowerShell의 경우: 다음 명령을 관리자 권한으로 실행하십시오:

      bash
      $
      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

Windows 서비스(services.msc)를 확인하여 서비스가 도메인 계정으로 실행 중인지 확인하십시오. Log On As 열에 도메인 계정이 표시되어야 합니다. 예를 들어, CORP\SQLMonitor입니다.

데이터 찾기 및 사용

데이터가 수집되면 뉴렐릭의 UI 통해 포괄적인 SQL Server 데이터베이스 모니터링에 액세스할 수 있습니다.

뉴렐릭에서 SQL Server 데이터베이스를 찾으려면 다음을 수행하세요.

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.

  2. Entity type 드롭다운 메뉴에서 MSSQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.

  3. 모임 목록에서 SQL Server 데이터베이스를 선택합니다.

    NRDOT로 SQL Server 모니터링을 설정한 후 다음을 수행할 수 있습니다:

전제 조건

gMSA 인증을 사용하여 NRDOT로 Microsoft SQL Server를 모니터링하기 전에 다음을 확인하십시오:

  • 유효한 라이선스 키가 있는 뉴렐릭 계정

  • 해당 리전의 뉴렐릭 OTLP 엔드포인트

  • SQL Server 요구 사항, 다음이 필요합니다:

    • Amazon RDS의 SQL Server 2017 이상
    • RDS 마스터 사용자 자격 증명 또는 rds_superuser 역할이 있는 SQL Server 로그인의 자격 증명
    • 포트 1433 또는 사용자 지정 포트에서 연결을 허용하도록 구성된 RDS 보안 그룹
    • SQL Server Management Studio(SSMS) 또는 sqlcmd 유틸리티
    • AWS Active Directory 서비스와 연결된 RDS 인스턴스
  • AWS RDS 콘솔의 연결 및 보안(Connectivity & security)에서 찾을 수 있는 RDS SQL Server 엔드포인트 URL입니다. 자세한 내용은 AWS RDS 문서를 참조하십시오.

  • gMSA를 지원하는 Active Directory 환경

  • gMSA 계정을 사용하도록 권한이 부여된 도메인에 가입된 Windows EC2 인스턴스

  • 뉴렐릭 OTLP 엔드포인트에 대한 네트워크 연결

미리보기에 등록하십시오

이 통합은 뉴렐릭 공개 프리뷰 프로그램의 일환으로 제공됩니다. Previews & Trials 페이지에서 옵트인하려면 조직 관리자에게 문의하십시오.

NRDOT Collector설치하세요

PowerShell을 사용하여 NRDOT Collector를 다운로드하고 설치합니다:

bash
$
[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) 또는 sqlcmd을(를) 사용하여 RDS SQL Server 인스턴스에 연결하십시오.

SQL Server Management Studio(SSMS)에서 다음 스크립트를 실행하여 gMSA 계정에 대한 로그인을 생성하고 필요한 권한을 부여하십시오. 모든 <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>을(를) 실제 도메인 및 계정 이름으로 바꾸십시오.

USE [master];
GO
CREATE LOGIN [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$] FROM WINDOWS;
GO
GRANT VIEW ANY DATABASE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW SERVER STATE TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GRANT VIEW ANY DEFINITION TO [<YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$];
GO
-- Grant access to all databases
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 계정으로 실행

PowerShell을 사용하여 gMSA 계정으로 실행되도록 NRDOT Collector 서비스를 설정하십시오. <YOUR_DOMAIN>\<YOUR_GMSA_USERNAME>$을(를) 도메인 및 gMSA 계정 이름으로 교체하십시오. gMSA 계정에 필요하므로 끝에 $을(를) 포함해야 합니다:

bash
$
# 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_USERNAME>$" password= ""'
$
$
# Verify the configuration
$
Get-WmiObject Win32_Service -Filter "Name='nrdot-collector'" | Select Name, StartName
$
$
# Start the NRDOT Collector service
$
Start-Service nrdot-collector

중요

gMSA 계정은 비밀번호가 필요하지 않습니다. 서비스를 구성할 때 비워 두십시오.

NRDOT Collector구성

  1. 관리자 권한으로 PowerShell에서 이름이 mssql-config.yaml 인 설정 파일을 생성하십시오::

    bash
    $
    New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  2. 이전 단계에서 생성한 mssql-config.yaml 파일에 다음 설정을 추가하십시오:

    전체 설정

    이 설정은 RDS 환경의 필수 데이터베이스 모니터링에 중점을 둡니다. 사용 가능한 모든 메트릭을 사용하여 포괄적인 모니터링을 활성화하려면 설정 참조를 확인하십시오.

    mssql-config.yaml
    1
    receivers:
    2
    nrsqlserver:
    3
    collection_interval: 15s
    4
    datasource: "server=mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.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 top query and query sample log collection
    34
    events:
    35
    db.server.query_sample:
    36
    enabled: true
    37
    db.server.top_query:
    38
    enabled: true
    39
    40
    # Top query collection configuration
    41
    top_query_collection:
    42
    lookback_time: 60s
    43
    max_query_sample_count: 1000
    44
    top_query_count: 250
    45
    collection_interval: 60s
    46
    47
    collect_full_query_text: true
    48
    allowed_comment_keys:
    49
    - nr_service_guid
    50
    51
    # Query sample collection configuration
    52
    query_sample_collection:
    53
    max_rows_per_query: 100
    54
    55
    processors:
    56
    memory_limiter:
    57
    check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
    58
    limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
    59
    spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
    60
    61
    batch:
    62
    63
    exporters:
    64
    otlp:
    65
    endpoint: https://otlp.nr-data.net:4318
    66
    headers:
    67
    api-key: YOUR_LICENSE_KEY
    68
    tls:
    69
    insecure: false
    70
    compression: gzip
    71
    72
    service:
    73
    telemetry:
    74
    metrics:
    75
    level: none
    76
    77
    pipelines:
    78
    metrics:
    79
    receivers: [nrsqlserver]
    80
    processors: [memory_limiter, batch]
    81
    exporters: [otlp]
    82
    83
    logs:
    84
    receivers: [nrsqlserver]
    85
    processors: [memory_limiter, batch]
    86
    exporters: [otlp]

Windows 서비스 레지스트리 업데이트

  1. 다음 방법 중 하나를 사용하여 새 mssql-config.yaml 파일을 사용하도록 Windows 서비스 레지스트리를 업데이트하십시오:

    • PowerShell의 경우: 다음 명령을 관리자 권한으로 실행하십시오:

      bash
      $
      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 수집기 설정이 올바른 형식이고 제대로 작동하는지 확인하기 위해 유효성을 검사하십시오:

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

    애플리케이션 성능을 데이터베이스 작업과 연관시키려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 자세한 내용은 데이터베이스 서비스 식별 설정을 참조하십시오.

NRDOT 수집기 재시작

설정을 업데이트한 후, 도메인에 가입된 EC2 Windows 인스턴스에서 NRDOT Collector 서비스를 다시 시작하세요:

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

Windows 서비스(services.msc)를 확인하여 서비스가 gMSA 계정으로 실행 중인지 확인하십시오. Log On As 열에 gMSA 계정이 표시되어야 합니다(예: CORP\SQL-gMSA$).

데이터 찾기 및 사용

데이터가 수집되면 뉴렐릭의 UI 통해 포괄적인 SQL Server 데이터베이스 모니터링에 액세스할 수 있습니다.

뉴렐릭에서 SQL Server 데이터베이스를 찾으려면 다음을 수행하세요.

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.

  2. Entity type 드롭다운 메뉴에서 MSSQL instance을(를) 선택한 다음 Apply을(를) 클릭합니다.

  3. 모임 목록에서 SQL Server 데이터베이스를 선택합니다.

    NRDOT로 SQL Server 모니터링을 설정한 후 다음을 수행할 수 있습니다:

APM-데이터베이스 상관관계 설정

뉴렐릭에서 애플리케이션 성능을 데이터베이스 작업과 연관시키는 방법을 알아보십시오.

문제점 해결

뉴렐릭에서 MSSQL Windows 모니터링 설정 문제를 해결하는 방법을 알아보십시오.

지표 참조

NRDOT Collector가 수집하는 사용 가능한 메트릭에 대해 알아보십시오.

Copyright © 2026 New Relic Inc.

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