Zabbix erabiliz PostgreSQL monitorizatzea

Zabbix erabiliz PostgreSQL monitorizatzea
Daria Vilkova-ren txostena Zabbix Meetup Onlinerako

Gure enpresak Zabbix erabiliz garatzen duen PostgreSQL eta sistema eragilea monitorizatzeko tresna aurkeztu nahi dizut.

Zabbix gure monitorizazio tresna gisa aukeratu genuen aspaldi, Errusian oso ezaguna den komunitate aktibo batek onartzen duen kode irekiko plataforma delako.

Agente aktibo bat sortu genuen - Mamonsu, garai hartan tresna estandarrek onartzen zutena baino monitorizazio malguagoa eskaintzen zuena, eta neurgailuen bilketa eta Zabbix Server-era bidaltzea bermatu zuen. Gure enpresan, Mamonsu erabiltzen da auditoriak egiteko.

Mamonsu

Mamonsu PostgreSQL eta sistema eragilea monitorizatzeko agente aktibo bat da (Zabbix Trapper). Mamonsuk (Python-en idatzia) PostgreSQL eta sistema eragilearen monitorizazio ezarpenak bost minututan konfiguratzeko aukera ematen du.

Mamonsuk tresna osagarriak ditu:

  • mamonsu tune PostgreSQL konfigurazio-fitxategian ezarpenak editatzen dituen komando bat da, Mamonsu agentea instalatuta dagoen makinarentzat.
  • mamonsu txostena sistema eragileari eta PostgreSQLri buruzko erantzunak sortzen dituen komando bat da.

Mamonsu DBMS zerbitzarian instalatzen da, informazioa biltzen du, JSON-n konpilatzen du, eta Zabbix zerbitzariari bistaratzeko bidaltzen da, non bere metriketarako txantiloi bat egon beharko lukeen.

Zabbix erabiliz PostgreSQL monitorizatzea

Mamonsu operazio eskema

Mamonsu ezaugarriak

  • PostgreSQL-rekin modu eraginkorrean lan egitea. PostgreSQL-rekin etengabeko konexioa da Mamonsuren abantaila nagusia. Kasu honetan, gehienezko konexio-kopurua konektatzen den datu-baseen gehienezko kopuruaren berdina da.
  • Zabalgarritasuna. Mamonsu guztiz plug-in-agentea da, eta plugin bakoitzaren egitura finkoari eta Python-en soiltasun erlatiboari esker, erraz ikasi dezakezu plugin estandarrak idazten edo editatzen, hau da, metrika-bilketaren parametroak.
  • Monitorizaziorako neurgailuen estaldura zabala PotgreSQLrentzat, hedapen zehatzetarako metrikak barne.
  • Hasiera azkarra, Eskuragarritasuna kutxatik kanpo.
  • Txantiloiak eta konfigurazio fitxategiak kargatzea, baita Zabbix zerbitzarira igotzea ere.
  • Plataforma gurutzatua, eta hori garrantzitsua da hainbat Linux banaketa erabiltzen dituzten gure bezeroentzat, etxekoak barne.
  • BSD klausula lizentzia.

Momentuz plugin asko eskaintzen ditugu eta hurrengo bertsio bakoitzean zerbait berria gehitzen saiatzen gara.

  • PostgreSQL-rako 14 plugin,
  • OS Linuxerako 8 plugin,
  • 4 plugin OS Windows-erako.

Mamonsuk 110 PostgreSQL eta sistema eragilearen neurketa baino gehiago biltzen ditu:

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

Funtsezko neurrien artean DBMS erabilgarritasuna, konexio kopurua, datu-basearen tamaina, kontrol-puntuak, irakurketa/idazketa abiadura, blokeoak, hutsune automatikoko prozesuen kopurua eta WAL sortzeko tasa daude. Eskuragarri dauden neurketen zerrenda osoa, baita tresna guztien deskribapen zehatza ere, eskuragarri dago biltegiak GitHub webgunean.

Zabbix erabiliz PostgreSQL monitorizatzea

GitHub-en eskuragarri dauden neurketen zerrenda

Abiarazi Mamonsu 5 minututan

PostgreSQL eta sistema eragilearen jarraipena Mamonsu erabiliz konfigura dezakezu 5 minututan 5 urrats erraz jarraituz.

  1. Mamonsu instalatzen. Mamonsu iturburutik edo eskuragarri dauden paketeak erabiliz eraiki daiteke.

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

build && python setup.py install

  1. Konexioak konfiguratzea. Agent.conf fitxategian PostgreSQL eta Zabbix zerbitzarirako konexio-parametroak zehaztu behar dira.

/etc/mamonsu/agent.conf

  1. Txantiloi bat Zabbix zerbitzarira esportatzen.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Ostalari bat gehitzea Zabbix zerbitzarian. Esportatutako txantiloia automatikoki konektatuko da Zabbix zerbitzariko ostalari berrira.

$ mamonsu zabbix host create mamonsu-demo

  1. aireratzea.

$ service mamonsu start

Mamonsu garapen norabideak

Mamonsu-ren garapenaren baitan, metrikak findu eta plugin berriak sortzeko asmoa dugu, adibidez taulen tamaina kontrolatzeko plugin bat. Gainera, tresna osagarriak hobetzeko eta sortzeko asmoa dugu, baita auto-sintonizazio gaitasunak zabaltzeko komandoaren bidez mamonsu doinua.

Zabbix Agent 2-n sartuta dagoen PostgreSQL monitorizazio modulua

PostgreSQL-ra konektatzeko kontrolatzaile azkar eta ezagun bat erabiltzen da pgx (PG kontrolatzailea eta Go-rako tresna-kit).

Oraingoz bi interfaze erabiltzen ari gara: Exporter, kudeatzailea gakoaren bidez deitzen duena, eta Configurator Zabbix Agent 2, konfigurazio fitxategian zehaztutako zerbitzariaren konexio-parametroak irakurtzen eta egiaztatzen dituena.

DBMSaren errendimendua optimizatzen saiatu gara metrikak taldekatuz eta kudeatzaile bat erabiliz metrika eta metrika taldeetarako, baita JSON-ko metrika-taldeak menpeko aldagai gisa (mendekotasun-elementuak) eta behe-mailako aurkikuntza (aurkikuntza-arauak) erabiliz.

Funtsezko ezaugarriak

  • kontrolen artean PostgreSQL-rekin konexio iraunkor bat mantentzea;
  • bozketa-tarte malguetarako laguntza;
  • 10etik aurrera PostgreSQL bertsioekin bateragarria, eta 4.4 bertsiotik aurrera Zabbix Serverrekin;
  • hainbat PostgreSQL instantzia aldi berean konektatzeko eta kontrolatzeko gaitasuna Zabbix Agent 2-k hainbat saio sortzeko aukera ematen duelako.

PostgreSQL konexio-parametro-mailak

Guztira, PostgreSQL-rako konexio-parametroen hiru maila daude eskuragarri, hau da, zereginak eta ezarpenak:

  • Globala,
  • Saioak
  • Makroak.

  1. Parametro Globalak agente mailan ezartzen dira, Saioa eta Makro parametroek datu-basearen konexio-parametroak zehazten dituzte.

  2. PostgreSQL-rako konexio-parametroak - Saioak fitxategian ezartzen dira zabbix_agent2.conf.

Zabbix erabiliz PostgreSQL monitorizatzea

PostgreSQL konexio-parametroak - Saioak

  • Gako hitzaren ondoren Sessions saio-izen esklusibo bat adierazten da, klabean (txantiloia) zehaztu behar dena.
  • Parametroak URI ΠΈ Erabiltzaile-izena saio bakoitzerako beharrezkoak.
  • Datu-basearen izena zehazten ez bada, PostgreSQL saio guztien datu-basearen izen arrunt lehenetsia erabiltzen da, konfigurazio fitxategian ere zehaztuta dagoena.

  1. PostgreSQL-rako konexio-parametroak - Makroak gako metrikoan zehazten dira txantiloian (Zabbix Agent 1-en erabiltzen den metodoaren antzekoa), hau da, txantiloian sortzen dira eta gero gakoan parametro gisa zehazten dira. Kasu honetan, makroen sekuentzia finkoa da, hau da, adibidez, URI beti agertzen da lehenik.

Zabbix erabiliz PostgreSQL monitorizatzea

PostgreSQL konexio-parametroak - Makroak

PostgreSQL monitorizazio moduluak dagoeneko 95 metrika baino gehiago biltzen ditu, PostgreSQL parametro sorta zabala estaltzeko aukera ematen dutenak, besteak beste:

  • konexio kopurua,
  • datu-baseen bolumena,
  • wal fitxategiak artxibatzea,
  • kontrol puntuak,
  • "puztutako" mahai kopurua,
  • erreplikazio-egoera,
  • erreplika lag.

PostgreSQL neurketak ez dira informatiboak sistema eragilearen parametrorik gabe. Baina Zabbix Agent 2-k dagoeneko badaki sistema eragilearen parametroak nola biltzen, beraz, argazki osoa lortzeko beharrezkoak diren txantiloiak sareko nodoan konektatu besterik ez dugu egiten.

Kudeatzailea

Kudeatzailea eskaera bera exekutatzen den eta metrikak lortzeko aukera ematen duen moduluaren unitate nagusia da.

Neurri sinple bat lortzeko:

  1. Sortu fitxategi bat metrika berri bat jasotzeko:

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

  1. Paketea konektatzen dugu eta metrika-gako bakarra(k) zehazten dugu:

Zabbix erabiliz PostgreSQL monitorizatzea

  1. Eskaerarekin kudeatzaile bat sortzen dugu, hau da, emaitza izango duen aldagai bat abiarazten dugu:

Zabbix erabiliz PostgreSQL monitorizatzea

  1. Eskaera exekutatzen dugu:

Zabbix erabiliz PostgreSQL monitorizatzea

Beharrezkoa da akatsen eskaera egiaztatu eta ondoren emaitza Zabbix Agent 2 prozesuak jasoko du.

  1. Erregistratu gako metriko berria:

Zabbix erabiliz PostgreSQL monitorizatzea

Neurria erregistratu ondoren, agentea berreraiki dezakezu metrika berriarekin.

Modulua Zabbix 5.0tik hasita dago eskuragarri webgunean https://www.zabbix.com/download. Zabbix-en bertsio honetan, parametroak ostalariaren eta atakaren bidez bereizten dira. Laster kaleratuko den Zabbix 5.0.2-n, konexio-parametroak URI bakar batean konbinatuko dira.

Eskerrik asko zure arreta!

Esteka interesgarriak

GitHub Mamonsu

Mamonsu dokumentazioa

Zabbix Git

Iturria: www.habr.com

Gehitu iruzkin berria