Azure Database for PostgreSQL - 유연한 서버에서 로그 구성 및 액세스

적용 대상: Azure Database for PostgreSQL - 유연한 서버

Azure Database for PostgreSQL 유연한 서버 로그는 유연한 서버의 모든 노드에서 사용할 수 있습니다. 스토리지 서버 또는 분석 서비스에 로그를 보낼 수 있습니다. 로그는 구성 오류 및 비정상적인 성능 문제를 인지하고, 해결하며, 복구하는 데 사용됩니다.

진단 설정 구성

Azure 포털, CLI, REST API, PowerShell을 사용하여 Azure Database for PostgreSQL 유연한 서버 인스턴스에 진단 설정을 사용할 수 있습니다. 선택할 로그 카테고리는 PostgreSQLLogs입니다.

Azure Portal을 사용하여 리소스 로그를 사용하도록 설정하려면 다음 단계를 수행합니다.

  1. 포털에서 Azure Database for PostgreSQL 유연한 서버 인스턴스의 탐색 메뉴에 있는 진단 설정으로 이동합니다.

  2. 진단 설정 추가를 선택합니다. Add diagnostic settings button

  3. 이 설정의 이름을 정합니다.

  4. 원하는 엔드포인트(Log Analytics 작업 영역, 스토리지 계정, 이벤트 허브)를 선택합니다.

  5. 범주 목록에서 로그 유형을 선택합니다(서버 로그, 세션 데이터, 쿼리 저장소 런타임/대기 통계 등). Screenshot of choosing log categories.

  6. 설정을 저장합니다.

PowerShell, CLI 또는 REST API를 사용하여 리소스 로그를 사용하려면 진단 설정 문서를 참조하세요.

리소스 로그 액세스

로그에 액세스하는 방법은 선택한 엔드포인트에 따라 다릅니다. Azure Storage의 경우에는 로그 스토리지 계정 문서를 참조하세요. Event Hubs에 대해서는 Azure 로그 스트림 문서를 참조하세요.

Azure Monitor 로그의 경우 선택한 작업 영역으로 로그가 전송됩니다. Azure Database for PostgreSQL 유연한 서버 로그는 AzureDiagnostics 컬렉션 모드를 사용하므로, AzureDiagnostics 테이블에서 쿼리될 수 있습니다. 테이블의 필드는 아래에 설명되어 있습니다. 쿼리와 경고에 대한 자세한 정보를 Azure Monitor 로그 쿼리 개요에서 알아봅니다.

다음은 시작해볼 수 있는 쿼리입니다. 쿼리를 기반으로 한 경고를 구성할 수 있습니다.

마지막 날의 특정 서버에 대한 모든 Azure Database for PostgreSQL 유연한 서버 로그를 검색합니다.

AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d) 

모든 localhost가 아닌 연결 시도를 검색합니다 아래의 쿼리는 이 작업 영역에 있는 Azure Database for PostgreSQL 유연한 서버 로깅에 대해 최근 6시간 동안의 결과를 표시합니다.

AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)

마지막 날의 특정 서버에 대해 pg_stat_activity 시스템 뷰에서 수집된 Azure Database for PostgreSQL 유연한 서버 세션을 검색합니다.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexSessions'
| where TimeGenerated > ago(1d) 

마지막 날의 특정 서버에 대해 query_store.qs_view에서 수집된 Azure Database for PostgreSQL 유연한 서버 쿼리 저장소 런타임 통계를 검색합니다. 쿼리 저장소를 사용하도록 설정해야 합니다.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreRuntime'
| where TimeGenerated > ago(1d) 

마지막 날의 특정 서버에 대해 query_store.pgms_wait_sampling_view에서 수집된 Azure Database for PostgreSQL 유연한 서버 쿼리 저장소 대기 통계를 검색합니다. 쿼리 저장소 대기 샘플링을 사용하도록 설정해야 합니다.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreWaitStats'
| where TimeGenerated > ago(1d) 

마지막 날 동안 특정 서버의 각 데이터베이스에 대한 Azure Database for PostgreSQL 유연한 서버 자동 진공 및 스키마 통계를 검색합니다.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexTableStats'
| where TimeGenerated > ago(1d) 

마지막 날 동안 특정 서버의 각 데이터베이스에 대한 긴급 자동 진공 또는 래핑 방지까지 Azure Database for PostgreSQL 유연한 서버의 남은 트랜잭션 및 multixact를 검색합니다.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexDatabaseXacts'
| where TimeGenerated > ago(1d) 

다음 단계