본문으로 건너뛰기

DBX 에이전트 설정

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

    mongodb

    주의

    다른 옵션 값을 입력할 경우 모니티링을 위한 데이터 수집이 정상 작동하지 않을 수 있습니다.

  • db_ip String

    모니터링할 데이터베이스 서버의 IP 주소를 설정합니다.

  • db_port String

    데이터베이스가 통신에 사용하는 포트를 설정합니다.

데이터 수집

  • long_run_session_sec Second

    기본값 10

    설정한 시간보다 길게 수행되고 있는 세션을 long run 세션으로 처리합니다. (단위: 초)

  • tables_hour Int

    기본값 5

    테이블 정보를 저장하기 위해 정보를 수집하는 시각을 설정합니다. 기본값으로 5이며 새벽 5시에 수집을 시작합니다.

  • replication_name String

    리플리케이션 이름을 설정하면 동일한 replication_name을 갖는 DB 사이에 Master/Slave 관계가 있는 것으로 간주합니다.

    리플리케이션 세트를 정의하는 옵션으로 마스터, 슬레이브 노드에 모두 동일한 값의 replication_name 옵션을 설정하면 인스턴스 모니터링에서 트리 구조로 표시됩니다. 또한 이 옵션 값을 기준으로 Flex 보드에서 리플리케이션 상태를 모니터링하는 위젯을 제공합니다.

  • skip_whatap_session Int

    기본값 0

    1을 설정하면 와탭에서 수집하기 위한 query가 동작하는 세션을 active session list에 표시하지 않습니다.(기본값: 0)

  • collections Boolean

    기본값 true

    컬렉션 사이즈 정보의 저장 여부를 설정합니다. 저장하지 않으려면 false로 변경하세요.

    노트

    이 옵션과 관련한 데이터베이스 사이즈 메뉴에 대한 자세한 내용은 다음 문서를 참조하세요.

  • collections_hour Int

    기본값 5

    컬렉션 정보를 저장하기 위해 정보 수집 시각을 설정합니다. 기본값은 5이며 새벽 5시에 수집을 시작합니다.

    노트

    이 옵션과 관련한 데이터베이스 사이즈 메뉴에 대한 자세한 내용은 다음 문서를 참조하세요.

AWS RDS CloudWatch 적용

AWS CloudWatch를 이용하는 에이전트 설정에 대한 설명입니다. 수집을 시작하면 메트릭스에 포함되며, 분석 > 메트릭스 차트 메뉴의 db_redis_counter 카테고리에서 다른 지표들과 함께 확인할 수 있습니다.

  • aws_region String

    AWS 리전을 설정합니다.

  • aws_arn String

    AWS 인증을 위해 적절한 권한을 가진 IAM ROLE의 ARN을 사용할 수 있습니다.

    필수 권한

    ROLE은 다음의 권한(Policy)이 필요합니다.

    권한권한 내용
    rds:DescribeDBInstances인스턴스 클래스 정보 수집
    rds:DescribeDBClustersautoscale 사용 시 클러스터의 정보 수집
    rds:DescribeDBLogFilesCloudWatch 로그 수집
    rds:DownloadDBLogFilePortionCloudWatch 로그 수집
    ec2:DescribeInstanceTypes인스턴스 클래스에 해당하는 cpu 개수 수집
    elasticache:DescribeCacheClusterselasticache 이용 시 인스턴스 클래스 정보 수집
    cloudwatch:ListMetricsCloudWatch 지표 리스트 수집
    cloudwatch:GetMetricStatisticsCloudWatch 지표의 값 수집
    logs:DescribeLogStreamsCloudWatch 로그 수집(게시된 로그 기능 사용 시)
    logs:GetLogEventsCloudWatch 로그 수집(게시된 로그 기능 사용 시)
  • 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를 모니터링하고 데이터를 수집합니다.

whatap.conf
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
노트
  • 역할 ARN(Role ARN)에 대한 자세한 내용은 다음 링크를 참조하세요.

  • IAM ROLE의 ARN 값을 이용하지 않고 EC2에 RDS CloudWatch Metric의 수집 권한을 부여해 데이터를 수집하는 방법은 다음 문서를 참조하세요.

AES 256 암호화 적용

와탭 DBX 에이전트는 수집된 데이터를 암호화하여 서버로 전송합니다. 데이터의 중요도나 설정에 따라 이를 변경할 수 있습니다. 기본적으로 XOR 연산과 AES 알고리즘을 통한 암호화를 사용하며 평문을 128비트 단위로 나누어 암호화, 복호화를 수행합니다. 사용자 설정에 따라 256비트까지 확장할 수 있습니다.

와탭 DBX 에이전트를 설치한 경로에서 whatap.conf 파일에 다음과 같이 옵션을 추가하세요.

whatap.conf
cypher_level=256

설정을 추가한 다음 에이전트를 다시 시작하세요.

에이전트 이름 식별

Details

에이전트 이름 설정 와탭 모니터링 서비스에서 모니터링 대상을 포괄적인 의미로 오브젝트라는 명칭을 사용하며 에이전트와 혼용해서 사용하기도 합니다. 모니터링 대상 즉 오브젝트를 구분하기 위해서는 이름을 구분해야 합니다. 와탭은 오브젝트 이름과 오브젝트 아이디를 통해서 대상을 구분합니다.

노트
  • 오브젝트(에이전트) 이름은 프로젝트 단위로 유일해야 합니다.
  • 오브젝트 아이디 = CRC32(오브젝트 이름)입니다. 오브젝트 아이디 또는 이름이 바뀌면 이전 데이터와 연결되지 않습니다.

와탭은 모니터링 정보 수집 대상인 데이터베이스 서버 식별을 위한 정보로 기본적으로 데이터베이스 서버로부터 수집한 정보를 활용합니다. 기본 활용 정보는 데이터베이스 서버의 종류, IP 주소, 서비스 포트 등을 조합해 데이터베이스 서버를 고유 식별자로 사용합니다. 필요에 따라 사용자가 설정한 명칭을 이용하거나 패턴을 변경해 고유한 값으로 변경해 이용합니다. 에이전트의 이름은 반드시 고유한 값이어야 합니다.

데이터베이스 서버로부터 추출한 정보를 활용하는 이유는 데이터베이스 서버 정지 또는 네트워크 단절, 에이전트 문제로 인한 수집 서버와 에이전트의 통신 두절 상태가 복구되었을 경우, 재접속된 에이전트로부터 송신되는 정보가 기존 에이전트로부터 송신된 정보와의 연속성을 유지하기 위해서입니다.

  • object_name String

    기본값 {type}-{ip2}-{ip3}-{port}

    데이터베이스 서버를 식별하기 위한 에이전트 이름(ONAME) 구성 방식입니다. ONAME을 토대로 OID가 생성됩니다.

    설정설명
    {type}whatap.app_name에 설정된 값을 사용합니다
    {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.1313)
    {port}데이터베이스 서버 포트
    {hostname}호스트 명
  • auto_oname_enabled Boolean

    기본값 false

    서버에 등록할 에이전트 이름(oname)을 서버로부터 자동 부여받는 기능을 활성화합니다. 적용 시 -Dwhatap.name, -Dwhatap.oname 옵션은 무시합니다. 수집 서버와의 통신을 통해 oname을 부여받은 다음 에이전트의 일반적인 동작을 개시합니다.

  • auto_oname_prefix String

    기본값 agent

    에이전트 이름을 서버로부터 자동 부여할 때 에이전트 이름의 prefix, 보통 업무 명을 사용합니다. prefix 일련번호 1~)를 부여합니다.

  • auto_oname_reset Int

    기본값 0

    서버로부터 새로운 에이전트 이름을 부여받기 위해 수정합니다. 에이전트 이름을 자동 부여하면 whatap.oname이라는 시스템 환경 변수로 설정됩니다. 한번 정해진 시스템 환경 변수는 자바 인스턴스가 다시 시작할 때까지 유지합니다. 리셋을 원할 때 auto_oname_reset 값을 수정하세요. 현재 설정 값과 다른 값으로 변경하면 적용됩니다.