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

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

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

문제 신고

MySQL NRDOT 메트릭 참조

|View as Markdown (English)

NRDOT Collector가 수집한 포괄적인 메트릭으로 MySQL 데이터베이스 성능을 모니터링하십시오. 기본적으로 뉴렐릭은 기본 메트릭 섹션에 참조된 메트릭을 수집합니다. 추가 메트릭 섹션에 나열된 원하는 메트릭을 활성화하여 모니터링을 강화할 수 있습니다.

추가 지표

다음 메트릭은 기본적으로 비활성화되어 있지만 MySQL 성능 및 상태에 대한 더 깊은 인사이트를 얻기 위해 활성화할 수 있습니다. 이러한 메트릭은 기능별로 구성되어 있으며 대부분 직접적인 MySQL 연결이 필요합니다.

로그 이벤트

db.server.query_sample

현재 실행 중인 데이터베이스 구문에 대한 실시간 가시성: 전체 실행 로그가 아니라 매 스크랩 시 생성되는 특정 시점의 스냅샷입니다. 기본적으로 비활성화되어 있습니다.

기인하다설명
db.system.namemysql
mysql.threads.thread_id명령문을 실행하는 스레드의 고유 식별자입니다.
mysql.session.idPROCESSLIST_ID: 다음을 통해 확인할 수 있는 연결 ID SHOW PROCESSLIST
user.name포그라운드 스레드 사용자, 백그라운드 스레드의 경우 비어 있습니다.
db.namespace스레드의 현재 데이터베이스(processlist_db)
mysql.threads.processlist_command명령 유형, 유휴 상태인 경우 Sleep 입니다.
mysql.threads.processlist_state스레드의 현재 작업/상태
db.query.textSQL 문 텍스트
mysql.events_statements_current.digestSHA-256 명령문 다이제스트
mysql.events_statements_current.timer_start명령문 시작을 표시하는 단조 피코초 카운터: 스크랩 주기 전반에 걸쳐 안정적인 실행별 키입니다.
mysql.events_statements_current.timer_wait경과된 실행 시간(초)입니다.
mysql.events_waits_current.timer_wait경과된 대기 시간(초 단위)입니다(events_waits_current 소비자가 필요합니다).
mysql.wait_event_type대기 이벤트 이름(io, lock, synch)에서 파생된 최상위 대기 분류 또는 실제로 대기하지 않는 경우 CPU/User sleep/other 입니다. mysql.wait_event과(와) 쌍을 이룹니다.
mysql.wait_event상세 대기 내역: 카테고리 세그먼트가 제거된 대기 이벤트 이름(예: table/sql/handler, mutex/innodb/checkpoint_state) 또는 실제로 대기 중이 아닐 경우 CPU/User sleep/other 입니다. mysql.wait_event_type와(과) 쌍을 이룹니다.
mysql.wait_type대기 이벤트를 생성한 계측의 가공되지 않은 원시 이름입니다. 구문 분석/분류된 내역은 mysql.wait_event_type / mysql.wait_event을(를) 참조하십시오.
mysql.session.statuswaiting, running 또는 other
mysql.event_id이벤트가 시작되었을 때의 스레드+현재 이벤트 번호
client.address / client.port클라이언트 호스트/포트(포트는 MySQL 8.0.22+에서만 채워지며, 그렇지 않으면 0)
network.peer.address / network.peer.port네트워크 계층 속성과 동일
mysql.blocking.blockers이 세션의 동시 InnoDB 행 잠금 차단기당 하나씩(둘 이상 존재하는 경우 첫 번째 차단기만이 아님) 포함된 {thread_id, session_id} 튜플의 JSON 어레이입니다. 차단되지 않은 경우 "[]" 이며, 차단기가 해결되기 전에 연결이 끊어진 경우 차단기의 session_id은(는) null 입니다.
mysql.blocking.blocker.count동시 차단기의 정수 개수입니다. 0은(는) 차단되지 않았음을 의미합니다.
mysql.session.client_namesession_connect_attrs에서 클라이언트 드라이버가 자체 보고한 ID(예: MySQL Connector/J). 드라이버가 연결 속성을 보내지 않으면 비어 있습니다.
db.query.comment_tags / .nr_service_guidAPM-상관관계 주석 태그: (선택 사항) APM-데이터베이스 상관관계 설정을 참조하십시오.
db.query.text.normalized.hash교차 엔진 상관관계를 위한 정규화된 SQL의 MD5

팁

!= 0이(가) 아닌 mysql.blocking.blocker.count > 0(으)로 차단을 필터링하십시오. null != 0은(는) NRQL에서 TRUE을(를) 평가하며, 이로 인해 결과에 차단되지 않은 세션이 알림 없이 포함됩니다.

db.server.top_query

가장 많은 실행 시간을 소비하는 쿼리로, MySQL 자체 performance_schema.events_statements_summary_by_digest에 의해 서버 측에서 집계됩니다: 샘플 수가 아닌 실제 다이제스트별 실행 카운터입니다. 기본적으로 비활성화되어 있습니다.

기인하다설명
db.system.namemysql
db.query.textSQL 명령문 텍스트(난독화됨)
db.namespace다이제스트의 SCHEMA_NAME
mysql.events_statements_summary_by_digest.digestSHA-256 명령문 다이제스트
mysql.events_statements_summary_by_digest.count_star명령문이 실행된 횟수로, 누적이 아닌 스크랩당 델타로 보고됩니다.
mysql.events_statements_summary_by_digest.sum_timer_wait총 실행 시간, 델타 초
mysql.events_statements_summary_by_digest.sum_rows_examined / .sum_rows_sent델타 행 수입니다. count_star으로 나누면 실행당 평균을 얻을 수 있습니다. 이는 논리적 읽기가 아니라 행 수입니다.
db.query.comment_tags / .nr_service_guid동일함 query_sample
db.query.text.normalized.hash동일함 query_sample

db.server.query_plan

명령문에 대한 실행 계획으로, 계획이 top_query/query_sample의 자체 통계와 독립적으로 필터링, 라우팅 또는 삭제될 수 있도록 자체 이벤트로 보고됩니다. db.server.top_query 또는 db.server.query_sample 중 하나 이상도 활성화되어야 합니다. 활성화되면 mysql.query_plan는 더 이상 db.server.top_query/db.server.query_sample 레코드에 포함되지 않습니다. EXPLAIN 메커니즘에 대해서는 실행 계획 수집을 참조하십시오.

기인하다설명
db.system.namemysql
db.namespace쿼리의 기본 데이터베이스/스키마입니다. 쿼리 샘플에서는 스레드의 현재 데이터베이스(processlist_db)이며, 상위 쿼리에서는 다이제스트의 SCHEMA_NAME입니다. 기본 데이터베이스가 선택되지 않은 경우 비어 있습니다.
mysql.query_plan.hash설계상 mysql.events_statements_summary_by_digest.digest (쿼리 다이제스트)과 동일한 값으로 설정됩니다
mysql.query_plan.source플랜이 보고된 이벤트(db.server.top_query 또는 db.server.query_sample)로, 소스 이벤트별로 플랜을 라우팅하거나 삭제할 수 있습니다.
mysql.query_plan사용 가능한 경우 명령문에 대한 쿼리 계획입니다.

실행 계획 수집

EXPLAIN 리터럴 SQL 명령문이 필요합니다: 정규화된 다이제스트 텍스트는 MySQL이 실행할 수 없는 플레이스홀더(SELECT ? FROM t WHERE id = ?)를 사용합니다.

MySQL 버전플랜 가용성
8.0.3+사용 가능: 다이제스트 요약 테이블의 query_sample_text은(는) -할 실제 문을 포함합니다 EXPLAIN
5.x, 8.0.0–8.0.2사용 불가: 설명할 query_sample_text이(가) 없습니다

캡처된 문이 잘린 경우(...으로 끝남), 모든 버전에서 EXPLAIN을(를) 건너뜁니다. 권장 서버 파라미터를 참조합니다.

explain_mode행동
inline (기본)EXPLAIN FORMAT=json <statement>을(를) 직접 실행하며, SELECT전용 워크로드에 충분합니다
procedure모니터링 사용자에게 DML을 부여하지 않고도 쓰기 문(UPDATE/DELETE/INSERT/REPLACE)을 설명할 수 있도록 SQL SECURITY DEFINER 프로시저(<schema>.explain_statement)를 통해 라우팅합니다. 프로시저가 없는 경우 inline (으)로 폴백합니다. 스키마별로 일회성 설정 단계가 필요합니다. 쓰기 문에 대한 쿼리 계획을 참조하십시오.

중요

mysql.query_plan 캐싱하기 전에 단일 요소 JSON 어레이로 래핑된 원시 EXPLAIN FORMAT=json 출력이므로 뉴렐릭의 로그 수집이 이를 자동으로 평면화하고 파괴하지 않습니다. 인덱스 [0]을(를) 구문 분석하여 계획 객체를 복구하십시오.

타이머 단위

텔레메트리 유형

필드

유닛

로그 이벤트(

query_sample

,

top_query

)

sum_timer_wait

,

events_statements_current.timer_wait

,

events_waits_current.timer_wait

초

메트릭(명령문 이벤트, 테이블/인덱스 I/O 대기, 테이블 잠금 대기)

metadata.yaml

단위당: ns

나노초

중요

mysql.events_waits_current.timer_wait 진정하고 고유한 대기/차단 기간인 유일한 필드입니다(총 경과 시간이 아님). mysql.wait_event_type / mysql.wait_event (또는 원시 mysql.wait_type)와(과) 함께 사용하십시오.

자체 호스팅 환경에서의 계측

뉴렐릭을 사용하여 자체 호스팅 환경에서 MySQL 모니터링을 설정하는 방법을 알아보십시오.

RDS 환경에서의 계측

뉴렐릭을 사용하여 RDS 환경에서 MySQL 모니터링을 설정하는 방법을 알아보십시오.

문제 해결, 해결 가이드

MySQL 모니터링과 관련된 일반적인 문제를 해결하는 방법을 알아보십시오.

Copyright © 2026 New Relic Inc.

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