Zabbix yordamida PostgreSQL monitoringi

Zabbix yordamida PostgreSQL monitoringi
Daria Vilkovaning Zabbix Meetup Online uchun reportaji

Men sizni kompaniyamiz tomonidan Zabbix yordamida ishlab chiqilayotgan PostgreSQL va operatsion tizim monitoringi vositasi bilan tanishtirmoqchiman.

Biz Zabbix-ni uzoq vaqt davomida monitoring vositasi sifatida tanladik, chunki u Rossiyada juda mashhur bo'lgan faol hamjamiyat tomonidan qo'llab-quvvatlanadigan ochiq kodli platformadir.

Biz faol agent - Mamonsu yaratdik, u o'sha paytda ruxsat etilgan standart vositalardan ko'ra ko'proq moslashuvchan monitoringni ta'minladi va o'lchovlarni to'plash va ularni Zabbix Serverga yuborishni ta'minladi. Kompaniyamizda auditda Mamonsu qo'llaniladi.

Mamonsu

Mamonsu PostgreSQL va operatsion tizimni kuzatish uchun faol agent (Zabbix Trapper). Mamonsu (Python tilida yozilgan) PostgreSQL va operatsion tizim monitoringi sozlamalarini besh daqiqada sozlash imkonini beradi.

Mamonsu qo'shimcha vositalarga ega:

  • mamonsu tune - bu Mamonsu agenti o'rnatilgan mashina uchun PostgreSQL konfiguratsiya faylidagi sozlamalarni tahrirlovchi buyruq.
  • mamonsu report - bu operatsion tizim va PostgreSQL haqida javoblarni ishlab chiqaruvchi buyruq.

Mamonsu ma'lumotlar bazasi serveriga o'rnatiladi, ma'lumot to'playdi, uni JSONga tuzadi, u vizualizatsiya uchun Zabbix serveriga yuboradi, bu erda uning ko'rsatkichlari uchun shablon bo'lishi kerak.

Zabbix yordamida PostgreSQL monitoringi

Mamonsu ish sxemasi

Mamonsu xususiyatlari

  • PostgreSQL bilan samarali ishlash. PostgreSQL-ga doimiy ulanish Mamonsu-ning asosiy afzalligi hisoblanadi. Bunday holda, ulanishlarning maksimal soni u bog'langan ma'lumotlar bazalarining maksimal soniga teng bo'ladi.
  • Kengaytirish qobiliyati. Mamonsu to'liq "plagin" agenti bo'lib, har bir plaginning qattiq tuzilishi va Pythonning nisbatan soddaligi tufayli yangi plaginlarni yozish yoki standart plaginlarni, ya'ni o'lchovlar yig'ish parametrlarini tahrirlashni oson o'rganish mumkin.
  • Monitoring ko'rsatkichlarining keng qamrovi PotgreSQL uchun kengaytmaga xos ko'rsatkichlarni o'z ichiga oladi.
  • tez ishga tushirish, qutidan tashqarida mavjudligi.
  • Shablonlar va konfiguratsiya fayllarini yuklash, shuningdek, Zabbix serveriga yuklash.
  • O'zaro faoliyat platforma, bu turli xil Linux distributivlaridan, shu jumladan mahalliy distribyutorlardan foydalanadigan mijozlarimiz uchun muhimdir.
  • BSD-band litsenziyasi.

Ayni paytda biz juda ko'p plaginlarni taklif qilamiz va har bir keyingi versiyada biz yangi narsalarni qo'shishga harakat qilamiz.

  • PostgreSQL uchun 14 plagin,
  • OS Linux uchun 8 plagin,
  • Windows OS uchun 4 plagin.

Mamonsu 110 dan ortiq PostgreSQL va operatsion tizim ko'rsatkichlarini to'playdi:

  • 70 PostgreSQL ko'rsatkichlari,
  • 40 OS Linux ko'rsatkichlari,
  • 8 OS Windows ko'rsatkichlari.

Asosiy ko'rsatkichlar ma'lumotlar bazasi mavjudligi, ulanishlar soni, ma'lumotlar bazasi hajmi, nazorat nuqtalari, o'qish / yozish tezligi, qulflar, avtovakuum jarayonlari soni va WAL yaratish tezligini o'z ichiga oladi. Mavjud ko'rsatkichlarning to'liq ro'yxati, shuningdek, barcha vositalarning batafsil tavsifi bo'limda mavjud omborlar GitHub saytida.

Zabbix yordamida PostgreSQL monitoringi

GitHub-da mavjud ko'rsatkichlar ro'yxati

Mamonsuni 5 daqiqada ishga tushiring

Mamonsu yordamida PostgreSQL va operatsion tizim monitoringini sozlash uchun siz 5 oddiy qadamni bajarib, buni 5 daqiqada qilishingiz mumkin.

  1. Mamonsu o'rnatilmoqda. Mamonsu manbadan tuzilishi yoki mavjud paketlardan foydalanishi mumkin.

$ git clone ... && cd mamonsu && python setup.py

build && python setup.py install

  1. Ulanishni sozlash. agent.conf faylida PostgreSQL va Zabbix Server uchun ulanish parametrlarini o'rnatish kerak.

/etc/mamonsu/agent.conf

  1. Shablonni Zabbix serveriga eksport qiling.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Zabbix serveriga xost qo'shilmoqda. Eksport qilingan shablon avtomatik ravishda Zabbix Serverdagi yangi xostga ulanadi.

$ mamonsu zabbix host create mamonsu-demo

  1. Ishga tushish.

$ service mamonsu start

Mamonsu rivojlanish yo'nalishlari

Mamonsu-ni rivojlantirish doirasida biz ko'rsatkichlarni yaxshilashni va yangi plaginlarni yaratishni rejalashtirmoqdamiz, masalan, alohida jadvallar hajmini kuzatish uchun plagin. Shuningdek, biz qo'shimcha vositalarni yaxshilash va yaratishni, shuningdek, buyruq orqali avtomatik sozlash imkoniyatlarini kengaytirishni rejalashtirmoqdamiz mamonsu kuy.

Zabbix Agent 2 ning bir qismi sifatida PostgreSQL monitoring moduli

PostgreSQL-ga ulanish uchun tez va mashhur drayverdan foydalaniladi pgx (PG drayveri va Go uchun asboblar to'plami).

Hozircha biz ikkita interfeysdan foydalanmoqdamiz: ishlov beruvchini kalit bo'yicha chaqiradigan Exporter va konfiguratsiya faylida ko'rsatilgan server bilan ulanish parametrlarini o'qiydigan va tekshiradigan Configurator Zabbix Agent 2.

Biz ko'rsatkichlarni guruhlash va ko'rsatkichlar va metrik guruhlar uchun ishlov beruvchi (ishlovchi) dan foydalanish, shuningdek JSONdagi o'lchov guruhlarini bog'liq o'zgaruvchilar (qaramlik elementlari) va past darajadagi kashfiyotlar (kashfiyot qoidalari) sifatida ishlatish orqali DBMS ishini optimallashtirishga harakat qildik. ).

Asosiy xususiyatlar

  • tekshiruvlar o'rtasida PostgreSQL bilan doimiy aloqani saqlab turish;
  • moslashuvchan ovoz berish intervallarini qo'llab-quvvatlash;
  • 10 dan boshlab PostgreSQL versiyalari va 4.4 versiyasidan boshlab Zabbix Server bilan moslik;
  • Zabbix Agent 2 bir nechta seanslarni yaratishga imkon berishi tufayli bir vaqtning o'zida bir nechta PostgreSQL misollarini ulash va kuzatish imkoniyati.

PostgreSQL ulanish parametrlari darajalari

Hammasi bo'lib PostgreSQL ulanish parametrlarining uchta darajasi mavjud, ya'ni vazifalar va sozlamalar:

  • global,
  • sessiya,
  • Makroslar.

  1. Global parametrlar agent darajasida o'rnatiladi, Sessiya va Makros parametrlari ma'lumotlar bazasi ulanish parametrlarini belgilaydi.

  2. PostgreSQL ga ulanish parametrlari - Seanslar faylda o'rnatiladi zabbix_agent2.conf.

Zabbix yordamida PostgreSQL monitoringi

PostgreSQL ulanish parametrlari - Seanslar

  • Kalit so'zdan keyin Suhbatlar kalitda (shablonda) ko'rsatilishi kerak bo'lgan noyob sessiya nomi ko'rsatilgan.
  • parametrlar URI ΠΈ Foydalanuvchi nomi har bir seans uchun talab qilinadi.
  • Agar asosiy nom ko'rsatilmagan bo'lsa, barcha PostgreSQL seanslari uchun standart umumiy baza nomi ishlatiladi, u ham konfiguratsiya faylida o'rnatiladi.

  1. PostgreSQL-ga ulanish parametrlari - Makrolar shablondagi metrik kalitda o'rnatiladi (Zabbix Agent 1 da qo'llaniladigan usulga o'xshash), ya'ni ular shablonda yaratiladi va keyin kalitda parametrlar sifatida ko'rsatiladi. Bunday holda, makrolar ketma-ketligi belgilanadi, ya'ni, masalan, URI har doim birinchi o'rinda turadi.

Zabbix yordamida PostgreSQL monitoringi

PostgreSQL ulanish parametrlari - Makroslar

PostgreSQL monitoring moduli allaqachon PostgreSQL parametrlarining juda keng doirasini qamrab olish imkonini beruvchi 95 dan ortiq ko'rsatkichlarni o'z ichiga oladi, jumladan:

  • ulanishlar soni
  • ma'lumotlar bazasi hajmi,
  • wal fayllarini arxivlash,
  • nazorat punktlari,
  • "shishib ketgan" jadvallar soni,
  • replikatsiya holati,
  • replikatsiya kechikishi.

PostgreSQL ko'rsatkichlari operatsion tizim parametrlarisiz informatsion emas. Ammo Zabbix Agent 2 allaqachon operatsion tizim parametrlarini qanday yig'ishni biladi, shuning uchun to'liq rasmni olish uchun biz kerakli shablonlarni xostga ulaymiz.

Ishlovchi

Ishlovchi modulning asosiy birligi bo'lib, unda so'rovning o'zi bajariladi va ko'rsatkichlarni olish imkonini beradi.

Oddiy ko'rsatkichni olish uchun:

  1. Yangi metrikani olish uchun fayl yarating:

zabbix/src/go/plugins/postgres/handler_uptime.go

  1. Biz paketni ulaymiz va o'lchovlarning noyob kalitini (kalitlarini) belgilaymiz:

Zabbix yordamida PostgreSQL monitoringi

  1. Biz so'rov bilan ishlov beruvchi (ishlovchi) yaratamiz, ya'ni natijani o'z ichiga olgan o'zgaruvchini ishga tushiramiz:

Zabbix yordamida PostgreSQL monitoringi

  1. Biz so'rovni bajaramiz:

Zabbix yordamida PostgreSQL monitoringi

Xatolar uchun so'rovni tekshirish kerak, shundan so'ng natija Zabbix Agent 2 jarayoni tomonidan olinadi.

  1. Yangi metrik kalitni ro'yxatdan o'tkazing:

Zabbix yordamida PostgreSQL monitoringi

Ko'rsatkichni ro'yxatdan o'tkazgandan so'ng, agentni yangi ko'rsatkich bilan qayta qurishingiz mumkin.

Modul saytda Zabbix 5.0 dan boshlab mavjud https://www.zabbix.com/download. Zabbixning ushbu versiyasida parametrlar xost va port orqali alohida o'rnatiladi. Tez orada chiqariladigan Zabbix 5.0.2 da ulanish parametrlari bitta URIga to'planadi.

E'tiboringiz uchun tashakkur!

Foydali havolalar

GitHub Mamonsu

Mamonsu hujjatlari

Zabbix Git

Manba: www.habr.com

a Izoh qo'shish