

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

# 모니터링 도구
<a name="monitoring-tools"></a>

관찰성, 모니터링 및 알림 도구를 사용하여 다음을 수행하는 것이 좋습니다.
+ Amazon RDS 환경의 성능에 대한 인사이트 확보
+ 예상치 못한 의심스러운 동작 감지
+ 용량을 계획하고 Amazon RDS 인스턴스 할당에 대해 정보에 입각한 의사 결정
+ 지표 및 로그를 분석하여 잠재적 문제 사전 예측
+ 사용자가 영향을 받기 전에 문제를 해결하기 위해 임계치 위반 시 알림 생성

AWS에서 제공하는 클라우드 네이티브 관찰성 및 모니터링 도구와 서비스, 무료 오픈 소스 소프트웨어 솔루션, Amazon RDS DB 인스턴스 모니터링을 위한 상용 서드 파티 솔루션 등 여러 옵션과 솔루션 중에서 선택할 수 있습니다. 다음 섹션에서는 이러한 각각의 도구에 대해 알아봅니다.

요구 사항에 가장 적합한 도구를 결정하려면 각 도구의 기능과 조직의 요구 사항을 비교합니다. 또한 간편한 배포, 구성 및 통합, 소프트웨어 업데이트 및 유지 관리, 배포 방법(예: 하드웨어 또는 서버리스), 라이선스, 가격 및 조직에 특정한 기타 요인에 대해 도구를 평가하는 것이 좋습니다.

**Sections**
+ [Amazon RDS에 포함된 도구](amazon-rds-tools.md)
+ [CloudWatch 네임스페이스](cloudwatch-namespaces.md)
+ [CloudWatch 경보 및 대시보드](cloudwatch-dashboards.md)
+ [Amazon RDS Performance Insights](performance-insights-tools.md)
+ [확장 모니터링](enhanced-monitoring.md)
+ [추가 AWS 서비스](aws-monitoring-tools.md)
+ [서드 파티 모니터링 도구](third-party-monitoring-tools.md)

# Amazon RDS에 포함된 도구
<a name="amazon-rds-tools"></a>

Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드의 관리형 데이터베이스 서비스입니다. Amazon RDS는 관리형 서비스이므로 데이터베이스 백업, 운영 체제(OS) 및 데이터베이스 소프트웨어 설치, OS 및 소프트웨어 패치 적용, 고가용성 설정, 하드웨어 수명 주기 및 데이터 센터 작업과 같은 대부분의 관리 태스크에서 벗어날 수 있습니다. 또한 AWS는 Amazon RDS DB 인스턴스에 대해 완전한 [관찰성](https://aws.amazon.com/products/management-and-governance/use-cases/monitoring-and-observability/) 솔루션을 빌드할 수 있는 포괄적인 도구 세트를 제공합니다.

일부 모니터링 도구는 Amazon RDS 서비스에 포함되어 사전 구성되어 있고 자동으로 활성화됩니다. 새 Amazon RDS 인스턴스를 시작하는 즉시 두 개의 자동화된 도구를 사용할 수 있습니다.
+ **Amazon RDS 인스턴스 상태**는 DB 인스턴스의 현재 상태에 대한 세부 정보를 제공합니다. 예를 들어 상태 코드로는 *사용 가능*, *중지됨*, *생성 중*, *백업 중* 및 *실패*가 포함됩니다. Amazon RDS 콘솔, AWS Command Line Interface(AWS CLI) 또는 Amazon RDS API를 사용하여 인스턴스 상태를 확인할 수 있습니다. 자세한 내용은 Amazon RDS 설명서의 [Amazon RDS DB 인스턴스 상태 보기](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status)를 참조하세요.
+ **Amazon RDS 권장 사항**에서는 DB 인스턴스, 읽기 전용 복제본 및 DB 파라미터 그룹에 대한 자동화된 권장 사항을 제공합니다. 이러한 권장 사항은 DB 인스턴스 사용량, 성능 데이터 및 구성을 분석하여 제공되며, 지침으로 전달됩니다. 예를 들어 *오래된 엔진 버전* 권장 사항에서는 DB 인스턴스가 최신 버전의 데이터베이스 소프트웨어를 실행하고 있지 않으며 최신 보안 수정 및 기타 개선 사항을 활용하려면 DB 인스턴스를 업그레이드해야 한다고 제안합니다. 자세한 내용은 Amazon RDS 설명서의 [Amazon RDS 권장 사항 보기](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/monitoring-recommendations.html)를 참조하세요.

# CloudWatch 네임스페이스
<a name="cloudwatch-namespaces"></a>

Amazon RDS는 AWS에서 실행되는 클라우드 리소스 및 애플리케이션에 대한 모니터링 및 알림 서비스인 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)와 통합됩니다. Amazon RDS는 DB 인스턴스의 운영, 사용률, 성능 및 상태에 대한 지표, 로그 파일, 추적 및 이벤트를 자동으로 수집하고 장기 저장, 분석 및 알림을 위해 CloudWatch로 전송합니다.

Amazon RDS for MySQL 및 Amazon RDS for MariaDB는 추가 비용 없이 1분 간격으로 기본 지표 세트를 CloudWatch에 자동으로 게시합니다. 이러한 지표는 지표의 컨테이너인 두 개의 *네임스페이스*로 수집됩니다.
+ [AWS/RDS 네임스페이스](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html#rds-cw-metrics-instance)에는 DB 인스턴스 수준 지표가 포함됩니다. 예로 `BinLogDiskUsage`(바이너리 로그가 차지하는 디스크 공간의 양), `CPUUtilization`(CPU 사용률), `DatabaseConnections`(DB 인스턴스에 대한 클라이언트 네트워크 연결 수) 등이 있습니다.
+ [AWS/사용량 네임스페이스](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html#rds-metrics-usage)에는 [Amazon RDS 서비스 할당량](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Limits) 내에서 운영 중인지 확인하는 데 사용되는 계정 수준 사용량 지표가 포함되어 있습니다. 예로 `DBInstances`(AWS 계정 또는 리전에서 DB 인스턴스 수), `DBSubnetGroups`(AWS계정 또는 리전에서 DB 서브넷 그룹 수), `ManualSnapshots`(AWS 계정 또는 리전에서 수동으로 생성된 데이터베이스 스냅샷 수)가 있습니다.

CloudWatch는 지표 데이터를 다음과 같이 유지합니다.
+ 3시간: 기간이 60초 미만인 고해상도 사용자 지정 지표는 3시간 동안 유지됩니다. 3시간 후에 데이터 포인트는 1분 기간의 지표로 집계되고 15일 동안 보관됩니다.
+ 15일: 기간이 60초(1분)인 데이터 포인트는 15일 동안 유지됩니다. 15일 후에 데이터 포인트는 5분 기간의 지표로 집계되고 63일 동안 보관됩니다.
+ 63일: 기간이 300초(5분)인 데이터 포인트는 63일 동안 유지됩니다. 63일 후에 데이터 포인트는 1시간 기간의 지표로 집계되고 15개월 동안 보관됩니다.
+ 15개월: 기간이 3,600초(1시간)인 데이터 포인트는 15개월(455일) 동안 사용 가능합니다.

자세한 내용은 CloudWatch 설명서의 [Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)를 참조하세요.

# CloudWatch 경보 및 대시보드
<a name="cloudwatch-dashboards"></a>

[Amazon CloudWatch 경보](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)를 사용하여 일정 기간에 특정 Amazon RDS 지표를 볼 수 있습니다. 예를 들어 `FreeStorageSpace`를 모니터링한 다음 지표 값에서 사용자가 설정한 임계치를 위반하는 경우 하나 이상의 작업을 수행할 수 있습니다. 임계치를 250MB로 설정한 경우 여유 스토리지 공간이 200MB(임계치 미만)이면 경보가 활성화되고 Amazon RDS DB 인스턴스에 추가 스토리지를 자동으로 프로비저닝하는 작업을 트리거할 수 있습니다. 경보는 Amazon Simple Notification Service(Amazon SNS)를 사용하여 DBA에 알림 SMS를 보낼 수도 있습니다. 다음 다이어그램에서 이 프로세스를 보여 줍니다.

![\[CloudWatch 지표를 사용하여 Amazon RDS 지표 모니터링\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/cloudwatch-alarms.png)


또한 CloudWatch는 지표의 사용자 지정된 보기(그래프)를 생성, 사용자 지정, 상호 작용 및 저장하는 데 사용할 수 있는 [대시보드](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)를 제공합니다. [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)를 사용하여 느린 쿼리 로그 및 오류 로그를 모니터링하기 위한 대시보드를 생성하고 해당 로그에서 특정 패턴이 감지된 경우 알림을 받을 수도 있습니다. 다음 화면에서는 CloudWatch 대시보드 예제를 보여줍니다.

![\[CloudWatch 대시보드를 사용하여 지표 모니터링\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/cloudwatch-dashboard.png)


# Amazon RDS Performance Insights
<a name="performance-insights-tools"></a>

[Amazon RDS Performance Insights](https://aws.amazon.com/rds/performance-insights/)는 Amazon RDS 모니터링 기능을 확장하는 데이터베이스 성능 조정 및 모니터링 도구입니다. DB 인스턴스 로드를 시각화하고 대기, SQL 문, 호스트 또는 사용자별로 로드를 필터링하여 데이터베이스의 성능을 분석할 수 있습니다. 이 도구는 잠금 대기, 높은 CPU 소비 또는 I/O 지연과 같이 DB 인스턴스에 존재할 수 있는 병목 현상 유형을 식별하고 병목 현상을 일으키는 SQL 문을 확인하는 데 도움이 되는 여러 지표를 단일 대화형 그래프로 결합합니다. 다음 화면에서는 시각화 예제를 보여줍니다.

![\[Amazon RDS Performance Insights의 그래프 예제\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/performance-insights-example.png)


계정의 Amazon RDS DB 인스턴스에 대한 지표를 수집하려면 DB 인스턴스 생성 프로세스 중에 [Performance Insights를 활성화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Enabling.html)해야 합니다. 프리 티어에는 7일간의 성능 데이터 기록과 매월 백만 건의 API 요청이 포함됩니다. 선택적으로 더 긴 보존 기간을 구매할 수도 있습니다. 전체 요금 정보는 [성능 개선 도우미 요금](https://aws.amazon.com/rds/performance-insights/pricing/)을 참조하세요.

Performance Insights를 사용하여 DB 인스턴스를 모니터링하는 방법에 대한 자세한 내용은 이 가이드 뒷부분의 [DB 인스턴스 모니터링](db-instance-monitoring.md) 섹션을 참조하세요.

Performance Insights는 [CloudWatch에 지표를 자동으로 게시](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Cloudwatch.html)합니다. Performance Insights 도구를 사용하는 것 외에도 CloudWatch에서 제공하는 추가 기능을 활용할 수 있습니다. CloudWatch 콘솔, AWS CLI 또는 CloudWatch API를 사용하여 Performance Insights 지표를 검사할 수 있습니다. 다른 지표와 마찬가지로 CloudWatch 경보를 추가할 수도 있습니다. 예를 들어 `DBLoad` 지표에서 사용자가 설정한 임계치를 위반하는 경우 DBA에 SMS 알림을 트리거하거나 수정 조치를 취할 수 있습니다. 기존 CloudWatch 대시보드에 Performance Insights 지표를 추가할 수도 있습니다.

# 확장 모니터링
<a name="enhanced-monitoring"></a>

[향상된 모니터링](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html)은 Amazon RDS DB 인스턴스가 실행되는 운영 체제(OS)에 대한 지표를 실시간으로 캡처하는 도구입니다. 이러한 지표는 특히 CPU, 메모리, Amazon RDS 및 OS 프로세스, 파일 시스템, 디스크 I/O 데이터에 대해 최대 1초 세부 수준의 정보를 제공합니다. [Amazon RDS 콘솔](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Viewing.html)에서 이러한 지표에 액세스하고 분석할 수 있습니다. Performance Insights와 마찬가지로 향상된 모니터링 지표는 Amazon RDS에서 CloudWatch로 전달되며 이를 통해 분석을 위한 지표의 장기 보존, 지표 필터 생성, CloudWatch 대시보드에 그래프 표시, 경보 설정과 같은 추가 기능을 활용할 수 있습니다. 기본적으로 새 Amazon RDS DB 인스턴스를 생성할 때 향상된 모니터링이 비활성화됩니다. DB 인스턴스를 생성하거나 수정할 때 이 기능을 [활성화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html)할 수 있습니다. 요금은 Amazon RDS에서 CloudWatch Logs로 전송되는 데이터의 양과 스토리지 요금에 기반합니다. 세부 수준과 향상된 모니터링이 활성화된 DB 인스턴스 수에 따라 모니터링 데이터의 일부가 CloudWatch Logs 프리 티어에 포함될 수 있습니다. 전체 요금 세부 정보는 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요. 도구에 대한 자세한 내용은 [Amazon RDS 설명서](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) 및 [향상된 모니터링](https://aws.amazon.com/rds/faqs/#Enhanced_Monitoring) FAQ를 참조하세요.

# 추가 AWS 서비스
<a name="aws-monitoring-tools"></a>

AWS는 Amazon RDS 및 CloudWatch와도 통합되는 여러 지원 서비스를 제공하여 데이터베이스의 관찰성을 더욱 확장합니다. 여기에는 Amazon EventBridge, Amazon CloudWatch Logs 및 AWS CloudTrail이 포함됩니다.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)는 Amazon RDS DB 인스턴스를 포함한 애플리케이션 및 AWS 리소스에서 이벤트를 수신, 필터링, 변환, 라우팅 및 전송할 수 있는 서버리스 이벤트 버스입니다. *Amazon RDS 이벤트*는 Amazon RDS 환경의 변경 사항을 나타냅니다. 예를 들어 DB 인스턴스의 상태가 *사용 가능*에서 *중지됨*으로 변경되면 Amazon RDS는 `RDS-EVENT-0087 / The DB instance has been stopped` 이벤트를 생성합니다. Amazon RDS는 거의 실시간으로 CloudWatch Events 및 EventBridge에 이벤트를 전달합니다. EventBridge 및 CloudWatch 이벤트를 사용하여 관심 있는 특정 Amazon RDS 이벤트에 대한 알림을 보내고 이벤트가 규칙과 일치할 때 수행할 작업을 자동화하는 규칙을 정의할 수 있습니다. 수정 조치를 수행할 수 있는 AWS Lambda 함수나 DBA 또는 DevOps 엔지니어에게 이벤트를 알리기 위해 이메일 또는 SMS를 보낼 수 있는 Amazon SNS 주제와 같이 다양한 대상을 이벤트에 대한 응답으로 사용할 수 있습니다.
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)는 Amazon RDS for MySQL, MariaDB DB 인스턴스 및 AWS CloudTrail을 포함한 모든 애플리케이션, 시스템 및 AWS 서비스의 로그 파일 저장을 중앙 집중화하는 서비스입니다. DB 인스턴스에 대해 이 기능을 [활성화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MariaDB.html#USER_LogAccess.MariaDB.PublishtoCloudWatchLogs)하면 Amazon RDS는 다음 로그를 CloudWatch Logs에 자동으로 게시합니다.
  + 오류 로그
  + 느린 쿼리 로그
  + 일반 로그
  + 감사 로그

  CloudWatch Logs Insights를 사용하면 로그 데이터를 쿼리 및 분석할 수 있습니다. 이 기능에는 사용자가 정의한 패턴과 일치하는 로그 이벤트를 검색하는 데 도움이 되는 목적별 쿼리 언어가 포함되어 있습니다. 예를 들어 오류 로그 파일에서 `"ERROR 1034 (HY000): Incorrect key file for table '*'; try to repair it OR Table * is marked as crashed"` 패턴이 있는지 모니터링하여 MySQL DB 인스턴스의 테이블 손상을 추적할 수 있습니다. 필터링된 로그 데이터는 CloudWatch 지표로 변환될 수 있습니다. 그런 다음 지표를 사용하여 그래프 또는 테이블 형식 데이터로 대시보드를 생성하거나 정의된 임계치 값을 위반한 경우 경보를 설정할 수 있습니다. 이는 특히 감사 로그를 사용할 때 유용합니다. 예기치 않거나 의심스러운 동작이 감지되는 경우 자동으로 모니터링, 알림 전송 및 수정 조치를 취할 수 있기 때문입니다. AWS Management Console, AWS CLI, Amazon RDS API 또는 AWS SDK for CloudWatch Logs를 사용하여 데이터베이스 로그에 액세스하고 이를 관리할 수 있습니다.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)에서는 AWS 계정에서 사용자 및 API 활동을 로깅하고 지속적으로 모니터링합니다. 그러면 Amazon RDS for MySQL 또는 MariaDB DB 인스턴스의 감사, 보안 모니터링 및 운영 문제 해결에 도움이 됩니다. CloudTrail은 Amazon RDS에 통합됩니다. 모든 작업은 로깅될 수 있으며, CloudTrail은 Amazon RDS에서 사용자, 역할 또는 AWS 서비스가 수행한 작업 레코드를 제공합니다. 예를 들어 사용자가 새 Amazon RDS DB 인스턴스를 생성하면 이벤트가 감지되고 로그에 요청된 작업(`"eventName": "CreateDBInstance"`), 작업 날짜 및 시간(`"eventTime": "2022-07-30T22:14:06Z"`), 요청 파라미터(`"requestParameters": {"dBInstanceIdentifier": "test-instance", "engine": "mysql", "dBInstanceClass": "db.m6g.large"}`) 등에 대한 정보가 포함됩니다. CloudTrail에서 로깅하는 이벤트에는 Amazon RDS 콘솔의 직접 호출 및 Amazon RDS API를 사용하는 코드의 직접 호출 모두가 포함됩니다.

# 서드 파티 모니터링 도구
<a name="third-party-monitoring-tools"></a>

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

## Prometheus 및 Grafana
<a name="prometheus-grafana"></a>

[Prometheus](https://prometheus.io/)는 지정된 간격으로 구성된 대상에서 지표를 수집하는 [오픈 소스](https://github.com/prometheus/prometheus) 모니터링 솔루션입니다. 그리고 모든 애플리케이션 또는 서비스를 모니터링할 수 있는 범용 모니터링 솔루션입니다. Amazon RDS DB 인스턴스를 모니터링할 때 CloudWatch는 Amazon RDS에서 지표를 수집합니다. 그런 다음 YACE Exporter 또는 CloudWatch Exporter와 같은 오픈 소스 내보내기 도구를 사용하여 지표를 Prometheus 서버로 내보냅니다.
+ [YACE Exporter](https://promcat.io/apps/aws-rds)는 CloudWatch API에 대한 단일 요청으로 여러 지표를 검색하여 데이터 내보내기 태스크를 최적화합니다. 지표가 Prometheus 서버에 저장되면 서버는 규칙 표현식을 평가하고 지정된 조건이 관찰되면 알림을 생성할 수 있습니다.
+ [CloudWatch Exporter](https://github.com/prometheus/cloudwatch_exporter)는 Prometheus에서 공식적으로 유지 관리됩니다. CloudWatch API를 통해 CloudWatch 지표를 검색하고 HTTP 엔드포인트에 대한 REST API 요청을 사용하여 Prometheus와 호환되는 형식으로 Prometheus 서버에 저장합니다.

내보내기 도구를 선택하고, 배포 모델을 설계하며, 내보내기 도구 인스턴스를 구성하는 경우 [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html) 및 [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) 서비스와 API 할당량을 고려하세요. CloudWatch API를 기반으로 Prometheus 서버에 대한 CloudWatch 지표 내보내기가 구현되기 때문입니다. 예를 들어 단일 AWS 계정 및 리전에 여러 CloudWatch Exporter 인스턴스를 배포하여 수백 개의 Amazon RDS DB 인스턴스를 모니터링하면 스로틀링한 오류(**ThrottlingException**) 및 코드 400 오류가 발생할 수 있습니다. 이러한 제한 사항을 극복하려면 단일 요청으로 최대 500개의 여러 지표를 수집하도록 최적화된 YACE Exporter를 사용하는 방법을 고려합니다. 또한 많은 Amazon RDS DB 인스턴스를 배포하려면 워크로드를 단일 AWS 계정에 중앙 집중화하고 각 AWS 계정에서 내보내기 도구 인스턴스 수를 제한하는 대신 [여러 AWS 계정](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/benefits-of-using-multiple-aws-accounts.html#distribute-aws-service-quotas-and-api-request-rate-limits)을 사용하는 것이 좋습니다.

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

![\[Amazon RDS 및 CloudWatch에서 Prometheus 및 Grafana 사용\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/third-party-tools.png)


## Percona
<a name="percona"></a>

[Percona Monitoring and Management(PMM)](https://docs.percona.com/percona-monitoring-and-management/setting-up/client/aws.html)는 MySQL 및 MariaDB에 대한 무료 [오픈 소스](https://github.com/percona/pmm) 데이터베이스 모니터링, 관리 및 관찰성 솔루션입니다. 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 쿼리 분석 대시보드](https://docs.percona.com/percona-monitoring-and-management/get-started/query-analytics.html)를 사용하려면 성능 스키마를 쿼리 소스로 구성해야 합니다. 쿼리 분석 에이전트가 Amazon RDS에 설치되어 있지 않으며 느린 쿼리 로그를 읽을 수 없기 때문입니다. 대신 MySQL 및 MariaDB DB 인스턴스에서 `performance_schema`를 직접 쿼리하여 지표를 가져옵니다. PMM의 주요 기능 중 하나는 도구가 데이터베이스에서 식별한 문제에 대해 DBA에 [알리고](https://docs.percona.com/percona-monitoring-and-management/get-started/alerting.html) 조언하는 것입니다. PMM은 일반적인 보안 위협, 성능 저하, 데이터 손실 및 데이터 손상을 감지할 수 있는 검사 세트를 제공합니다.

이러한 도구 외에도 Amazon RDS와 통합할 수 있는 여러 상용 관찰성 및 모니터링 솔루션을 시중에서 사용할 수 있습니다. 예를 들어 [Datadog 데이터베이스 모니터링](https://www.datadoghq.com/dg/monitor/rds-benefits/), [Dynatrace Amazon RDS 모니터링](https://www.dynatrace.com/technologies/aws-monitoring/amazon-rds-monitoring/) 및 [AppDynamics 데이터베이스 모니터링](https://www.appdynamics.com/supported-technologies/database/amazon-rds-monitoring)이 있습니다.