PostgreSQL:n seuranta Zabbixin avulla

PostgreSQL:n seuranta Zabbixin avulla
Daria Vilkovan raportti Zabbix Meetup Onlinesta

Haluan esitellä sinulle PostgreSQL- ja käyttöjärjestelmän seurantatyökalun, jota yrityksemme kehittää Zabbixin avulla.

Olemme valinneet Zabbixin seurantatyökaluksemme jo pitkään, koska se on avoimen lähdekoodin alusta, jota tukee Venäjällä erittäin suosittu aktiivinen yhteisö.

Loimme aktiivisen agentin - Mamonsun, joka tarjosi joustavamman seurannan kuin tuolloin sallittiin vakiotyökaluilla ja varmisti mittareiden keräämisen ja lähettämisen Zabbix Serverille. Yrityksessämme käytetään tilintarkastuksessa Mamonsua.

Mamonsu

Mamonsu on aktiivinen agentti (Zabbix Trapper) PostgreSQL:n ja käyttöjärjestelmän valvontaan. Mamonsun (kirjoitettu Pythonilla) avulla voit määrittää PostgreSQL:n ja käyttöjärjestelmän valvonta-asetukset viidessä minuutissa.

Mamonsulla on lisätyökaluja:

  • mamonsu tune on komento, joka muokkaa sen koneen PostgreSQL-määritystiedoston asetuksia, johon Mamonsu-agentti on asennettu.
  • mamonsu report on komento, joka tuottaa vastauksia käyttöjärjestelmästä ja PostgreSQL:stä.

Mamonsu asennetaan DBMS-palvelimelle, se kerää tietoja, muodostaa ne JSON:ksi, joka lähettää sen Zabbix Serverille visualisointia varten, jossa sen mittareille pitäisi olla mallipohja.

PostgreSQL:n seuranta Zabbixin avulla

Mamonsun työsuunnitelma

Sisältää Mamonsun

  • Tehokas työ PostgreSQL:n kanssa. Pysyvä yhteys PostgreSQL:ään on Mamonsun tärkein etu. Tässä tapauksessa yhteyksien enimmäismäärä on yhtä suuri kuin niiden tietokantojen enimmäismäärä, joihin se muodostaa yhteyden.
  • Laajennettavuus. Mamonsu on täysin "plugin"-agentti, ja kunkin liitännäisen kiinteän rakenteen ja Pythonin suhteellisen yksinkertaisuuden ansiosta voidaan helposti oppia kirjoittamaan uusia tai muokkaamaan vakiolaajennuksia, eli metriikkakokoelmaparametreja.
  • Laaja kattavuus seurantamittareita PotgreSQL:lle, mukaan lukien laajennuskohtaiset mittarit.
  • äkkilähtö, saatavuus pakkauksesta alkaen.
  • Mallien ja asetustiedostojen lataaminen, sekä lataaminen Zabbix-palvelimelle.
  • Monitasoinen, mikä on tärkeää asiakkaillemme, jotka käyttävät erilaisia ​​Linux-jakeluja, myös kotimaisia.
  • BSD-lausekkeen lisenssi.

Tällä hetkellä tarjoamme paljon laajennuksia ja jokaisessa seuraavassa versiossa yritämme lisätä jotain uutta.

  • 14 lisäosaa PostgreSQL:lle,
  • 8 laajennusta OS Linuxille,
  • 4 laajennusta OS Windowsille.

Mamonsu kerää yli 110 PostgreSQL- ja käyttöjärjestelmämetriikkaa:

  • 70 PostgreSQL-mittaria,
  • 40 OS Linux -mittaria,
  • 8-käyttöjärjestelmän Windows-mittarit.

Keskeisiä mittareita ovat DBMS:n saatavuus, yhteyksien määrä, tietokannan koko, tarkistuspisteet, luku-/kirjoitusnopeus, lukot, automaattisten tyhjiöprosessien määrä ja WAL-luonnon nopeus. Täydellinen luettelo käytettävissä olevista mittareista sekä yksityiskohtainen kuvaus kaikista työkaluista on saatavilla osoitteessa arkistot GitHub-sivustolla.

PostgreSQL:n seuranta Zabbixin avulla

Luettelo käytettävissä olevista mittareista GitHubissa

Aja Mamonsu 5 minuutissa

PostgreSQL:n ja käyttöjärjestelmän valvonnan määrittäminen Mamonsun avulla voit tehdä sen 5 minuutissa noudattamalla 5 yksinkertaista vaihetta.

  1. Mamonsun asennus. Mamonsu voidaan rakentaa lähteestä tai käyttää saatavilla olevia paketteja.

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

build && python setup.py install

  1. Yhteyden asetukset. PostgreSQL:n ja Zabbix Serverin yhteysparametrit on asetettava agent.conf-tiedostossa.

/etc/mamonsu/agent.conf

  1. Vie malli Zabbix-palvelimeen.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Isännän lisääminen Zabbix-palvelimeen. Viety malli yhdistetään automaattisesti uuteen isäntään Zabbix-palvelimella.

$ mamonsu zabbix host create mamonsu-demo

  1. Запуск.

$ service mamonsu start

Mamonsun kehityssuunnat

Osana Mamonsun kehitystä aiomme tarkentaa mittareita ja luoda uusia laajennuksia, kuten laajennuksen yksittäisten taulukoiden koon valvontaan. Aiomme myös parantaa ja luoda lisätyökaluja sekä laajentaa automaattisen virityksen ominaisuuksia komennon avulla mamonsu sävelmä.

PostgreSQL-valvontamoduuli osana Zabbix Agent 2:ta

Nopeaa ja suosittua ohjainta käytetään yhteyden muodostamiseen PostgreSQL:ään pgx (PG-ohjain ja työkalusarja Golle).

Toistaiseksi käytössämme on kaksi rajapintaa: Exporter, joka kutsuu käsittelijää avaimella, ja Configurator Zabbix Agent 2, joka lukee ja tarkistaa yhteysparametrit konfiguraatiotiedostossa määritetyn palvelimen kanssa.

Yritimme optimoida DBMS:n toimintaa ryhmittelemällä mittareita ja käyttämällä käsittelijää (käsittelijää) mittareille ja metriikkaryhmille sekä käyttämällä JSON-mittausryhmiä riippuvaisina muuttujina (riippuvuuskohteet) ja matalan tason etsintänä (löydössäännöt). ).

Tärkeimmät ominaisuudet

  • jatkuvan yhteyden ylläpitäminen PostgreSQL:ään tarkistusten välillä;
  • tuki joustaville äänestysväleille;
  • yhteensopivuus PostgreSQL-versioiden kanssa alkaen 10 ja Zabbix Serverin kanssa versiosta 4.4 alkaen;
  • kyky yhdistää ja valvoa useita PostgreSQL-ilmentymiä samanaikaisesti, koska Zabbix Agent 2 mahdollistaa useiden istuntojen luomisen.

PostgreSQL-yhteysparametritasot

PostgreSQL-yhteysparametreja, eli tehtäviä ja asetuksia, on yhteensä kolme:

  • Maailmanlaajuinen,
  • Istunnot,
  • Makrot.

  1. Yleiset parametrit asetetaan agenttitasolla, istunto- ja makroparametrit määrittävät tietokantayhteysparametrit.

  2. Yhteysparametrit PostgreSQL:iin - Istunnot asetetaan tiedostoon zabbix_agent2.conf.

PostgreSQL:n seuranta Zabbixin avulla

PostgreSQL-yhteysasetukset - istunnot

  • Avainsanan jälkeen Sessions yksilöllinen istunnon nimi on määritetty, joka on määritettävä avaimessa (mallissa).
  • Parametrit URI и Käyttäjänimi tarvitaan jokaisessa istunnossa.
  • Jos perusnimeä ei ole määritetty, käytetään oletusarvoista yleistä kantanimeä kaikille PostgreSQL-istunnoille, joka myös asetetaan asetustiedostossa.

  1. Yhteysparametrit PostgreSQL:ään - Makrot asetetaan mallin metriavaimessa (samanlailla kuin Zabbix Agent 1:ssä), eli ne luodaan malliin ja määritetään sitten parametreiksi avaimessa. Tässä tapauksessa makrojen järjestys on kiinteä, eli esim. URI aina ensimmäisenä.

PostgreSQL:n seuranta Zabbixin avulla

PostgreSQL-yhteysparametrit - makrot

PostgreSQL-valvontamoduuli sisältää jo yli 95 metriikkaa, joiden avulla voit kattaa melko laajan valikoiman PostgreSQL-parametreja, mukaan lukien:

  • yhteyksien määrä
  • tietokannan koko,
  • wal-tiedostojen arkistointi,
  • tarkastuspisteet,
  • "paisuneiden" pöytien lukumäärä,
  • replikaation tila,
  • replikan viive.

PostgreSQL-mittarit eivät ole informatiivisia ilman käyttöjärjestelmän parametreja. Mutta Zabbix Agent 2 osaa jo kerätä käyttöjärjestelmäparametreja, joten saadaksemme täydellisen kuvan yksinkertaisesti yhdistämme tarvittavat mallit isäntään.

Käsittelijä

Käsittelijä on moduulin pääyksikkö, jossa itse pyyntö suoritetaan ja jonka avulla voit vastaanottaa mittareita.

Näin saat yksinkertaisen mittarin:

  1. Luo tiedosto saadaksesi uuden tiedon:

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

  1. Yhdistämme paketin ja määritämme mittareiden yksilöllisen avaimen (avaimet):

PostgreSQL:n seuranta Zabbixin avulla

  1. Luomme käsittelijän (handler) pyynnöllä, eli käynnistämme muuttujan, joka sisältää tuloksen:

PostgreSQL:n seuranta Zabbixin avulla

  1. Toteutamme pyynnön:

PostgreSQL:n seuranta Zabbixin avulla

Virhepyyntö on tarkistettava, minkä jälkeen Zabbix Agent 2 -prosessi poimii tuloksen.

  1. Rekisteröi uusi mittausavain:

PostgreSQL:n seuranta Zabbixin avulla

Kun olet rekisteröinyt mittarin, voit rakentaa agentin uudelleen uudella mittarilla.

Moduuli on saatavilla Zabbix 5.0:sta alkaen verkkosivuilla https://www.zabbix.com/download. Tässä Zabbix-versiossa parametrit asetetaan erikseen isännän ja portin kautta. Pian julkaistavassa Zabbix 5.0.2:ssa yhteysparametrit pakataan yhteen URI:hen.

Спасибо за внимание!

Hyödyllisiä linkkejä

GitHub Mamonsu

Mamonsun dokumentaatio

Zabbix Git

Lähde: will.com

Lisää kommentti