Cloud SQL 로깅

이 페이지에서는 Cloud Logging을 찾고 사용하여 Cloud SQL 인스턴스의 로그를 보고 쿼리하는 방법을 설명합니다.

Cloud SQL은 Cloud Logging을 사용합니다. 자세한 내용은 Cloud Logging 문서를 참조하고 Cloud SQL 샘플 쿼리를 검토하세요.

로그 보기

Cloud SQL 인스턴스 로그 항목의 로그를 보려면 다음 안내를 따르세요.

Console

  1. 로그 뷰어로 이동
  2. 페이지 상단에서 기존 Cloud SQL 프로젝트를 선택합니다.
  3. 쿼리 빌더에서 다음을 추가합니다.
    • 리소스: Cloud SQL Database를 선택합니다. 대화상자에서 Cloud SQL 인스턴스를 선택합니다.
    • 로그 이름: Cloud SQL 섹션으로 스크롤하고 인스턴스에 적합한 로그 파일을 선택합니다. 예를 들면 다음과 같습니다.
      • cloudsql.googlapis.com/mysql-general.log
      • cloudsql.googleapis.com/mysql.err
    • 심각도: 로그 수준을 선택합니다.
    • 기간: 미리 설정을 선택하거나 커스텀 범위를 만듭니다.

gcloud

gcloud logging 명령어를 사용하여 로그 항목을 볼 수 있습니다. 아래 예시에서 PROJECT_ID를 바꿉니다. limit 플래그는 반환할 최대 항목 수를 나타내는 선택적 매개변수입니다.

gcloud logging read "projects/[PROJECT_ID]/logs/cloudsql.googleapis.com/mysql-general.log" --limit=10

문제 해결

자세한 내용을 보려면 표의 링크를 클릭하세요.

문제 설명 문제 원인 해결 방법
로깅이 CPU와 메모리를 많이 사용합니다. 로깅을 조정해야 합니다. 로깅 리소스 사용량을 조정해 보세요.
감사 로그를 찾을 수 없음 사용자 인증 문제입니다. 사용자 역할 및 권한을 확인합니다.
로그에 작업 정보가 없음 감사 로그가 사용 설정되지 않았습니다. 감사 로깅을 사용 설정합니다.
Logging이 디스크 공간을 많이 사용함 재실행 로그, 바이너리 로그, 일반 로그가 디스크 공간을 사용합니다. 이 명령어를 실행하여 디스크 사용량 세부정보를 가져오세요.

Logging이 CPU와 메모리를 많이 사용함

로깅이 CPU와 메모리를 많이 사용합니다.

문제 원인

로깅 사용량을 조정해야 합니다.

해결 방법

log_statement 플래그를 '없음'으로 설정하고 logging_collector 플래그를 '꺼짐'으로 설정할 수 있습니다. 로깅이 계속 발생하는 경우 조정할 수 있는 다른 로그 관련 플래그가 있을 수 있습니다. 인스턴스를 수정하여 이러한 플래그를 수정할 수 있습니다.


감사 로깅

Cloud SQL의 감사 로깅을 사용 설정했지만 Cloud Logging에서 감사 로그를 찾을 수 없습니다.

문제 원인

데이터 액세스 로그는 작업이 사용자가 만든 데이터를 생성 또는 수정하거나 읽는 인증된 사용자 주도 API 호출인 경우 또는 작업이 리소스의 구성 파일 또는 메타데이터에 액세스하는 경우에만 작성됩니다.

해결 방법

작업을 수행하는 사용자의 역할과 권한을 확인합니다.


로그에서 작업 정보를 찾을 수 없음

작업에 대한 자세한 정보를 찾으려 합니다. 예를 들어 사용자가 삭제되었는데 누가 삭제했는지 알 수 없습니다. 로그는 작업이 시작되었음을 표시하지만 그 이상의 정보를 제공하지 않습니다.

문제 원인

이와 같은 자세한 개인 식별 정보(PII)를 로깅하려면 감사 로깅을 사용 설정해야 합니다.

해결 방법

프로젝트에서 감사 로깅을 사용 설정합니다.


Logging이 디스크 공간을 많이 사용함

로그 파일이 디스크 공간을 얼마나 사용하는지 확인하는 것이 좋습니다.

문제 원인

디스크 공간을 사용하는 로그 파일에는 재실행 로그, 일반 로그, 바이너리 로그가 있습니다.

해결 방법:

각 로그 파일 유형에 대한 자세한 내용을 보려면 다음 명령어를 실행하세요.

SHOW VARIABLES LIKE 'innodb_log_file%';

SELECT ROUND(SUM(LENGTH(argument)/POW(1024,2),2) AS GB from mysql.general_log;

SHOW BINARY LOGS;