PostgreSQL-i jälgimine Zabbixi abil

PostgreSQL-i jälgimine Zabbixi abil
Daria Vilkova aruanne Zabbix Meetup Online'i jaoks

Soovin teile tutvustada PostgreSQL-i ja operatsioonisüsteemi jälgimise tööriista, mida meie ettevõte Zabbixi abil arendab.

Oleme Zabbixi oma jälgimistööriistaks valinud juba pikka aega, sest see on avatud lähtekoodiga platvorm, mida toetab Venemaal väga populaarne aktiivne kogukond.

Lõime aktiivse agendi - Mamonsu, mis võimaldas paindlikumat monitooringut, kui tol ajal tavatööriistad lubasid ning tagas mõõdikute kogumise ja saatmise Zabbix Serverisse. Meie ettevõttes kasutatakse auditis Mamonsut.

Mamonsu

Mamonsu on aktiivne agent (Zabbix Trapper) PostgreSQL-i ja operatsioonisüsteemi jälgimiseks. Mamonsu (kirjutatud Pythonis) võimaldab konfigureerida PostgreSQL-i ja operatsioonisüsteemi jälgimise sätteid viie minutiga.

Mamonsul on lisatööriistad:

  • mamonsu tune on käsk, mis muudab seadeid PostgreSQL-i konfiguratsioonifailis masinas, kuhu Mamonsu agent on installitud.
  • mamonsu report on käsk, mis genereerib vastuseid operatsioonisüsteemi ja PostgreSQL-i kohta.

Mamonsu installitakse DBMS-i serverisse, kogub teavet, koostab selle JSON-i, mis saadab selle visualiseerimiseks Zabbix Serverisse, kus peaks olema selle mõõdikute mall.

PostgreSQL-i jälgimine Zabbixi abil

Mamonsu tööskeem

Sisaldab Mamonsu

  • Tõhus töö PostgreSQL-iga. Püsiv ühendus PostgreSQL-iga on Mamonsu peamine eelis. Sel juhul on ühenduste maksimaalne arv võrdne nende andmebaaside maksimaalse arvuga, millega see ühendub.
  • Laiendatavus. Mamonsu on täielikult "plugina" agent ning tänu iga plugina fikseeritud struktuurile ja Pythoni suhtelisele lihtsusele saab hõlpsasti õppida uusi kirjutama või standardseid pluginaid, st mõõdikute kogumise parameetreid redigeerima.
  • Seiremõõdikute lai katvus PotgreSQL-i jaoks, sealhulgas laiendusspetsiifilised mõõdikud.
  • kiire käivitamine, saadavus karbist väljas.
  • Mallide ja konfiguratsioonifailide üleslaadimine, samuti Zabbixi serverisse üleslaadimine.
  • Platvormidevaheline, mis on oluline meie klientidele, kes kasutavad erinevaid Linuxi distributsioone, sh kodumaiseid.
  • BSD-klausli litsents.

Hetkel pakume palju pluginaid ja igas järgmises versioonis proovime lisada midagi uut.

  • 14 pluginat PostgreSQL-i jaoks,
  • 8 pistikprogrammi OS Linuxi jaoks,
  • 4 pistikprogrammi OS Windowsi jaoks.

Mamonsu kogub üle 110 PostgreSQL-i ja operatsioonisüsteemi mõõdiku:

  • 70 PostgreSQL-i mõõdikut,
  • 40 OS Linuxi mõõdikud,
  • 8 OS Windowsi mõõdikud.

Peamised mõõdikud hõlmavad DBMS-i saadavust, ühenduste arvu, andmebaasi suurust, kontrollpunkte, lugemise/kirjutamise kiirust, lukke, autovaakumprotsesside arvu ja WAL-i genereerimise kiirust. Saadaolevate mõõdikute täielik loend ja kõigi tööriistade üksikasjalik kirjeldus on saadaval aadressil hoidlad GitHubi saidil.

PostgreSQL-i jälgimine Zabbixi abil

GitHubis saadaolevate mõõdikute loend

Käivitage Mamonsu 5 minutiga

PostgreSQL-i ja operatsioonisüsteemi jälgimise seadistamiseks Mamonsu abil saate seda teha 5 minutiga, järgides 5 lihtsat sammu.

  1. Mamonsu installimine. Mamonsu saab ehitada allikast või kasutada saadaolevaid pakette.

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

build && python setup.py install

  1. Ühenduse seadistamine. Failis agent.conf on vaja määrata PostgreSQL-i ja Zabbix Serveri ühenduse parameetrid.

/etc/mamonsu/agent.conf

  1. Ekspordi mall Zabbixi serverisse.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Hosti lisamine Zabbixi serverisse. Eksporditud mall ühendatakse automaatselt Zabbix Serveri uue hostiga.

$ mamonsu zabbix host create mamonsu-demo

  1. Käivita.

$ service mamonsu start

Mamonsu arengusuunad

Mamonsu arenduse raames plaanime mõõdikuid täpsustada ja luua uusi pluginaid, näiteks üksikute tabelite suuruse jälgimise plugina. Samuti plaanime käsu kaudu täiustada ja luua lisatööriistu ning laiendada automaatse häälestamise võimalusi mamonsu laul.

PostgreSQL-i jälgimismoodul Zabbix Agent 2 osana

PostgreSQL-iga ühenduse loomiseks kasutatakse kiiret ja populaarset draiverit pgx (PG draiver ja tööriistakomplekt Go jaoks).

Seni on kasutusel kaks liidest: Exporter, mis helistab töötlejale võtme abil, ja Configurator Zabbix Agent 2, mis loeb ja kontrollib ühenduse parameetreid konfiguratsioonifailis määratud serveriga.

Püüdsime optimeerida DBMS-i tööd, rühmitades mõõdikuid ja kasutades mõõdikute ja mõõdikute rühmade jaoks töötlejat (käsitlejat), samuti kasutades JSON-i mõõdikute rühmi sõltuvate muutujatena (sõltuvusüksused) ja madala taseme avastamist (avastusreeglid). ).

Peamised omadused

  • püsiva ühenduse säilitamine PostgreSQL-iga kontrollide vahel;
  • paindlike küsitlusintervallide tugi;
  • ühilduvus PostgreSQL versioonidega alates 10 ja Zabbix Serveriga alates versioonist 4.4;
  • võimalus ühendada ja jälgida korraga mitut PostgreSQL-i eksemplari, kuna Zabbix Agent 2 võimaldab teil luua mitu seanssi.

PostgreSQL-i ühenduse parameetrite tasemed

Kokku on saadaval kolm PostgreSQL-i ühenduse parameetrite taset, st ülesanded ja sätted:

  • Ülemaailmne,
  • Seansid,
  • Makrod.

  1. Globaalsed parameetrid määratakse agendi tasemel, parameetrid Seanss ja Macros määravad andmebaasi ühenduse parameetrid.

  2. Ühenduse parameetrid PostgreSQL-iga – Seansid määratakse failis zabbix_agent2.conf.

PostgreSQL-i jälgimine Zabbixi abil

PostgreSQL-i ühenduse valikud – seansid

  • Pärast märksõna Seansid määratakse kordumatu seansi nimi, mis tuleb võtmes (mallis) määrata.
  • Parameetrid URI и Kasutajanimi nõutav iga seansi jaoks.
  • Kui baasnime pole määratud, kasutatakse kõigi PostgreSQL-i seansside jaoks vaikimisi ühist baasnime, mis määratakse ka konfiguratsioonifailis.

  1. Ühenduse parameetrid PostgreSQL-iga – makrod määratakse malli mõõdikuvõtmes (sarnaselt Zabbix Agent 1-s kasutatavale meetodile), st need luuakse mallis ja määratakse seejärel võtmes parameetritena. Sel juhul on makrode jada fikseeritud, st näiteks URI alati esimesena loetletud.

PostgreSQL-i jälgimine Zabbixi abil

PostgreSQL-i ühenduse parameetrid – makrod

PostgreSQL-i jälgimismoodul sisaldab juba enam kui 95 mõõdikut, mis võimaldavad teil katta üsna laia valikut PostgreSQL-i parameetreid, sealhulgas:

  • ühenduste arv
  • andmebaasi suurus,
  • Wali failide arhiveerimine,
  • kontrollpunktid,
  • "ülepuhutud" tabelite arv,
  • replikatsiooni olek,
  • replika viivitus.

PostgreSQL-i mõõdikud ei ole ilma operatsioonisüsteemi parameetriteta informatiivsed. Kuid Zabbix Agent 2 juba teab, kuidas operatsioonisüsteemi parameetreid koguda, nii et täieliku pildi saamiseks ühendame vajalikud mallid lihtsalt hostiga.

Käitleja

Käsitleja on mooduli põhiüksus, milles päring ise täidetakse ja mis võimaldab vastu võtta mõõdikuid.

Lihtsa mõõdiku saamiseks toimige järgmiselt.

  1. Looge fail uue mõõdiku saamiseks.

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

  1. Ühendame paketi ja määrame mõõdikute unikaalse võtme (võtmed):

PostgreSQL-i jälgimine Zabbixi abil

  1. Loome päringuga töötleja (käsitleja), st käivitame muutuja, mis sisaldab tulemust:

PostgreSQL-i jälgimine Zabbixi abil

  1. Täidame taotluse:

PostgreSQL-i jälgimine Zabbixi abil

Vajalik on kontrollida taotlust vigade osas, mille järel võtab tulemuse Zabbix Agent 2 protsess.

  1. Registreerige uus mõõdiku võti:

PostgreSQL-i jälgimine Zabbixi abil

Pärast mõõdiku registreerimist saate agendi uue mõõdikuga uuesti üles ehitada.

Moodul on saidil saadaval alates Zabbix 5.0-st https://www.zabbix.com/download. Selles Zabbixi versioonis seadistatakse parameetrid hosti ja pordi kaudu eraldi. Peagi ilmuvas Zabbix 5.0.2-s pakitakse ühenduse parameetrid ühte URI-sse.

Tänan teid tähelepanu eest!

Kasulikud lingid

GitHub Mamonsu

Mamonsu dokumentatsioon

Zabbix Git

Allikas: www.habr.com

Lisa kommentaar