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.
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
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.
- 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
- Gosod cysylltiad. Mae angen gosod y paramedrau cysylltiad ar gyfer PostgreSQL a Zabbix Server yn y ffeil agent.conf.
/etc/mamonsu/agent.conf
- Allforio templed i Zabbix Server.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- 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
- ΠΠ°ΠΏΡΡΠΊ.
$ 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
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.
-
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.
-
Paramedrau cysylltu Γ’ PostgreSQL - Mae sesiynau wedi'u gosod yn y ffeil zabbix_agent2.conf.
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.
- 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.
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:
- Creu ffeil i gael metrig newydd:
zabbix/src/go/plugins/postgres/handler_uptime.go
- Rydym yn cysylltu'r pecyn ac yn nodi allwedd unigryw (allweddi) y metrigau:
- Rydym yn creu triniwr (triniwr) gyda chais, h.y., rydym yn cychwyn newidyn a fydd yn cynnwys y canlyniad:
- Rydym yn gweithredu'r cais:
Mae angen gwirio'r cais am wallau, ac ar Γ΄l hynny bydd y canlyniad yn cael ei nodi gan broses Asiant Zabbix 2.
- Cofrestrwch yr allwedd fetrig newydd:
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
Diolch am eich sylw!
Dolenni defnyddiol
Ffynhonnell: hab.com