Azure Database for PostgreSQL 유연한 서버의 로그

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

감사 로깅은 Postgres 확장을 pgaudit통해 사용할 수 있습니다. 자세한 내용은 감사 개념 문서를 참조하세요.

로깅 구성

로깅 매개 변수를 사용하여 서버에서 Postgres 표준 로깅을 구성합니다. Postgres 로그 매개 변수에 대한 자세한 내용은 Postgres 설명서의 기록 시기 및 로그할 내용 섹션을 참조하세요. Azure Database for PostgreSQL에서는 Postgres의 로깅 매개 변수 대부분을 구성할 수 있지만, 모두 구성할 수 있는 것은 아닙니다.

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

비고

많은 양의 로그를 구성하면 상당한 성능 오버헤드가 발생할 수 있습니다. 예를 들어 문 로깅은 성능에 영향을 줄 수 있습니다.

액세스 로그

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

로그에 대한 액세스 제어

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

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

경고

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

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

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

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

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

로그 형식

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

분야 설명
테넌트아이디 테넌트 ID
소스 시스템 Azure
생성 시간 [UTC] UTC에 로그가 기록된 때의 타임스탬프
유형 로그의 형식. 항상 AzureDiagnostics
구독아이디 서버가 속한 구독의 GUID
리소스 그룹 서버가 속한 리소스 그룹의 이름
리소스 제공자 리소스 공급자의 이름. 항상 MICROSOFT.DBFORPOSTGRESQL
리소스 유형 FlexibleServers
리소스 ID 리소스 URI
Resource 서버의 이름
카테고리 PostgreSQLLogs
작전이름 LogEvent
errorLevel_s 로깅 수준(예: LOG, ERROR, NOTICE)
processId_d PostgreSQL 백 엔드의 프로세스 ID
sqlerrcode_s SQLSTATE 코드에 대한 SQL 표준 규칙을 따르는 PostgreSQL 오류 코드
Message 기본 로그 메시지
세부 정보 보조 로그 메시지(해당하는 경우)
ColumnName 열 이름(해당하는 경우)
SchemaName 스키마 이름(해당하는 경우)
DatatypeName 데이터 형식 이름(해당하는 경우)
_리소스아이디 리소스 URI

알려진 제한 사항

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