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.
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
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.
- Nginstal Mamonsu. Mamonsu bisa dibangun saka sumber utawa nggunakake paket sing kasedhiya.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Persiyapan sambungan. Sampeyan kudu nyetel paramèter sambungan kanggo PostgreSQL lan Zabbix Server ing file agent.conf.
/etc/mamonsu/agent.conf
- Cithakan ekspor menyang Server Zabbix.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Nambahake host menyang Server Zabbix. Cithakan sing diekspor bakal disambungake kanthi otomatis menyang host anyar ing Server Zabbix.
$ mamonsu zabbix host create mamonsu-demo
- 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
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.
-
Parameter Global disetel ing tingkat agen, paramèter Sesi lan Makro nemtokake paramèter sambungan database.
-
Parameter sambungan menyang PostgreSQL - Sesi disetel ing file zabbix_agent2.conf.
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.
- 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.
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:
- Gawe file kanggo entuk metrik anyar:
zabbix/src/go/plugins/postgres/handler_uptime.go
- Kita nyambungake paket kasebut lan nemtokake kunci unik (kunci) metrik:
- Kita nggawe handler (handler) kanthi panjaluk, yaiku, kita miwiti variabel sing bakal ngemot asil:
- We nglakokaké panjalukan:
Sampeyan kudu mriksa panjalukan kanggo kesalahan, sawise asil bakal dijupuk dening proses Zabbix Agent 2.
- Ndhaptar kunci metrik anyar:
Sawise ndhaptar metrik, sampeyan bisa mbangun maneh agen kanthi metrik anyar.
Modul kasedhiya wiwit saka Zabbix 5.0 ing situs web
Matur suwun!
link migunani
Source: www.habr.com