데이터베이스 로그 - AWS 규범적 지침

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

데이터베이스 로그

MySQL 및 MariaDB 데이터베이스는 감사 및 문제 해결을 위해 액세스할 수 있는 로그를 생성합니다. 해당 로그는 다음과 같습니다.

  • 감사— 감사 추적은 서버의 활동을 기록하는 레코드 집합입니다. 각 클라이언트 세션에 대해 서버에 연결한 사람 (사용자 이름 및 호스트), 실행된 쿼리, 액세스한 테이블 및 변경된 서버 변수를 기록합니다.

  • 오류— 이 로그에는 서버의 (mysqld) 시작 및 종료 시간, 서버 시작 및 종료 중 및 서버 실행 중에 발생하는 오류, 경고 및 메모와 같은 진단 메시지

  • 일반— 이 로그는 의 활동을 기록합니다.mysqld여기에는 각 클라이언트의 연결 및 연결 해제 작업과 클라이언트로부터 받은 SQL 쿼리가 포함됩니다. 일반 쿼리 로그는 오류가 의심되어 클라이언트가 보낸 내용을 정확히 알고 싶을 때 매우 유용할 수 있습니다.mysqld.

  • 느린 쿼리— 이 로그는 수행하는 데 시간이 오래 걸린 SQL 쿼리의 기록을 제공합니다.

가장 좋은 방법은 다음과 같습니다.아마존 RDS에서 아마존으로 데이터베이스 로그 게시CloudWatch로그. 와CloudWatch로그를 사용하면 로그 데이터를 실시간으로 분석하고 내구성이 뛰어난 스토리지에 데이터를 저장하고 다음을 사용하여 데이터를 관리할 수 있습니다.CloudWatch로그 에이전트. 당신은 할 수 있습니다데이터베이스 로그 액세스 및 확인아마존 RDS 콘솔에서. 사용할 수도 있습니다CloudWatch로그 데이터를 대화형 방식으로 검색하고 분석할 수 있는 Logs InsightsCloudWatch로그. 다음 예에서는 감사 로그에서 횟수를 확인하는 쿼리를 보여 줍니다.CONNECT이벤트는 로그에 표시됩니다. 누가 연결했는지, 어떤 클라이언트 (IP 주소) 에서 연결했는지 알 수 있습니다. 감사 로그에서 발췌한 내용은 다음과 같을 수 있습니다.

20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,CONNECT,,,0,SOCKET 20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,DISCONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,CONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,DISCONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,CONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,DISCONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,CONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,DISCONNECT,,,0,SOCKET

예제 Log Insights 쿼리는 다음을 보여줍니다.rdsadmin에서 데이터베이스에 연결localhost다음 그림과 같이 5분마다 총 22회 반복합니다. 이러한 결과는 활동이 모니터링 시스템 자체와 같은 내부 Amazon RDS 프로세스에서 시작되었음을 나타냅니다.

로그 인사이트 보고서

로그 이벤트에는 MySQL 및 MariaDB DB 인스턴스와 관련된 작업에 대한 경고 또는 오류와 같이 카운트하려는 중요한 메시지가 포함되는 경우가 많습니다. 예를 들어, 작업이 실패하면 오류가 발생하여 다음과 같이 오류 로그 파일에 기록될 수 있습니다.ERROR 1114 (HY000): The table zip_codes is full. 이러한 항목을 모니터링하여 오류 추세를 파악하는 것이 좋습니다. 당신은 할 수 있습니다사용자 지정 만들기CloudWatch필터를 사용한 Amazon RDS 로그의 지표Amazon RDS 데이터베이스 로그를 자동으로 모니터링하여 특정 로그에서 특정 패턴을 모니터링하고, 예상되는 동작 위반이 있을 경우 경보를 생성할 수 있습니다. 예를 들면, 로그 그룹에 대한 메트릭 필터 생성/aws/rds/instance/database-1/error그러면 오류 로그를 모니터링하고 다음을 검색할 수 있습니다.특정 패턴, 예:ERROR. 설정필터 패턴ERROR지표 값1. 필터는 키워드가 있는 모든 로그 레코드를 감지합니다.ERROR그러면 “ERROR”가 포함된 모든 로그 이벤트에 대해 개수가 1씩 증가합니다. 필터를 생성한 후 MySQL 또는 MariaDB 오류 로그에서 오류가 감지될 경우 이를 알리도록 경보를 설정할 수 있습니다.

를 생성하여 느린 쿼리 로그 및 오류 로그를 모니터링하는 방법에 대해 자세히 알아보려면CloudWatch대시보드 및 사용CloudWatch로그 인사이트, 블로그 게시물 참조아마존 만들기CloudWatch아마존 RDS와 아마존 오로라 MySQL을 모니터링하기 위한 대시보드