서드 파티 모니터링 도구 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

서드 파티 모니터링 도구

일부 시나리오에서는 Amazon RDS에 대해 AWS가 제공하는 클라우드 네이티브 관찰성 및 모니터링 도구의 전체 제품군 외에도 다른 소프트웨어 벤더의 모니터링 도구를 사용할 수 있습니다. 이러한 시나리오에서는 온프레미스 데이터 센터에서 여러 데이터베이스가 실행 중이고 AWS 클라우드에서 다른 세트의 데이터베이스가 실행 중일 수 있습니다. 기업 관찰성 솔루션을 이미 설정한 경우 기존 도구를 계속 사용하면서 AWS 클라우드 배포로 이를 확장할 수 있습니다. 서드 파티 모니터링 솔루션을 설정하는 경우 Amazon RDS가 클라우드 관리형 서비스로 부과하는 보호 장치에 문제가 있는 경우가 종종 있습니다. 예를 들어 데이터베이스 호스트 시스템에 대한 액세스가 거부되므로 DB 인스턴스를 실행하는 호스트 운영 체제에 에이전트 소프트웨어를 설치할 수 없습니다. 그러나 CloudWatch 및 다른 AWS 클라우드 서비스를 기반으로 빌드하여 많은 서드 파티 모니터링 솔루션을 Amazon RDS와 통합할 수 있습니다. 예를 들어 Amazon RDS 지표, 로그, 이벤트 및 추적을 내보낸 다음 추가 분석, 시각화 및 알림을 위해 서드 파티 모니터링 도구로 가져올 수 있습니다. 이러한 서드 파티 솔루션 중 일부에 Prometheus, Grafana 및 Percona가 포함됩니다.

Prometheus 및 Grafana

Prometheus는 지정된 간격으로 구성된 대상에서 지표를 수집하는 오픈 소스 모니터링 솔루션입니다. 그리고 모든 애플리케이션 또는 서비스를 모니터링할 수 있는 범용 모니터링 솔루션입니다. Amazon RDS DB 인스턴스를 모니터링할 때 CloudWatch는 Amazon RDS에서 지표를 수집합니다. 그런 다음 YACE Exporter 또는 CloudWatch Exporter와 같은 오픈 소스 내보내기 도구를 사용하여 지표를 Prometheus 서버로 내보냅니다.

  • YACE Exporter는 CloudWatch API에 대한 단일 요청으로 여러 지표를 검색하여 데이터 내보내기 태스크를 최적화합니다. 지표가 Prometheus 서버에 저장되면 서버는 규칙 표현식을 평가하고 지정된 조건이 관찰되면 알림을 생성할 수 있습니다.

  • CloudWatch Exporter는 Prometheus에서 공식적으로 유지 관리됩니다. CloudWatch API를 통해 CloudWatch 지표를 검색하고 HTTP 엔드포인트에 대한 REST API 요청을 사용하여 Prometheus와 호환되는 형식으로 Prometheus 서버에 저장합니다.

내보내기 도구를 선택하고, 배포 모델을 설계하며, 내보내기 도구 인스턴스를 구성하는 경우 CloudWatchCloudWatch Logs 서비스와 API 할당량을 고려하세요. CloudWatch API를 기반으로 Prometheus 서버에 대한 CloudWatch 지표 내보내기가 구현되기 때문입니다. 예를 들어 단일 AWS 계정 및 리전에 여러 CloudWatch Exporter 인스턴스를 배포하여 수백 개의 Amazon RDS DB 인스턴스를 모니터링하면 스로틀링한 오류(ThrottlingException) 및 코드 400 오류가 발생할 수 있습니다. 이러한 제한 사항을 극복하려면 단일 요청으로 최대 500개의 여러 지표를 수집하도록 최적화된 YACE Exporter를 사용하는 방법을 고려합니다. 또한 많은 Amazon RDS DB 인스턴스를 배포하려면 워크로드를 단일 AWS 계정에 중앙 집중화하고 각 AWS 계정에서 내보내기 도구 인스턴스 수를 제한하는 대신 여러 AWS 계정을 사용하는 것이 좋습니다.

알림은 Prometheus 서버에서 생성되며 Alertmanager에 의해 처리됩니다. 이 도구는 이메일, SMS 또는 Slack과 같은 올바른 수신자로 알림을 중복 제거, 그룹화 및 라우팅하거나 자동화된 응답 작업을 시작하는 작업을 처리합니다. Grafana라는 또 다른 오픈 소스 도구는 이러한 지표에 대한 시각화를 표시합니다. Grafana는 고급 그래프, 동적 대시보드, 임시 쿼리 및 동적 드릴다운과 같은 분석 기능과 같은 풍부한 시각화 위젯을 제공합니다. 또한 로그를 검색 및 분석할 수 있으며, 지표 및 로그를 지속적으로 평가하고 데이터가 알림 규칙과 일치할 때 알림을 보내는 알림 기능을 포함합니다.

Amazon RDS 및 CloudWatch에서 Prometheus 및 Grafana 사용

Percona

Percona Monitoring and Management(PMM)는 MySQL 및 MariaDB에 대한 무료 오픈 소스 데이터베이스 모니터링, 관리 및 관찰성 솔루션입니다. PMM은 DB 인스턴스 및 해당 호스트에서 수천 개의 성능 지표를 수집합니다. 이 솔루션에서는 대시보드의 데이터를 시각화하는 웹 UI와 데이터베이스 상태 평가를 위한 자동 어드바이저와 같은 추가 기능을 제공합니다. PMM을 사용하여 Amazon RDS를 모니터링할 수 있습니다. 그러나 호스트에 액세스할 수 없기 때문에 PMM 클라이언트(에이전트)는 Amazon RDS DB 인스턴스의 기본 호스트에 설치되지 않습니다. 대신 이 도구는 Amazon RDS DB 인스턴스에 연결하고 서버 통계, INFORMATION_SCHEMA, sys 스키마 및 성능 스키마를 쿼리하며 CloudWatch API를 사용하여 지표, 로그, 이벤트 및 추적을 획득합니다. PMM에는 AWS Identity and Access Management(IAM) 사용자 액세스 키(IAM 역할)가 필요하며, PMM은 모니터링에 사용할 수 있는 Amazon RDS DB 인스턴스를 자동으로 검색합니다. PMM 도구는 데이터베이스 모니터링을 위해 프로파일링되며, Prometheus보다 더 많은 데이터베이스별 지표를 수집합니다. PMM 쿼리 분석 대시보드를 사용하려면 성능 스키마를 쿼리 소스로 구성해야 합니다. 쿼리 분석 에이전트가 Amazon RDS에 설치되어 있지 않으며 느린 쿼리 로그를 읽을 수 없기 때문입니다. 대신 MySQL 및 MariaDB DB 인스턴스에서 performance_schema를 직접 쿼리하여 지표를 가져옵니다. PMM의 주요 기능 중 하나는 도구가 데이터베이스에서 식별한 문제에 대해 DBA에 알리고 조언하는 것입니다. PMM은 일반적인 보안 위협, 성능 저하, 데이터 손실 및 데이터 손상을 감지할 수 있는 검사 세트를 제공합니다.

이러한 도구 외에도 Amazon RDS와 통합할 수 있는 여러 상용 관찰성 및 모니터링 솔루션을 시중에서 사용할 수 있습니다. 예를 들어 Datadog 데이터베이스 모니터링, Dynatrace Amazon RDS 모니터링AppDynamics 데이터베이스 모니터링이 있습니다.