Azure Cosmos DB for PostgreSQL의 로그

적용 대상: Azure Cosmos DB for PostgreSQL(PostgreSQL에 대한 Citus 데이터베이스 확장 기반)

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

캡처 로그

코디네이터 또는 작업자 노드에 대한 PostgreSQL 로그에 액세스하려면 PostgreSQL Server 로그 진단 설정을 사용하도록 설정해야 합니다. Azure Portal의 클러스터 페이지에서 왼쪽 메뉴의 진단 설정을 선택한 다음 진단 설정 추가를 선택합니다.

Screenshot that shows Add diagnostic setting.

새 진단 설정의 이름을 입력하고 PostgreSQL Server 로그 상자를 선택한 다음 Log Analytics 작업 영역으로 보내기 상자를 선택합니다. 그런 다음 저장을 선택합니다.

Screenshot that shows settings for the diagnostic setting.

로그 보기

로그를 보고 필터링하려면 Kusto 쿼리를 사용합니다. Azure Portal의 클러스터 페이지 왼쪽 메뉴에서 로그를 선택합니다. 시작 화면과 쿼리 선택 화면을 닫습니다.

Screenshot that shows closing the opening query selection screen.

다음 쿼리를 쿼리 입력 상자에 붙여넣은 다음 실행을 선택합니다.

AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s

Screenshot that shows the query input box.

앞의 쿼리는 심각도 및 타임스탬프와 함께 모든 노드의 로그 메시지를 나열합니다. where 절을 추가하여 결과를 필터링할 수 있습니다. 예를 들어, 코디네이터 노드의 오류만 보려면 다음 쿼리와 같이 오류 수준과 서버 이름을 필터링합니다. 서버 이름을 사용 중인 서버 이름으로 바꿉니다.

AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s
| where LogicalServerName_s == 'example-cluster-c'
| where errorLevel_s == 'ERROR'

코디네이터 노드 이름에는 -c 접미사가 있고 작업자 노드는 -w0, -w1 등의 접미사를 사용하여 이름이 지정됩니다.

Azure 로그는 다양한 방식으로 필터링할 수 있습니다. 다음은 메시지가 정규식과 일치하는 지난 날의 로그를 찾는 방법입니다.

AzureDiagnostics
| where TimeGenerated > ago(24h)
| order by TimeGenerated desc
| where Message matches regex ".*error.*"

다음 단계