PostgreSQL faol sessiya tarixi - yangi pgsentinel kengaytmasi

kompaniya pgsentinel xuddi shu nomdagi pgsentinel kengaytmasini chiqardi (github ombori), bu PostgreSQL-ga pg_active_session_history ko'rinishini qo'shadi - faol seanslar tarixi (Oracle v$active_session_history-ga o'xshash).

Asosan, bu pg_stat_activity-dan ikkinchi soniyali suratlar, ammo muhim fikrlar mavjud:

  1. Barcha to'plangan ma'lumotlar faqat operativ xotirada saqlanadi va sarflangan xotira miqdori oxirgi saqlangan yozuvlar soni bilan tartibga solinadi.
  2. Queryid maydoni qo'shildi - pg_stat_statements kengaytmasidan bir xil so'rov id (oldindan o'rnatish talab qilinadi).
  3. Top_level_query maydoni qo'shiladi - joriy so'rov chaqirilgan so'rov matni (agar pl/pgsql ishlatilsa)


pg_active_session_history maydonlarining toΚ»liq roΚ»yxati:

      Ustun | Turi -----------------+-------------------- ash_time | vaqt mintaqasi datid | bilan vaqt tamg'asi oid sana nomi | matn pid | integer usesysid | oid foydalanuvchi nomi | matn ilova_nomi | matn client_addr | matn client_hostname | text client_port | integer backend_start | xact_start | vaqt mintaqasi bilan vaqt tamg'asi vaqt mintaqasi query_start | bilan vaqt tamg'asi vaqt mintaqasi state_change | bilan vaqt tamg'asi vaqt zonasi wait_event_type | bilan vaqt tamg'asi text wait_event | matn holati | text backend_xid | xid backend_xmin | xid top_level_query | matn so'rovi | matn so'rovi | bigint backend_type | matn                     

O'rnatish uchun hali tayyor paket yo'q. Manbalarni yuklab olish va kutubxonani o'zingiz yig'ish tavsiya etiladi. Avval serveringiz uchun "devel" paketini o'rnatishingiz va PATH o'zgaruvchisida pg_config yo'lini o'rnatishingiz kerak. Biz yig'amiz:

cd pgsentinel/src
qilmoq
o'rnatish qilish

Postgres.conf ga parametrlarni qo'shing:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = hammasi

# xotirada saqlangan oxirgi yozuvlar soni
pgsentinel_ash.max_entries = 10000

PostgreSQL-ni qayta ishga tushiring va kengaytma yarating:

pgsentinel kengaytmasini yaratish;

To'plangan ma'lumotlar bizga quyidagi savollarga javob berishga imkon beradi:

  • Qaysi kutish seanslariga ko'p vaqt sarfladingiz?
  • Qaysi sessiyalar eng faol bo'ldi?
  • Qaysi so'rovlar eng faol bo'ldi?

Siz, albatta, SQL so'rovlari yordamida ushbu savollarga javob olishingiz mumkin, ammo sichqoncha bilan qiziqish vaqt oralig'ini ajratib ko'rsatish orqali buni vizual ravishda grafikda ko'rish qulayroqdir. Buni bepul dastur bilan qilishingiz mumkin PASH-ko'rish dasturi (bo'limda yig'ilgan ikkilik fayllarni yuklab olishingiz mumkin relizlar).

Ishga tushganda, PASH-Viewer (0.4.0 versiyasidan boshlab) pg_active_session_history ko'rinishi mavjudligini tekshiradi va agar mavjud bo'lsa, u butun to'plangan tarixni undan yuklaydi va har 15 soniyada grafikni yangilab, yangi kiruvchi ma'lumotlarni o'qishni davom ettiradi.

PostgreSQL faol sessiya tarixi - yangi pgsentinel kengaytmasi

Manba: www.habr.com

a Izoh qo'shish