DBX 에이전트 설정
이 문서는 Oracle V2 모니터링을 기준으로 작성했습니다. Oracle V1 모니터링 문서는 다음 문서를 참조하세요.
DBX 에이전트에 필요한 설정은 whatap.conf 파일에 작성합니다. 설정할 수 있는 옵션은 다음을 참조하세요.
기본 옵션
-
license String
에이전트를 설치할 때 서버로부터 부여받은 프로젝트 액세스 키를 설정합니다. 프로젝트 액세스 키는 에이전트가 속한 프로젝트와 보안 통신을 위한 암호 키를 포함하고 있습니다.
-
whatap.server.host String
기본값
127.0.0.1,127.0.0.1
에이전트가 수집한 데이터를 전송할 와탭 수집 서버의 IP 주소를 설정하세요. 수집 서버 이중화로 2개 이상의 IP를 가진 경우 쉼표(,)를 구분자로 사용하세요. 설정한 IP 주소에는 수집 서버 proxy 데몬이 리스닝 상태로 서비스돼야 합니다.
-
whatap.server.port String
기본값
6600
수집 서버 포트(port)를 설정합니다. 포트는 하나만 설정할 수 있으므로
whatap_server_host
에 설정한 수집 서버들은 동일 포트를 사용해야 합니다. -
dbms String
oracle
주의다른 옵션 값을 입력할 경우 모니티링을 위한 데이터 수집이 정상 작동하지 않을 수 있습니다.
-
db String
접속할 데이터베이스 이름입니다.
-
db_ip String
모니터링할 데이터베이스 서버의 IP 주소를 설정합니다.
-
db_port String
데이터베이스가 통신에 사용하는 포트를 설정합니다.
데이터 수집
-
conn_fail_count Int
기본값
15
15번 연속 connection error가 발생할 때 알림을 보냅니다. 원하는 횟수를 입력해 알림 발생 기준을 조정할 수 있습니다.
-
db_param_enabled Boolean
기본값
true
DB 파라미터 수집 여부를 설정합니다.
-
event String
기본값:
총 8개 이벤트 보기
db file scattered read
,db file sequential read
,direct path read
,direct path write
,
enq: TX - row lock contention
,latch free
,library cache lock
,library cache pin
RAC환경일 때는 gc cr block receive time, gc current block receive time 의 2개 지표를 기본으로 더 수집합니다.
v$system_event
에서 위 지표에 해당하는 값을 수집합니다. db_oracle_counter 카테고리에서 확인할 수 있으며 이벤트 하나당 다음 3가지 값을 수집합니다.- time waited : 해당 이벤트에서 기다린 총 시간(단위: 1/100초). 예) db file sequential read time waited
- timeouts : 타임아웃으로 끝난 대기 횟수. 예) db file sequential read total timeouts
- total waits : 해당 이벤트가 발생한 총 횟수. 예) db file sequential read total waits
cf.) Oracle Pro에서는
event+=
와 같은 방식으로 작성하면 기본 외에 추가 지표를 설정할 수 있는데, 이 제품에서는 지원하지 않습니다. -
interval_sec Boolean
DBX agent v1.7.3 or later
기본값
true
에이전트에서 5초 단위로 수집한 데이터를 초 단위(
delta
1초 값)로 환산해 보고하는 옵션입니다. -
ora_bind_saving Boolean
기본값
true
SQL 실행시간이 5초 이상인 경우
v$sql_bind_capture
에서 해당 sql의 bind값을 수집합니다. (sys 계정 제외)cf.) oracle pro에서는 bind_interval, bind_max_count, bind_elapse로 옵션이 나뉘어져 있습니다.
-
ora_plan_saving Boolean
기본값
true
SQL plan이 변경되었거나 SQL 실행시간이 5초 이상인 경우
v$sql_plan에서 plan
정보를 수집합니다. (sys 계정 제외)cf.) oracle pro에서는 plan_change, plan_elapse로 옵션이 나뉘어져 있습니다.
-
ora_ratio Boolean
DBX agent v1.6.11 or later
기본값
false
각종 ratio 지표를 추가로 수집할 수 있습니다. 수집하는 지표는 다음과 같습니다.
buffer cache hit ratio
soft parse ratio
hard parse ratio
library cache hit ratio
library cache pin hit ratio
library cache get hit ratio
latch hit ratio
shared pool free mem ratio
-
segments Boolean
기본값
true
세그먼트 사이즈 정보를 수집합니다. 통계/보고서 > 테이블스페이스 사이즈 메뉴에서 해당 데이터베이스 또는 테이블스페이스를 선택하면 사이즈 정보를 확인할 수 있습니다.
-
segments_exclude_sys Boolean
기본값
true
sys에 해당하는 계정을 제외하고 사이즈 정보를 수집합니다.
-
segments_hour Int
기본값
5
세그먼트 사이즈 정보를 수집하는 시각을 설정합니다. 기본값으로
5
이며 새벽 5시에 수집을 시작합니다. -
segments_max_count Int
기본값
50
테이블스페이스 별로 사이즈가 큰 세그먼트 50개만 수집하여 저장합니다.
-
segments_min_size Int
기본값
10
세그먼트 사이즈 정보를 수집하는 최소 단위로 기본값은 10MB 입니다. 세그먼트 사이즈 정보를 수집할 때 설정한 값보다 작은 크기의 세그먼트 사이즈 정보는 수집하지 않습니다.
-
segments_sys String
기본값:
총 18개 계정 보기
SYS
,OUTLN
,SYSTEM
,AUDSYS
,DBSNMP
,GSMADMIN_INTERNAL
,
XDB
,WMSYS
,OJVMSYS
,CTXSYS
,ORDSYS
,ORDDATA
,
MDSYS
,LBACSYS
,DVSYS
,DBSFWUSER
,APPQOSSYS
,OLAPSYS
sys에 해당하는 계정 목록입니다. 위 계정에 추가하고 싶으면
segments_sys='xxx','xxx','xxx'
로 위 내용을 포함하여 추가로 적어줍니다. -
stat String
기본값:
총 22개 지표 보기
consistent gets
,cpu used by this session
,db block changes
,db block gets
,db time
,
data blocks consistent reads - undo records applied
,enqueue waits
,execute count
,
logons current
,opened cursors current
,parse count (hard)
,parse count (total)
,
physical reads
,physical writes
,redo entries
,rollback changes - undo records applied
,
session logical reads
,sorts (disk)
,sorts (memory)
,transaction tables consistent reads - undo records applied
,user commits
,user rollbacks
v$sysstat
에서 위 지표에 해당하는 값을 수집합니다. db_oracle_counter 카테고리에서 확인할 수 있습니다.cf.) Oracle Pro에서는
stat+=
와 같은 방식으로 작성하면 기본 외에 추가 지표를 설정할 수 있는데, 이 제품에서는 지원하지 않습니다. -
xview_min_sec Int
기본값
0
xview 수집 시, 쿼리의 수행 시간이 설정된 시간보다 오래 걸릴 때만 수집합니다. 기본 설정으로는 수행 시간이 0초 이상인 모든 쿼리를 수집합니다.
AWS RDS CloudWatch 적용
AWS CloudWatch를 이용하는 에이전트 설정에 대한 설명입니다. 수집을 시작하면 메트릭스에 포함되며, 관리 > 메트릭스 차트 메뉴의 db_oracle_counter
카테고리에서 다른 지표들과 함께 확인할 수 있습니다.
클라우드 설정 메뉴를 통해 더 쉽고 직관적으로 설정할 수 있습니다. 이 메뉴를 통해 클라우드 서비스에서 제공하는 모니터링 지표를 데이터베이스 프로젝트의 대시보드에서 추가로 수집하고 모니터링할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.
-
aws_region String
AWS 리전을 설정합니다.
-
aws_arn String
AWS 인증을 위해 적절한 권한을 가진 IAM ROLE의 ARN을 사용할 수 있습니다.
필수 권한
ROLE은 다음의 권한(Policy)이 필요합니다.
권한 권한 내용 rds:DescribeDBInstances 인스턴스 클래스 정보 수집 rds:DescribeDBClusters autoscale 사용 시 클러스터의 정보 수집 rds:DescribeDBLogFiles CloudWatch 로그 수집 rds:DownloadDBLogFilePortion CloudWatch 로그 수집 ec2:DescribeInstanceTypes 인스턴스 클래스에 해당하는 cpu 개수 수집 elasticache:DescribeCacheClusters elasticache 이용 시 인스턴스 클래스 정보 수집 cloudwatch:ListMetrics CloudWatch 지표 리스트 수집 cloudwatch:GetMetricStatistics CloudWatch 지표의 값 수집 logs:DescribeLogStreams CloudWatch 로그 수집(게시된 로그 기능 사용 시) logs:GetLogEvents CloudWatch 로그 수집(게시된 로그 기능 사용 시) -
cloud_watch String
CloudWatch 모니터링의 유무를 설정합니다. 설정 값은
on
또는off
입니다. -
cloud_watch_instance String
CloudWatch 인스턴스 명을 설정합니다.
-
cloud_watch_interval Second
CloudWatch로 모니터링 값을 가져올 간격을 설정합니다. (단위: 초)
-
cloud_watch_metrics String
CloudWatch로 가져올 모니터링 지표 이름을 설정합니다. 다음과 같이 설정할 수 있습니다.
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
RDS CloudWatch 수집을 위한 설정 예시
다음과 같은 기본 설정을 작성해야 RDS CloudWatch를 모니터링하고 데이터를 수집합니다.
cloud_watch=on
aws_region=ap-northeast-2
# AWS IAM에서 역할(Role)을 생성하고 역할 ARN(Role ARN) 값을 복사, 붙여넣기하세요.
aws_arn=arn:aws:iam::999999999999:role/UpdateApp
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
#인스턴스 이름 예시
cloud_watch_instance=pg-rds
#slow query 사용 시
slow_query_log=on
AES 256 암호화 적용
와탭 DBX 에이전트는 수집된 데이터를 암호화하여 서버로 전송합니다. 데이터의 중요도나 설정에 따라 이를 변경할 수 있습니다. 기본적으로 XOR 연산과 AES 알고리즘을 통한 암호화를 사용하며 평문을 128비트 단위로 나누어 암호화, 복호화를 수행합니다. 사용자 설정에 따라 256비트까지 확장할 수 있습니다.
와탭 DBX 에이전트를 설치한 경로에서 whatap.conf 파일에 다음과 같이 옵션을 추가하세요.
cypher_level=256
설정을 추가한 다음 에이전트를 다시 시작하세요.
에이전트 이름 설정
자동 설정하기
에이전트 설정(whatap.conf)에서 이름을 설정하지 않으면, 에이전트 이름은 IP 주소와 포트 번호가 결합되어 자동 지정됩니다. 예를 들어, IP 주소가 10.11.12.13이고 포트 번호가 3000이라면, 에이전트 이름은 DBX-12-13-3000으로 설정됩니다.
에이전트 이름을 결정하는 주요 변수는 다음을 참조하세요.
설정 | 설명 |
---|---|
{type} | DBX 값을 사용합니다. |
{ip0} | IPv4 주소 중 첫 번째 단위를 사용합니다. (예시, 10.11.12.13 중 10) |
{ip1} | IPv4 주소 중 두 번째 단위를 사용합니다. (예시, 10.11.12.13 중 11) |
{ip2} | IPv4 주소 중 세 번째 단위를 사용합니다. (예시, 10.11.12.13 중 12) |
{ip3} | IPv4 주소 중 네 번째 단위를 사용합니다. (예시, 10.11.12.13 중 13) |
{port} | 데이터베이스 서버 포트 |
RDS와 같이 IP 주소가 숫자가 아니라면 DBX-{ip0}
-{hash}
-{port}
형식으로 이름이 설정됩니다. 여기서 {hash}
값은 IP 주소를 4자리의 16진수로 변환한 값입니다.
수동 설정하기
에이전트 이름을 직접 설정하고 싶다면, whatap.conf 파일에서 whatap.name
또는 object_name
옵션에 원하는 이름을 입력하세요. 사용자가 입력한 이름이 에이전트 이름으로 설정됩니다.
whatap.name=agent-1234
# or
object_name=agent-1234