Monitro PostgreSQL gan ddefnyddio Zabbix

Monitro PostgreSQL gan ddefnyddio Zabbix
Adroddiad gan Daria Vilkova ar gyfer Zabbix Meetup Online

Rwyf am eich cyflwyno i offeryn monitro PostgreSQL a system weithredu, sy'n cael ei ddatblygu gan ein cwmni gan ddefnyddio Zabbix.

Rydym wedi dewis Zabbix fel ein hofferyn monitro ers amser maith oherwydd ei fod yn blatfform ffynhonnell agored a gefnogir gan gymuned weithgar sy'n boblogaidd iawn yn Rwsia.

Fe wnaethon ni greu asiant gweithredol - Mamonsu, a oedd yn darparu monitro mwy hyblyg nag yr oedd offer safonol yn ei ganiatΓ‘u ar yr adeg honno, ac yn sicrhau casglu metrigau a'u hanfon i Zabbix Server. Yn ein cwmni, defnyddir Mamonsu yn yr archwiliad.

Mamonsu

Mae Mamonsu yn asiant gweithredol (Zabbix Trapper) ar gyfer monitro PostgreSQL a'r system weithredu. Mae Mamonsu (wedi'i ysgrifennu yn Python) yn caniatΓ‘u ichi ffurfweddu gosodiadau monitro PostgreSQL a system weithredu mewn pum munud.

Mae gan Mamonsu offer ychwanegol:

  • Mae tiwn mamonsu yn orchymyn sy'n golygu'r gosodiadau yn ffeil ffurfweddu PostgreSQL ar gyfer y peiriant y mae'r asiant Mamonsu wedi'i osod arno.
  • Mae adroddiad mamonsu yn orchymyn sy'n cynhyrchu atebion am y system weithredu a PostgreSQL.

Mae Mamonsu wedi'i osod ar y gweinydd DBMS, yn casglu gwybodaeth, yn ei gyfansoddi i JSON, sy'n ei anfon at Zabbix Server i'w ddelweddu, lle dylai fod templed ar gyfer ei fetrigau.

Monitro PostgreSQL gan ddefnyddio Zabbix

Cynllun gwaith Mamonsu

Nodweddion Mamonsu

  • Gwaith effeithlon gyda PostgreSQL. Cysylltiad parhaus Γ’ PostgreSQL yw prif fantais Mamonsu. Yn yr achos hwn, mae'r nifer uchaf o gysylltiadau yn hafal i'r nifer uchaf o gronfeydd data y mae'n cysylltu Γ’ nhw.
  • Expandability. Mae Mamonsu yn asiant β€œategyn” llawn, ac oherwydd strwythur sefydlog pob ategyn a symlrwydd cymharol Python, gall rhywun ddysgu'n hawdd sut i ysgrifennu ategion safonol newydd neu olygu, h.y. paramedrau casglu metrigau.
  • Cwmpas eang o fetrigau monitro ar gyfer PotgreSQL gan gynnwys metrigau estyniad-benodol.
  • lansiad cyflym, argaeledd allan o'r bocs.
  • Lanlwytho templedi a ffeiliau ffurfweddu, yn ogystal Γ’ llwytho i fyny i Zabbix Server.
  • Traws-blatfform, sy'n bwysig i'n cwsmeriaid sy'n defnyddio dosbarthiadau Linux amrywiol, gan gynnwys rhai domestig.
  • Trwydded cymal BSD.

Ar hyn o bryd rydym yn cynnig llawer o ategion ac ym mhob fersiwn nesaf rydym yn ceisio ychwanegu rhywbeth newydd.

  • 14 ategyn ar gyfer PostgreSQL,
  • 8 ategyn ar gyfer OS Linux,
  • 4 ategyn ar gyfer OS Windows.

Mae Mamonsu yn casglu dros 110 PostgreSQL a metrigau system weithredu:

  • 70 metrig PostgreSQL,
  • 40 metrig OS Linux,
  • 8 OS Windows metrigau.

Mae metrigau allweddol yn cynnwys argaeledd DBMS, nifer y cysylltiadau, maint y gronfa ddata, pwyntiau gwirio, cyflymder darllen/ysgrifennu, cloeon, nifer y prosesau autovacuum, a chyflymder cynhyrchu WAL. Mae rhestr gyflawn o'r metrigau sydd ar gael, yn ogystal Γ’ disgrifiad manwl o'r holl offer, ar gael yn storfeydd ar wefan GitHub.

Monitro PostgreSQL gan ddefnyddio Zabbix

Rhestr o'r metrigau sydd ar gael ar GitHub

Rhedeg Mamonsu mewn 5 munud

I sefydlu monitro PostgreSQL a'r system weithredu gan ddefnyddio Mamonsu, gallwch ei wneud mewn 5 munud trwy ddilyn 5 cam syml.

  1. Gosod Mamonsu. Gellir adeiladu Mamonsu o'r ffynhonnell neu ddefnyddio'r pecynnau sydd ar gael.

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

build && python setup.py install

  1. Gosod cysylltiad. Mae angen gosod y paramedrau cysylltiad ar gyfer PostgreSQL a Zabbix Server yn y ffeil agent.conf.

/etc/mamonsu/agent.conf

  1. Allforio templed i Zabbix Server.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Ychwanegu gwesteiwr i Zabbix Server. Bydd y templed wedi'i allforio yn cael ei gysylltu'n awtomatig Γ’'r gwesteiwr newydd ar Zabbix Server.

$ mamonsu zabbix host create mamonsu-demo

  1. Запуск.

$ service mamonsu start

Cyfarwyddiadau Datblygu Mamonsu

Fel rhan o ddatblygiad Mamonsu, rydym yn bwriadu mireinio'r metrigau a chreu ategion newydd, megis ategyn ar gyfer monitro maint tablau unigol. Rydym hefyd yn bwriadu gwella a chreu offer ychwanegol, yn ogystal ag ehangu galluoedd tiwnio awtomatig trwy'r gorchymyn tiwn mamonsu.

Modiwl monitro PostgreSQL fel rhan o Asiant Zabbix 2

Defnyddir gyrrwr cyflym a phoblogaidd i gysylltu Γ’ PostgreSQL pgx (gyrrwr PG a phecyn cymorth ar gyfer Go).

Hyd yn hyn, rydym yn defnyddio dau ryngwyneb: Allforiwr, sy'n galw'r triniwr yn Γ΄l allwedd, a Configurator Zabbix Asiant 2, sy'n darllen ac yn gwirio'r paramedrau cysylltiad Γ’'r gweinydd a nodir yn y ffeil ffurfweddu.

Fe wnaethom geisio gwneud y gorau o waith y DBMS trwy grwpio metrigau a defnyddio triniwr (triniwr) ar gyfer metrigau a grwpiau metrig, yn ogystal Γ’ defnyddio grwpiau o fetrigau yn JSON fel newidynnau dibynnol (eitemau dibyniaeth), a darganfyddiad lefel isel (rheolau darganfod ).

Prif nodweddion

  • cynnal cysylltiad parhaus Γ’ PostgreSQL rhwng gwiriadau;
  • cefnogaeth ar gyfer cyfnodau pleidleisio hyblyg;
  • cydnawsedd Γ’ fersiynau PostgreSQL gan ddechrau o 10 a Zabbix Server gan ddechrau o fersiwn 4.4;
  • y gallu i gysylltu a monitro achosion PostgreSQL lluosog ar yr un pryd oherwydd y ffaith bod Zabbix Asiant 2 yn caniatΓ‘u ichi greu sesiynau lluosog.

Lefelau Paramedr Cysylltiad PostgreSQL

Yn gyfan gwbl, mae tair lefel o baramedrau cysylltiad PostgreSQL, h.y. tasgau a gosodiadau:

  • Byd-eang,
  • sesiwn,
  • macros.

  1. Mae'r paramedrau Byd-eang wedi'u gosod ar y lefel asiant, mae paramedrau'r Sesiwn a Macros yn diffinio paramedrau cysylltiad y gronfa ddata.

  2. Paramedrau cysylltu Γ’ PostgreSQL - Mae sesiynau wedi'u gosod yn y ffeil zabbix_agent2.conf.

Monitro PostgreSQL gan ddefnyddio Zabbix

Opsiynau Cysylltiad PostgreSQL - Sesiynau

  • Ar Γ΄l allweddair sesiynau pennir enw sesiwn unigryw, y mae'n rhaid ei nodi yn yr allwedd (templed).
  • Paramedrau URI ΠΈ Enw Defnyddiwr angenrheidiol ar gyfer pob sesiwn.
  • Os na nodir yr enw sylfaen, defnyddir yr enw sylfaen cyffredin rhagosodedig ar gyfer pob sesiwn PostgreSQL, sydd hefyd wedi'i osod yn y ffeil ffurfweddu.

  1. Paramedrau cysylltu Γ’ PostgreSQL - Mae macros wedi'u gosod yn yr allwedd fetrig yn y templed (yn debyg i'r dull a ddefnyddir yn Asiant Zabbix 1), h.y. cΓ’nt eu creu yn y templed ac yna eu nodi fel paramedrau yn yr allwedd. Yn yr achos hwn, mae dilyniant y macros yn sefydlog, h.y., er enghraifft, URI a restrir yn gyntaf bob amser.

Monitro PostgreSQL gan ddefnyddio Zabbix

Paramedrau cysylltiad PostgreSQL - Macros

Mae modiwl monitro PostgreSQL eisoes yn cynnwys mwy na 95 metrig sy'n eich galluogi i gwmpasu ystod eithaf eang o baramedrau PostgreSQL, gan gynnwys:

  • nifer o gysylltiadau
  • maint cronfa ddata,
  • archifo ffeiliau wal,
  • pwyntiau gwirio,
  • nifer y tablau "chwyddedig",
  • statws atgynhyrchu,
  • oedi replica.

Nid yw metrigau PostgreSQL yn addysgiadol heb baramedrau system weithredu. Ond mae Asiant Zabbix 2 eisoes yn gwybod sut i gasglu paramedrau system weithredu, felly i gael y darlun llawn, rydym yn syml yn cysylltu'r templedi angenrheidiol Γ’'r gwesteiwr.

Triniwr

Y triniwr yw prif uned y modiwl lle mae'r cais ei hun yn cael ei weithredu ac sy'n caniatΓ‘u ichi dderbyn metrigau.

I gael metrig syml:

  1. Creu ffeil i gael metrig newydd:

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

  1. Rydym yn cysylltu'r pecyn ac yn nodi allwedd unigryw (allweddi) y metrigau:

Monitro PostgreSQL gan ddefnyddio Zabbix

  1. Rydym yn creu triniwr (triniwr) gyda chais, h.y., rydym yn cychwyn newidyn a fydd yn cynnwys y canlyniad:

Monitro PostgreSQL gan ddefnyddio Zabbix

  1. Rydym yn gweithredu'r cais:

Monitro PostgreSQL gan ddefnyddio Zabbix

Mae angen gwirio'r cais am wallau, ac ar Γ΄l hynny bydd y canlyniad yn cael ei nodi gan broses Asiant Zabbix 2.

  1. Cofrestrwch yr allwedd fetrig newydd:

Monitro PostgreSQL gan ddefnyddio Zabbix

Ar Γ΄l cofrestru'r metrig, gallwch ailadeiladu'r asiant gyda'r metrig newydd.

Mae'r modiwl ar gael gan ddechrau o Zabbix 5.0 ar y wefan https://www.zabbix.com/download. Yn y fersiwn hon o Zabbix, mae'r paramedrau'n cael eu gosod ar wahΓ’n trwy westeiwr a phorthladd. Yn Zabbix 5.0.2, a fydd yn cael ei ryddhau'n fuan, bydd y paramedrau cysylltiad yn cael eu pecynnu i mewn i un URI.

Diolch am eich sylw!

Dolenni defnyddiol

GitHub Mamonsu

Dogfennaeth Mamonsu

Zabbix Git

Ffynhonnell: hab.com

Ychwanegu sylw