데이터베이스 로그를 Amazon CloudWatch Logs에 게시
데이터베이스 로그를 Amazon CloudWatch Logs에 게시
온프레미스 데이터베이스에서는 데이터베이스 로그가 파일 시스템에 저장돼요. Amazon RDS는 DB 인스턴스의 파일 시스템에 있는 데이터베이스 로그에 대한 호스트 액세스를 제공하지 않아요. 이런 이유로 Amazon RDS는 데이터베이스 로그를 Amazon CloudWatch Logs로 내보낼 수 있게 해줘요. CloudWatch Logs를 사용하면 로그 데이터를 실시간으로 분석할 수 있어요. 또한 데이터를 내구성이 높은 스토리지에 저장하고 CloudWatch Logs Agent로 관리할 수 있어요.
출처: 문서
본문
데이터베이스 로그를 Amazon CloudWatch Logs에 게시
온프레미스 데이터베이스에서는 데이터베이스 로그가 파일 시스템에 저장돼요. Amazon RDS는 DB 인스턴스의 파일 시스템에 있는 데이터베이스 로그에 대한 호스트 액세스를 제공하지 않아요. 이런 이유로 Amazon RDS는 데이터베이스 로그를 Amazon CloudWatch Logs로 내보낼 수 있게 해줘요. CloudWatch Logs를 사용하면 로그 데이터를 실시간으로 분석할 수 있어요. 또한 데이터를 내구성이 높은 스토리지에 저장하고 CloudWatch Logs Agent로 관리할 수 있어요.
관련 주제
- RDS와 CloudWatch Logs 통합 개요
- CloudWatch Logs에 게시할 로그 결정
- CloudWatch Logs에 게시할 로그 지정
- CloudWatch Logs에서 로그 검색 및 필터링
RDS와 CloudWatch Logs 통합 개요
CloudWatch Logs에서 로그 스트림(log stream)은 동일한 소스를 공유하는 일련의 로그 이벤트예요. CloudWatch Logs의 각 별도 로그 소스는 별도의 로그 스트림을 구성해요. 로그 그룹(log group)은 동일한 보존, 모니터링, 액세스 제어 설정을 공유하는 로그 스트림의 그룹이에요.
Amazon RDS는 DB 인스턴스 로그 레코드를 로그 그룹으로 지속적으로 스트리밍해요. 예를 들어, 게시하는 각 로그 유형에 대해 /aws/rds/instance/instance_name/log_type 로그 그룹이 있어요. 이 로그 그룹은 로그를 생성하는 데이터베이스 인스턴스와 동일한 AWS 리전에 있어요.
보존 기간을 지정하지 않는 한 AWS는 CloudWatch Logs에 게시된 로그 데이터를 무기한 보존해요. 자세한 내용은 CloudWatch Logs의 로그 데이터 보존 변경을 참조하세요.
CloudWatch Logs에 게시할 로그 결정
각 RDS 데이터베이스 엔진은 자체 로그 세트를 지원해요. 데이터베이스 엔진의 옵션을 알아보려면 다음 주제를 검토하세요:
- Db2 로그를 Amazon CloudWatch Logs에 게시
- MariaDB 로그를 Amazon CloudWatch Logs에 게시
- MySQL 로그를 Amazon CloudWatch Logs에 게시
- Oracle 로그를 Amazon CloudWatch Logs에 게시
- PostgreSQL 로그를 Amazon CloudWatch Logs에 게시
- SQL Server 로그를 Amazon CloudWatch Logs에 게시
CloudWatch Logs에 게시할 로그 지정
콘솔에서 게시할 로그를 지정해요. AWS Identity and Access Management(IAM)에 서비스 연결 역할(service-linked role)이 있는지 확인하세요. 서비스 연결 역할에 대한 자세한 내용은 Amazon RDS용 서비스 연결 역할 사용을 참조하세요.
게시할 로그를 지정하려면
- https://console.aws.amazon.com/rds/ 에서 Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 Databases(데이터베이스) 를 선택합니다.
- 다음 중 하나를 수행합니다:
- Create database(데이터베이스 생성) 를 선택합니다.
- 목록에서 데이터베이스를 선택한 다음 Modify(수정) 를 선택합니다.
- Logs exports(로그 내보내기) 에서 게시할 로그를 선택합니다.
- 다음 예제는 RDS for MySQL DB 인스턴스에 대한 감사 로그, 오류 로그, 일반 로그, 느린 쿼리 로그를 지정합니다.
CloudWatch Logs에서 로그 검색 및 필터링
CloudWatch Logs 콘솔을 사용해 지정한 기준을 충족하는 로그 항목을 검색할 수 있어요. 로그에는 RDS 콘솔을 통해(CloudWatch Logs 콘솔로 안내) 또는 CloudWatch Logs 콘솔에서 직접 액세스할 수 있어요.
RDS 콘솔을 사용해 RDS 로그를 검색하려면
- https://console.aws.amazon.com/rds/ 에서 Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 Databases(데이터베이스) 를 선택합니다.
- DB 인스턴스를 선택합니다.
- Configuration(구성) 을 선택합니다.
- Published logs(게시된 로그) 에서 보고 싶은 데이터베이스 로그를 선택합니다.
CloudWatch Logs 콘솔을 사용해 RDS 로그를 검색하려면
- https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.
- 탐색 창에서 Log groups(로그 그룹) 을 선택합니다.
- 필터 상자에
/aws/rds를 입력합니다. - Log Groups 에서 검색할 로그 스트림이 포함된 로그 그룹의 이름을 선택합니다.
- Log Streams 에서 검색할 로그 스트림의 이름을 선택합니다.
- Log events(로그 이벤트) 아래에서 사용할 필터 구문을 입력합니다.
자세한 내용은 Amazon CloudWatch Logs 사용자 가이드의 검색 및 필터링을 참조하세요. RDS 로그 모니터링 방법을 설명하는 블로그 튜토리얼은 Amazon CloudWatch Logs, AWS Lambda, Amazon SNS로 Amazon RDS에 대한 선제적 데이터베이스 모니터링 구축을 참조하세요.