다음을 통해 공유


Azure Database for PostgreSQL의 로그

Azure Database for PostgreSQL을 사용하면 Postgres의 표준 로그를 구성하고 액세스할 수 있습니다. 해당 로그는 구성 오류 및 최적이 아닌 성능 문제를 식별하고, 문제를 해결하고, 복구하는 데 사용될 수 있습니다. 구성 및 액세스할 수 있는 로깅 정보에는 오류, 쿼리 정보, autovacuum 레코드, 연결 및 검사점이 있습니다. (트랜잭션 로그에 대한 액세스는 사용할 수 없습니다).

감사 로깅은 pgaudit Postgres 확장을 통해 가능합니다. 자세히 알아보려면 감사 개념 문서를 참조하세요.

로깅 구성

로깅 서버 매개 변수를 사용하면 서버에서 로깅을 구성할 수 있습니다. Postgres 로그 매개 변수에 대한 자세한 내용을 알아보려면 Postgres 설명서의 로그할 시기로그할 항목 섹션을 참조하세요. 전부는 아니지만 대부분의 Postgres 로깅 매개 변수는 Azure Database for PostgreSQL에서 구성할 수 있습니다.

Azure Database for PostgreSQL에서 매개 변수를 구성하는 방법을 알아보려면 포털 설명서 또는 CLI 설명서를 참조하세요.

참고

많은 양의 로그를 구성하려면 상당한 성능 오버헤드를 추가할 수 있습니다. 예를 들어, 로그 기록은 성능에 영향을 미칠 수 있습니다.

액세스 로그

Azure Database for PostgreSQL은 Azure Monitor 진단 설정과 통합됩니다. 진단 설정을 사용하면 분석 및 경고를 위해 JSON 형식의 PostgreSQL 로그를 Azure Monitor 로그로 보낼 수 있습니다. Event Hubs로 스트리밍하거나 Azure Storage에 보관할 수도 있습니다.

로그에 대한 액세스 제어

서버 로그에 대한 액세스는 Azure Role-Based RBAC(Access Control)를 통해 제어됩니다. 서버에 대한 읽기 액세스를 제공하는 모든 역할은 로그를 다운로드할 수도 있습니다. 여기에는 다음과 같은 기본 제공 역할이 포함됩니다.

  • 판독기
  • 모니터링 리더기
  • Log Analytics 판독기
  • 또는 동등한 사용자 지정 역할

경고

로그에는 로깅 구성에 따라 자격 증명과 같은 중요한 정보가 포함될 수 있습니다.

데이터 보존 정책 및 가격 책정

Event Hubs 또는 Storage 계정으로 전송된 로그의 경우 일정 기간 후에 데이터를 자동으로 삭제하도록 보존 정책을 설정할 수 있습니다. Log Analytics 비용은 다음 두 가지 요인에 따라 달라집니다.

  • 데이터 수집: 요금은 작업 영역에 수집되는 데이터 볼륨을 기반으로 합니다.
  • 데이터 보존: Log Analytics 작업 영역에 저장된 로그는 처음 31일 동안 무료로 유지됩니다. 이 무료 보존 기간 외에는 매달 보존되는 데이터 양(GB)을 기준으로 일일 pro-rata 기준으로 계산된 데이터 저장에 대한 요금이 부과됩니다.

데이터 수집 및 보존과 관련된 비용을 분석하려면 Azure Monitor 가격 책정 페이지를 방문하세요.

로그 형식

다음 표에서는 PostgreSQLLogs 형식의 필드를 설명합니다. 선택한 출력 엔드포인트에 따라 포함된 필드와 표시되는 순서가 다를 수 있습니다.

필드 설명
TenantId 테넌트 ID
SourceSystem Azure
생성 시간 [UTC] UTC에 로그가 기록된 때의 타임스탬프
Type 로그의 형식 항상 AzureDiagnostics
SubscriptionId 서버가 속한 구독의 GUID
ResourceGroup 서버가 속한 리소스 그룹의 이름
ResourceProvider 리소스 공급자의 이름. 항상 MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
ResourceId 리소스 URI
리소스 서버의 이름
범주 PostgreSQLLogs
OperationName LogEvent
errorLevel_s 로깅 수준(예: LOG, ERROR, NOTICE)
processId_d PostgreSQL 백 엔드의 프로세스 ID
sqlerrcode_s SQLSTATE 코드에 대한 SQL 표준 규칙을 따르는 PostgreSQL 오류 코드
메시지 기본 로그 메시지
세부 정보 보조 로그 메시지(해당하는 경우)
ColumnName 열 이름(해당하는 경우)
SchemaName 스키마 이름(해당하는 경우)
DatatypeName 데이터 형식 이름(해당하는 경우)
_ResourceId 리소스 URI

알려진 제한 사항

  • 로그 이벤트 크기: 65KB보다 큰 쿼리 계획 또는 로그 메시지는 Azure Monitor 로그에 캡처되지 않습니다. 플랫폼 전체 Azure Monitor 제한입니다. 따라서 복잡한 쿼리(예: 중첩 뷰와 관련된 쿼리)는 서버 로그에서 불완전하거나 누락된 쿼리 계획 출력을 생성할 수 있습니다.
  • 기타 제약 조건: 경고 규칙 할당량 및 쿼리 결과 크기와 같은 다른 플랫폼 전체 제한이 Azure Monitor 로그에 적용됩니다. 전체 목록을 보려면 Azure Monitor 서비스 제한 설명서를 참조하여 자세한 내용을 확인하세요.