OpenTelemetry 뉴렐릭 배포판(NRDOT) 수집기를 사용하여 데이터베이스 모니터링, 쿼리 분석 및 시스템 상태 메트릭을 통해 오라클 Autonomous Database(ADB) 성능에 대한 포괄적인 인사이트를 얻으십시오.
가이드 설치
대신 뉴렐릭 UI를 통해 설치하려면 one.newrelic.com > Integrations & Agents > Oracle (OpenTelemetry) (으)로 이동하십시오. 이 페이지는 수동 설치만 다룹니다.
전제 조건
시작하기 전에 다음 사항이 있는지 확인하세요.
- 유효한 뉴렐릭 라이선스 키
- 지원 아키텍처: AMD64 및 ARM64 기반의 Linux
- 뉴렐릭 OTLP 엔드포인트에 대한 네트워크 연결
- 오라클 데이터베이스
19c이상
NRDOT Collector설치하세요
사용 중인 Linux 환경에 맞는 설치 배포 방법을 선택하십시오.
데이터베이스 사용자 구성
ADB 오라클 데이터베이스 인스턴스에 필요한 권한을 가진 모니터링 사용자를 생성합니다. 타겟 ADB 내에서 SYS로 다음 문을 실행하여 로컬 모니터링 사용자를 생성합니다:
CREATE USER <YOUR_DB_USERNAME> IDENTIFIED BY "<YOUR_DB_PASSWORD>";GRANT CREATE SESSION TO <YOUR_DB_USERNAME>;Autonomous Database에 대한 모니터링 권한 부여
ADB 내에서 관리자 권한으로 이 명령을 실행하십시오. 이를 통해 모니터링 도구가 메트릭을 수집하고, 이벤트를 추적하며, 데이터베이스 인스턴스를 찾는 데 필요한 기본 액세스 권한을 얻습니다.
GRANT SELECT ON SYS.V_$INSTANCE TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$DATABASE TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$CONTAINERS TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$DATAFILE TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$PDBS TO <YOUR_DB_USERNAME>; GRANT SELECT ON SYS.V_$SYSSTAT TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$SYSMETRIC TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$SESSION TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$RESOURCE_LIMIT TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$OSSTAT TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$SGAINFO TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$ROWCACHE TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$PARAMETER TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_TABLESPACES TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_DATA_FILES TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_FREE_SPACE TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_RECYCLEBIN TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$SQL TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$SQL_PLAN_STATISTICS_ALL TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$LOCK TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$SESSION_EVENT TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_PROCEDURES TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.DBA_OBJECTS TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$PROCESS TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.V_$TRANSACTION TO <YOUR_DB_USERNAME>;GRANT SELECT ON SYS.CDB_SERVICES TO <YOUR_DB_USERNAME>;NRDOT Collector구성
ADB 관련 설정으로 NRDOT Collector를 설정하십시오. 다음 내용으로 설정 파일(예: adb-config.yaml)을 생성하십시오:
전체 설정
이 설정은 필수 기준 메트릭을 캡처합니다. 전체 메트릭 카탈로그를 보려면 설정 참조를 참조하십시오.
1receivers:2 nroracledb/adb:3 datasource: "oracle://newrelic:YOUR_PASSWORD@adb.example.oraclecloud.com:1522/YOUR_SERVICE_NAME?ssl=true&ssl%20verify=true"4 collection_interval: 15s5events:6 db.server.query_sample:7 enabled: true8 db.server.top_query:9 enabled: true10 db.server.session.wait_sample:11 enabled: true12 db.server.top_procedure:13 enabled: true14 db.server.query_plan:15 enabled: true16
17top_query_collection:18 max_query_sample_count: 100019 top_query_count: 20020 collection_interval: 60s21 allowed_comment_keys:22 - nr_service_guid23
24query_sample_collection:25 max_rows_per_query: 10026 allowed_comment_keys:27 - nr_service_guid28
29session_wait_event_collection:30 max_rows_per_query: 10031
32top_procedure_collection:33 max_procedure_sample_count: 100034 top_procedure_count: 25035 collection_interval: 60s36
37 # Metrics configuration - This baseline configuration captures essential metrics. To enable advanced monitoring and extended telemetry, refer to the full configuration documentation38metrics:39 oracledb.buffer_cache.utilization:40 enabled: true41 attributes:42 - oracle.db.pdb43 oracledb.consistent_gets:44 enabled: true45 attributes:46 - oracle.db.pdb47 oracledb.cpu_time:48 enabled: true49 attributes:50 - oracle.db.pdb51 oracledb.database.cpu.utilization:52 enabled: true53 attributes:54 - oracle.db.pdb55 oracledb.database.wait.utilization:56 enabled: true57 attributes:58 - oracle.db.pdb59 oracledb.db_block_gets:60 enabled: true61 attributes:62 - oracle.db.pdb63 oracledb.enqueue_deadlocks:64 enabled: true65 attributes:66 - oracle.db.pdb67 oracledb.execution.utilization:68 enabled: true69 attributes:70 - oracledb.parse.type71 - oracle.db.pdb72 oracledb.executions:73 enabled: true74 attributes:75 - oracle.db.pdb76 oracledb.hard_parses:77 enabled: true78 attributes:79 - oracle.db.pdb80 oracledb.host.cpu.utilization:81 enabled: true82 attributes:83 - oracle.db.pdb84 oracledb.library_cache.utilization:85 enabled: true86 attributes:87 - oracle.db.pdb88 oracledb.logical_reads:89 enabled: true90 attributes:91 - oracle.db.pdb92 oracledb.logons:93 enabled: true94 attributes:95 - oracle.db.pdb96 oracledb.parse.rate:97 enabled: true98 attributes:99 - oracledb.parse.result100 - oracle.db.pdb101 oracledb.parse_calls:102 enabled: true103 attributes:104 - oracle.db.pdb105 oracledb.pga_memory:106 enabled: true107 attributes:108 - oracle.db.pdb109 oracledb.physical_io.requests:110 enabled: true111 attributes:112 - disk.io.direction113 - disk.io.block_size114 - oracle.db.pdb115 oracledb.physical_reads:116 enabled: true117 attributes:118 - oracle.db.pdb119 oracledb.physical_writes:120 enabled: true121 attributes:122 - oracle.db.pdb123 oracledb.processes.usage:124 enabled: true125 oracledb.sessions.usage:126 enabled: true127 attributes:128 - session_type129 - session_status130 - oracle.db.pdb131 oracledb.sga.usage:132 enabled: true133 attributes:134 - oracledb.sga.component.name135 oracledb.shared_pool.utilization:136 enabled: true137 attributes:138 - oracle.db.pdb139 oracledb.sql_service.response.duration:140 enabled: true141 attributes:142 - oracle.db.pdb143 oracledb.sqlnet.io.transferred:144 enabled: true145 attributes:146 - network.io.direction147 - destination.type148 - oracle.db.pdb149 oracledb.tablespace_size.usage:150 enabled: true151 attributes:152 - tablespace_name153 - oracle.db.pdb154 oracledb.transactions.usage:155 enabled: true156 oracledb.user_commits:157 enabled: true158 attributes:159 - oracle.db.pdb160 oracledb.user_rollbacks:161 enabled: true162 attributes:163 - oracle.db.pdb164
165 # Resource attributes attached to all metrics/logs (all enabled by default)166resource_attributes:167 oracle.db.edition:168 enabled: true169exporters:170 otlp/newrelic:171 endpoint: https://otlp.nr-data.net:4318172headers:173 api-key: YOUR_LICENSE_KEY174 compression: gzip175retry_on_failure:176 enabled: true177 initial_interval: 5s178 max_interval: 30s179 max_elapsed_time: 300s180sending_queue:181 enabled: true182 sizer: bytes183 queue_size: 100_000_000184 num_consumers: 10185 batch:186 sizer: bytes187 max_size: 1_000_000188 min_size: 0189 flush_timeout: 5s190service:191pipelines:192 metrics/oracledb:193 receivers: [nroracledb/adb]194 exporters: [otlp/newrelic]195 logs/oracledb:196 receivers: [nroracledb/adb]197 exporters: [otlp/newrelic]팁
당신은 또한 수:
- 여러 수신자 구성: 하나의 수집기에서 여러 오라클 데이터베이스 인스턴스를 모니터할 때 사용합니다.
- SQL 쿼리 수신기 구성: 오라클 데이터베이스에서 커스텀 지표를 수집합니다.
- 오라클 데이터베이스를 APM과 연결: 애플리케이션 성능을 데이터베이스 작업과 연관시킵니다. 이를 통해 어떤 애플리케이션이 특정 데이터베이스 워크로드를 생성하는지 정확히 확인할 수 있습니다.
- 시크릿 관리 설정: 데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 관리할 수 있습니다. 이는 설정 파일에 민감한 데이터를 하드코딩하는 것을 방지하여 모니터링 설정의 보안을 강화하는 데 도움이 됩니다.
NRDOT Collector를 다시 시작하십시오
수집기를 구성한 후 NRDOT Collector 서비스를 다시 시작하여 변경 사항을 적용합니다:
$sudo systemctl restart nrdot-collector수집기가 제대로 실행되고 있는지 확인하려면 서비스 상태를 확인하십시오:
$sudo systemctl status nrdot-collector팁
새 설정이 적용되도록 설정을 변경한 후에는 항상 NRDOT Collector를 다시 시작하십시오.
데이터 찾기 및 사용
데이터가 수집되면 뉴렐릭 UI를 통해 포괄적인 오라클 데이터베이스 모니터링에 액세스할 수 있습니다.
뉴렐릭에서 오라클 데이터베이스 엔티티를 찾으려면 다음을 수행하세요:
- https://one.newrelic.com > All Capabilities > Databases 으)로 이동합니다.
- 검색 기준을
instrumentation.provider = opentelemetry으로 설정합니다. - 엔티티 목록에서 오라클 ADB 데이터베이스를 선택하십시오.