Aurora MySQL 데이터베이스에 대한 로깅 - Amazon Aurora

Aurora MySQL 데이터베이스에 대한 로깅

Aurora MySQL 로그는 데이터베이스 활동 및 오류에 대한 필수 정보를 제공합니다. 이러한 로그를 활성화하면 문제를 식별 및 해결하고, 데이터베이스 성능을 이해하고, 데이터베이스 활동을 감사할 수 있습니다. 데이터베이스의 성능과 가용성을 최적화하려면 모든 Aurora MySQL DB 인스턴스에 대해 이러한 로그를 활성화하는 것이 좋습니다. 다음과 같은 유형의 로그를 활성화할 수 있습니다. 각 로그에는 데이터베이스 처리에 미치는 영향을 파악할 수 있는 특정 정보가 포함되어 있습니다.

  • 오류 - Aurora MySQL에서는 시작, 종료 및 오류 발생 시에만 오류 로그에 데이터가 로그됩니다. DB 인스턴스는 오류 로그에 새 항목이 기록되지 않는 상태로 몇 시간이나 며칠씩 작동할 수 있습니다. 최근 항목이 보이지 않으면 이는 서버에서 로그에 입력될 만한 오류가 발생하지 않았기 때문입니다. 오류 로깅은 기본적으로 활성화됩니다. 자세한 내용은 Aurora MySQL 오류 로그 단원을 참조하십시오.

  • 일반 - 일반 로그는 데이터베이스 엔진에서 실행되는 모든 SQL 문을 포함하여 데이터베이스 활동에 대한 자세한 정보를 제공합니다. 일반 로깅을 활성화하고 로깅 파라미터를 설정하는 방법에 대한 자세한 내용은 MySQL 설명서의 Aurora MySQL 느린 쿼리 로그 및 일반 로그The general query log를 참조하세요.

    참고

    일반 로그는 크기가 매우 커져 스토리지를 차지할 수 있습니다. 자세한 내용은 Aurora MySQL용 로그 교체 및 보존 단원을 참조하십시오.

  • 느린 쿼리 - 느린 쿼리 로그는 실행하는 데 long_query_time초가 넘게 걸리고 검토할 행이 최소 min_examined_row_limit개여야 하는 SQL 문으로 구성됩니다. 느린 쿼리 로그를 사용하면 실행 시간이 오래 걸리고 따라서 최적화가 필요한 쿼리를 찾을 수 있습니다.

    [long_query_time]의 기본값은 10초입니다. 먼저 높은 값으로 시작하여 가장 느린 쿼리를 식별한 다음 세부 튜닝을 위해 낮은 값으로 내려가는 것이 좋습니다.

    log_slow_admin_statementslog_queries_not_using_indexes와 같은 관련 파라미터를 사용할 수도 있습니다. rows_examinedrows_returned에 비교하세요. rows_examinedrows_returned보다 훨씬 크면 해당 쿼리가 잠재적으로 차단될 수 있습니다.

    Aurora MySQL 버전 3에서는 자세한 내용을 확인할 수 있도록 log_slow_extra를 설정할 수 있습니다. 자세한 내용은 MySQL 설명서의 Slow query log contents를 참조하세요. 대화식으로 쿼리 실행을 디버깅하기 위해 세션 수준에서 long_query_time을 수정할 수도 있는데, 이는 log_slow_extra가 전역적으로 활성화된 경우 특히 유용합니다.

    느린 쿼리 로깅을 활성화하고 로깅 파라미터를 설정하는 방법에 대한 자세한 내용은 MySQL 설명서의 Aurora MySQL 느린 쿼리 로그 및 일반 로그The slow query log를 참조하세요.

  • 감사 - 감사 로그는 데이터베이스 활동을 모니터링하고 기록합니다. Aurora MySQL에 대한 감사 로깅을 고급 감사라고 합니다. 고급 감사를 활성화하려면 특정 DB 클러스터 파라미터를 설정합니다. 자세한 내용은 Amazon Aurora MySQL DB 클러스터에서 고급 감사 사용 단원을 참조하십시오.

  • 바이너리 - 바이너리 로그(binlog)에는 테이블 생성 작업 및 테이블 데이터 변경과 같은 데이터베이스 변경 사항을 설명하는 이벤트가 포함됩니다. 또한 행 기반 로깅을 사용하지 않는 한 잠재적으로 변경을 수행했을 수 있는 문(예: 일치하는 행이 없는 DELETE)에 대한 이벤트도 포함됩니다. 또한 바이너리 로그에는 각 문이 업데이트된 데이터에 소요한 시간에 대한 정보도 포함됩니다.

    바이너리 로깅이 활성화된 상태에서 서버를 실행하면 성능이 약간 느려집니다. 그러나 복제를 설정하고 복원 작업을 수행할 수 있도록 하는 바이너리 로그의 이점은 일반적으로 이러한 사소한 성능 저하보다 큽니다.

    참고

    Aurora MySQL은 복원 작업에 바이너리 로깅이 필요하지 않습니다.

    바이너리 로깅을 활성화하고 binlog 형식을 설정하는 방법에 대한 자세한 내용은 MySQL 설명서의 Aurora MySQL 이진 로깅 구성The binary log를 참조하세요.

오류, 일반, 느린 쿼리 및 감사 로그를 Amazon CloudWatch Logs에 게시할 수 있습니다. 자세한 내용은 Amazon CloudWatch Logs에 데이터베이스 로그 게시 단원을 참조하십시오.

느린 로그 파일, 일반 로그 파일, 바이너리 로그 파일을 요약하는 데 유용한 또 다른 도구는 pt-query-digest입니다.