MongoDB 지표
데이터베이스 지표는 데이터베이스의 작업량과 리소스 사용량을 포괄적으로 수집한 데이터입니다. 와탭 모니터링 서비스는 지속적으로 지표를 수집하여 데이터베이스의 병목 현상을 확인하고, 성능 문제의 근본 원인을 식별하는 데 도움이 되는 데이터를 제공합니다.
MongoDB에서는 db.serverStatus
로부터 주요 지표를 수집하며, 다음은 수집하는 주요 지표에 대한 설명입니다. 그외 지표에 대한 자세한 내용은 다음 문서를 참조하세요.
agent_status_summary
에이전트 상태와 관련한 지표를 10초 간격으로 수집한 카테고리입니다.
Fields
필드명 | 단위 | 설명 | 비고 |
---|---|---|---|
inActTime | 밀리초(ms) | 에이전트가 비활성화된 상태로 유지된 시간 | - |
isActive | - | 현재 에이전트의 활성 상태 여부 | true / false |
isRestart | - | 에이전트가 최근에 재시작되었는지 여부 | true / false |
lastActTime | 밀리초(ms) | 마지막으로 에이전트가 활성화된 상태의 시각 | 0 : 비활성화된 경우 |
oid | - | 프로젝트에 포함된 각 에이전트의 고유 식별자 | - |
startTime | 밀리초(ms) | 에이전트가 시작된 시점의 타임스탬프 | - |
db_mongodb_counter
Tags
다음은 db_mongodb_counter
카테고리에 수집되는 태그값에 대한 안내입니다.
태그명 | 설명 | 비고 |
---|---|---|
oname | 에이전트 이름입니다. | 고유값 |
Field
다음은 db_mongodb_counter
카테고리에 수집되는 필드값에 대한 안내입니다.
Metrics | Description |
---|---|
accepted$tcpFastOpen$network | TCP Fast Open을 통해 수락된 네트워크 연결 수입니다. |
active$connections | 현재 작업이 진행 중인 액티브 클라이언트 연결 수입니다. |
available$connections | 사용할 수 있는 네트워크 연결 수입니다. |
awaitingTopologyChanges$connections | 토폴로지 변경을 기다리고 있는 연결 수입니다. |
bytesIn$compressor$snappy$compression$network | Snappy 압축을 통해 수신된 네트워크 바이트 수입니다. |
bytesIn$compressor$zlib$compression$network | zlib 압축을 통해 수신된 네트워크 바이트 수입니다. |
bytesIn$compressor$zstd$compression$network | zstd 압축을 통해 수신된 네트워크 바이트 수입니다. |
bytesIn$decompressor$snappy$compression$network | Snappy 압축 해제를 통해 수신된 네트워크 바이트 수입니다. |
bytesIn$decompressor$zlib$compression$network | zlib 압축 해제를 통해 수신된 네트워크 바이트 수입니다. |
bytesIn$decompressor$zstd$compression$network | zstd 압축 해제를 통해 수신된 네트워크 바이트 수입니다. |
bytesIn$network | MongoDB 클라이언트나 기타 인스턴스의 연결을 통해 서버가 수신한 총 네트워크 바이트 수입니다. |
bytesOut$compressor$snappy$compression$network | Snappy 압축을 통해 송신된 네트워크 바이트 수입니다. |
bytesOut$compressor$zlib$compression$network | zlib 압축을 통해 송신된 네트워크 바이트 수입니다. |
bytesOut$compressor$zstd$compression$network | zstd 압축을 통해 송신된 네트워크 바이트 수입니다. |
bytesOut$decompressor$snappy$compression$network | Snappy 압축 해제를 통해 송신된 네트워크 바이트 수입니다. |
bytesOut$decompressor$zlib$compression$network | zlib 압축 해제를 통해 송신된 네트워크 바이트 수입니다. |
bytesOut$decompressor$zstd$compression$network | zstd 압축 해제를 통해 송신된 네트워크 바이트 수입니다. |
bytesOut$network | MongoDB 클라이언트나 기타 인스턴스의 연결을 통해 서버가 보낸 총 네트워크 바이트 수입니다. |
clientsInTotal$fixed$serviceExecutors$network | 고정 서비스 실행기에서 처리된 총 클라이언트 수입니다. |
clientsInTotal$passthrough$serviceExecutors$network | 패스스루 서비스 실행기에서 처리된 총 클라이언트 수입니다. |
clientsRunning$fixed$serviceExecutors$network | 고정 서비스 실행기에서 실행 중인 클라이언트 수입니다. |
clientsRunning$passthrough$serviceExecutors$network | 패스스루 서비스 실행기에서 실행 중인 클라이언트 수입니다. |
clientsWaitingForData$fixed$serviceExecutors$network | 고정 서비스 실행기에서 데이터 대기 중인 클라이언트 수입니다. |
clientsWaitingForData$passthrough$serviceExecutors$network | 패스스루 서비스 실행기에서 데이터 대기 중인 클라이언트 수입니다. |
command$opcounters | 데이터베이스에서 실행된 총 명령 수입니다. |
connect_error | 연결 오류 수입니다. |
cpu | extra_info 지표의 user_time_us 및 system_time_us 값으로 계산한 CPU 사용률입니다. |
cpu_cores | 사용 가능한 CPU 코어 수입니다. |
cpu_sys | 시스템에서 사용된 CPU 시간입니다. |
cpu_user | 사용자 작업에 사용된 CPU 시간입니다. |
current$connections | 현재 서버에 연결된 총 클라이언트 수입니다. |
delete$opcounters | 처리된 삭제 명령 수입니다. |
exhaustHello$connections | exhaustHello 메시지와 관련된 연결 수입니다. |
exhaustIsMaster$connections | exhaustIsMaster 메시지와 관련된 연결 수입니다. |
fatal count | 치명적 오류의 발생 횟수입니다. |
getmore$opcounters | 처리된 getMore 작업 수입니다. |
input_blocks$extra_info | 시스템의 입력 블록 값입니다. |
insert$opcounters | 처리된 Insert 명령 수입니다. |
involuntary_context_switches$extra_info | 강제 컨텍스트 스위치 발생 횟수와 관련된 추가 정보입니다. |
kernelSetting$tcpFastOpen$network | TCP Fast Open에 대한 커널 설정 상태입니다. |
latency$commands$opLatencies | 데이터베이스 명령에 대한 대기 시간입니다. |
latency$reads$opLatencies | 읽기 작업에 소요된 지연 시간입니다. |
latency$transactions$opLatencies | 트랜잭션 처리에 소요된 지연 시간입니다. |
latency$writes$opLatencies | 쓰기 작업에 소요된 지연 시간입니다. |
maximum_resident_set_kb$extra_info | 최대 거주 세트 크기(KB)와 관련된 추가 정보입니다. |
msg$asserts | 발생한 메시지 단언(assert)의 수입니다. |
node_state | 노드의 현재 상태입니다. |
numRequests$network | 서버가 수신한 네트워크 총 요청 수입니다. |
numSlowDNSOperations$network | 느린 DNS 작업의 수입니다. |
numSlowSSLOperations$network | 느린 SSL 작업의 수입니다. |
ops$commands$opLatencies | 명령어 작업의 처리 횟수입니다. |
ops$reads$opLatencies | 읽기 작업의 처리 횟수입니다. |
ops$transactions$opLatencies | 트랜잭션 작업의 처리 횟수입니다. |
ops$writes$opLatencies | 쓰기 작업의 처리 횟수입니다. |
output_blocks$extra_info | 시스템의 출력 블록 값입니다. |
page_faults$extra_info | 페이지 폴트와 관련된 추가 정보입니다. |
page_reclaims$extra_info | 페이지 재획득과 관련된 추가 정보입니다. |
physicalBytesIn$network | 수신된 물리적 바이트 수입니다. |
physicalBytesOut$network | 송신된 물리적 바이트 수입니다. |
query$opcounters | 처리된 쿼리 명령 수입니다. |
readers$activeClients$globalLock | 활성화된 읽기 클라이언트 수(global lock)입니다. |
readers$currentQueue$globalLock | 현재 대기 중인 읽기 클라이언트 수(global lock)입니다. |
regular$asserts | 발생한 일반 단언(assert)의 수입니다. |
replication_delay_max | 최대 복제 지연 시간입니다. |
resident$mem | 사용 중인 실제 메모리 크기입니다. |
rollovers$asserts | 발생한 롤오버 단언(assert)의 수입니다. |
system_time_us$extra_info | 시스템 시간(마이크로초)과 관련된 추가 정보입니다. |
threaded$connections | 스레드 기반 연결 수입니다. |
threadsRunning$fixed$serviceExecutors$network | 고정 서비스 실행기에서 실행 중인 스레드 수입니다. |
threadsRunning$passthrough$serviceExecutors$network | 패스스루 서비스 실행기에서 실행 중인 스레드 수입니다. |
total$activeClients$globalLock | 활성화된 총 클라이언트 수(global lock)입니다. |
total$currentQueue$globalLock | 현재 대기 중인 총 클라이언트 수(global lock)입니다. |
totalCreated$connections | 생성된 총 연결 수입니다. |
totalTime$globalLock | 글로벌 잠금(global lock)에 소요된 총 시간입니다. |
tripwire$asserts | 발생한 트립와이어 단언(assert)의 수입니다. |
update$opcounters | 처리된 업데이트 명령 수입니다. |
user$asserts | 발생한 사용자 단언(assert)의 수입니다. |
user_time_us$extra_info | 사용자 시간(마이크로초)과 관련된 추가 정보입니다. |
virtual$mem | 사용 중인 가상 메모리 크기입니다. |
voluntary_context_switches$extra_info | 자발적인 컨텍스트 스위치 발생 횟수와 관련된 추가 정보입니다. |
warning count | 경고 메시지 수입니다. |
warning$asserts | 발생한 경고 단언(assert)의 수입니다. |
writers$activeClients$globalLock | 활성화된 쓰기 클라이언트 수(global lock)입니다. |
writers$currentQueue$globalLock | 현재 대기 중인 쓰기 클라이언트 수(global lock)입니다. |
노트
와탭은 클라이언트와 관련한 정보를 기본 저장합니다.
XOS 관련 지표
다음은 XOS 에이전트로부터 수집되는 지표들에 대한 설명입니다.
Metric | Unit | Description |
---|---|---|
cpu(xos) | pct | cpu 사용율, cpu_user + cpu_sys + cpu_iowait 의 합입니다. |
cpu_user(xos) | pct | cpu가 사용자 코드를 실행하는데 소요한 시간입니다. |
cpu_sys(xos) | pct | cpu가 kernel code를 수행한 시간입니다. |
cpu_iowait(xos) | pct | cpu가 IO를 대기한 시간입니다. |
cpu_idle(xos) | pct | cpu 프로세서 유휴 시간입니다. |
disk_reads(xos) | block | 디스크로부터 읽은 데이터의 양입니다. |
disk_read_bytes(xos) | byte | 디스크로부터 읽은 데이터의 양입니다. |
disk_writes(xos) | block | 디스크로 쓰여진 데이터의 양입니다. |
disk_write_bytes(xos) | byte | 디스크로 쓰여진 데이터의 양입니다. |
mem(xos) | pct | 메모리 사용율입니다. |
mem_total(xos) | MB | 전체 메모리양입니다. |
mem_free(xos) | MB | 시스템에서 사용하고 있지 않은 메모리양입니다. |
mem_used(xos) | MB | 시스템에서 사용하고 있는 메모리양입니다. |
mem_buffcache(xos) | MB | buff/cache로 사용중인 메모리양입니다. |
mem_swaptotal(xos) | MB | Swap 전체 사이즈, 물리메모리가 부족한 경우를 대비하여 설정합니다. |
mem_swapfree(xos) | MB | Swap의 사용하지 않은 영역, Swap 영역은 디스크 공간에 확보되기 때문에 Swap을 사용하고 있다면 시스템 성능이 급격하게 떨어질 수 있습니다. |
mem_available(xos) | MB | 메모리 가용영역입니다. |
net_recv_bytes(xos) | byte | 네트워크로 수신된 데이터의 양입니다. |
net_recv_packets(xos) | - | 네트워크로 수신된 데이터 패킷의 수입니다. |
net_send_bytes(xos) | byte | 네트워크로 전송한 데이터의 양입니다. |
net_send_packets(xos) | - | 네트워크로 전송한 데이터 패킷의 수입니다. |