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

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

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

문제 신고

NRDOT를 사용한 작업 데이터베이스 모니터링

|View as Markdown (English)

시사

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

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

이제 뉴렐릭은 뉴렐릭 데이터베이스 모니터링 기능과 함께 뉴렐릭 NRDOT(Distribution of OpenTelemetry)를 사용하여 팀이 오라클 데이터베이스 성능을 모니터링할 수 있도록 지원합니다. 이 통합은 NRDOT 수집기를 사용하여 데이터베이스 메트릭, 쿼리 성능 및 시스템 상태에 대한 포괄적인 인사이트를 제공합니다.

이 NRDOT 기반 접근 방식은 모니터링을 위한 OpenTelemetry 데이터베이스 표준을 활용하여 기존 온호스트 통합(OHI)을 보완하고 기존 옵저버빌리티 그리드와 통합을 더 쉽게 만듭니다.

전제 조건

시작하기 전에 다음 사항이 있는지 확인하세요.

작업 데이터베이스 모니터링을 위한 NRDOT Collector 설정

온호스트(멀티테넌트) 또는 RDS 환경에서 NRDOT Collector를 사용하여 오라클 데이터베이스 모니터링을 설정할 수 있습니다. 다음 방법을 사용하여 NRDOT Collector를 구성할 수 있습니다:

  • 안내 설치: 안내 설치 방법은 오라클 데이터베이스 모니터링을 위해 NRDOT Collector를 설치하고 구성하는 데 도움이 되도록 뉴렐릭 플랫폼에서 단계별 지침을 제공합니다.

  • 수동 설치: 수동 설치 방법을 사용하면 이 문서의 지침에 따라 NRDOT Collector를 직접 설정할 수 있습니다. 다음 환경에서 수동으로 구성할 수 있습니다:

    • 호스트 내(멀티테넌트) 환경: 인프라 및 데이터베이스 텔레메트리 데이터를 모두 수집하려면 오라클 데이터베이스 인스턴스와 동일한 호스트에 NRDOT Collector를 설치하십시오.
    • RDS 환경: Amazon RDS에서 실행되는 오라클 데이터베이스 인스턴스를 모니터링하려면 RDS 환경에 NRDOT Collector를 설치하십시오.

NRDOT Collector는 인프라 및 데이터베이스 관련 텔레메트리 데이터를 모두 수집하므로, 뉴렐릭에서 오라클 데이터베이스 환경을 위한 통합 옵저버빌리티 솔루션을 구축할 수 있습니다.

NRDOT Collector를 설치하려면:

NRDOT Collector설치하세요

  1. 뉴렐릭 계정에 로그인하세요.

  2. left navigation pane > + Integration & Agents > Oracle (OpenTelemetry) 으)로 이동합니다.

  3. Select an account 화면에서 오라클 데이터베이스 통합을 설치할 계정을 선택하고 Continue을(를) 클릭합니다.

  4. Enter your credential 화면에서 다음 옵션 중 하나를 선택한 다음 Continue [계속을] 클릭합니다:

    • 기존 키 사용: 이미 라이선스 키가 있는 경우, 라이선스 키를 제공하십시오. 자세한 내용은 사용자 키를 참조하세요.
    • 새 키 만들기: 라이선스 키가 없으면 Create a new key [새 키 만들기를] 클릭하여 키를 만듭니다.
  5. Compatibility and requirements 화면에서 모든 요구 사항이 충족되었는지 확인하고 Continue을(를) 클릭하십시오.

  6. Database user configuration 화면에서 배포 유형을 선택하여 통합을 설치하십시오.

  7. 화면의 지시에 따라 선택한 환경에 대한 통합을 설정하십시오.

  8. 설치 후 Test your integration 화면에서 Test connection을(를) 클릭하여 NRDOT Collector가 오라클 데이터베이스 인스턴스에 연결하고 뉴렐릭으로 데이터를 전송할 수 있는지 확인합니다. 테스트가 성공하면 확인 메시지가 표시됩니다.

(선택 사항) APM-데이터베이스 상관 관계 설정

애플리케이션 성능을 데이터베이스 작업과 연관시키려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이 기능을 사용하면 어떤 애플리케이션이 특정 데이터베이스 워크로드를 생성하는지 정확히 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM-데이터베이스 상관관계를 얻기 위한 데이터베이스 서비스 식별 설정을 참조하십시오.

중요

APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.

데이터 찾기 및 사용

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

뉴렐릭에서 오라클 데이터베이스 엔티티를 찾으려면 다음을 수행하세요:

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
  2. 검색 기준을 instrumentation.provider = opentelemetry 으로 설정합니다.
  3. 엔티티 목록에서 오라클 데이터베이스를 선택합니다.

온호스트 또는 다중 테넌트 환경에서 NRDOT Collector 사용하여 작업 데이터베이스 모델링을 설정할 수 있습니다. 호스트 기반(멀티테넌트) 환경에 NRDOT Collector를 설치하려면 다음 단계를 따르십시오.

참고: 이 CDB 아래의 모든 PDB가 모니터됩니다.

설치 방법

사용 중인 Linux 환경에 맞는 설치 배포 방법을 선택하십시오.

데이터베이스 사용자 구성

멀티테넌트 오라클 데이터베이스에 필요한 권한을 가진 모니터링 사용자를 생성하십시오. 이를 위해서는 C## 접두사를 가진 공통 사용자를 생성해야 합니다.

  1. 데이터베이스 사용자를 생성하거나 할당 권한을 부여하기 전에, SYS 사용자로 다음 문을 실행하여 현재 활성 컨테이너 컨텍스트를 CDB$ROOT(으)로 설정해야 합니다:

    ALTER SESSION SET CONTAINER = CDB$ROOT;
  2. 멀티테넌트 데이터베이스의 경우 관리자로 루트 데이터베이스에 로그인합니다. CREATE USER를 사용하여 데이터베이스에 새 사용자를 추가합니다. 지정된 사용자 이름은 '공통 사용자'가 되며 오라클에서 권장하는 대로 c##을(를) 접두사로 사용해야 합니다.

    CREATE USER c##<YOUR_DB_USERNAME> IDENTIFIED BY "<USER_PASSWORD>" CONTAINER=ALL;
    GRANT CREATE SESSION TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
  3. CDB 루트에서 SYSDBA로 다음 문을 실행하십시오. 이를 통해 모니터링 사용자는 컨테이너 데이터 뷰에서 모든 PDB의 행을 볼 수 있으며, 이는 PDB별 메트릭 및 이벤트에 필요합니다.

    ALTER USER c##<YOUR_DB_USERNAME> SET CONTAINER_DATA=ALL CONTAINER=CURRENT;

    USER_PASSWORD이(가) 오라클 새 사용자 비밀번호 요구 사항을 충족하는지 확인하십시오.

멀티테넌트 데이터베이스에 대한 모니터링 권한을 부여합니다.

CDB 루트에서 SYSDBA (으)로 다음 GRANT 문을 실행하십시오. 이 항목들은 인스턴스 감지, 메트릭 수집, PDB별 모니터링 및 이벤트 수집을 포함합니다. 단일 스크립트로 함께 실행하거나 각 문을 개별적으로 실행할 수 있습니다.

GRANT SELECT ON V_$INSTANCE TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$DATABASE TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$CONTAINERS TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$DATAFILE TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SYSSTAT TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$CON_SYSSTAT TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SYSMETRIC TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$CON_SYSMETRIC TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SESSION TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$RESOURCE_LIMIT TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$OSSTAT TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SGAINFO TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$ROWCACHE TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$PARAMETER TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON CDB_TABLESPACE_USAGE_METRICS TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON CDB_TABLESPACES TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON DBA_DATA_FILES TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON DBA_FREE_SPACE TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON DBA_RECYCLEBIN TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SQL TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$LOCK TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$SESSION_EVENT TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON DBA_PROCEDURES TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON DBA_OBJECTS TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON V_$PDBS TO c##<USER_NAME> CONTAINER=ALL;
GRANT SELECT ON CDB_SERVICES TO c##<USER_NAME> CONTAINER=ALL;

NRDOT Collector구성

  1. 설정 파일을 생성합니다. 파일 이름은 oracle-config.yaml이어야 합니다.

    bash
    $
    sudo nano /etc/nrdot-collector/oracle-config.yaml
  2. 이전 단계에서 생성한 oracle-config.yaml 파일에 아래 설정 내용을 추가하세요.

  3. oracle-config.yaml 파일을 사용하도록 NRDOT 수집기 설정을 업데이트하십시오.

    bash
    $
    sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/oracle-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf
  4. 설정 파일에서 다음과 같은 필수 모델을 설정하십시오.

    매개변수

    설명

    <YOUR_DB_HOST>

    오라클 데이터베이스 호스트명을 입력하세요.

    <YOUR_DB_PORT>

    오라클 데이터베이스 포트를 입력하세요.

    <USERNAME>

    데이터베이스 사용자 이름을 입력하세요.

    <PASSWORD>

    데이터베이스 비밀번호를 입력하세요.

    <YOUR_SERVICE_NAME>

    귀하의 업무 서비스 이름을 입력하세요.

    <YOUR_NEWRELIC_OTLP_ENDPOINT>

    뉴렐릭 OTLP 엔드포인트를 입력하세요. 자세한 내용은 뉴렐릭 OTLP 엔드포인트 문서를 참조하세요.

    <YOUR_NEWRELIC_LICENSE_KEY>

    뉴렐릭 API 키를 입력하세요.

  5. 이벤트 섹션에서 이러한 이벤트 유형을 활성화하여 해당 메트릭을 수집합니다:

    이벤트

    설명

    db.server.query_sample

    현재 SQL, 대기 상태 및 차단 세부 정보를 캡처하는 세션별 활성 쿼리 샘플.

    db.server.top_query

    실행 통계 및 쿼리 계획을 포함하여 CPU 또는 경과 시간 기준 상위 N개의 SQL 문.

    db.server.session.wait_sample

    v$session_event

    의 세션별 누적 대기 횟수 및 기간.

  6. 각 이벤트 유형에 대한 수집 설정을 구성하십시오:

    설정 섹션

    매개변수

    기본값

    top_query_collection

    max_query_sample_count

    1000

    top_query_collection

    top_query_count

    200

    top_query_collection

    collection_interval

    60초

    query_sample_collection

    max_rows_per_query

    도면 1

    session_wait_event_collection

    max_rows_per_query

    도면 1

뉴렐릭 OTLP 입체포인트 설정 및 OpenTelemetry 우수 모범 사례에 대한 자세한 내용은 OpenTelemetry OTLP 설명서를 참조하세요.

(선택 사항) SQL 쿼리 수신기를 설정하십시오

오라클 데이터베이스에서 커스텀 지표를 수집하도록 SQL 쿼리 수신기를 구성할 수 있습니다. 자세한 내용은 SQL 쿼리 수신기 문서를 참조하십시오.

NRDOT 수집기 재시작

설정을 업데이트한 후 NRDOT 수집기를 다시 시작하십시오.

bash
$
sudo systemctl restart nrdot-collector.service
$
sudo systemctl status nrdot-collector.service

설정을 변경한 후에는 항상 NRDOT Collector를 다시 시작하여 새 설정이 적용되도록 하십시오.

(선택사항) 다중 수신기 설정

nrdot-collector 바이너리는 고유한 자격 증명을 사용하여 여러 오라클 데이터베이스 인스턴스를 모니터하기 위해 단일 oracle-config.yaml 내에서 다중 수신자 설정을 지원합니다.

  • 이 설정을 통해 여러 오라클 데이터베이스 인스턴스를 동시에 모니터할 수 있습니다. 각 인스턴스는 고유한 자격 증명이 있는 자체 수신기 설정을 가지며, 공통 프로세서와 익스포터를 공유합니다. 모니터링 요구 사항에 따라 collection_interval 및 기타 파라미터를 조정하십시오.

  • 설정을 업데이트한 후 NRDOT 수집기를 재시작하여 변경 사항을 적용하십시오.

(선택 사항) APM-데이터베이스 상관 관계 설정

애플리케이션 성능을 데이터베이스 작업과 연관시키려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이 기능을 사용하면 어떤 애플리케이션이 특정 데이터베이스 워크로드를 생성하는지 정확히 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM-데이터베이스 상관관계를 얻기 위한 데이터베이스 서비스 식별 설정을 참조하십시오.

중요

APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.

(선택 사항) 비밀 관리 구성

암호 관리 기능을 사용하면 데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 관리할 수 있습니다. 이는 설정 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화하는 데 도움이 됩니다. 자세한 내용은 암호 관리를 참조하십시오.

데이터 찾기 및 사용

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

뉴렐릭에서 오라클 데이터베이스 엔티티를 찾으려면 다음을 수행하세요:

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
  2. 검색 기준을 instrumentation.provider = opentelemetry 으로 설정합니다.
  3. 엔티티 목록에서 오라클 데이터베이스를 선택합니다.

PDB 환경용 NRDOT Collector를 설치하려면 다음 단계를 따릅니다:

설치 방법

사용 중인 Linux 환경에 맞는 설치 배포 방법을 선택하십시오.

데이터베이스 사용자 구성

PDB 오라클 데이터베이스 인스턴스에 필요한 권한을 가진 모니터링 사용자를 생성하십시오.

  1. 사용자를 생성하거나 권한을 부여하기 전에 SYS로 다음 문을 실행하십시오:
    ALTER SESSION SET CONTAINER = "<YOUR_PDB>";
  2. 로컬 모니터링 사용자를 생성하려면 타겟 PDB 내에서 SYS로 다음 명령문을 실행하십시오:
    CREATE USER <USER_NAME> IDENTIFIED BY "<YOUR_PASSWORD>";
    GRANT CREATE SESSION TO <USER_NAME>;

멀티테넌트 데이터베이스에 대한 모니터링 권한을 부여합니다.

PDB 내에서 SYS 사용자로 이 명령을 실행하십시오. 이를 통해 모니터링 도구가 메트릭을 수집하고, 이벤트를 추적하며, 데이터베이스 인스턴스를 찾는 데 필요한 기본 액세스 권한을 얻습니다.

GRANT SELECT ON V_$INSTANCE TO <USER_NAME>;
GRANT SELECT ON V_$DATABASE TO <USER_NAME>;
GRANT SELECT ON V_$CONTAINERS TO <USER_NAME>;
GRANT SELECT ON V_$DATAFILE TO <USER_NAME>;
GRANT SELECT ON V_$SYSSTAT TO <USER_NAME>;
GRANT SELECT ON V_$SYSMETRIC TO <USER_NAME>;
GRANT SELECT ON V_$SESSION TO <USER_NAME>;
GRANT SELECT ON V_$RESOURCE_LIMIT TO <USER_NAME>;
GRANT SELECT ON V_$OSSTAT TO <USER_NAME>;
GRANT SELECT ON V_$SGAINFO TO <USER_NAME>;
GRANT SELECT ON V_$ROWCACHE TO <USER_NAME>;
GRANT SELECT ON V_$PARAMETER TO <USER_NAME>;
GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO <USER_NAME>;
GRANT SELECT ON DBA_TABLESPACES TO <USER_NAME>;
GRANT SELECT ON DBA_DATA_FILES TO <USER_NAME>;
GRANT SELECT ON DBA_FREE_SPACE TO <USER_NAME>;
GRANT SELECT ON DBA_RECYCLEBIN TO <USER_NAME>;
GRANT SELECT ON V_$SQL TO <USER_NAME>;
GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO <USER_NAME>;
GRANT SELECT ON V_$LOCK TO <USER_NAME>;
GRANT SELECT ON V_$SESSION_EVENT TO <USER_NAME>;
GRANT SELECT ON DBA_PROCEDURES TO <USER_NAME>;
GRANT SELECT ON DBA_OBJECTS TO <USER_NAME>;
GRANT SELECT ON V_$PDBS TO <USER_NAME>;
GRANT SELECT ON CDB_SERVICES TO <USER_NAME>;

NRDOT Collector구성

PDB 관련 설정으로 NRDOT Collector를 설정하십시오.

  1. 설정 파일을 생성합니다. 파일 이름은 oracle-config.yaml이어야 합니다.

    bash
    $
    sudo nano /etc/nrdot-collector/oracle-config.yaml
  2. 이전 단계에서 생성한 oracle-config.yaml 파일에 아래 설정 내용을 추가하세요.

  3. oracle-config.yaml 파일을 사용하도록 NRDOT 수집기 설정을 업데이트하십시오.

    bash
    $
    sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/oracle-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf
  4. 설정 파일에서 다음과 같은 필수 모델을 설정하십시오.

    매개변수

    설명

    <YOUR_DB_HOST>

    오라클 데이터베이스 호스트명을 입력하세요.

    <YOUR_DB_PORT>

    오라클 데이터베이스 포트를 입력하세요.

    <USERNAME>

    데이터베이스 사용자 이름을 입력하세요.

    <PASSWORD>

    데이터베이스 비밀번호를 입력하세요.

    <YOUR_SERVICE_NAME>

    귀하의 업무 서비스 이름을 입력하세요.

    <YOUR_NEWRELIC_OTLP_ENDPOINT>

    뉴렐릭 OTLP 엔드포인트를 입력하세요. 자세한 내용은 뉴렐릭 OTLP 엔드포인트 문서를 참조하세요.

    <YOUR_NEWRELIC_LICENSE_KEY>

    뉴렐릭 API 키를 입력하세요.

  5. 이벤트 섹션에서 이러한 이벤트 유형을 활성화하여 해당 메트릭을 수집합니다:

    이벤트

    설명

    db.server.query_sample

    현재 SQL, 대기 상태 및 차단 세부 정보를 캡처하는 세션별 활성 쿼리 샘플.

    db.server.top_query

    실행 통계 및 쿼리 계획을 포함하여 CPU 또는 경과 시간 기준 상위 N개의 SQL 문.

    db.server.session.wait_sample

    v$session_event

    의 세션별 누적 대기 횟수 및 기간.

  6. 각 이벤트 유형에 대한 수집 설정을 구성하십시오:

    설정 섹션

    매개변수

    top_query_collection

    max_query_sample_count

    1000

    top_query_collection

    top_query_count

    200

    top_query_collection

    collection_interval

    60초

    query_sample_collection

    max_rows_per_query

    도면 1

    session_wait_event_collection

    max_rows_per_query

    도면 1

    뉴렐릭 OTLP 입체포인트 설정 및 OpenTelemetry 우수 모범 사례에 대한 자세한 내용은 OpenTelemetry OTLP 설명서를 참조하세요.

(선택 사항) SQL 쿼리 수신기를 설정하십시오

오라클 데이터베이스에서 커스텀 지표를 수집하도록 SQL 쿼리 수신기를 구성할 수 있습니다. 자세한 내용은 SQL 쿼리 수신기 문서를 참조하십시오.

NRDOT 수집기 재시작

설정을 업데이트한 후 NRDOT 수집기를 다시 시작하십시오.

bash
$
sudo systemctl restart nrdot-collector.service
$
sudo systemctl status nrdot-collector.service

설정을 변경한 후에는 반드시 NRDOT 수집기를 재시작하여 새 설정이 적용되도록 하십시오.

(선택사항) 다중 수신기 설정

nrdot-collector 바이너리는 고유한 자격 증명을 사용하여 여러 오라클 데이터베이스 인스턴스를 모니터하기 위해 단일 oracle-config.yaml 내에서 다중 수신자 설정을 지원합니다.

  • 이 설정을 통해 여러 오라클 데이터베이스 인스턴스를 동시에 모니터할 수 있습니다. 각 인스턴스는 고유한 자격 증명이 있는 자체 수신기 설정을 가지며, 공통 프로세서와 익스포터를 공유합니다. 모니터링 요구 사항에 따라 collection_interval 및 기타 파라미터를 조정하십시오.

  • 설정을 업데이트한 후 NRDOT 수집기를 재시작하여 변경 사항을 적용하십시오.

(선택 사항) APM-데이터베이스 상관 관계 설정

애플리케이션 성능을 데이터베이스 작업과 연관시키려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이 기능을 사용하면 어떤 애플리케이션이 특정 데이터베이스 워크로드를 생성하는지 정확히 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM-데이터베이스 상관관계를 얻기 위한 데이터베이스 서비스 식별 설정을 참조하십시오.

중요

APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.

(선택 사항) 비밀 관리 구성

암호 관리 기능을 사용하면 데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 관리할 수 있습니다. 이는 설정 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화하는 데 도움이 됩니다. 자세한 내용은 암호 관리를 참조하십시오.

데이터 찾기 및 사용

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

뉴렐릭에서 오라클 데이터베이스 엔티티를 찾으려면 다음을 수행하세요:

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
  2. 검색 기준을 instrumentation.provider = opentelemetry 으로 설정합니다.
  3. 엔티티 목록에서 오라클 데이터베이스를 선택합니다.

RDS 환경에 NRDOT Collector를 설치하려면 다음 단계를 따르십시오.

설치 방법

사용 중인 Linux 환경에 맞는 설치 배포 방법을 선택하십시오.

데이터베이스 사용자 구성

RDS 작업 데이터베이스에 필요한 권한을 가진 모니터링 사용자를 생성합니다.

  1. 관리자 권한으로 루트 데이터베이스에 로그인하십시오.

    CREATE USER <USERNAME> IDENTIFIED BY "<USER_PASSWORD>";
  2. 새로 생성된 사용자에게 CONNECT 권한을 부여하십시오.

    GRANT CONNECT TO <USERNAME>;

RDS 데이터베이스에 대한 모니터링 권한을 부여하세요

모니터링 권한을 부여하려면 다음 SQL 문을 실행하십시오. <USERNAME_IN_UPPERCASE> 대문자로 입력한 사용자 이름으로 바꾸세요.

EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSMETRIC', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSMETRIC', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SESSION_EVENT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SYSSTAT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$CON_SYSSTAT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$OSSTAT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SGAINFO', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQLSTATS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$SQL_PLAN_STATISTICS_ALL', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$ROWCACHE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$RESOURCE_LIMIT', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$LOCK', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$INSTANCE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAFILE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('V_$PDBS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_DATA_FILES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_FREE_SPACE', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_RECYCLEBIN', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_TABLESPACE_USAGE_METRICS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_PROCEDURES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACE_USAGE_METRICS', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_TABLESPACES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
EXEC rdsadmin.rdsadmin_util.grant_sys_object('CDB_SERVICES', '<USERNAME_IN_UPPERCASE>', 'SELECT', false);
GRANT CREATE SESSION TO <USERNAME_IN_UPPERCASE>;

NRDOT Collector구성

  1. 설정 파일을 생성합니다. 파일 이름은 oracle-config.yaml이어야 합니다.

    bash
    $
    sudo nano /etc/nrdot-collector/oracle-config.yaml
  2. 이전 단계에서 생성한 oracle-config.yaml 파일에 아래 설정 내용을 추가하세요.

  3. 설정 파일에서 다음과 같은 필수 모델을 설정하십시오.

    매개변수

    설명

    <YOUR_DB_HOST>

    오라클 데이터베이스 호스트명을 입력하세요.

    <YOUR_DB_PORT>

    오라클 데이터베이스 포트를 입력하세요.

    <USERNAME>

    데이터베이스 사용자 이름을 입력하세요.

    <PASSWORD>

    데이터베이스 비밀번호를 입력하세요.

    <YOUR_SERVICE_NAME>

    PDB 서비스 이름을 입력하십시오.

    <YOUR_NEWRELIC_OTLP_ENDPOINT>

    뉴렐릭 OTLP 엔드포인트를 입력하세요. 자세한 내용은 뉴렐릭 OTLP 엔드포인트 문서를 참조하세요.

    <YOUR_NEWRELIC_LICENSE_KEY>

    귀하의 블루 클러스터 키를 입력하세요.

  4. 이벤트 섹션에서 이러한 이벤트 유형을 활성화하여 해당 메트릭을 수집합니다:

    이벤트

    설명

    db.server.query_sample

    현재 SQL, 대기 상태 및 차단 세부 정보를 캡처하는 세션별 활성 쿼리 샘플.

    db.server.top_query

    실행 통계 및 쿼리 계획을 포함하여 CPU 또는 경과 시간 기준 상위 N개의 SQL 문.

    db.server.session.wait_sample

    v$session_event

    의 세션별 누적 대기 횟수 및 기간.

  5. 각 이벤트 유형에 대한 수집 설정을 구성하십시오:

    설정 섹션

    매개변수

    top_query_collection

    max_query_sample_count

    1000

    top_query_collection

    top_query_count

    200

    top_query_collection

    collection_interval

    60초

    query_sample_collection

    max_rows_per_query

    도면 1

    session_wait_event_collection

    max_rows_per_query

    도면 1

(선택 사항) SQL 쿼리 수신기를 설정하십시오

오라클 데이터베이스에서 커스텀 지표를 수집하도록 SQL 쿼리 수신기를 구성할 수 있습니다. 자세한 내용은 SQL 쿼리 수신기 문서를 참조하십시오.

(선택사항) 다중 수신기 설정

nrdot-collector 바이너리는 고유한 자격 증명을 사용하여 여러 오라클 데이터베이스 인스턴스를 모니터하기 위해 단일 oracle-config.yaml 내에서 다중 수신기 설정을 지원합니다. 아래의 샘플 oracle-config.yaml는 공통 프로세서 및 익스포터를 공유하면서 서로 다른 RDS 인스턴스에 대해 여러 수신기를 설정하는 방법을 보여줍니다.

  • 이 설정을 사용하면 여러 작업 RDS를 동시에 모니터링할 수 있습니다. 각 인스턴스는 고유한 자격 증명을 사용하여 자체 수신자 설정을 갖는 반면, 공통 프로세서 및 익스포터를 공유합니다. 모니터링 요구 사항에 따라 collection_interval 및 기타 조치를 조정하세요.

  • 설정을 업데이트한 후 NRDOT 수집기를 재시작하여 변경 사항을 적용하십시오.

(선택 사항) APM-데이터베이스 상관 관계 설정

애플리케이션 성능을 데이터베이스 작업과 연관시키려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이 기능을 사용하면 어떤 애플리케이션이 특정 데이터베이스 워크로드를 생성하는지 정확히 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM-데이터베이스 상관관계를 얻기 위한 데이터베이스 서비스 식별 설정을 참조하십시오.

중요

APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 엔티티가 서로 다른 계정에 있는 경우 데이터를 보려면 두 계정 모두에 대한 액세스 권한이 있어야 합니다.

(선택 사항) 비밀 관리 구성

암호 관리 기능을 사용하면 데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 관리할 수 있습니다. 이는 설정 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화하는 데 도움이 됩니다. 자세한 내용은 암호 관리를 참조하십시오.

데이터 찾기 및 사용

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

뉴렐릭에서 오라클 데이터베이스 엔티티를 찾으려면 다음을 수행하세요:

  1. https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
  2. 검색 기준을 instrumentation.provider = opentelemetry 으로 설정합니다.
  3. 엔티티 목록에서 오라클 데이터베이스를 선택합니다.

오라클 Autonomous 데이터베이스(ADB) 환경용 NRDOT Collector를 설치하려면 다음 단계를 따르십시오:

설치 방법

사용 중인 Linux 환경에 맞는 설치 배포 방법을 선택하십시오.

데이터베이스 사용자 구성

ADB 오라클 데이터베이스 인스턴스에 필요한 권한을 가진 모니터링 사용자를 생성합니다. 타겟 ADB 내에서 SYS로 다음 문을 실행하여 로컬 모니터링 사용자를 생성합니다:

CREATE USER <USER_NAME> IDENTIFIED BY "<YOUR_PASSWORD>";
GRANT CREATE SESSION TO <USER_NAME>;

Autonomous Database에 대한 모니터링 권한 부여

ADB 내에서 관리자 권한으로 이 명령을 실행하십시오. 이를 통해 모니터링 도구가 메트릭을 수집하고, 이벤트를 추적하며, 데이터베이스 인스턴스를 찾는 데 필요한 기본 액세스 권한을 얻습니다.

GRANT SELECT ON SYS.V_$INSTANCE TO <USER_NAME>;
GRANT SELECT ON SYS.V_$DATABASE TO <USER_NAME>;
GRANT SELECT ON SYS.V_$CONTAINERS TO <USER_NAME>;
GRANT SELECT ON SYS.V_$DATAFILE TO <USER_NAME>;
GRANT SELECT ON SYS.V_$PDBS TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SYSSTAT TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SYSMETRIC TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SESSION TO <USER_NAME>;
GRANT SELECT ON SYS.V_$RESOURCE_LIMIT TO <USER_NAME>;
GRANT SELECT ON SYS.V_$OSSTAT TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SGAINFO TO <USER_NAME>;
GRANT SELECT ON SYS.V_$ROWCACHE TO <USER_NAME>;
GRANT SELECT ON SYS.V_$PARAMETER TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_TABLESPACES TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_DATA_FILES TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_FREE_SPACE TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_RECYCLEBIN TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SQL TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SQL_PLAN_STATISTICS_ALL TO <USER_NAME>;
GRANT SELECT ON SYS.V_$LOCK TO <USER_NAME>;
GRANT SELECT ON SYS.V_$SESSION_EVENT TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_PROCEDURES TO <USER_NAME>;
GRANT SELECT ON SYS.DBA_OBJECTS TO <USER_NAME>;

NRDOT Collector구성

ADB 관련 설정으로 NRDOT Collector를 설정하십시오. 다음 내용으로 설정 파일(예: adb-config.yaml)을 생성하십시오:

receivers:
nroracledb/adb:
datasource: "oracle://<USERNAME>:<PASSWORD>@<YOUR_DB_HOST>:<YOUR_DB_PORT>/<YOUR_SERVICE_NAME>?ssl=true&ssl%20verify=true"
collection_interval: 10s
events:
db.server.query_sample:
enabled: true
db.server.top_query:
enabled: true
db.server.session.wait_sample:
enabled: true
top_query_collection:
max_query_sample_count: 1000
top_query_count: 200
collection_interval: 60s
allowed_comment_keys:
- nr_service_guid
query_sample_collection:
max_rows_per_query: 100
allowed_comment_keys:
- nr_service_guid
session_wait_event_collection:
max_rows_per_query: 100
metrics:
oracledb.cpu_time:
enabled: true
oracledb.executions:
enabled: true
oracledb.parse_calls:
enabled: true
oracledb.hard_parses:
enabled: true
oracledb.logical_reads:
enabled: true
oracledb.physical_reads:
enabled: true
oracledb.physical_reads_direct:
enabled: true
oracledb.physical_writes:
enabled: true
oracledb.physical_writes_direct:
enabled: true
oracledb.physical_read_io_requests:
enabled: true
oracledb.physical_write_io_requests:
enabled: true
oracledb.physical_io.cache_writes:
enabled: true
oracledb.physical_io.requests:
enabled: true
attributes:
- disk.io.direction
- disk.io.block_size
oracledb.physical_io.transferred:
enabled: true
attributes:
- disk.io.direction
- disk.io.type
oracledb.sqlnet.io.transferred:
enabled: true
attributes:
- network.io.direction
- destination.type
oracledb.consistent_gets:
enabled: true
oracledb.db_block_gets:
enabled: true
oracledb.data_dictionary.hit_ratio:
enabled: true
oracledb.pga_memory:
enabled: true
oracledb.enqueue_deadlocks:
enabled: true
oracledb.exchange_deadlocks:
enabled: true
oracledb.sessions.usage:
enabled: true
attributes:
- session_type
- session_status
oracledb.logons:
enabled: true
oracledb.user_commits:
enabled: true
oracledb.user_rollbacks:
enabled: true
oracledb.tablespace_size.limit:
enabled: true
attributes:
- tablespace_name
oracledb.tablespace_size.usage:
enabled: true
attributes:
- tablespace_name
oracledb.storage.usage:
enabled: true
oracledb.storage.utilization:
enabled: true
oracledb.recycle_bin.limit:
enabled: true
oracledb.queries_parallelized:
enabled: true
oracledb.ddl_statements_parallelized:
enabled: true
oracledb.dml_statements_parallelized:
enabled: true
oracledb.parallel_operations_not_downgraded:
enabled: true
oracledb.parallel_operations_downgraded_1_to_25_pct:
enabled: true
oracledb.parallel_operations_downgraded_25_to_50_pct:
enabled: true
oracledb.parallel_operations_downgraded_50_to_75_pct:
enabled: true
oracledb.parallel_operations_downgraded_75_to_99_pct:
enabled: true
oracledb.parallel_operations_downgraded_to_serial:
enabled: true
processors:
batch:
resource/add_event_name:
attributes:
- key: host.address
value: "<YOUR_DB_HOST>"
action: upsert
exporters:
otlphttp/newrelic:
endpoint: "<YOUR_NEWRELIC_OTLP_ENDPOINT>"
headers:
api-key: "<YOUR_NEWRELIC_LICENSE_KEY>"
compression: gzip
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
service:
telemetry:
metrics:
level: none
pipelines:
metrics/oracledb:
receivers: [nroracledb/adb]
processors: [resource/add_event_name, batch]
exporters: [otlphttp/newrelic]
logs/oracledb:
receivers: [nroracledb/adb]
processors: [resource/add_event_name, batch]
exporters: [otlphttp/newrelic]

중요

참고: 다음 메트릭은 ADB에서 지원되지 않습니다:

  • oracledb.database.cpu.utilization
  • oracledb.database.wait.utilization
  • oracledb.host.cpu.utilization
  • oracledb.execution.utilization
  • oracledb.parse.rate
  • oracledb.parse.utilization
  • oracledb.sort.ratio
  • oracledb.sql_service.response.duration
  • oracledb.buffer_cache.utilization
  • oracledb.library_cache.utilization
  • oracledb.shared_pool.utilization
  • oracledb.redo_allocation.utilization
  • oracledb.processes.limit
  • oracledb.processes.usage
  • oracledb.sessions.limit
  • oracledb.transactions.limit
  • oracledb.transactions.usage
  • oracledb.dml_locks.limit
  • oracledb.dml_locks.usage
  • oracledb.enqueue_locks.limit
  • oracledb.enqueue_locks.usage
  • oracledb.enqueue_resources.limit
  • oracledb.enqueue_resources.usage

(선택 사항) SQL 쿼리 수신기를 설정하십시오

오라클 데이터베이스에서 커스텀 지표를 수집하도록 SQL 쿼리 수신기를 설정할 수 있습니다. 자세한 내용은 SQL 쿼리 수신기 문서를 참조하십시오.

NRDOT 수집기 재시작

수집기를 설정한 후 NRDOT 수집기 서비스를 다시 시작하여 변경 사항을 적용하십시오:

bash
$
sudo systemctl restart nrdot-collector

수집기가 제대로 실행되고 있는지 확인하려면 서비스 상태를 확인하십시오:

bash
$
sudo systemctl status nrdot-collector

설정을 변경한 후에는 반드시 NRDOT 수집기를 재시작하여 새 설정이 적용되도록 하십시오.

(선택사항) 다중 수신기 설정

동일한 수집기에서 여러 오라클 ADB 인스턴스를 모니터링하려면, 다른 이름과 연결 세부 정보가 있는 추가 수신기 블록을 추가하여 설정 파일에 여러 수신기를 설정할 수 있습니다.

(선택 사항) APM-데이터베이스 상관 관계 설정

애플리케이션 성능을 데이터베이스 작업과 연관시키려면 데이터베이스 서비스 식별을 설정할 수 있습니다. 이 기능을 사용하면 어떤 애플리케이션이 특정 데이터베이스 워크로드를 생성하는지 정확히 확인할 수 있습니다. 자세한 내용은 뉴렐릭에서 APM-데이터베이스 상관관계를 얻기 위한 데이터베이스 서비스 식별 설정을 참조하십시오.

중요

APM 에서 데이터베이스 성능 데이터를 보려면 두 가지 모두 동일한 뉴렐릭 계정에 있어야 합니다. 만약 데이터가 서로 다른 뉴럴릭 계정에 있다면, 데이터를 보려면 두 계정 모두에 접근 권한이 있어야 합니다.

(선택 사항) 비밀 관리 구성

비밀번호와 같은 민감한 정보를 설정 파일에 일반 텍스트로 저장하는 대신 암호 관리 시스템에서 가져오도록 NRDOT Collector를 설정할 수 있습니다. 자세한 내용은 암호 관리를 참조하십시오.

데이터 찾기 및 사용

오라클 ADB 통합을 설정한 후, 뉴렐릭에서 데이터베이스 성능 모니터링 및 분석을 시작할 수 있습니다:

  1. one.newrelic.com > All Entities로 이동합니다.

  2. Oracle [오라클]로 필터링하여 데이터베이스 엔티티를 찾으십시오.

  3. 대시보드, 메트릭 및 로그를 보려면 오라클 ADB 엔티티를 선택하십시오.

    오라클 데이터베이스 모니터링에 대한 자세한 내용은 데이터베이스 모니터링 문서를 참조하십시오.

NRDOT 수집기 지원 명령

이 섹션에서는 시스템에서 NRDOT Collector 서비스를 관리하는 데 사용되는 일반적인 명령 목록을 제공합니다.

사용 가능한 지표

NRDOT를 사용한 오라클 데이터베이스 모니터링에 다음 메트릭을 사용할 수 있습니다. 이를 수집하려면 설정에서 관련 스크래퍼를 활성화하십시오.

문제점 해결

설치 중에 문제가 발생하면 이 문제 진단 및 해결 가이드를 사용하여 일반적인 문제를 진단하고 해결하십시오.

무엇 향후 계획

NRDOT로 오라클 데이터베이스 모니터링을 설정한 후:

Copyright © 2026 New Relic Inc.

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