Aracılığıyla paylaş


PostgreSQL için Azure Veritabanı'nda günlükleri yapılandırma ve günlüklere erişme

PostgreSQL için Azure Veritabanı esnek sunucu örnekleri için günlükler bir sunucunun her düğümünde kullanılabilir. Günlükleri bir depolama sunucusuna veya analiz hizmetine gönderebilirsiniz. Günlükler, yapılandırma hatalarını ve düşük performans sorunlarını belirlemek, gidermek ve onarmak için kullanılabilir.

Tanılama ayarlarını yapılandırma

Azure portalı, CLI, REST API ve PowerShell kullanarak PostgreSQL için Azure Veritabanı esnek sunucu örneğiniz için tanılama ayarlarını etkinleştirebilirsiniz. Seçecek günlük kategorisi PostgreSQLLogs'dur.

Azure portalını kullanarak kaynak günlüklerini etkinleştirmek için:

  1. Portalda, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin gezinti menüsünde Tanılama Ayarları'na gidin.

  2. Tanılama Ayarı Ekle'yi seçin. Tanılama ayarları ekle düğmesi

  3. Bu ayarı adlandır.

  4. Tercih ettiğiniz uç noktayı seçin (Log Analytics çalışma alanı, Depolama hesabı, Olay hub'ı).

  5. Kategoriler listesinden günlük türünü seçin (Sunucu Günlükleri, Oturum verileri, Sorgu Deposu Çalışma Zamanı / Bekleme İstatistikleri vb.) Günlük kategorilerini seçme ekran görüntüsü.

  6. Ayarınızı kaydedin.

PowerShell, CLI veya REST API kullanarak kaynak günlüklerini etkinleştirmek için tanılama ayarları makalesini ziyaret edin.

Kaynak günlüklerine erişme

Günlüklere erişme şekliniz hangi uç noktayı seçtiğinize bağlıdır. Azure Depolama için günlük depolama hesabı makalesine bakın. Event Hubs için Azure günlüklerini akışla aktarma makalesine bakın.

Azure İzleyici Günlükleri için günlükler seçtiğiniz çalışma alanına gönderilir. PostgreSQL için Azure Veritabanı günlükleri AzureDiagnostics koleksiyon modunu kullanır, böylece AzureDiagnostics tablosundan sorgulanabilir. Tablodaki alanlar aşağıda açıklanmıştır. Azure İzleyici Günlükleri sorgusuna genel bakış bölümünde sorgulama ve uyarı oluşturma hakkında daha fazla bilgi edinin.

Başlamak için deneyebileceğiniz sorgular aşağıdadır. Uyarıları sorgulara göre yapılandırabilirsiniz.

Son gün içinde belirli bir sunucu için tüm PostgreSQL için Azure Veritabanı günlüklerini arayın.

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

Localhost olmayan tüm bağlantı girişimlerini arayın. Aşağıdaki sorgu, bu çalışma alanında Azure PostgreSQL Veritabanı kayıtları için son 6 saat içindeki sonuçları gösterecektir.

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

Son gün içinde belirli bir sunucu için sistem görünümünden pg_stat_activity toplanan PostgreSQL için Azure Veritabanı Oturumlarını arayın.

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

Son gün içinde belirli bir sunucudan query_store.qs_view toplanan PostgreSQL için Azure Veritabanı Sorgu Deposu Çalışma Zamanı istatistiklerini arayın. Sorgu Deposu'un etkinleştirilmesi gerekir.

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

Son gün içinde belirli bir sunucudan query_store.pgms_wait_sampling_view toplanan PostgreSQL için Azure Veritabanı Sorgu Deposu Bekleme İstatistikleri'ni arayın. Sorgu Deposu Bekleme Örneklemesi'nin etkinleştirilmesi gerekir.

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

Belirli bir sunucudaki her bir veritabanı için son gün içinde PostgreSQL için Azure Veritabanı Autovacuum ve Şema İstatistiklerini arayın.

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

Son gün içinde belirli bir sunucudaki her veritabanı için acil otomatik vakum veya sarmalama korumasına kadar Azure PostgreSQL Veritabanı'nın kalan işlemlerini ve çoklu eylemleri arayın.

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