Log di Azure Database for PostgreSQL - Hyperscale (Citus)

BERLAKU UNTUK: Azure Database for PostgreSQL - Hyperscale (Citus)

Log server database PostgreSQL tersedia di setiap simpul dari sebuah grup server Hyperscale (Citus). Anda dapat mengirim log ke server penyimpanan, atau ke layanan analitik. Log ini dapat digunakan untuk mengidentifikasi, memecahkan masalah, dan memperbaiki kesalahan konfigurasi dan performa yang kurang optimal.

Menangkap log

Untuk mengakses log PostgreSQL untuk koordinator Hyperscale (Citus) atau node pekerja, Anda harus mengaktifkan pengaturan diagnostik PostgreSQLLogs. Di portal Microsoft Azure, buka Pengaturan diagnostik, lalu pilih + Tambahkan pengaturan diagnostik.

Add diagnostic settings button

Pilih nama untuk pengaturan diagnostik baru, centang kotak PostgreSQLLogs, lalu centang kotak Kirim ke ruang kerja Log Analytics. Lalu pilih Simpan.

Choose PostgreSQL logs

Menampilkan log

Untuk melihat dan memfilter log, kami akan menggunakan kueri Kusto. Buka Logs di portal Microsoft Azure untuk grup server Hyperscale (Citus) Anda. Jika dialog pemilihan kueri muncul, tutup:

Logs page with dialog box open

Anda kemudian akan melihat kotak input untuk memasukkan kueri.

Input box to query logs

Masukkan kueri berikut, lalu pilih tombol Jalankan.

AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s

Kueri di atas mencantumkan pesan log dari semua node, bersama dengan tingkat keparahan dan timestamp mereka. Anda dapat menambahkan klausa where untuk memfilter hasil. Misalnya, untuk melihat kesalahan dari node koordinator saja, filter tingkat kesalahan dan nama server seperti ini:

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

Ganti nama server dalam contoh di atas dengan nama server Anda. Nama node koordinator memiliki akhiran -c dan node pekerja diberi nama dengan akhiran -w0, -w1, dan seterusnya.

Log Azure dapat difilter dengan cara yang berbeda. Berikut adalah cara untuk menemukan log yang pesannya cocok dengan regex dalam sehari terakhir.

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

Langkah berikutnya