본문 바로가기
WIKI 기술 지식 베이스

DBM 설정 아키텍처

원문 보기 위키 갱신

DBM 설정 아키텍처 (DBM Setup Architectures)

출처: 문서

본문

개요 (Overview)

Datadog에서 데이터베이스 모니터링(Database Monitoring)을 설정하는 데 필요한 단계는 사용 중인 데이터베이스 유형(Postgres, MySQL, SQL Server, Oracle)과 호스트 제공자(자체 호스팅, AWS, Google Cloud SQL, Azure, Oracle)에 따라 달라져요. 어떤 호스트 제공자의 어떤 데이터베이스에서든 데이터베이스 모니터링을 사용하려면 다음이 필요해요.

에이전트 (Agent)

Datadog 에이전트는 CPU, 메모리, 네트워크 활동 같은 시스템 메트릭을 모니터링하는 가벼운 소프트웨어예요. 또한 SQL 사용자로 데이터베이스에 연결해서 데이터베이스 성능에 대한 데이터를 수집해요.

자체 호스팅 데이터베이스의 경우 에이전트를 데이터베이스를 호스팅하는 호스트에 직접 설치해요. Amazon RDS, Azure SQL 같은 클라우드 관리 데이터베이스의 경우 에이전트가 데이터베이스에 원격으로 연결하도록 구성해요.

자체 호스팅 데이터베이스 (Self-hosted databases)

자체 호스팅 설정에서 Datadog 에이전트는 운영 체제 호스트에서 시스템 메트릭을, 데이터베이스에서 직접 데이터베이스 메트릭을, 데이터베이스 로그에서 로그 이벤트를 수집해요.

자체 호스팅 설정에서는 데이터베이스 프로세스를 실행하는 시스템의 상태를 완전히 파악할 수 있도록 에이전트를 데이터베이스 호스트에 직접 설치해요.

에이전트에 데이터베이스에 대한 읽기 전용 액세스를 부여하고 통합(integration)을 구성해요. 에이전트는 사용자로 로그인해서 데이터베이스에서 읽기 전용 쿼리를 실행할 수 있어야 해요.

자체 호스팅 제공자로 데이터베이스 모니터링을 설정하는 지침:

클라우드 관리 데이터베이스 (Cloud-managed databases)

설정이 클라우드 관리 방식이라면(Amazon RDS나 Aurora, Google Cloud SQL, Azure 같은 제공자) 별도 호스트에 에이전트를 설치하고 각 관리형 인스턴스에 연결하도록 구성해요.

데이터베이스 모니터링은 해당 제공자와의 Datadog 통합을 사용해 클라우드 제공자에서 직접 CPU, 메모리, 디스크 사용량, 로그 및 관련 텔레메트리 같은 시스템 메트릭을 수집해요.

에이전트가 데이터베이스 인스턴스에 연결할 수만 있다면 에이전트를 어떤 클라우드 VM(예: EC2)에든 설치할 수 있어요.

자체 Kubernetes 클러스터를 운영하지 않는 경우 Datadog은 클라우드 제공자의 오케스트레이션 도구를 사용할 것을 권장해요. 예를 들어 에이전트가 이미 Docker 컨테이너로 존재하므로, Amazon ECS를 사용해서 Datadog 에이전트를 호스팅할 수 있어요.

Kubernetes

앱을 Kubernetes에서 실행하는 경우, 데이터베이스 모니터링을 지원하는 Datadog 클러스터 에이전트를 사용하세요. 이 에이전트는 파드 전반에서 클러스터 체크(cluster checks)를 실행할 수 있어요.

클러스터 에이전트는 데이터베이스 인스턴스를 에이전트 풀에 자동으로 분산해요. 이렇게 하면 각 노드 기반 에이전트 파드가 해당 체크를 실행하는 대신 각 체크의 인스턴스가 하나만 실행되도록 보장해요. 클러스터 에이전트는 구성을 보유하고 노드 기반 에이전트에 동적으로 전달해요. 각 노드의 에이전트는 10초마다 클러스터 에이전트에 연결해서 실행할 구성을 가져와요.

에이전트가 보고를 중단하면 클러스터 에이전트는 해당 에이전트를 활성 풀에서 제거하고 구성을 다른 에이전트에 전달해요. 이렇게 하면 노드가 클러스터에 추가/제거되더라도 인스턴스가 항상 하나(그리고 오직 하나)만 실행되도록 보장해요. 이는 데이터베이스 인스턴스가 많을 때 중요해요. 클러스터 에이전트가 클러스터 체크를 서로 다른 노드에 분산하기 때문이에요.

Aurora

Aurora를 사용하는 경우 에이전트가 모니터링 중인 호스트에 직접 연결해야 하므로 개별 Aurora 인스턴스(클러스터 엔드포인트가 아님)에 연결해야 해요.

Aurora 데이터베이스를 모니터링할 때 에이전트는 프록시, 로드 밸런서, pgbouncer 같은 연결 풀러, 또는 Aurora 클러스터 엔드포인트를 통해 데이터베이스에 연결하면 안 돼요. 각 Datadog 에이전트는 기본 호스트 이름을 알아야 하며, 장애 조치(failover) 상황에서도 수명 동안 단일 호스트에서 실행되어야 해요. 그렇지 않으면 메트릭 값이 올바르지 않게 돼요.

더 알아보기 (Learn more)