Ngawaskeun PostgreSQL nganggo Zabbix

Ngawaskeun PostgreSQL nganggo Zabbix
Laporan ku daria Vilkova pikeun Zabbix Meetup Online

Abdi hoyong ngenalkeun anjeun kana PostgreSQL sareng alat ngawaskeun sistem operasi anu dikembangkeun ku perusahaan kami nganggo Zabbix.

Urang milih Zabbix salaku alat ngawaskeun urang geus lila pisan sabab mangrupa platform open source dirojong ku hiji komunitas aktip anu pohara populér di Rusia.

Kami nyiptakeun agén aktip - Mamonsu, anu nyayogikeun pangawas anu langkung fleksibel tibatan alat standar anu diidinan dina waktos éta, sareng ngajamin kumpulan métrik sareng ngirimna ka Zabbix Server. Di perusahaan kami, Mamonsu dianggo nalika ngalaksanakeun audit.

Mamonsu

Mamonsu mangrupikeun agén aktip (Zabbix Trapper) pikeun ngawas PostgreSQL sareng sistem operasi. Mamonsu (ditulis dina Python) ngamungkinkeun anjeun pikeun ngonpigurasikeun PostgreSQL sareng setélan ngawaskeun sistem operasi dina lima menit.

Mamonsu gaduh alat tambahan:

  • mamonsu tune mangrupikeun paréntah anu ngédit setélan dina file konfigurasi PostgreSQL pikeun mesin dimana agén Mamonsu dipasang.
  • laporan mamonsu nyaéta paréntah anu ngahasilkeun jawaban ngeunaan sistem operasi sareng PostgreSQL.

Mamonsu dipasang dina server DBMS, ngumpulkeun informasi, compiles kana JSON, nu dikirim pikeun visualisasi ka Zabbix Server, dimana kudu aya template pikeun metrics na.

Ngawaskeun PostgreSQL nganggo Zabbix

Skéma operasi Mamonsu

Fitur Mamonsu

  • Gawé sacara efektif sareng PostgreSQL. Sambungan pengkuh ka PostgreSQL mangrupikeun kaunggulan utama Mamonsu. Dina hal ieu, jumlah maksimum sambungan sarua jeung jumlah maksimum database nu disambungkeun.
  • Expandability. Mamonsu mangrupikeun agén plug-in lengkep, sareng hatur nuhun kana struktur tetep unggal plugin sareng kesederhanaan relatif Python, anjeun tiasa sacara gampil diajar kumaha nyerat énggal atanapi ngédit plugins standar, nyaéta parameter koleksi métrik.
  • Liputan lega tina métrik pikeun ngawaskeun pikeun PotgreSQL, kaasup métrik pikeun ekstensi husus.
  • Mimitian gancang, Kasadiaan out of the box.
  • Unggah témplat sareng file konfigurasi, kitu ogé unggah ka Zabbix Server.
  • Palang-platform, anu penting pikeun konsumén urang anu ngagunakeun rupa-rupa distribusi Linux, kalebet distribusi domestik.
  • lisénsi BSD-klausa.

Ayeuna kami nawiskeun seueur plugins sareng dina unggal versi salajengna urang nyobian nambihan anu énggal.

  • 14 plugins pikeun PostgreSQL,
  • 8 plugins pikeun OS Linux,
  • 4 plugins pikeun OS Windows.

Mamonsu ngumpulkeun langkung ti 110 PostgreSQL sareng métrik sistem operasi:

  • 70 métrik PostgreSQL,
  • 40 OS Linux métrik,
  • 8 OS Windows métrik.

Métrik konci kalebet kasadiaan DBMS, jumlah sambungan, ukuran pangkalan data, titik pamariksaan, laju maca / nyerat, konci, jumlah prosés autovakum, sareng tingkat generasi WAL. Daptar lengkep métrik anu sayogi, ogé katerangan lengkep ngeunaan sadaya alat, sayogi di repositories dina ramatloka GitHub.

Ngawaskeun PostgreSQL nganggo Zabbix

Daptar métrik anu sayogi dina GitHub

Ngajalankeun Mamonsu dina 5 menit

Anjeun tiasa nyetél PostgreSQL sareng ngawaskeun sistem operasi nganggo Mamonsu dina 5 menit ku nuturkeun 5 léngkah saderhana.

  1. Masang Mamonsu. Mamonsu tiasa diwangun tina sumber atanapi nganggo bungkusan anu sayogi.

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

build && python setup.py install

  1. Nyetél sambungan. Ieu diperlukeun pikeun nangtukeun parameter sambungan pikeun PostgreSQL na Zabbix Server dina file agent.conf.

/etc/mamonsu/agent.conf

  1. Ékspor citakan ka Zabbix Server.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Nambahkeun host kana Zabbix Server. Citakan nu diékspor bakal otomatis disambungkeun ka host anyar dina Zabbix Server.

$ mamonsu zabbix host create mamonsu-demo

  1. Ngajalankeun.

$ service mamonsu start

arah ngembangkeun Mamonsu

Salaku bagian tina pamekaran Mamonsu, kami ngarencanakeun pikeun nyaring métrik sareng nyiptakeun plugins énggal, contona plugin pikeun ngawaskeun ukuran tabel individu. Kami ogé ngarencanakeun pikeun ningkatkeun sareng nyiptakeun alat tambahan, ogé ngalegaan kamampuan tuning otomatis ngaliwatan paréntah lagu mamonsu.

Modul ngawaskeun PostgreSQL kalebet dina Zabbix Agent 2

Supir anu gancang sareng populér dianggo pikeun nyambung ka PostgreSQL pgx (Supir PG sareng toolkit pikeun Go).

Pikeun ayeuna kami nganggo dua antarmuka: Ékspor, anu nyauran panangan ku konci, sareng Configurator Zabbix Agén 2, anu maca sareng pariksa parameter sambungan server anu ditetepkeun dina file konfigurasi.

Kami nyobian ngaoptimalkeun kinerja DBMS ku ngagolongkeun métrik sareng nganggo pawang pikeun métrik sareng grup métrik, ogé ngagunakeun grup métrik dina JSON salaku variabel gumantung (item gumantung), sareng panemuan tingkat rendah (aturan penemuan).

Fitur utama

  • ngajaga sambungan pengkuh ka PostgreSQL antara cék;
  • rojongan pikeun interval polling fléksibel;
  • cocog sareng versi PostgreSQL mimitian ti 10, sarta Zabbix Server mimitian ti versi 4.4;
  • kamampuhan pikeun nyambungkeun jeung ngawas sababaraha instansi PostgreSQL sakaligus alatan kanyataan yén Zabbix Agen 2 ngidinan Anjeun pikeun nyieun sababaraha sesi.

Tingkat parameter sambungan PostgreSQL

Dina total, tilu tingkat parameter sambungan ka PostgreSQL sayogi, nyaéta tugas sareng setélan:

  • global,
  • sési
  • Macro.

  1. Parameter Global diatur dina tingkat agén, parameter Sesi sareng Makro nangtukeun parameter sambungan pikeun pangkalan data.

  2. Parameter sambungan kana PostgreSQL - Sesi diatur dina file zabbix_agent2.conf.

Ngawaskeun PostgreSQL nganggo Zabbix

Parameter sambungan PostgreSQL - Sesi

  • Saatos kecap konci sesi ngaran sési unik dituduhkeun, nu kudu dieusian dina konci (template).
  • parameter URI и Ngaran pamaké diperlukeun pikeun tiap sési.
  • Lamun ngaran database teu dieusian, dipaké standar ngaran database umum pikeun sakabéh sesi PostgreSQL, nu ogé dieusian dina file konfigurasi.

  1. Parameter sambungan kana PostgreSQL - Macros dieusian dina métrik konci dina citakan (sarupa jeung métode dipaké dina Zabbix Agén 1), i.e. aranjeunna dijieun dina citakan lajeng dieusian salaku parameter dina konci. Dina hal ieu, sekuen macros tetep, nyaéta, contona, URI sok didaptarkeun heula.

Ngawaskeun PostgreSQL nganggo Zabbix

Parameter sambungan PostgreSQL - Macros

Modul ngawaskeun PostgreSQL parantos kalebet langkung ti 95 métrik, anu ngamungkinkeun anjeun nutupan sajumlah parameter PostgreSQL anu lumayan, kalebet:

  • jumlah sambungan,
  • volume database,
  • arsip file wal,
  • titik kontrol,
  • Jumlah tabel "kembung",
  • status replikasi,
  • réplika lag.

Métrik PostgreSQL henteu informatif tanpa parameter sistem operasi. Tapi Zabbix Agent 2 geus nyaho kumaha carana ngumpulkeun parameter sistem operasi, jadi pikeun meunangkeun gambaran lengkep, urang ngan saukur nyambungkeun témplat perlu kana titik jaringan.

Panangan

Handler mangrupikeun unit utama modul dimana pamenta sorangan dieksekusi sareng anu ngamungkinkeun anjeun kéngingkeun métrik.

Pikeun meunangkeun métrik basajan:

  1. Jieun file pikeun nampa métrik anyar:

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

  1. Urang sambungkeun pakét sareng tangtukeun konci métrik unik:

Ngawaskeun PostgreSQL nganggo Zabbix

  1. Kami nyiptakeun pawang kalayan pamundut, nyaéta urang ngamimitian variabel anu bakal ngandung hasilna:

Ngawaskeun PostgreSQL nganggo Zabbix

  1. Urang ngalaksanakeun pamundut:

Ngawaskeun PostgreSQL nganggo Zabbix

Peryogi parios pamenta pikeun kasalahan, saatos éta hasilna bakal dijemput ku prosés Zabbix Agent 2.

  1. Ngadaptarkeun konci métrik anyar:

Ngawaskeun PostgreSQL nganggo Zabbix

Saatos ngadaptar métrik, anjeun tiasa ngawangun deui agén sareng métrik énggal.

modul nu geus sadia mimitian ti Zabbix 5.0 on website https://www.zabbix.com/download. Dina versi Zabbix ieu, parameter diatur misah via host jeung port. Dina Zabbix 5.0.2, anu bakal dileupaskeun pas, parameter sambungan bakal digabungkeun kana URI tunggal.

Hatur nuhun kanggo nengetan!

link mangpaat

GitHub Mamonsu

Dokuméntasi Mamonsu

Zabbix Git

sumber: www.habr.com

Tambahkeun komentar