Bagikan melalui


Mengonfigurasi dan mengakses log di Azure Database for PostgreSQL

Log untuk instans server fleksibel Azure Database for PostgreSQL tersedia di setiap node server. Anda dapat mengirim log ke sebuah server penyimpanan, atau ke layanan analitik. Log ini dapat digunakan untuk mengidentifikasi, memecahkan masalah, dan memperbaiki kesalahan konfigurasi dan performa yang kurang optimal.

Mengonfigurasi pengaturan diagnostik

Anda dapat mengaktifkan pengaturan diagnostik untuk instans server fleksibel Azure Database for PostgreSQL menggunakan portal Azure, CLI, REST API, dan PowerShell. Kategori log yang akan dipilih adalah PostgreSQLLogs.

Mengaktifkan log sumber daya menggunakan portal Azure:

  1. Di portal, buka Pengaturan Diagnostik di menu navigasi instans server fleksibel Azure Database for PostgreSQL Anda.

  2. Pilih Tambah Pengaturan Diagnostik. Menambahkan tombol pengaturan diagnostik

  3. Beri nama setelan ini.

  4. Pilih titik akhir pilihan Anda (ruang kerja Analitik Log, akun Penyimpanan, Hub peristiwa).

  5. Pilih jenis log dari daftar kategori (Log Server, Data sesi, Runtime Penyimpanan Kueri/ Statistik Tunggu, dll.) Cuplikan layar memilih kategori log.

  6. Simpan pengaturan Anda.

Untuk mengaktifkan log sumber daya menggunakan PowerShell, CLI, atau REST API, kunjungi artikel pengaturan diagnostik.

Mengakses log sumber daya

Cara mengakses log tergantung pada titik akhir yang Anda pilih. Untuk Azure Storage, lihat artikel akun penyimpanan log. Untuk Azure Event Hubs, lihat artikel mengalirkan log Azure.

Untuk Log Azure Monitor, log dikirim ke ruang kerja yang Anda pilih. Log Azure Database for PostgreSQL menggunakan mode pengumpulan AzureDiagnostics sehingga dapat di-query dari tabel AzureDiagnostics. Bidang dalam tabel dijelaskan di bawah ini. Pelajari selengkapnya tentang kueri dan pemberitahuan dalam ringkasan Kueri Log Azure Monitor.

Berikut ini adalah kueri yang dapat Anda coba untuk memulai. Anda dapat mengonfigurasi peringatan berdasarkan kueri.

Cari semua log Azure Database for PostgreSQL untuk server tertentu di hari terakhir.

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

Cari semua upaya koneksi non-localhost. Kueri di bawah ini akan menampilkan hasil selama 6 jam terakhir untuk setiap pengelogan Azure Database for PostgreSQL di ruang kerja ini.

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

Cari Sesi Azure Database for PostgreSQL yang dikumpulkan dari pg_stat_activity tampilan sistem untuk server tertentu di hari terakhir.

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

Cari statistik runtime Penyimpanan Kueri Azure Database for PostgreSQL yang dikumpulkan dari query_store.qs_view untuk server tertentu dalam hari terakhir. Ini mengharuskan Penyimpanan Kueri diaktifkan.

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

Cari Azure Database for PostgreSQL Query Store Wait Statistics yang dikumpulkan dari query_store.pgms_wait_sampling_view untuk server tertentu di hari terakhir. Ini mengharuskan Pengambilan Sampel Tunggu Penyimpanan Kueri diaktifkan.

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

Cari statistik Autovacuum dan Skema dalam Azure Database for PostgreSQL untuk setiap database di server tertentu dalam 24 jam terakhir.

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

Cari transaksi dan multixact yang tersisa pada Azure Database for PostgreSQL hingga terjadi autovacuum darurat atau perlindungan wraparound di setiap database dalam server tertentu dalam 24 jam terakhir.

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