본문으로 건너뛰기
최종 수정: 에

모니터링 지표

Doris의 FE 및 BE 프로세스에는 모니터링 지표가 내장되어 있으며, 기본적으로 Prometheus 호환 형식으로 노출됩니다. 이 문서는 관측 가능한 모든 지표를 체계적으로 나열하고 우선순위(Priority)를 표시하여, Prometheus + Grafana와 연동한 후 모니터링 및 알림 시스템을 빠르게 구축할 수 있도록 돕습니다.

활용 시나리오​

시나리오목적
클러스터 상태 모니터링P0 지표를 통해 FE/BE 노드의 이상을 빠르게 감지
알림 설정QPS, 오류율, Compaction Score 등의 지표에 임계값 기반 알림 설정
성능 문제 해결쿼리 지연 시간, 스레드 풀 대기열, 메모리 사용량 지표를 활용하여 병목 지점 파악
용량 계획디스크 사용량, tablet 수, 연결 수를 활용하여 클러스터 부하 평가
장애 회고머신 지표(CPU, IO, 네트워크)와 프로세스 지표를 함께 분석하여 장애의 근본 원인 파악

지표 분류​

Doris 모니터링 지표는 관측 대상에 따라 두 가지로 나뉩니다.

  1. 프로세스 모니터링: 쿼리 수, 트랜잭션 수, Compaction 상태 등 Doris 프로세스 자체의 실행 지표를 보여 줍니다.
  2. 노드 모니터링: CPU, 메모리, IO, 네트워크 등 Doris 프로세스가 실행되는 머신의 리소스 지표를 보여 줍니다.

모니터링 지표 조회​

Prometheus 호환 형식(기본값)​

FE 또는 BE 노드의 HTTP 포트에 직접 접속합니다.

curl http://fe_host:http_port/metrics
curl http://be_host:webserver_port/metrics

응답 예시:

doris_fe_cache_added{type="partition"} 0
doris_fe_cache_added{type="sql"} 0
doris_fe_cache_hit{type="partition"} 0
doris_fe_cache_hit{type="sql"} 0
doris_fe_connection_total 2

JSON 형식​

type=json 매개변수를 사용하여 JSON 형식으로 지표를 조회합니다.

curl http://fe_host:http_port/metrics?type=json
curl http://be_host:webserver_port/metrics?type=json

bvar 지표​

BE 및 Meta Service / Recycler 프로세스도 brpc 서비스를 통해 bvar 지표를 노출합니다. Prometheus 호환 출력에는 /brpc_metrics를 사용하고, 이름별 진단 정보를 확인하려면 /vars를 사용합니다.

curl http://be_host:brpc_port/brpc_metrics
curl http://be_host:brpc_port/vars
curl http://cloud_host:brpc_listen_port/brpc_metrics

이 엔드포인트는 BE의 brpc_port(기본값 8060) 또는 Meta Service / Recycler의 brpc_listen_port(기본값 5000)를 사용하며, 위에서 설명한 FE / BE HTTP 모니터링 포트와 다릅니다. 아래의 bvar 이름은 등록된 이름을 따르며, 모든 이름에 doris_be_ 접두사가 붙는 것은 아닙니다.

버전 식별​

버전 4.1.5부터 BE 및 Meta Service / Recycler 버전 지표에는 /brpc_metrics에서 다음 레이블이 포함됩니다.

지표유형레이블의미
doris_be_versionGaugeversion, major, minor, patch, hotfix, short_hashBE 빌드 버전 및 커밋 식별자
doris_cloud_versionGauge위와 동일Meta Service / Recycler 빌드 버전 및 커밋 식별자

각 프로세스는 버전 샘플 하나를 노출합니다. 지표 값은 기존 버전 인코딩을 유지합니다. 전체 버전은 version 레이블에서, 커밋 식별자는 short_hash에서 확인합니다. doris_cloud_version은 프로세스가 Meta Service, Recycler 또는 둘 다 실행하는지 구분하지 않습니다. 역할을 식별하려면 스크레이프 대상 레이블을 추가합니다.

프로세스의 bvar_max_dump_multi_dimension_metric_num 설정은 다차원 bvar 샘플 수를 제한합니다. 기본값은 5000이며, 0으로 설정하면 버전 지표와 같은 샘플이 비활성화됩니다. BE는 버전 4.1.5부터 이 설정을 지원하며, 변경 사항을 적용하려면 재시작해야 합니다. BE 설정을 참고하세요.

모니터링 우선순위 및 모범 사례​

  • 각 지표 테이블의 마지막 열은 우선순위(Priority)입니다. P0가 가장 중요하며, 값이 클수록 중요도가 낮습니다. P0 지표부터 연동하세요.

  • 대부분의 모니터링 지표는 Counter 유형(누적값)입니다. 유용한 정보를 얻으려면 일정 간격(예: 15초마다)으로 샘플링하고 단위 시간당 기울기를 계산해야 합니다.

    예를 들어 doris_fe_query_err의 기울기를 계산하면 쿼리 오류율(초당 오류 수)을 구할 수 있습니다.

더 포괄적이고 유용한 모니터링 지표를 제공할 수 있도록 이 테이블에 기여해 주세요.

FE 모니터링 지표​

프로세스 모니터링​

이름레이블단위의미설명우선순위
doris_fe_cache_added{type="partition"}Num새로 추가된 Partition Cache의 누적 수
{type="sql"}Num새로 추가된 SQL Cache의 누적 수
doris_fe_cache_hit{type="partition"}NumPartition Cache 적중 횟수
{type="sql"}NumSQL Cache 적중 횟수
doris_fe_connection_totalNumFE의 현재 MySQL 포트 연결 수쿼리 연결 수를 모니터링하는 데 사용합니다. 연결 수가 한도를 초과하면 새 연결을 수락할 수 없습니다P0
doris_fe_counter_hit_sql_block_ruleNumSQL BLOCK RULE에 의해 차단된 쿼리 수
doris_fe_edit_log_clean{type="failed"}Num과거 메타데이터 로그 정리 실패 횟수실패가 발생해서는 안 됩니다. 실패하면 수동 조치가 필요합니다P0
{type="success"}Num과거 메타데이터 로그 정리 성공 횟수
doris_fe_edit_log{type="accumulated_bytes"}Bytes메타데이터 로그 쓰기 양의 누적값기울기를 계산하여 쓰기 속도를 구하고 메타데이터 쓰기가 지연되는지 확인합니다P0
{type="current_bytes"}Bytes메타데이터 로그의 현재 크기editlog 크기를 모니터링하는 데 사용합니다. 크기가 한도를 초과하면 수동 조치가 필요합니다P0
{type="read"}Num메타데이터 로그 읽기 횟수기울기를 통해 메타데이터 읽기 빈도가 정상인지 확인합니다P0
{type="write"}Num메타데이터 로그 쓰기 횟수기울기를 통해 메타데이터 쓰기 빈도가 정상인지 확인합니다P0
{type="current"}Num현재 메타데이터 로그 수editlog 수를 모니터링하는 데 사용합니다. 수가 한도를 초과하면 수동 조치가 필요합니다P0
doris_fe_editlog_write_latency_msMilliseconds메타데이터 로그 쓰기 지연 시간의 백분위수 통계입니다. 예를 들어 {quantile="0.75"}는 75번째 백분위수의 쓰기 지연 시간을 나타냅니다
doris_fe_image_clean{type="failed"}Num과거 메타데이터 이미지 파일 정리 실패 횟수실패가 발생해서는 안 됩니다. 실패하면 수동 조치가 필요합니다P0
{type="success"}Num과거 메타데이터 이미지 파일 정리 성공 횟수
doris_fe_image_push{type="failed"}Num다른 FE 노드로 메타데이터 이미지 파일을 전송하는 데 실패한 횟수
{type="success"}Num다른 FE 노드로 메타데이터 이미지 파일을 전송하는 데 성공한 횟수
doris_fe_image_write{type="failed"}Num메타데이터 이미지 파일 생성 실패 횟수실패가 발생해서는 안 됩니다. 실패하면 수동 조치가 필요합니다P0
{type="success"}Num메타데이터 이미지 파일 생성 성공 횟수
doris_fe_jobNum유형 및 상태별 작업 수입니다. 예를 들어 {job="load", type="INSERT", state="LOADING"}는 LOADING 상태인 INSERT 유형 데이터 적재 작업 수를 나타냅니다필요에 따라 클러스터의 유형별 작업 수를 확인합니다P0
doris_fe_max_journal_idNum현재 FE 노드의 최대 메타데이터 로그 ID입니다. Master FE에서는 현재 기록된 최대 ID이며, Master가 아닌 FE에서는 현재 재생된 메타데이터 로그의 최대 ID입니다여러 FE 간 ID 차이가 큰지 확인하는 데 사용합니다. 차이가 크면 메타데이터 동기화에 문제가 있음을 나타냅니다P0
doris_fe_max_tablet_compaction_scoreNum모든 BE 노드에서 가장 큰 Compaction Score 값현재 클러스터의 최대 Compaction Score를 확인하고 값이 너무 높은지 판단하는 데 사용합니다. 값이 높으면 쿼리 또는 쓰기 지연이 발생할 수 있습니다P0
doris_fe_qpsNum/Sec현재 FE의 초당 쿼리 수(쿼리 요청만 집계)QPSP0
doris_fe_query_errNum실패한 쿼리의 누적 수
doris_fe_query_err_rateNum/Sec초당 실패한 쿼리 수클러스터에서 쿼리 오류가 발생하는지 확인합니다P0
doris_fe_query_latency_msMilliseconds쿼리 요청 지연 시간의 백분위수 통계입니다. 예를 들어 {quantile="0.75"}는 75번째 백분위수의 쿼리 지연 시간을 나타냅니다각 백분위수의 쿼리 지연 시간을 자세히 확인합니다P0
doris_fe_query_latency_ms_dbMillisecondsDB별 쿼리 요청 지연 시간의 백분위수 통계입니다. 예를 들어 {quantile="0.75",db="test"}는 DB test의 75번째 백분위수 쿼리 지연 시간을 나타냅니다DB별로 각 백분위수의 쿼리 지연 시간을 자세히 확인합니다P0
doris_fe_query_olap_tableNum내부 테이블(OlapTable)에 대한 쿼리 요청 수
doris_fe_query_totalNum모든 쿼리 요청의 누적 수
doris_fe_report_queue_sizeNumBE의 다양한 주기적 보고 작업을 처리하는 FE 측 대기열의 길이이 값은 Master FE 노드에서 보고 작업이 정체된 정도를 나타냅니다. 값이 클수록 FE의 처리 여력이 부족합니다P0
doris_fe_request_totalNumMySQL 포트를 통해 수신한 모든 작업 요청(쿼리 및 기타 문 포함)
doris_fe_routine_load_error_rowsNum클러스터의 모든 Routine Load 작업에서 발생한 오류 행의 총수
doris_fe_routine_load_receive_bytesBytes클러스터의 모든 Routine Load 작업이 수신한 총 데이터 양
doris_fe_routine_load_rowsNum클러스터의 모든 Routine Load 작업이 수신한 데이터 행의 총수
doris_fe_routine_load_get_meta_latencyMilliseconds클러스터의 모든 Routine Load 작업에 대한 메타데이터 조회 지연 시간
doris_fe_routine_load_get_meta_countNum클러스터의 모든 Routine Load 작업에 대한 메타데이터 조회 횟수
doris_fe_routine_load_get_meta_fail_countNum클러스터의 모든 Routine Load 작업에 대한 메타데이터 조회 실패 횟수
doris_fe_routine_load_task_execute_timeMilliseconds클러스터의 모든 Routine Load 태스크 실행 시간
doris_fe_routine_load_task_execute_countNum클러스터의 모든 Routine Load 태스크 실행 횟수
doris_fe_routine_load_lagMilliseconds클러스터의 모든 Routine Load 작업의 소비 지연
doris_fe_routine_load_progressMilliseconds클러스터의 모든 Routine Load 작업의 소비 진행 상황
doris_fe_routine_load_abort_task_numNum클러스터의 모든 Routine Load 작업에서 실패한 태스크 수
doris_fe_rpsNum현재 FE의 초당 요청 수(쿼리 및 기타 유형의 문 포함)QPS와 함께 사용하여 클러스터가 처리하는 요청량을 확인합니다P0
doris_fe_scheduled_tablet_numNumMaster FE 노드에서 스케줄링 중인 tablet 수로, 복구 중인 복제본과 균형 조정 중인 복제본을 포함합니다이 값은 클러스터에서 현재 마이그레이션 중인 tablet 수를 나타냅니다. 이 값이 오랫동안 영이 아닌 상태로 유지되면 클러스터가 불안정함을 나타냅니다P0
doris_fe_tablet_max_compaction_scoreNum각 BE 노드가 보고한 Compaction Score입니다. 예를 들어 {backend="172.21.0.1:9556"}는 "172.21.0.1:9556"의 BE가 보고한 값을 나타냅니다
doris_fe_tablet_numNum각 BE 노드의 총 tablet 수입니다. 예를 들어 {backend="172.21.0.1:9556"}는 "172.21.0.1:9556"의 BE에 있는 현재 tablet 수를 나타냅니다tablet이 균등하게 분포되어 있는지, 절대적인 수가 적절한지 확인합니다P0
doris_fe_tablet_status_countNumMaster FE 노드의 Tablet 스케줄러가 스케줄링한 tablet의 누적 수
{type="added"}NumMaster FE 노드의 Tablet 스케줄러가 스케줄링한 tablet의 누적 수입니다. "added"는 스케줄링된 tablet 수를 나타냅니다
{type="in_sched"}Num위와 동일합니다. 반복해서 스케줄링된 tablet 수를 나타냅니다이 값이 빠르게 증가하면 일부 tablet이 오랫동안 비정상 상태에 있어 스케줄러가 반복해서 스케줄링하고 있음을 의미합니다
{type="not_ready"}Num위와 동일합니다. 아직 스케줄링 트리거 조건을 충족하지 못한 tablet 수를 나타냅니다이 값이 빠르게 증가하면 많은 tablet이 비정상 상태이지만 스케줄링할 수 없음을 의미합니다
{type="total"}Num위와 동일합니다. 검사된 tablet의 누적 수를 나타냅니다(반드시 스케줄링된 것은 아님)
{type="unhealthy"}Num위와 동일합니다. 검사된 비정상 tablet의 누적 수를 나타냅니다
doris_fe_thread_poolNum다양한 스레드 풀의 작업 스레드 및 대기열 통계입니다. active_thread_num은 현재 실행 중인 태스크 수를 나타냅니다. pool_size는 풀의 총 스레드 수를 나타냅니다. task_in_queue는 현재 대기열에 있는 태스크 수를 나타냅니다
{name="agent-task-pool"}NumMaster FE가 BE에 Agent Task를 전송하는 데 사용하는 스레드 풀
{name="connect-scheduler-check-timer"}NumMySQL 유휴 연결의 시간 초과 여부를 확인하는 스레드 풀
{name="connect-scheduler-pool"}NumMySQL 연결 요청을 수신하는 스레드 풀
{name="mysql-nio-pool"}NumNIO MySQL Server가 태스크를 처리하는 데 사용하는 스레드 풀
{name="export-exporting-job-pool"}Numexporting 상태의 내보내기 작업을 위한 스케줄링 스레드 풀
{name="export-pending-job-pool"}Numpending 상태의 내보내기 작업을 위한 스케줄링 스레드 풀
{name="heartbeat-mgr-pool"}NumMaster FE가 각 노드의 heartbeat를 처리하는 데 사용하는 스레드 풀
{name="loading-load-task-scheduler"}NumMaster FE가 Broker Load 작업의 loading 태스크를 스케줄링하는 데 사용하는 스케줄링 스레드 풀
{name="pending-load-task-scheduler"}NumMaster FE가 Broker Load 작업의 pending 태스크를 스케줄링하는 데 사용하는 스케줄링 스레드 풀
{name="schema-change-pool"}NumMaster FE가 스키마 변경 작업을 스케줄링하는 데 사용하는 스레드 풀
{name="thrift-server-pool"}NumFE 측 ThriftServer의 작업 스레드 풀입니다. fe.conf의 rpc_port에 해당하며 BE와 통신하는 데 사용합니다
doris_fe_txn_counterNum상태별 데이터 적재 트랜잭션의 누적 수데이터 적재 트랜잭션의 실행 상태를 확인합니다P0
{type="begin"}Num시작된 트랜잭션 수
{type="failed"}Num실패한 트랜잭션 수
{type="reject"}Num거부된 트랜잭션 수입니다(예를 들어 현재 실행 중인 트랜잭션 수가 임계값을 초과하면 새 트랜잭션이 거부됨)
{type="success"}Num성공한 트랜잭션 수
doris_fe_txn_statusNum현재 각 상태에 있는 데이터 적재 트랜잭션 수입니다. 예를 들어 {type="committed"}는 committed 상태의 트랜잭션 수를 나타냅니다상태별 데이터 적재 트랜잭션 수를 확인하여 적체 여부를 판단합니다P0
doris_fe_query_instance_numNum특정 사용자가 현재 요청 중인 fragment 인스턴스 수입니다. 예를 들어 {user="test_u"}는 사용자 test_u가 현재 요청 중인 인스턴스 수를 나타냅니다특정 사용자가 쿼리 리소스를 과도하게 사용하고 있는지 확인하는 데 사용합니다P0
doris_fe_query_instance_beginNum특정 사용자가 요청을 시작한 fragment 인스턴스 수입니다. 예를 들어 {user="test_u"}는 사용자 test_u가 요청을 시작한 인스턴스 수를 나타냅니다특정 사용자가 쿼리를 과도하게 제출했는지 확인하는 데 사용합니다P0
doris_fe_query_rpc_totalNum특정 BE로 전송한 RPC 수입니다. 예를 들어 {be="192.168.10.1"}는 IP가 192.168.10.1인 BE로 전송한 RPC 수를 나타냅니다특정 BE에 RPC가 과도하게 제출되었는지 확인하는 데 사용합니다
doris_fe_query_rpc_failedNum특정 BE로 전송한 RPC의 실패 횟수입니다. 예를 들어 {be="192.168.10.1"}는 IP가 192.168.10.1인 BE로 전송한 RPC의 실패 횟수를 나타냅니다특정 BE에 RPC 문제가 있는지 확인하는 데 사용합니다
doris_fe_query_rpc_sizeNum특정 BE에 대한 RPC 데이터 크기입니다. 예를 들어 {be="192.168.10.1"}는 IP가 192.168.10.1인 BE로 전송한 RPC 데이터의 바이트 수를 나타냅니다특정 BE에 지나치게 큰 RPC가 제출되었는지 확인하는 데 사용합니다
doris_fe_txn_exec_latency_msMilliseconds트랜잭션 실행 시간의 백분위수 통계입니다. 예를 들어 {quantile="0.75"}는 75번째 백분위수의 트랜잭션 실행 시간을 나타냅니다각 백분위수의 트랜잭션 실행 시간을 자세히 확인합니다P0
doris_fe_txn_publish_latency_msMilliseconds트랜잭션 게시 시간의 백분위수 통계입니다. 예를 들어 {quantile="0.75"}는 75번째 백분위수의 트랜잭션 게시 시간을 나타냅니다각 백분위수의 트랜잭션 게시 시간을 자세히 확인합니다P0
doris_fe_txn_numNum특정 DB에서 현재 실행 중인 트랜잭션 수입니다. 예를 들어 {db="test"}는 DB test에서 현재 실행 중인 트랜잭션 수를 나타냅니다특정 DB가 많은 트랜잭션을 제출했는지 확인하는 데 사용합니다P0
doris_fe_publish_txn_numNum특정 DB에서 현재 게시 중인 트랜잭션 수입니다. 예를 들어 {db="test"}는 DB test에서 현재 게시 중인 트랜잭션 수를 나타냅니다특정 DB의 게시 중인 트랜잭션 수를 확인하는 데 사용합니다P0
doris_fe_txn_replica_numNum특정 DB에서 현재 실행 중인 트랜잭션이 연 복제본 수입니다. 예를 들어 {db="test"}는 DB test에서 현재 실행 중인 트랜잭션이 연 복제본 수를 나타냅니다특정 DB가 복제본을 과도하게 열어 다른 트랜잭션의 실행에 영향을 주는지 확인하는 데 사용합니다P0
doris_fe_thrift_rpc_totalNumFE thrift 인터페이스의 각 메서드가 수신한 RPC 요청 수입니다. 예를 들어 {method="report"}는 report 메서드가 수신한 RPC 요청 수를 나타냅니다특정 thrift rpc 메서드의 부하를 확인하는 데 사용합니다
doris_fe_thrift_rpc_latency_msMillisecondsFE thrift 인터페이스의 각 메서드에 대한 RPC 요청 처리 시간입니다. 예를 들어 {method="report"}는 report 메서드의 RPC 요청 처리 시간을 나타냅니다특정 thrift rpc 메서드의 부하를 확인하는 데 사용합니다
doris_fe_external_schema_cache{catalog="hive"}Num특정 External Catalog의 스키마 캐시 항목 수
doris_fe_hive_meta_cache{catalog="hive"}Num
{type="partition_value"}Num특정 External Hive Metastore Catalog의 파티션 값 캐시 항목 수
{type="partition"}Num특정 External Hive Metastore Catalog의 파티션 캐시 항목 수
{type="file"}Num특정 External Hive Metastore Catalog의 파일 캐시 항목 수
doris_fe_virtual_compute_group_switch_total{virtual_compute_group_id, virtual_compute_group_name, src_compute_group_id, src_compute_group_name, dst_compute_group_id, dst_compute_group_name}Num가상 컴퓨팅 그룹의 활성-대기 전환 누적 횟수입니다. 버전 4.0.8부터 지원하며, 컴퓨팅과 스토리지 분리 모드에서만 생성됩니다기울기를 통해 가상 컴퓨팅 그룹의 전환이 빈번한지 확인할 수 있습니다. 전환이 빈번하면 일반적으로 기본 컴퓨팅 그룹이 불안정함을 의미합니다

JVM 모니터링​

이름레이블단위의미설명우선순위
jvm_heap_size_bytesBytesJVM 메모리 모니터링입니다. 레이블에는 max, used, committed가 있으며, 각각 최대 메모리, 사용 중인 메모리, 커밋된 메모리에 해당합니다JVM 메모리 사용량을 확인합니다P0
jvm_non_heap_size_bytesBytesJVM 힙 외부 메모리 통계
<GarbageCollector>GC 모니터링GarbageCollector는 특정 가비지 컬렉터를 가리킵니다P0
{type="count"}Num누적 GC 횟수
{type="time"}Milliseconds누적 GC 시간
jvm_old_size_bytesBytesJVM old generation 메모리 통계P0
jvm_threadNumJVM 스레드 수 통계JVM 스레드 수가 적절한지 확인합니다P0
jvm_young_size_bytesBytesJVM young generation 메모리 통계P0

머신 모니터링​

이름레이블단위의미설명우선순위
system_meminfoBytesFE 노드 머신의 메모리 모니터링입니다. /proc/meminfo에서 수집합니다. buffers, cached, memory_available, memory_free, memory_total을 포함합니다
system_snmpFE 노드 머신의 네트워크 모니터링입니다. /proc/net/snmp에서 수집합니다
{name="tcp_in_errs"}Numtcp 패킷 수신 오류 수
{name="tcp_in_segs"}Num수신한 tcp 패킷 수
{name="tcp_out_segs"}Num전송한 tcp 패킷 수
{name="tcp_retrans_segs"}Numtcp 패킷 재전송 횟수

BE 모니터링 지표​

프로세스 모니터링​

이름레이블단위의미설명우선순위
doris_be_active_scan_context_countNum외부 시스템이 현재 직접 연 scanner 수를 보여 줍니다
doris_be_add_batch_task_queue_sizeNum데이터 적재 중 배치를 수신하는 스레드 풀의 대기열 크기를 기록합니다0보다 크면 데이터 적재 태스크의 수신 측에 적체가 있음을 나타냅니다P0
agent_task_queue_sizeNum각 Agent Task 처리 대기열의 길이를 보여 줍니다. 예를 들어 {type="CREATE_TABLE"}은 CREATE_TABLE 태스크 대기열의 길이를 나타냅니다
doris_be_brpc_endpoint_stub_countNumBE 간 통신에 사용하기 위해 생성된 brpc stub 수
doris_be_brpc_function_endpoint_stub_countNumRemote RPC와의 통신에 사용하기 위해 생성된 brpc stub 수
doris_be_cache_capacity특정 LRU Cache의 용량을 기록합니다
doris_be_cache_usage특정 LRU Cache의 사용량을 기록합니다메모리 사용량을 확인합니다P0
doris_be_cache_usage_ratio특정 LRU Cache의 사용률을 기록합니다
doris_be_cache_lookup_count특정 LRU Cache의 조회 횟수를 기록합니다
doris_be_cache_hit_count특정 LRU Cache의 적중 횟수를 기록합니다
doris_be_cache_hit_ratio특정 LRU Cache의 적중률을 기록합니다캐시가 효과적으로 동작하는지 확인합니다P0
{name="DataPageCache"}NumDataPageCache는 데이터의 Data Page를 캐시합니다데이터 캐시로, 쿼리 효율에 직접적인 영향을 줍니다P0
{name="IndexPageCache"}NumIndexPageCache는 데이터의 Index Page를 캐시합니다인덱스 캐시로, 쿼리 효율에 직접적인 영향을 줍니다P0
{name="LastSuccessChannelCache"}NumLastSuccessChannelCache는 데이터 적재 수신 측의 LoadChannel을 캐시합니다
{name="SegmentCache"}NumSegmentCache는 인덱스 정보 등 열린 Segment를 캐시합니다
doris_be_chunk_pool_local_core_alloc_countNumChunkAllocator에서 바인딩된 코어의 메모리 큐로부터 메모리를 할당한 횟수
doris_be_chunk_pool_other_core_alloc_countNumChunkAllocator에서 다른 코어의 메모리 큐로부터 메모리를 할당한 횟수
doris_be_chunk_pool_reserved_bytesBytesChunkAllocator에 예약된 메모리 크기
doris_be_chunk_pool_system_alloc_cost_nsNanosecondsSystemAllocator의 메모리 할당에 소요된 누적 시간기울기를 통해 메모리 할당에 드는 시간을 확인합니다P0
doris_be_chunk_pool_system_alloc_countNumSystemAllocator의 메모리 할당 횟수
doris_be_chunk_pool_system_free_cost_nsNanosecondsSystemAllocator의 메모리 해제에 소요된 누적 시간기울기를 통해 메모리 해제에 드는 시간을 확인합니다P0
doris_be_chunk_pool_system_free_countNumSystemAllocator의 메모리 해제 횟수
doris_be_compaction_bytes_totalBytesCompaction이 처리한 누적 데이터 양Compaction 태스크의 입력 rowset이 차지하는 디스크 크기를 기록합니다. 기울기를 통해 Compaction 처리 속도를 확인합니다P0
{type="base"}BytesBase Compaction의 누적 데이터 양
{type="cumulative"}BytesCumulative Compaction의 누적 데이터 양
doris_be_compaction_deltas_totalNumCompaction이 처리한 rowset의 누적 수Compaction 태스크의 입력 rowset 수를 기록합니다
{type="base"}NumBase Compaction이 처리한 rowset의 누적 수
{type="cumulative"}NumCumulative Compaction이 처리한 rowset의 누적 수
doris_be_disks_compaction_numNum특정 데이터 디렉터리에서 현재 실행 중인 Compaction 태스크 수입니다. 예를 들어 {path="/path1/"}은 /path1 디렉터리에서 현재 실행 중인 태스크 수를 나타냅니다각 디스크의 Compaction 태스크 수가 적절한지 확인합니다P0
doris_be_disks_compaction_scoreNum특정 데이터 디렉터리에서 현재 실행 중인 Compaction 토큰 수입니다. 예를 들어 {path="/path1/"}은 /path1 디렉터리에서 현재 실행 중인 토큰 수를 나타냅니다
doris_be_compaction_used_permitsNumCompaction 태스크가 이미 사용 중인 토큰 수Compaction의 리소스 소비량을 나타냅니다
doris_be_compaction_waitting_permitsNumCompaction 토큰을 기다리는 항목 수
doris_be_data_stream_receiver_countNum수신 측의 데이터 Receiver 수FIXME: 벡터화 엔진에는 이 지표가 없습니다
doris_be_disks_avail_capacityBytes특정 데이터 디렉터리가 위치한 디스크의 남은 공간입니다. 예를 들어 {path="/path1/"}은 /path1 디렉터리가 위치한 디스크의 남은 공간을 나타냅니다P0
doris_be_disks_local_used_capacityBytes특정 데이터 디렉터리가 위치한 디스크에서 로컬로 사용 중인 공간
doris_be_disks_remote_used_capacityBytes특정 데이터 디렉터리가 위치한 디스크에 대응하는 원격 디렉터리의 사용 공간
doris_be_disks_stateBoolean특정 데이터 디렉터리의 디스크 상태입니다. 1은 정상, 0은 비정상을 나타냅니다
doris_be_disks_total_capacityBytes특정 데이터 디렉터리가 위치한 디스크의 총용량doris_be_disks_avail_capacity와 함께 사용하여 디스크 사용량을 계산합니다P0
doris_be_engine_requests_totalNumBE의 다양한 태스크 실행 상태별 누적 횟수
{status="failed",type="xxx"}Numxxx 유형 태스크의 누적 실패 횟수
{status="total",type="xxx"}Numxxx 유형 태스크의 누적 총 실행 횟수필요에 따라 다양한 태스크 유형의 실패 횟수를 모니터링합니다P0
{status="skip",type="report_all_tablets"}Numxxx 유형 태스크를 건너뛴 누적 횟수
doris_be_fragment_endpoint_countNumdoris_be_data_stream_receiver_count와 동일FIXME: doris_be_data_stream_receiver_count와 같은 수를 나타냅니다. 이 지표도 벡터화 엔진에는 없습니다
doris_be_fragment_request_duration_usMicroseconds모든 fragment 인스턴스의 누적 실행 시간기울기를 통해 인스턴스 실행 시간을 확인합니다P0
doris_be_fragment_requests_totalNum실행된 fragment 인스턴스의 누적 수
doris_be_load_channel_countNum현재 열려 있는 데이터 적재 채널 수값이 클수록 현재 실행 중인 데이터 적재 태스크가 많습니다P0
doris_be_local_bytes_read_totalBytesLocalFileReader가 읽은 바이트 수P0
doris_be_local_bytes_written_totalBytesLocalFileWriter가 쓴 바이트 수P0
doris_be_local_file_reader_totalNum열린 LocalFileReader 인스턴스의 누적 수
doris_be_local_file_open_readingNum현재 열려 있는 LocalFileReader 인스턴스 수
doris_be_local_file_writer_totalNum열린 LocalFileWriter 인스턴스의 누적 수
doris_be_mem_consumptionBytes특정 모듈의 현재 메모리 사용량입니다. 예를 들어 {type="compaction"}은 Compaction 모듈의 현재 총 메모리 사용량을 나타냅니다같은 유형의 MemTracker에서 가져온 값입니다. FIXME
doris_be_memory_allocated_bytesBytesBE 프로세스의 물리 메모리 크기로, /proc/self/status/VmRSS에서 가져옵니다P0
doris_be_memory_jemallocBytesje_mallctl에서 가져온 Jemalloc 통계의미는 다음을 참고하세요: https://jemalloc.net/jemalloc.3.htmlP0
doris_be_memory_pool_bytes_totalBytes현재 모든 MemPool이 차지하는 메모리 크기입니다. 실제 메모리 사용량을 나타내지는 않는 통계값입니다
doris_be_memtable_flush_duration_usMicrosecondsmemtable을 디스크에 쓰는 데 소요된 누적 시간기울기를 통해 쓰기 지연 시간을 확인합니다P0
doris_be_memtable_flush_totalNum디스크에 기록된 memtable의 누적 수기울기를 통해 파일 쓰기 빈도를 계산합니다P0
doris_be_meta_request_durationMicrosecondsRocksDB의 메타데이터 접근에 소요된 누적 시간기울기를 통해 BE 메타데이터 읽기/쓰기 지연 시간을 확인합니다P0
{type="read"}Microseconds읽기 시간
{type="write"}Microseconds쓰기 시간
doris_be_meta_request_totalNumRocksDB의 메타데이터에 접근한 누적 횟수기울기를 통해 BE 메타데이터 접근 빈도를 확인합니다P0
{type="read"}Num읽기 횟수
{type="write"}Num쓰기 횟수
doris_be_fragment_instance_countNum현재 수신된 fragment 인스턴스 수인스턴스가 적체되는지 확인합니다P0
doris_be_process_fd_num_limit_hardNumBE 프로세스의 파일 핸들 수에 대한 하드 한도입니다. /proc/pid/limits에서 수집합니다
doris_be_process_fd_num_limit_softNumBE 프로세스의 파일 핸들 수에 대한 소프트 한도입니다. /proc/pid/limits에서 수집합니다
doris_be_process_fd_num_usedNumBE 프로세스가 사용하는 파일 핸들 수입니다. /proc/self/fd의 항목 수를 세어 수집합니다
doris_be_process_thread_numNumBE 프로세스의 스레드 수입니다. /proc/pid/task에서 수집합니다P0
doris_be_query_cache_memory_total_byteBytesQuery Cache가 차지하는 바이트 수
doris_be_query_cache_partition_total_countNumPartition Cache의 현재 항목 수
doris_be_query_cache_sql_total_countNumSQL Cache의 현재 항목 수
doris_be_query_scan_bytesBytes읽은 데이터의 누적 양입니다. Olap 테이블에서 읽은 데이터만 집계합니다
doris_be_query_scan_bytes_per_secondBytes/Secdoris_be_query_scan_bytes로 계산한 읽기 속도쿼리 처리 속도를 확인합니다P0
doris_be_query_scan_rowsNum읽은 행의 누적 수입니다. Olap 테이블에서 읽은 데이터만 집계합니다. 이 값은 RawRowsRead입니다(일부 데이터 행은 인덱스에 의해 건너뛰어 실제로 읽지 않을 수 있지만, 이 값에는 여전히 포함됨)기울기를 통해 쿼리 처리 속도를 확인합니다P0
doris_be_result_block_queue_countNum현재 쿼리 결과 캐시에 있는 fragment 인스턴스 수이 대기열은 외부 시스템이 직접 읽는 경우에만 사용합니다. 예를 들어 Spark on Doris는 external scan을 통해 데이터를 쿼리합니다
doris_be_result_buffer_block_countNum현재 쿼리 결과 캐시에 있는 쿼리 수이 값은 현재 BE에서 FE의 소비를 기다리는 쿼리 결과 수를 나타냅니다P0
doris_be_routine_load_task_countNum현재 실행 중인 Routine Load 태스크 수
doris_be_rowset_count_generated_and_in_useNum마지막 시작 이후 새로 추가되어 사용 중인 rowset ID 수
doris_be_s3_bytes_read_totalNumS3FileReader를 연 누적 횟수
doris_be_s3_file_open_readingNum현재 열려 있는 S3FileReader 인스턴스 수
doris_be_s3_bytes_read_totalBytesS3FileReader가 읽은 누적 바이트 수
doris_be_scanner_thread_pool_queue_sizeNumOlapScanner에 사용하는 스레드 풀의 현재 대기열 크기값이 양수이면 Scanner가 적체되기 시작했음을 나타냅니다P0
doris_be_segment_read{type="segment_read_total"}Num읽은 segment의 누적 수
doris_be_segment_read{type="segment_row_total"}Numsegment에서 읽은 행의 누적 수이 값에는 인덱스로 필터링된 행도 포함됩니다. 읽은 segment 수에 segment당 총 행 수를 곱한 값에 해당합니다
doris_be_send_batch_thread_pool_queue_sizeNum데이터 적재 중 데이터 패킷을 전송하는 스레드 풀의 대기열 크기값이 0보다 크면 적체가 있음을 나타냅니다P0
doris_be_send_batch_thread_pool_thread_numNum데이터 적재 중 데이터 패킷을 전송하는 스레드 풀의 스레드 수
doris_be_small_file_cache_countNum현재 BE에 캐시된 작은 파일 수
doris_be_streaming_load_current_processingNum현재 실행 중인 Stream Load 태스크 수curl 명령으로 전송한 태스크만 포함합니다
doris_be_streaming_load_duration_msMilliseconds모든 Stream Load 태스크의 누적 실행 시간
doris_be_streaming_load_requests_totalNumStream Load 태스크의 누적 수기울기를 통해 태스크 제출 빈도를 확인합니다P0
doris_be_stream_load_pipe_countNum현재 Stream Load 데이터 파이프 수Stream Load 및 Routine Load 태스크를 모두 포함합니다
doris_be_stream_load{type="load_rows"}NumStream Load로 최종 적재된 행의 누적 수Stream Load 및 Routine Load 태스크를 모두 포함합니다P0
doris_be_stream_load{type="receive_bytes"}BytesStream Load가 수신한 누적 바이트 수Stream Load가 HTTP를 통해 수신한 데이터와 Routine Load가 Kafka에서 읽은 데이터를 포함합니다P0
doris_be_tablet_base_max_compaction_scoreNum현재 최대 Base Compaction Score이 값은 실시간으로 변하므로 최고점을 놓칠 수 있습니다. 값이 높을수록 Compaction 적체가 심합니다P0
doris_be_tablet_cumulative_max_compaction_scoreNum모든 Cumulative Compaction 전략에서 현재 가장 큰 Compaction Score모든 전략을 통틀어 가장 큰 값을 나타내는 지표로 유지됩니다
doris_be_tablet_version_num_distributionNumtablet 버전 수의 히스토그램tablet 버전 수의 분포를 나타냅니다P0
doris_be_thrift_connections_totalNum생성된 thrift 연결의 누적 수입니다. 예를 들어 {name="heartbeat"}는 heartbeat 서비스에 대한 누적 연결 수를 나타냅니다이 값은 BE가 서버 역할을 하는 thrift 서버에 대한 값입니다
doris_be_thrift_current_connectionsNum현재 thrift 연결 수입니다. 예를 들어 {name="heartbeat"}는 heartbeat 서비스에 대한 현재 연결 수를 나타냅니다위와 동일
doris_be_thrift_opened_clientsNum현재 열려 있는 thrift 클라이언트 수입니다. 예를 들어 {name="frontend"}는 FE 서비스에 접근하는 클라이언트 수를 나타냅니다
doris_be_thrift_used_clientsNum현재 사용 중인 thrift 클라이언트 수입니다. 예를 들어 {name="frontend"}는 FE 서비스에 접근하는 데 현재 사용 중인 클라이언트 수를 나타냅니다
doris_be_timeout_canceled_fragment_countNum시간 초과로 취소된 fragment 인스턴스의 누적 수이 값은 중복 기록될 수 있습니다. 예를 들어 일부 fragment 인스턴스는 여러 번 취소될 수 있습니다P0
doris_be_stream_load_txn_request{type="begin"}Num시작된 Stream Load 트랜잭션의 누적 수Stream Load 및 Routine Load 태스크를 모두 포함합니다
doris_be_stream_load_txn_request{type="commit"}Num성공적으로 커밋된 Stream Load 트랜잭션의 누적 수위와 동일
doris_be_stream_load_txn_request{type="rollback"}Num실패한 Stream Load 트랜잭션의 누적 수위와 동일
doris_be_unused_rowsets_countNum현재 더 이상 사용하지 않는 rowset 수이 rowset은 정상적인 상황에서는 주기적으로 삭제됩니다
doris_be_upload_fail_countNum계층형 스토리지 기능에서 rowset을 원격 스토리지에 업로드하는 데 실패한 누적 횟수
doris_be_upload_rowset_countNum계층형 스토리지 기능에서 rowset을 원격 스토리지에 성공적으로 업로드한 누적 횟수
doris_be_upload_total_byteBytes계층형 스토리지 기능에서 원격 스토리지에 성공적으로 업로드한 rowset의 누적 데이터 양
doris_be_load_bytesBytestablet sink를 통해 전송한 누적 바이트 수데이터 적재량을 확인합니다P0
doris_be_load_rowsNumtablet sink를 통해 전송한 행의 누적 수데이터 적재량을 확인합니다P0
fragment_thread_pool_queue_sizeNum쿼리 실행 스레드 풀의 현재 대기열 길이값이 양수이면 쿼리 스레드가 모두 사용 중이며 쿼리가 적체되고 있음을 나타냅니다P0
doris_be_all_rowsets_numNum현재 모든 rowset의 총수P0
doris_be_all_segments_numNum현재 모든 segment의 총수P0
doris_be_heavy_work_max_threadsNumbrpc heavy 스레드 풀의 스레드 수P0
doris_be_light_work_max_threadsNumbrpc light 스레드 풀의 스레드 수P0
doris_be_heavy_work_pool_queue_sizeNumbrpc heavy 스레드 풀의 최대 대기열 길이입니다. 이를 초과하면 작업 제출이 차단됩니다P0
doris_be_light_work_pool_queue_sizeNumbrpc light 스레드 풀의 최대 대기열 길이입니다. 이를 초과하면 작업 제출이 차단됩니다P0
doris_be_heavy_work_active_threadsNumbrpc heavy 스레드 풀의 활성 스레드 수P0
doris_be_light_work_active_threadsNumbrpc light 스레드 풀의 활성 스레드 수P0
routine_load_get_msg_latencyMillisecondsRoutine Load의 Kafka 메시지 조회 지연 시간
routine_load_get_msg_countNumRoutine Load의 Kafka 메시지 조회 횟수
routine_load_consume_bytesBytesRoutine Load가 Kafka에서 소비한 데이터 양
routine_load_consume_rowsNumRoutine Load가 Kafka에서 소비한 행 수
doris_be_tablet_size_based_max_compaction_scoreNumSize-based 전략의 현재 최대 Cumulative Compaction ScoreGauge이며, 4.1.5에서 추가되었습니다. 통합 모드와 컴퓨팅과 스토리지 분리 모드를 지원합니다
doris_be_tablet_time_series_max_compaction_scoreNumTime-series 전략의 현재 최대 Cumulative Compaction ScoreGauge이며, 4.1.5에서 추가되었습니다. 통합 모드와 컴퓨팅과 스토리지 분리 모드를 지원합니다
doris_be_hdfs_file_open_readingNum실제로 열려 있는 현재 HDFS 파일 핸들 수Gauge입니다. 버전 4.1.5부터 reader 객체 대신 공유 파일 핸들을 집계합니다
doris_be_hdfs_file_reader_totalNumHDFS 파일 핸들을 성공적으로 연 누적 횟수Counter입니다. 버전 4.1.5부터 파일을 전혀 열지 않는 reader는 이 값을 증가시키지 않으며, 캐시된 핸들을 재사용할 때도 다시 집계하지 않습니다

전략별 두 Compaction Score는 최댓값입니다. 두 값을 더하거나 Counter의 증가율 계산을 적용하지 마세요. 전체 검사를 마친 후 적격 tablet이 없는 전략의 값은 영으로 재설정될 수 있습니다. 통합 모드 검사에서 디스크 용량 제한으로 일부 디렉터리를 건너뛰는 경우에는 이를 이유로 이전에 관측된 값을 낮추지 않습니다.

머신 모니터링​

이름레이블단위의미설명우선순위
doris_be_cpuNum/proc/stat에서 수집한 CPU 관련 모니터링 지표입니다. 각 논리 코어의 값을 수집합니다. 예를 들어 {device="cpu0",mode="nice"}는 cpu0의 nice 값을 나타냅니다이 값으로 CPU 사용률을 계산할 수 있습니다P0
doris_be_disk_bytes_readBytes누적 디스크 읽기 양입니다. /proc/diskstats에서 수집합니다. 각 디스크의 값을 수집합니다. 예를 들어 {device="vdd"}는 vdd 디스크의 값을 나타냅니다
doris_be_disk_bytes_writtenBytes누적 디스크 쓰기 양입니다. 위와 같은 방식으로 수집합니다
doris_be_disk_io_time_msMilliseconds위와 같은 방식으로 수집합니다이 값으로 IO Util을 계산할 수 있습니다P0
doris_be_disk_io_time_weightedMilliseconds위와 같은 방식으로 수집합니다
doris_be_disk_reads_completedNum위와 같은 방식으로 수집합니다
doris_be_disk_read_time_msMilliseconds위와 같은 방식으로 수집합니다
doris_be_disk_writes_completedNum위와 같은 방식으로 수집합니다
doris_be_disk_write_time_msMilliseconds위와 같은 방식으로 수집합니다
doris_be_fd_num_limitNum시스템 파일 핸들 수의 상한입니다. /proc/sys/fs/file-nr에서 수집합니다
doris_be_fd_num_usedNum시스템이 사용하는 파일 핸들 수입니다. /proc/sys/fs/file-nr에서 수집합니다
doris_be_file_created_totalNum로컬 파일 생성의 누적 횟수local_file_writer를 호출하고 최종적으로 닫힌 모든 파일을 집계합니다
doris_be_load_averageNum머신의 Load Avg 지표를 모니터링합니다. 예를 들어 {mode="15_minutes"}는 15분 Load Avg입니다머신의 전체 부하를 확인합니다P0
doris_be_max_disk_io_util_percentPercentage모든 디스크에서 계산된 IO UTIL의 최댓값P0
doris_be_max_network_receive_bytes_rateBytes/Sec모든 네트워크 인터페이스에서 계산된 수신 속도의 최댓값P0
doris_be_max_network_send_bytes_rateBytes/Sec모든 네트워크 인터페이스에서 계산된 전송 속도의 최댓값P0
doris_be_memory_pgpginBytes시스템이 디스크에서 메모리 페이지로 기록한 데이터 양
doris_be_memory_pgpgoutBytes시스템 메모리 페이지에서 디스크로 기록한 데이터 양
doris_be_memory_pswpinBytes시스템이 디스크에서 메모리로 스왑 인한 양일반적으로 swap을 비활성화해야 하므로 이 값은 0이어야 합니다
doris_be_memory_pswpoutBytes시스템이 메모리에서 디스크로 스왑 아웃한 양일반적으로 swap을 비활성화해야 하므로 이 값은 0이어야 합니다
doris_be_network_receive_bytesBytes각 네트워크 인터페이스의 누적 수신 바이트 수입니다. /proc/net/dev에서 수집합니다
doris_be_network_receive_packetsNum각 네트워크 인터페이스의 누적 수신 패킷 수입니다. /proc/net/dev에서 수집합니다
doris_be_network_send_bytesBytes각 네트워크 인터페이스의 누적 전송 바이트 수입니다. /proc/net/dev에서 수집합니다
doris_be_network_send_packetsNum각 네트워크 인터페이스의 누적 전송 패킷 수입니다. /proc/net/dev에서 수집합니다
doris_be_proc{mode="ctxt_switch"}NumCPU 컨텍스트 전환의 누적 횟수입니다. /proc/stat에서 수집합니다비정상적인 컨텍스트 전환이 있는지 확인합니다P0
doris_be_proc{mode="interrupt"}NumCPU 인터럽트의 누적 횟수입니다. /proc/stat에서 수집합니다
doris_be_proc{mode="procs_blocked"}Num시스템에서 현재 차단된 프로세스 수입니다(예: IO 대기). /proc/stat에서 수집합니다
doris_be_proc{mode="procs_running"}Num시스템에서 현재 실행 중인 프로세스 수입니다. /proc/stat에서 수집합니다
doris_be_snmp_tcp_in_errsNumtcp 패킷 수신 오류 수입니다. /proc/net/snmp에서 수집합니다재전송, 패킷 손실 등의 네트워크 오류를 확인합니다. 다른 snmp 지표와 함께 사용합니다P0
doris_be_snmp_tcp_in_segsNum수신한 tcp 패킷 수입니다. /proc/net/snmp에서 수집합니다
doris_be_snmp_tcp_out_segsNum전송한 tcp 패킷 수입니다. /proc/net/snmp에서 수집합니다
doris_be_snmp_tcp_retrans_segsNumtcp 패킷 재전송 횟수입니다. /proc/net/snmp에서 수집합니다

bvar 진단 지표​

다음 지표는 버전 4.1.5부터 지원하며, 앞서 설명한 brpc 포트를 사용합니다. Counter는 프로세스 시작 시점부터 누적되며, Gauge는 현재 값을 나타냅니다.

이름 또는 접두사프로세스유형의미
sync_tablets_meta_num컴퓨팅과 스토리지 분리 모드의 BECounter백그라운드에서 tablet 메타데이터 동기화를 시도한 누적 횟수입니다. 호출 전에 집계하므로 성공한 호출 수를 나타내지는 않습니다
sync_tablets_rowsets_num컴퓨팅과 스토리지 분리 모드의 BECounter백그라운드에서 tablet rowset 동기화를 시도한 누적 횟수입니다. 호출 전에 집계하므로 성공한 호출 수를 나타내지는 않습니다
vertical_compaction_active_segment_contextsBEGauge수직 Compaction이 보유한 활성 Segment 컨텍스트의 현재 수
hdfs_get_path_infoBE지연 시간 통계, 마이크로초HDFS 파일 메타데이터 접근을 진단하기 위한 hdfsGetPathInfo 지연 시간 지표의 접두사
ms_repair_tablet_indexMeta ServiceCounter트랜잭션 커밋 중 누락된 db_id를 추가하여 복구한 과거 Tablet Index 레코드의 누적 수입니다. 커밋이 성공한 후에만 집계합니다
file_cache_ttl_mgr_ttl_info_map_size (캐시 경로 접두사 포함)BEGauge메모리에서 추적 중인 tablet TTL 정보 항목의 현재 수이며, 캐시 블록 수를 나타내지는 않습니다

캐시 경로 접두사와 축출 지표는 File Cache 모니터링을 참고하세요. 수직 Compaction이 끝나면 BE INFO 로그 필드 vertical_compaction_active_segment_contexts_peak에 해당 태스크의 최대 컨텍스트 수가 기록됩니다. 이는 로그 필드이며 별도의 프로세스 수준 Gauge가 아닙니다.

자주 묻는 질문​

Q: 모니터링 엔드포인트에서 404가 반환됩니다. 어떻게 해야 하나요?​

FE의 http_port 또는 BE의 webserver_port에 접속하고 있는지 확인하고, fe.conf / be.conf에서 실제 포트 값을 확인하세요.

Q: Counter 지표는 증가하기만 하고 감소하지 않습니다. 정상인가요?​

정상입니다. Counter는 누적값을 나타냅니다. 순간 증가율을 구하려면 일정 간격으로 샘플링하고 기울기를 계산해야 합니다(예: PromQL의 rate()).

Q: 여러 FE 간 doris_fe_max_journal_id 차이가 너무 큽니다. 어떻게 해야 하나요?​

메타데이터 동기화가 지연되고 있음을 나타냅니다. Master FE에 대한 Follower / Observer FE의 네트워크 연결 상태와 로그 재생 속도를 확인하세요.

Q: Compaction Score가 계속 너무 높습니다. 어떻게 문제를 해결하나요?​

doris_be_tablet_base_max_compaction_score와 doris_be_tablet_cumulative_max_compaction_score를 중점적으로 살펴보고, 디스크 IO 및 Compaction 태스크 수와 함께 분석하여 병목 지점을 파악하세요.

Q: 쿼리나 데이터 적재가 적체되고 있습니다. 어떻게 문제를 해결하나요?​

fragment_thread_pool_queue_size, doris_be_scanner_thread_pool_queue_size, doris_be_send_batch_thread_pool_queue_size 등의 스레드 풀 대기열 지표를 확인하세요.