Kufuatilia PostgreSQL kwa kutumia Zabbix

Kufuatilia PostgreSQL kwa kutumia Zabbix
Ripoti ya Daria Vilkova ya Zabbix Meetup Online

Ninataka kukutambulisha kwa PostgreSQL na zana ya ufuatiliaji wa mfumo wa uendeshaji, ambayo inatengenezwa na kampuni yetu kwa kutumia Zabbix.

Tumechagua Zabbix kuwa zana yetu ya ufuatiliaji kwa muda mrefu kwa sababu ni mfumo huria unaotumika na jumuiya inayotumika ambayo ni maarufu sana nchini Urusi.

Tuliunda wakala amilifu - Mamonsu, ambayo ilitoa ufuatiliaji rahisi zaidi kuliko zana za kawaida zilizoruhusiwa wakati huo, na kuhakikisha ukusanyaji wa vipimo na utumaji wao kwa Seva ya Zabbix. Katika kampuni yetu, Mamonsu hutumiwa katika ukaguzi.

Mamonsu

Mamonsu ni wakala anayefanya kazi (Zabbix Trapper) kwa ufuatiliaji wa PostgreSQL na mfumo wa uendeshaji. Mamonsu (iliyoandikwa katika Python) inakuwezesha kusanidi PostgreSQL na mipangilio ya ufuatiliaji wa mfumo wa uendeshaji katika dakika tano.

Mamonsu ina zana za ziada:

  • mamonsu tune ni amri inayohariri mipangilio katika faili ya usanidi ya PostgreSQL kwa mashine ambayo wakala wa Mamonsu amesakinishwa.
  • mamonsu report ni amri inayotoa majibu kuhusu mfumo wa uendeshaji na PostgreSQL.

Mamonsu imesakinishwa kwenye seva ya DBMS, hukusanya maelezo, na kuitunga kuwa JSON, ambayo huituma kwa Seva ya Zabbix kwa taswira, ambapo kunapaswa kuwa na kiolezo cha vipimo vyake.

Kufuatilia PostgreSQL kwa kutumia Zabbix

Mpango wa kazi wa Mamonsu

Vipengele vya Mamonsu

  • Kazi bora na PostgreSQL. Muunganisho unaoendelea kwa PostgreSQL ndio faida kuu ya Mamonsu. Katika kesi hii, idadi kubwa ya viunganisho ni sawa na idadi kubwa ya hifadhidata ambayo inaunganisha.
  • Kupanuka. Mamonsu ni wakala kamili wa "programu-jalizi", na kwa sababu ya muundo thabiti wa kila programu-jalizi na usahili wa Python, mtu anaweza kujifunza kwa urahisi jinsi ya kuandika au kuhariri programu-jalizi za kawaida, yaani, vigezo vya ukusanyaji wa vipimo.
  • Ufikiaji mpana wa vipimo vya ufuatiliaji kwa PotgreSQL ikijumuisha vipimo mahususi vya kiendelezi.
  • uzinduzi wa haraka, upatikanaji nje ya boksi.
  • Inapakia violezo na faili za usanidi, pamoja na kupakia kwenye Seva ya Zabbix.
  • Msalaba-jukwaa, ambayo ni muhimu kwa wateja wetu wanaotumia usambazaji mbalimbali wa Linux, ikiwa ni pamoja na wale wa ndani.
  • Leseni ya kifungu cha BSD.

Kwa sasa tunatoa programu-jalizi nyingi na katika kila toleo linalofuata tunajaribu kuongeza kitu kipya.

  • Programu-jalizi 14 za PostgreSQL,
  • programu-jalizi 8 za OS Linux,
  • programu-jalizi 4 za OS Windows.

Mamonsu hukusanya zaidi ya 110 PostgreSQL na vipimo vya mfumo wa uendeshaji:

  • Vipimo 70 vya PostgreSQL,
  • Vipimo 40 vya Linux,
  • Vipimo 8 vya Uendeshaji wa Windows.

Vipimo muhimu ni pamoja na upatikanaji wa DBMS, idadi ya miunganisho, saizi ya hifadhidata, vituo vya ukaguzi, kasi ya kusoma/kuandika, kufuli, idadi ya michakato ya otomatiki na kasi ya uzalishaji wa WAL. Orodha kamili ya vipimo vinavyopatikana, pamoja na maelezo ya kina ya zana zote, inapatikana katika hazina kwenye wavuti ya GitHub.

Kufuatilia PostgreSQL kwa kutumia Zabbix

Orodha ya vipimo vinavyopatikana kwenye GitHub

Endesha Mamonsu kwa dakika 5

Ili kusanidi ufuatiliaji wa PostgreSQL na mfumo wa uendeshaji kwa kutumia Mamonsu, unaweza kufanya hivyo baada ya dakika 5 kwa kufuata hatua 5 rahisi.

  1. Inaweka Mamonsu. Mamonsu inaweza kujengwa kutoka kwa chanzo au kutumia vifurushi vinavyopatikana.

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

build && python setup.py install

  1. Mpangilio wa muunganisho. Ni muhimu kuweka vigezo vya uunganisho vya PostgreSQL na Seva ya Zabbix katika faili ya agent.conf.

/etc/mamonsu/agent.conf

  1. Hamisha kiolezo kwa Seva ya Zabbix.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Inaongeza mwenyeji kwa Seva ya Zabbix. Kiolezo kilichohamishwa kitaunganishwa kiotomatiki kwa seva pangishi mpya kwenye Seva ya Zabbix.

$ mamonsu zabbix host create mamonsu-demo

  1. Uzindua.

$ service mamonsu start

Maelekezo ya Maendeleo ya Mamonsu

Kama sehemu ya uundaji wa Mamonsu, tunapanga kuboresha metriki na kuunda programu-jalizi mpya, kama vile programu-jalizi ya kufuatilia ukubwa wa jedwali mahususi. Pia tunapanga kuboresha na kuunda zana za ziada, na pia kupanua uwezo wa kurekebisha kiotomatiki kupitia amri wimbo wa mamosu.

Moduli ya ufuatiliaji ya PostgreSQL kama sehemu ya Zabbix Agent 2

Dereva wa haraka na maarufu hutumiwa kuunganisha kwenye PostgreSQL pgx (kiendeshaji cha PG na zana ya Go).

Kufikia sasa, tunatumia miingiliano miwili: Msafirishaji nje, ambayo huita kidhibiti kwa ufunguo, na Wakala wa Configurator Zabbix 2, ambayo inasoma na kuangalia vigezo vya uunganisho na seva iliyotajwa kwenye faili ya usanidi.

Tulijaribu kuboresha kazi ya DBMS kwa kupanga vipimo na kutumia kidhibiti (kidhibiti) cha vipimo na vikundi vya vipimo, na pia kutumia vikundi vya vipimo katika JSON kama vigeu tegemezi (vitu tegemezi), na ugunduzi wa kiwango cha chini (sheria za uvumbuzi. )

Vipengele muhimu

  • kudumisha muunganisho unaoendelea kwa PostgreSQL kati ya hundi;
  • usaidizi wa vipindi rahisi vya upigaji kura;
  • utangamano na matoleo ya PostgreSQL kuanzia 10 na Seva ya Zabbix kuanzia toleo la 4.4;
  • uwezo wa kuunganisha na kufuatilia matukio mengi ya PostgreSQL kwa wakati mmoja kutokana na ukweli kwamba Zabbix Agent 2 inakuwezesha kuunda vipindi vingi.

Viwango vya Parameta ya Uunganisho wa PostgreSQL

Kwa jumla, kuna viwango vitatu vya vigezo vya uunganisho vya PostgreSQL, i.e. kazi na mipangilio:

  • Ulimwenguni,
  • kipindi,
  • makro.

  1. Vigezo vya Global vimewekwa kwenye kiwango cha wakala, Vigezo vya Kikao na Macros hufafanua vigezo vya uunganisho wa hifadhidata.

  2. Vigezo vya uunganisho kwa PostgreSQL - Vikao vimewekwa kwenye faili zabbix_agent2.conf.

Kufuatilia PostgreSQL kwa kutumia Zabbix

Chaguzi za Muunganisho wa PostgreSQL - Vikao

  • Baada ya neno kuu vikao jina la kipekee la kikao limebainishwa, ambalo lazima libainishwe kwenye ufunguo (template).
  • Vigezo URI ΠΈ Mtumiaji wa Nambari inahitajika kwa kila kikao.
  • Ikiwa jina la msingi halijabainishwa, jina la msingi la kawaida kwa vipindi vyote vya PostgreSQL hutumiwa, ambalo pia limewekwa katika faili ya usanidi.

  1. Vigezo vya uunganisho kwenye PostgreSQL - Macro huwekwa katika ufunguo wa kipimo katika kiolezo (sawa na njia inayotumiwa katika Zabbix Agent 1), yaani, huundwa katika kiolezo na kisha kubainishwa kama vigezo katika ufunguo. Katika kesi hii, mlolongo wa macros umewekwa, yaani, kwa mfano, URI daima waliotajwa kwanza.

Kufuatilia PostgreSQL kwa kutumia Zabbix

Vigezo vya uunganisho vya PostgreSQL - Macros

Moduli ya ufuatiliaji ya PostgreSQL tayari inajumuisha zaidi ya metriki 95 zinazokuruhusu kufunika anuwai ya vigezo vya PostgreSQL, ikijumuisha:

  • idadi ya viunganisho
  • saizi ya hifadhidata,
  • kuhifadhi faili za wal,
  • vituo vya ukaguzi,
  • idadi ya meza "zilizojaa",
  • hali ya kuiga,
  • kuchelewa kwa replica.

Vipimo vya PostgreSQL si vya taarifa bila vigezo vya mfumo wa uendeshaji. Lakini Zabbix Agent 2 tayari anajua jinsi ya kukusanya vigezo vya mfumo wa uendeshaji, ili kupata picha kamili, tunaunganisha tu templates muhimu kwa mwenyeji.

Kishughulikiaji

Kidhibiti ni sehemu kuu ya moduli ambayo ombi yenyewe inatekelezwa na ambayo hukuruhusu kupokea vipimo.

Ili kupata kipimo rahisi:

  1. Unda faili ili kupata kipimo kipya:

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

  1. Tunaunganisha kifurushi na kubainisha ufunguo wa kipekee (funguo) wa vipimo:

Kufuatilia PostgreSQL kwa kutumia Zabbix

  1. Tunaunda kidhibiti (kishughulikiaji) na ombi, i.e., tunaanzisha utofauti ambao utakuwa na matokeo:

Kufuatilia PostgreSQL kwa kutumia Zabbix

  1. Tunatekeleza ombi:

Kufuatilia PostgreSQL kwa kutumia Zabbix

Inahitajika kuangalia ombi la makosa, baada ya hapo matokeo yatachukuliwa na mchakato wa Zabbix Agent 2.

  1. Sajili ufunguo mpya wa kipimo:

Kufuatilia PostgreSQL kwa kutumia Zabbix

Baada ya kusajili kipimo, unaweza kuunda tena wakala kwa kipimo kipya.

Moduli inapatikana kuanzia Zabbix 5.0 kwenye tovuti https://www.zabbix.com/download. Katika toleo hili la Zabbix, vigezo vimewekwa tofauti kupitia mwenyeji na bandari. Katika Zabbix 5.0.2, ambayo itatolewa hivi karibuni, vigezo vya uunganisho vitawekwa kwenye URI moja.

Asante!

Viungo muhimu

GitHub Mamonsu

Nyaraka za Mamonsu

Zabbix Git

Chanzo: mapenzi.com

Kuongeza maoni