Bagikan melalui


Log dalam Azure Database for PostgreSQL - Server Tunggal

BERLAKU UNTUK: Azure Database for PostgreSQL - Server Tunggal

Penting

Azure Database for PostgreSQL - Server Tunggal berada di jalur penghentian. Kami sangat menyarankan Agar Anda meningkatkan ke Azure Database for PostgreSQL - Server Fleksibel. Untuk informasi selengkapnya tentang migrasi ke Azure Database for PostgreSQL - Server Fleksibel, lihat Apa yang terjadi pada Server Tunggal Azure Database for PostgreSQL?.

Azure Database for PostgreSQL memungkinkan Anda mengonfigurasi dan mengakses log standar Postgres. Log ini dapat digunakan untuk mengidentifikasi, memecahkan masalah, dan memperbaiki kesalahan konfigurasi dan performa yang kurang optimal. Informasi pengelogan yang dapat Anda konfigurasi dan akses meliputi kesalahan, informasi kueri, rekaman autovacuum, koneksi, dan titik pemeriksaan. (Akses ke log transaksi tidak tersedia).

Pengelogan audit tersedia melalui ekstensi PostgreSQL, pgaudit. Untuk mempelajari lebih lanjut, kunjungi artikel konsep audit.

Mengonfigurasi pengelogan

Anda dapat mengonfigurasi pengelogan standar Postgres di server Anda menggunakan parameter server pengelogan. Di setiap server Azure Database for PostgreSQL, log_checkpoints dan log_connections aktif secara default. Ada parameter tambahan yang dapat Anda sesuaikan dengan kebutuhan pencatatan Anda:

Azure Database for PostgreSQL - Parameter pengelogan

Untuk mempelajari selengkapnya tentang parameter log Postgres, kunjungi bagian Kapan Harus Log dan Apa yang Harus Dilog dalam dokumentasi Postgres. Sebagian besar, tetapi tidak semua, parameter pembuatan log Postgres tersedia untuk dikonfigurasi di Azure Database for PostgreSQL.

Untuk mempelajari cara mengonfigurasi parameter di Azure Database for PostgreSQL, lihat dokumentasi portal atau dokumentasi CLI.

Catatan

Mengonfigurasi log dalam volume tinggi, misalnya pencatatan pernyataan, dapat menambahkan biaya kinerja yang signifikan.

Mengakses file .log

Format log default dalam Azure Database for PostgreSQL adalah .log. Contoh baris dari log ini terlihat seperti:

2019-10-14 17:00:03 UTC-5d773cc3.3c-LOG: connection received: host=101.0.0.6 port=34331 pid=16216

Azure Database for PostgreSQL menyediakan lokasi penyimpanan jangka pendek untuk file .log. File baru dimulai setiap 1 jam atau 100 MB, mana saja yang lebih dulu dicapai. Log ditambahkan ke file saat ini saat dikeluarkan dari Postgres.

Anda dapat mengatur periode retensi untuk penyimpanan log jangka pendek ini menggunakan parameter log_retention_period. Nilai default adalah 3 hari; nilai maksimum adalah 7 hari. Lokasi penyimpanan jangka pendek dapat menampung hingga 1 GB file log. Setelah 1 GB, file tertua, terlepas dari periode retensi, akan dihapus untuk memberi ruang bagi log baru.

Untuk penyimpanan log dan analisis log jangka panjang, Anda dapat mengunduh file .log dan memindahkannya ke layanan pihak ketiga. Anda dapat mengunduh file menggunakan portal Microsoft Azure, Azure CLI. Atau, Anda dapat mengonfigurasi pengaturan diagnostik Azure Monitor yang secara otomatis mengeluarkan log Anda (dalam format JSON) ke lokasi jangka panjang. Pelajari selengkapnya tentang opsi ini di bagian bawah ini.

Anda dapat berhenti membuat .log file dengan mengatur parameter logging_collector ke OFF. Menonaktifkan pembuatan file .log disarankan jika Anda menggunakan pengaturan diagnostik Azure Monitor. Konfigurasi ini akan mengurangi dampak kinerja dari pencatatan tambahan.

Catatan

Hidupkan ulang server untuk menerapkan perubahan ini.

Log sumber daya

Azure Database for PostgreSQL terintegrasi dengan pengaturan diagnostik Azure Monitor. Pengaturan diagnostik memungkinkan Anda mengirim log Postgres dalam format JSON ke Azure Monitor Logs untuk analitik dan peringatan, Pusat Aktivitas untuk streaming, dan Azure Storage untuk pengarsipan.

Penting

Fitur diagnostik untuk ini hanya tersedia di tingkatan harga Tujuan Umum dan Pengoptimalan Memori.

Mengonfigurasi pengaturan diagnostik

Anda dapat mengaktifkan pengaturan diagnostik untuk server Postgres menggunakan portal Microsoft Azure, CLI, REST API, dan PowerShell. Kategori log yang akan dipilih adalah PostgreSQLLogs. (Ada log lain yang dapat Anda konfigurasi jika Anda menggunakan Query Store.)

Mengaktifkan log sumber daya menggunakan portal Azure:

  1. Pada portal, buka Pengaturan Diagnostik di bagian menu navigasi dari server Postgres Anda.
  2. Pilih Tambah Pengaturan Diagnostik.
  3. Beri nama setelan ini.
  4. Pilih titik akhir pilihan Anda (akun penyimpanan, pusat aktivitas, Log Analytics).
  5. Pilih jenis log Log Server PostgreSQL.
  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 Postgres menggunakan mode pengumpulan AzureDiagnostics, sehingga dapat dikueri 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 Postgres untuk server tertentu di hari terakhir

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

Cari semua upaya koneksi non-localhost

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

Kueri di atas akan menampilkan hasil selama 6 jam terakhir untuk setiap log server Postgres di ruang kerja ini.

Format Log

Tabel berikut ini menjelaskan bidang untuk jenis PostgreSQLLogs . Tergantung titik akhir yang Anda pilih, bidang yang disertakan dan urutan munculnya yang kemungkinan bisa beragam.

Bidang Keterangan
TenantId ID penyewa Anda
SourceSystem Azure
TimeGenerated [UTC] Tanda waktu ketika log direkam di UTC
Jenis Jenis log. Selalu AzureDiagnostics
SubscriptionId GUID untuk langganan milik server
ResourceGroup Nama grup sumber daya milik server
ResourceProvider Nama penyedia sumber daya. Selalu MICROSOFT.DBFORPOSTGRESQL
ResourceType Servers
ResourceId URI Sumber Daya
Sumber daya Nama server
Kategori PostgreSQLLogs
OperationName LogEvent
errorLevel Tingkat pengelogan, contoh: LOG, ERROR, NOTICE
Pesan Pesan log utama
Domain Versi server, contoh: postgres-10
Detail Pesan log sekunder (jika ada)
ColumnName Nama kolom (jika ada)
Nama Skema Nama skema (jika ada)
DatatypeName Nama jenis data (jika ada)
LogicalServerName Nama server
_ResourceId URI Sumber Daya
Awalan Prefiks baris log

Langkah berikutnya