Saib xyuas PostgreSQL siv Zabbix

Saib xyuas PostgreSQL siv Zabbix
Qhia los ntawm Daria Vilkova rau Zabbix Meetup Online

Kuv xav qhia koj txog PostgreSQL thiab cov cuab yeej saib xyuas kev ua haujlwm, uas yog tsim los ntawm peb lub tuam txhab siv Zabbix.

Peb tau xaiv Zabbix ua peb cov cuab yeej saib xyuas tau ntev vim tias nws yog qhov qhib qhov chaw txhawb nqa los ntawm cov zej zog nquag uas nrov heev hauv tebchaws Russia.

Peb tau tsim ib tus neeg sawv cev ua haujlwm - Mamonsu, uas tau muab kev saib xyuas yooj yim dua li cov cuab yeej txheem thaum lub sijhawm tau tso cai, thiab ua kom muaj kev sib sau ntawm cov ntsuas thiab lawv xa mus rau Zabbix Server. Hauv peb lub tuam txhab, Mamonsu yog siv hauv kev tshuaj xyuas.

Mamonsu

Mamonsu yog tus neeg sawv cev ua haujlwm (Zabbix Trapper) rau kev saib xyuas PostgreSQL thiab kev khiav haujlwm. Mamonsu (sau hauv Python) tso cai rau koj los teeb tsa PostgreSQL thiab kev saib xyuas kev ua haujlwm hauv tsib feeb.

Mamonsu muaj cov cuab yeej ntxiv:

  • mamonsu tune yog ib qho lus txib uas kho cov chaw hauv PostgreSQL teeb tsa cov ntaub ntawv rau lub tshuab uas tus neeg sawv cev Mamonsu raug teeb tsa.
  • mamonsu tsab ntawv ceeb toom yog ib qho lus txib uas tsim cov lus teb txog kev ua haujlwm thiab PostgreSQL.

Mamonsu tau nruab rau ntawm DBMS server, sau cov ntaub ntawv, sau nws rau hauv JSON, uas xa mus rau Zabbix Server rau kev pom, qhov twg yuav tsum muaj tus qauv rau nws cov ntsuas.

Saib xyuas PostgreSQL siv Zabbix

Mamonsu txoj haujlwm ua haujlwm

Features Mamonsu

  • Ua haujlwm tau zoo nrog PostgreSQL. Kev sib txuas tsis tu ncua rau PostgreSQL yog qhov txiaj ntsig tseem ceeb ntawm Mamonsu. Nyob rau hauv cov ntaub ntawv no, qhov siab tshaj plaws ntawm kev sib txuas yog sib npaug rau qhov siab tshaj plaws ntawm cov databases uas nws txuas.
  • Kev nthuav dav. Mamonsu yog tag nrho "plugin" tus neeg sawv cev, thiab vim yog cov qauv ruaj khov ntawm txhua lub plugin thiab cov txheeb ze yooj yim ntawm Python, ib tus tuaj yeem kawm tau yooj yim kawm sau ntawv tshiab lossis hloov kho cov qauv plugins, piv txwv li cov ntsuas kev sau cov ntsuas.
  • Kev nthuav dav ntawm kev soj ntsuam metrics rau PotgreSQL suav nrog cov kev ntsuas tshwj xeeb txuas ntxiv.
  • tso tawm sai, muaj nyob ntawm lub thawv.
  • Uploading templates thiab configuration ntaub ntawv, as well as uploading to Zabbix Server.
  • Hla-platform, uas yog ib qho tseem ceeb rau peb cov neeg siv khoom uas siv ntau yam Linux faib, suav nrog cov khoom siv hauv tsev.
  • BSD-clause daim ntawv tso cai.

Thaum lub sijhawm peb muab ntau cov plugins thiab hauv txhua qhov txuas ntxiv peb sim ntxiv qee yam tshiab.

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

Mamonsu sau ntau dua 110 PostgreSQL thiab kev ntsuas kev ua haujlwm:

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

Cov kev ntsuas tseem ceeb suav nrog DBMS qhov muaj, tus naj npawb ntawm kev sib txuas, qhov loj me ntawm cov ntaub ntawv, cov chaw kuaj xyuas, nyeem / sau nrawm, xauv, tus lej ntawm cov txheej txheem autovacuum, thiab WAL tiam ceev. Ib daim ntawv teev tag nrho ntawm cov kev ntsuas muaj, nrog rau cov lus piav qhia ntxaws txog txhua yam cuab yeej, muaj nyob hauv chaw khaws cia ntawm GitHub site.

Saib xyuas PostgreSQL siv Zabbix

Cov npe ntawm cov kev ntsuas muaj nyob ntawm GitHub

Khiav Mamonsu hauv 5 feeb

Txhawm rau teeb tsa kev saib xyuas ntawm PostgreSQL thiab kev ua haujlwm siv Mamonsu, koj tuaj yeem ua nws hauv 5 feeb los ntawm kev ua raws 5 kauj ruam yooj yim.

  1. Txhim kho Mamonsu. Mamonsu tuaj yeem tsim los ntawm qhov chaw lossis siv cov pob khoom muaj.

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

build && python setup.py install

  1. Kev teeb tsa kev sib txuas. Nws yog ib qho tsim nyog los teeb tsa qhov tsis sib txuas rau PostgreSQL thiab Zabbix Server hauv cov ntaub ntawv agent.conf.

/etc/mamonsu/agent.conf

  1. Export template rau Zabbix Server.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Ntxiv tus tswv tsev rau Zabbix Server. Cov qauv xa tawm yuav raug txuas nrog tus tswv tsev tshiab ntawm Zabbix Server.

$ mamonsu zabbix host create mamonsu-demo

  1. Pib.

$ service mamonsu start

Mamonsu Development Directions

Raws li ib feem ntawm txoj kev loj hlob ntawm Mamonsu, peb npaj yuav kho cov metrics thiab tsim cov plugins tshiab, xws li lub plugin rau kev saib xyuas qhov loj ntawm cov rooj sib tham. Peb kuj npaj los txhim kho thiab tsim cov cuab yeej ntxiv, nrog rau nthuav dav nws tus kheej-tuning peev xwm los ntawm cov lus txib tsis txaus ntseeg.

PostgreSQL saib xyuas module ua ib feem ntawm Zabbix Agent 2

Tus tsav tsheb nrawm thiab nrov yog siv los txuas rau PostgreSQL pgx ua (PG tsav tsheb thiab cov cuab yeej rau Go).

Txog tam sim no, peb tab tom siv ob qhov sib cuam tshuam: Exporter, uas hu rau tus tuav tswj los ntawm tus yuam sij, thiab Configurator Zabbix Agent 2, uas nyeem thiab txheeb xyuas qhov tsis sib xws nrog cov neeg rau zaub mov teev hauv cov ntaub ntawv teeb tsa.

Peb tau sim ua kom zoo tshaj plaws ntawm kev ua haujlwm ntawm DBMS los ntawm kev sib koom ua ke kev ntsuas thiab siv tus neeg tuav haujlwm (tus tuav) rau kev ntsuas thiab cov metric pawg, nrog rau siv cov pab pawg ntawm cov ntsuas hauv JSON raws li qhov sib txawv (cov khoom nyob sib ze), thiab kev tshawb pom qis (cov cai tshawb pom. ).

Cov Ntaos Ntaus

  • tswj kev txuas tsis tu ncua rau PostgreSQL ntawm cov tshev;
  • kev txhawb nqa rau lub sijhawm xaiv tsa yooj yim;
  • compatibility nrog PostgreSQL versions pib los ntawm 10 thiab Zabbix Server pib los ntawm version 4.4;
  • lub peev xwm los txuas thiab saib xyuas ntau qhov xwm txheej PostgreSQL tib lub sijhawm vim qhov tseeb tias Zabbix Agent 2 tso cai rau koj los tsim ntau qhov kev sib tham.

PostgreSQL Txuas Parameter Qib

Nyob rau hauv tag nrho, muaj peb theem ntawm PostgreSQL kev twb kev txuas tsis, piv txwv li cov dej num thiab chaw:

  • Ntiaj teb no,
  • kev sib tham,
  • macro.

  1. Ntiaj teb no tsis yog teem rau theem tus neeg sawv cev, lub Session thiab macros tsis txhais cov database kev twb kev txuas tsis.

  2. Kev sib txuas tsis ua haujlwm rau PostgreSQL - Kev sib tham tau teeb tsa hauv cov ntaub ntawv zabbix_agent2.conf.

Saib xyuas PostgreSQL siv Zabbix

PostgreSQL Connection Options - Sessions

  • Tom qab lo lus tseem ceeb zaug ib tug tshwj xeeb kev sib kho lub npe yog teev, uas yuav tsum tau teev nyob rau hauv tus yuam sij (template).
  • tsis URI ΠΈ UserName xav tau rau txhua qhov kev sib tham.
  • Yog hais tias lub hauv paus lub npe tsis tau teev tseg, lub hauv paus ntsiab lus lub npe rau tag nrho PostgreSQL zaug yog siv, uas kuj tau teev nyob rau hauv cov ntaub ntawv configuration.

  1. Kev sib txuas tsis sib xws rau PostgreSQL - Macros tau teeb tsa rau hauv tus yuam sij metric hauv tus qauv (zoo ib yam li cov qauv siv hauv Zabbix Agent 1), piv txwv li lawv tau tsim hauv cov qauv thiab tom qab ntawd teev raws li qhov tsis muaj nyob hauv tus yuam sij. Hauv qhov no, qhov sib lawv liag ntawm macros yog tsau, piv txwv li, URI ib txwm teev ua ntej.

Saib xyuas PostgreSQL siv Zabbix

PostgreSQL kev sib txuas tsis muaj - Macros

Lub PostgreSQL soj ntsuam module twb suav nrog ntau dua 95 qhov ntsuas uas tso cai rau koj los npog ntau yam ntawm PostgreSQL tsis, suav nrog:

  • tus naj npawb ntawm kev sib txuas
  • database loj,
  • archiving wal cov ntaub ntawv,
  • chaw kuaj mob,
  • tus naj npawb ntawm "bloated" rooj,
  • replication xwm txheej,
  • replica ncua.

PostgreSQL metrics tsis yog cov ntaub ntawv tsis muaj kev ua haujlwm tsis ua haujlwm. Tab sis Zabbix Agent 2 twb paub yuav ua li cas sau cov txheej txheem kev ua haujlwm, yog li kom tau txais daim duab tag nrho, peb tsuas txuas cov qauv tsim nyog rau tus tswv tsev.

Tus tuav

Tus tuav yog lub ntsiab chav tsev ntawm lub module nyob rau hauv uas qhov kev thov nws tus kheej raug tua thiab uas tso cai rau koj kom tau txais metrics.

Kom tau txais ib qho metric yooj yim:

  1. Tsim ib cov ntaub ntawv kom tau txais qhov ntsuas tshiab:

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

  1. Peb txuas lub pob thiab qhia qhov cim tshwj xeeb (cov yuam sij) ntawm cov ntsuas:

Saib xyuas PostgreSQL siv Zabbix

  1. Peb tsim tus handler (tus tuav) nrog kev thov, piv txwv li, peb pib qhov sib txawv uas yuav muaj qhov tshwm sim:

Saib xyuas PostgreSQL siv Zabbix

  1. Peb ua qhov kev thov:

Saib xyuas PostgreSQL siv Zabbix

Nws yog ib qho tsim nyog los xyuas qhov kev thov kom raug, tom qab ntawd cov txiaj ntsig yuav raug khaws los ntawm Zabbix Agent 2 txheej txheem.

  1. Sau npe tus yuam sij metric tshiab:

Saib xyuas PostgreSQL siv Zabbix

Tom qab sau npe tus ntsuas, koj tuaj yeem tsim kho tus neeg sawv cev nrog tus ntsuas tshiab.

Lub module muaj pib los ntawm Zabbix 5.0 ntawm lub vev xaib https://www.zabbix.com/download. Nyob rau hauv no version ntawm Zabbix, cov tsis yog teem nyias ntawm tus tswv tsev thiab chaw nres nkoj. Hauv Zabbix 5.0.2, uas yuav raug tso tawm sai sai, qhov kev sib txuas tsis tau ntim rau hauv ib qho URI.

Ua tsaug rau koj txoj kev paub!

Pab kev sib txuas lus

GitHub Mamonsu

Mamonsu Cov ntaub ntawv

Zabbix Git

Tau qhov twg los: www.hab.com

Ntxiv ib saib