Ngawasi PostgreSQL nggunakake Zabbix

Ngawasi PostgreSQL nggunakake Zabbix
Laporan dening Daria Vilkova kanggo Zabbix Meetup Online

Aku pengin ngenalake sampeyan PostgreSQL lan alat pemantauan sistem operasi, sing dikembangake dening perusahaan kita nggunakake Zabbix.

Kita wis milih Zabbix minangka alat ngawasi kanggo wektu sing suwe amarga iki minangka platform open source sing didhukung dening komunitas aktif sing populer banget ing Rusia.

Kita nggawe agen aktif - Mamonsu, sing nyedhiyakake pemantauan sing luwih fleksibel tinimbang alat standar ing wektu kasebut, lan njamin koleksi metrik lan dikirim menyang Server Zabbix. Ing perusahaan kita, Mamonsu digunakake ing audit.

Mamonsu

Mamonsu minangka agen aktif (Zabbix Trapper) kanggo ngawasi PostgreSQL lan sistem operasi. Mamonsu (ditulis ing Python) ngidini sampeyan ngatur PostgreSQL lan setelan ngawasi sistem operasi ing limang menit.

Mamonsu duwe alat tambahan:

  • mamonsu tune minangka prentah sing ngowahi setelan ing file konfigurasi PostgreSQL kanggo mesin sing diinstal agen Mamonsu.
  • laporan mamonsu minangka prentah sing ngasilake jawaban babagan sistem operasi lan PostgreSQL.

Mamonsu diinstal ing server DBMS, ngumpulake informasi, nyipta menyang JSON, sing dikirim menyang Server Zabbix kanggo visualisasi, ing ngendi kudu ana template kanggo metrik.

Ngawasi PostgreSQL nggunakake Zabbix

Skema kerja Mamonsu

Fitur Mamonsu

  • Karya sing efisien karo PostgreSQL. Sambungan sing terus-terusan menyang PostgreSQL minangka kauntungan utama Mamonsu. Ing kasus iki, jumlah maksimum sambungan padha karo jumlah maksimum database sing disambungake.
  • Expandability. Mamonsu minangka agen "plugin" kanthi lengkap, lan amarga struktur tetep saben plugin lan kesederhanaan relatif saka Python, siji bisa kanthi gampang sinau babagan nulis plugin standar anyar utawa nyunting, yaiku paramèter koleksi metrik.
  • Jangkoan jembar metrik ngawasi kanggo PotgreSQL kalebu metrik khusus ekstensi.
  • peluncuran cepet, kasedhiyan metu saka kothak.
  • Ngunggah cithakan lan file konfigurasi, uga ngunggah menyang Server Zabbix.
  • Platform salib, sing penting kanggo pelanggan sing nggunakake macem-macem distribusi Linux, kalebu sing domestik.
  • BSD-klausul lisensi.

Saiki kita nawakake akeh plugin lan ing saben versi sabanjure kita nyoba nambah sing anyar.

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

Mamonsu ngumpulake luwih saka 110 PostgreSQL lan metrik sistem operasi:

  • 70 metrik PostgreSQL,
  • 40 OS Linux metrik,
  • 8 OS Windows metrik.

Metrik utama kalebu kasedhiyan DBMS, jumlah sambungan, ukuran database, checkpoints, kacepetan maca / nulis, kunci, jumlah pangolahan autovakum, lan kacepetan generasi WAL. Dhaptar lengkap metrik sing kasedhiya, uga katrangan rinci babagan kabeh alat, kasedhiya ing repositori ing situs GitHub.

Ngawasi PostgreSQL nggunakake Zabbix

Dhaptar metrik sing kasedhiya ing GitHub

Mbukak Mamonsu ing 5 menit

Kanggo nyetel ngawasi PostgreSQL lan sistem operasi nggunakake Mamonsu, sampeyan bisa nindakake ing 5 menit kanthi tindakake 5 langkah prasaja.

  1. Nginstal Mamonsu. Mamonsu bisa dibangun saka sumber utawa nggunakake paket sing kasedhiya.

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

build && python setup.py install

  1. Persiyapan sambungan. Sampeyan kudu nyetel paramèter sambungan kanggo PostgreSQL lan Zabbix Server ing file agent.conf.

/etc/mamonsu/agent.conf

  1. Cithakan ekspor menyang Server Zabbix.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Nambahake host menyang Server Zabbix. Cithakan sing diekspor bakal disambungake kanthi otomatis menyang host anyar ing Server Zabbix.

$ mamonsu zabbix host create mamonsu-demo

  1. Bukak.

$ service mamonsu start

Arah Pembangunan Mamonsu

Minangka bagéan saka pangembangan Mamonsu, kita rencana kanggo nyaring metrik lan nggawe plugin anyar, kayata plugin kanggo ngawasi ukuran tabel individu. Kita uga rencana kanggo nambah lan nggawe alat tambahan, uga nggedhekake kemampuan auto-tuning liwat printah mamonsu tune.

Modul pemantauan PostgreSQL minangka bagéan saka Zabbix Agent 2

Pembalap sing cepet lan populer digunakake kanggo nyambung menyang PostgreSQL pgx (PG driver lan toolkit kanggo Go).

Nganti saiki, kita nggunakake rong antarmuka: Eksportir, sing nelpon pawang kanthi kunci, lan Configurator Zabbix Agent 2, sing maca lan mriksa paramèter sambungan karo server sing ditemtokake ing file konfigurasi.

Kita nyoba ngoptimalake karya DBMS kanthi ngelompokake metrik lan nggunakake handler (handler) kanggo metrik lan grup metrik, uga nggunakake klompok metrik ing JSON minangka variabel gumantung (item ketergantungan), lan panemuan tingkat rendah (aturan panemuan). ).

Fitur utama

  • njaga sambungan terus-terusan menyang PostgreSQL antarane mriksa;
  • dhukungan kanggo interval polling fleksibel;
  • kompatibilitas karo versi PostgreSQL wiwit saka 10 lan Server Zabbix wiwit saka versi 4.4;
  • kemampuan kanggo nyambungake lan ngawasi kaping PostgreSQL kedadean ing wektu sing padha amarga kasunyatan sing Zabbix Agent 2 ngijini sampeyan kanggo nggawe sawetara sesi.

Level Parameter Sambungan PostgreSQL

Secara total, telung tingkat paramèter sambungan PostgreSQL kasedhiya, yaiku tugas lan setelan:

  • global,
  • sesi,
  • Makro.

  1. Parameter Global disetel ing tingkat agen, paramèter Sesi lan Makro nemtokake paramèter sambungan database.

  2. Parameter sambungan menyang PostgreSQL - Sesi disetel ing file zabbix_agent2.conf.

Ngawasi PostgreSQL nggunakake Zabbix

Pilihan Sambungan PostgreSQL - Sesi

  • Sawise tembung kunci mau jeneng sesi unik ditemtokake, sing kudu kasebut ing tombol (template).
  • paramèter URI и Anggota Jeneng dibutuhake kanggo saben sesi.
  • Yen jeneng dhasar ora kasebut, jeneng dhasar umum standar kanggo kabeh sesi PostgreSQL digunakake, sing uga disetel ing file konfigurasi.

  1. Parameter sambungan menyang PostgreSQL - Macro disetel ing tombol metrik ing cithakan (padha karo cara sing digunakake ing Zabbix Agent 1), yaiku digawe ing cithakan banjur ditemtokake minangka parameter ing tombol. Ing kasus iki, urutan macro tetep, yaiku, contone, URI tansah kadhaptar pisanan.

Ngawasi PostgreSQL nggunakake Zabbix

Parameter sambungan PostgreSQL - Macro

Modul pemantauan PostgreSQL wis kalebu luwih saka 95 metrik sing ngidini sampeyan nutupi sawetara paramèter PostgreSQL sing cukup wiyar, kalebu:

  • nomer sambungan
  • ukuran database,
  • arsip file wal,
  • checkpoints,
  • jumlah tabel "kembung",
  • status replikasi,
  • replika tundha.

Metrik PostgreSQL ora informatif tanpa paramèter sistem operasi. Nanging Zabbix Agent 2 wis ngerti carane ngumpulake paramèter sistem operasi, supaya kanggo njaluk gambar lengkap, kita mung nyambung Cithakan perlu kanggo inang.

Pawang

Handler minangka unit utama modul ing ngendi panjaluk kasebut ditindakake lan ngidini sampeyan nampa metrik.

Kanggo entuk metrik prasaja:

  1. Gawe file kanggo entuk metrik anyar:

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

  1. Kita nyambungake paket kasebut lan nemtokake kunci unik (kunci) metrik:

Ngawasi PostgreSQL nggunakake Zabbix

  1. Kita nggawe handler (handler) kanthi panjaluk, yaiku, kita miwiti variabel sing bakal ngemot asil:

Ngawasi PostgreSQL nggunakake Zabbix

  1. We nglakokaké panjalukan:

Ngawasi PostgreSQL nggunakake Zabbix

Sampeyan kudu mriksa panjalukan kanggo kesalahan, sawise asil bakal dijupuk dening proses Zabbix Agent 2.

  1. Ndhaptar kunci metrik anyar:

Ngawasi PostgreSQL nggunakake Zabbix

Sawise ndhaptar metrik, sampeyan bisa mbangun maneh agen kanthi metrik anyar.

Modul kasedhiya wiwit saka Zabbix 5.0 ing situs web https://www.zabbix.com/download. Ing versi Zabbix iki, paramèter disetel kanthi kapisah liwat host lan port. Ing Zabbix 5.0.2, sing bakal dirilis rauh, paramèter sambungan bakal dikemas menyang URI siji.

Matur suwun!

link migunani

GitHub Mamonsu

Dokumentasi Mamonsu

Zabbix Git

Source: www.habr.com

Add a comment