Dameng 데이터베이스(DM8)by DEM
설치 및 설정¶
사전 조건¶
- DM8 설치
- DEM 설치
DEM은 Dameng Enterprise Manager의 약자로, 다멍이 제공하는 java 기반의 웹 도구이며 다멍 데이터베이스를 모니터링하는 데 사용됩니다.
DEM 설정¶
- DEM에 접속하여 모니터링-데이터베이스 모니터링을 클릭한 뒤, “+”를 클릭해 모니터링할 데이터베이스 인스턴스를 추가합니다.
- 시스템-시스템 설정을 클릭하고, 7번째 항목인 “기타 기능”에서
prometheus_metric_mf_nodes와prometheus_metric_db_nodes를 수정하여 각각 호스트와 데이터베이스 노드를 추가해 Prometheus 지표를 노출한 뒤, 수정 후 “저장”을 클릭합니다. http://<dem-server>:8080/dem/metrics엔드포인트를 요청했을 때 Prometheus 지표가 출력되면 설정이 성공한 것입니다. 지표에는 다음과 같은 중요한 태그가 있습니다:instance: DEM 인스턴스db: 데이터베이스 인스턴스 이름mf: 호스트
DataKit 수집기 설정¶
DEM은 metrics URL을 직접 노출할 수 있으므로, prom 수집기를 통해 바로 수집할 수 있습니다.
설정 파일 생성:
# Prometheus 수집기 설정 파일 디렉터리로 이동
cd /usr/local/datakit/conf.d/samples
# 플러그인 설정 파일 생성
cp promv2.conf.sample promv2_dem.conf
설정 파일 promv2_dem.conf의 다음 필드를 수정합니다:
- source: Datakit에 표시되는 수집기 별칭
- url: 수집 엔드포인트
- measurement_name: 지표 집합 이름
전체 설정 예시:
# {"version": "1.75.1", "desc": "do NOT edit this line"}
[[inputs.promv2]]
## 수집기 별칭.
source = "prom_dem"
url = "http://192.168.195.55:8080/dem/metrics"
## (선택) 수집 간격: (기본값은 "30s").
interval = "30s"
## 측정 이름.
## measurement_name이 비어 있으면, 지표 이름을 '_'로 분리한 뒤 첫 번째 필드를 측정 집합 이름으로 사용하고, 나머지를 현재 지표 이름으로 사용합니다.
## measurement_name이 비어 있지 않으면, 이를 측정 집합 이름으로 사용합니다.
measurement_name = "prom_dem"
## 기존 지표 이름 유지
## keep_exist_metric_name이 true이면, 필드 이름에 원시 값을 유지합니다.
## bearer_token_file은 토큰 파일을 지정하며, Authorization 헤더가 자동으로 추가됩니다.
# bearer_token_file = ""
## TLS 설정
# insecure_skip_verify = true
## 다음 ca_certs/cert/cert_key는 insecure_skip_verify가 true일 때 선택 사항입니다.
# ca_certs = ["/opt/tls/ca.crt"]
# cert = "/opt/tls/client.root.crt"
# cert_key = "/opt/tls/client.root.key"
## 전송을 활성화하려면 'true'로 설정합니다.
election = true
## 데이터 수집에 HTTP 헤더를 추가합니다(예: 기본 인증).
# [inputs.promv2.http_headers]
# Authorization = ""
[inputs.promv2.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
DataKit 재시작¶
지표¶
| 지표 이름 | 설명 | 단위 |
|---|---|---|
dm_global_status_tps |
초당 트랜잭션 수 | 회/초 |
dm_global_status_qps |
초당 실행 수 | 회/초 |
dm_global_status_qps_in_plsql |
PL/SQL에서의 초당 실행 수 | 회/초 |
dm_global_status_nio_ips |
클라이언트로부터 초당 수신한 총 바이트 수 | 바이트/초 |
dm_global_status_nio_ops |
클라이언트로 초당 전송한 총 바이트 수 | 바이트/초 |
dm_global_status_fio_ips |
초당 물리 읽기 횟수 | 회/초 |
dm_global_status_fio_ops |
초당 물리 쓰기 횟수 | 회/초 |
dm_global_status_mem_used |
사용 중인 메모리 양 | 바이트 |
dm_global_status_cpu_use_rate |
운영체제에서 DM 데이터베이스의 CPU 사용률 | 퍼센트 |
dm_global_status_swap |
스왑 공간의 총 바이트 수 또는 사용된 바이트 수 | 바이트 |
dm_global_status_sessions |
세션의 총 개수 또는 활성 세션 수 | 개 |
dm_global_status_task_waiting |
대기 중인 작업 수 | 개 |
dm_global_status_task_ready |
준비된 작업 수 | 개 |
dm_global_status_task_total_wait_time |
총 대기 시간 | 초 |
dm_global_status_avg_wait_time |
평균 대기 시간 | 초 |
dm_global_status_threads |
해당 데이터베이스에서 할당된 스레드 수 | 개 |
dm_mf_status_cpu_use_rate |
호스트의 CPU 사용률(사용자 모드, 시스템 모드, 대기 모드, 총 사용률) | 퍼센트 |
dm_mf_status_memory_mem_total_bytes |
호스트의 총 메모리 바이트 수 | 바이트 |
dm_mf_status_memory_mem_used_bytes |
호스트의 사용 중인 메모리 바이트 수 | 바이트 |
dm_mf_status_memory_swap_total_bytes |
호스트의 총 스왑 공간 바이트 수 | 바이트 |
dm_mf_status_memory_swap_used_bytes |
호스트의 사용 중인 스왑 공간 바이트 수 | 바이트 |
dm_mf_status_memory_swap_page_in |
호스트가 스왑 공간에서 읽어 들인 페이지 수 | 페이지 |
dm_mf_status_memory_swap_page_out |
호스트가 스왑 공간에 기록한 페이지 수 | 페이지 |
dm_mf_status_disk_total_bytes |
호스트의 총 디스크 바이트 수 | 바이트 |
dm_mf_status_disk_used_bytes |
호스트의 사용 중인 디스크 바이트 수 | 바이트 |
dm_mf_status_disk_write_speed_bytes |
호스트가 초당 디스크에 기록하는 바이트 수 | 바이트/초 |
dm_mf_status_disk_read_speed_bytes |
호스트가 초당 디스크에서 읽는 바이트 수 | 바이트/초 |
dm_mf_status_network_receive_speed_bytes |
호스트가 초당 네트워크에서 수신하는 바이트 수 | 바이트/초 |
dm_mf_status_network_transmit_speed_bytes |
호스트가 초당 네트워크로 전송하는 바이트 수 | 바이트/초 |
dm_mf_status_filesystem_total_bytes |
호스트 파일 시스템의 총 바이트 수 | 바이트 |
dm_mf_status_filesystem_used_bytes |
호스트 파일 시스템의 사용 중인 바이트 수 | 바이트 |