Zabbix Meetup Online reportÄža Daria Vilkova
VÄlos jÅ«s iepazÄ«stinÄt ar PostgreSQL un operÄtÄjsistÄmas uzraudzÄ«bas rÄ«ku, ko mÅ«su uzÅÄmums izstrÄdÄ, izmantojot Zabbix.
MÄs jau ilgu laiku esam izvÄlÄjuÅ”ies Zabbix kÄ mÅ«su uzraudzÄ«bas rÄ«ku, jo tÄ ir atvÄrtÄ pirmkoda platforma, ko atbalsta aktÄ«va kopiena, kas ir ļoti populÄra KrievijÄ.
MÄs izveidojÄm aktÄ«vo aÄ£entu - Mamonsu, kas nodroÅ”inÄja elastÄ«gÄku uzraudzÄ«bu, nekÄ tolaik ļÄva standarta rÄ«ki, un nodroÅ”inÄja metrikas apkopoÅ”anu un nosÅ«tÄ«Å”anu uz Zabbix Server. MÅ«su uzÅÄmumÄ auditÄ tiek izmantots Mamonsu.
Mamonsu
Mamonsu ir aktÄ«vs aÄ£ents (Zabbix Trapper) PostgreSQL un operÄtÄjsistÄmas uzraudzÄ«bai. Mamonsu (rakstÄ«ts Python) ļauj konfigurÄt PostgreSQL un operÄtÄjsistÄmas uzraudzÄ«bas iestatÄ«jumus piecu minÅ«Å”u laikÄ.
Mamonsu ir papildu rīki:
- mamonsu tune ir komanda, kas rediÄ£Ä iestatÄ«jumus PostgreSQL konfigurÄcijas failÄ maŔīnai, kurÄ ir instalÄts Mamonsu aÄ£ents.
- mamonsu report ir komanda, kas Ä£enerÄ atbildes par operÄtÄjsistÄmu un PostgreSQL.
Mamonsu tiek instalÄts DBVS serverÄ«, apkopo informÄciju, sastÄda to JSON, kas to nosÅ«ta uz Zabbix Server vizualizÄcijai, kur vajadzÄtu bÅ«t tÄs metrikas veidnei.
Mamonsu darba shÄma
Ietver Mamonsu
- EfektÄ«vs darbs ar PostgreSQL. PastÄvÄ«gs savienojums ar PostgreSQL ir galvenÄ Mamonsu priekÅ”rocÄ«ba. Å ajÄ gadÄ«jumÄ maksimÄlais savienojumu skaits ir vienÄds ar maksimÄlo datu bÄzu skaitu, ar kurÄm tas savienojas.
- PaplaÅ”inÄmÄ«ba. Mamonsu ir pilnÄ«bÄ "spraudÅu" aÄ£ents, un katra spraudÅa fiksÄtÄs struktÅ«ras un Python relatÄ«vÄs vienkÄrŔības dÄļ var viegli iemÄcÄ«ties rakstÄ«t jaunus vai rediÄ£Ät standarta spraudÅus, t.i., metrikas vÄkÅ”anas parametrus.
- PlaÅ”s uzraudzÄ«bas metrikas pÄrklÄjums PotgreSQL, tostarp paplaÅ”inÄjumam raksturÄ«gu metriku.
- Ätra palaiÅ”ana, pieejamÄ«ba Ärpus kastes.
- VeidÅu un konfigurÄcijas failu augÅ”upielÄde, kÄ arÄ« augÅ”upielÄdi Zabbix serverÄ«.
- Starpplatformu, kas ir svarÄ«gi mÅ«su klientiem, kuri izmanto dažÄdus Linux izplatÄ«jumus, tostarp vietÄjos.
- BSD klauzulas licence.
Å obrÄ«d piedÄvÄjam ļoti daudz spraudÅu un katrÄ nÄkamajÄ versijÄ cenÅ”amies pievienot ko jaunu.
- 14 spraudÅi PostgreSQL,
- 8 spraudÅi operÄtÄjsistÄmai OS Linux,
- 4 spraudÅi operÄtÄjsistÄmai Windows.
Mamonsu apkopo vairÄk nekÄ 110 PostgreSQL un operÄtÄjsistÄmas metrikas:
- 70 PostgreSQL metrika,
- 40 OS Linux rÄdÄ«tÄji,
- 8 OS Windows metrika.
Galvenie rÄdÄ«tÄji ietver DBVS pieejamÄ«bu, savienojumu skaitu, datu bÄzes lielumu, kontrolpunktus, lasÄ«Å”anas/rakstÄ«Å”anas Ätrumu, slÄdzenes, autovakuuma procesu skaitu un WAL Ä£enerÄÅ”anas Ätrumu. Pilns pieejamo metrikas saraksts, kÄ arÄ« detalizÄts visu rÄ«ku apraksts ir pieejams
VietnÄ GitHub pieejamo metrikas saraksts
Palaidiet Mamonsu 5 minÅ«tÄs
Lai iestatÄ«tu PostgreSQL un operÄtÄjsistÄmas uzraudzÄ«bu, izmantojot Mamonsu, varat to paveikt 5 minÅ«tÄs, veicot 5 vienkÄrÅ”as darbÄ«bas.
- Mamonsu instalÄÅ”ana. Mamonsu var izveidot no avota vai izmantot pieejamÄs pakotnes.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Savienojuma iestatÄ«Å”ana. FailÄ agent.conf ir jÄiestata savienojuma parametri PostgreSQL un Zabbix Server.
/etc/mamonsu/agent.conf
- EksportÄjiet veidni uz Zabbix serveri.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Saimnieka pievienoÅ”ana Zabbix serverim. EksportÄtÄ veidne tiks automÄtiski savienota ar jauno resursdatoru Zabbix serverÄ«.
$ mamonsu zabbix host create mamonsu-demo
- ŠŠ°ŠæŃŃŠŗ.
$ service mamonsu start
Mamonsu attīstības virzieni
Mamonsu izstrÄdes ietvaros mÄs plÄnojam precizÄt metriku un izveidot jaunus spraudÅus, piemÄram, spraudni atseviŔķu tabulu lieluma uzraudzÄ«bai. MÄs arÄ« plÄnojam uzlabot un izveidot papildu rÄ«kus, kÄ arÄ« paplaÅ”inÄt automÄtiskÄs regulÄÅ”anas iespÄjas, izmantojot komandu mamonsu melodija.
PostgreSQL uzraudzÄ«bas modulis kÄ daļa no Zabbix Agent 2
Lai izveidotu savienojumu ar PostgreSQL, tiek izmantots Ätrs un populÄrs draiveris
LÄ«dz Å”im mÄs izmantojam divas saskarnes: Exporter, kas izsauc apstrÄdÄtÄju pÄc atslÄgas, un Configurator Zabbix Agent 2, kas nolasa un pÄrbauda savienojuma parametrus ar konfigurÄcijas failÄ norÄdÄ«to serveri.
MÄs centÄmies optimizÄt DBVS darbu, grupÄjot metriku un izmantojot apdarinÄtÄju (apdarinÄtÄju) metrikÄm un metrikas grupÄm, kÄ arÄ« izmantojot metrikas grupas JSON kÄ atkarÄ«gus mainÄ«gos (atkarÄ«bas vienumi) un zema lÄ«meÅa atklÄÅ”anu (atklÄÅ”anas kÄrtulas). ).
GalvenÄs iezÄ«mes
- pastÄvÄ«ga savienojuma uzturÄÅ”ana ar PostgreSQL starp pÄrbaudÄm;
- atbalsts elastÄ«giem aptaujas intervÄliem;
- savietojamÄ«ba ar PostgreSQL versijÄm, sÄkot no 10, un Zabbix Server, sÄkot no versijas 4.4;
- iespÄja vienlaikus savienot un pÄrraudzÄ«t vairÄkus PostgreSQL gadÄ«jumus, jo Zabbix Agent 2 ļauj izveidot vairÄkas sesijas.
PostgreSQL savienojuma parametru lÄ«meÅi
KopumÄ ir pieejami trÄ«s PostgreSQL savienojuma parametru lÄ«meÅi, t.i., uzdevumi un iestatÄ«jumi:
- GlobÄls,
- sesija,
- Makro.
-
GlobÄlie parametri tiek iestatÄ«ti aÄ£enta lÄ«menÄ«, parametri Sesija un Makro nosaka datu bÄzes savienojuma parametrus.
-
Savienojuma parametri ar PostgreSQL ā sesijas ir iestatÄ«tas failÄ zabbix_agent2.conf.
PostgreSQL savienojuma opcijas ā sesijas
- PÄc atslÄgvÄrda Sessions tiek norÄdÄ«ts unikÄls sesijas nosaukums, kas jÄnorÄda atslÄgÄ (veidnÄ).
- Parametrus URI Šø LietotÄjvÄrds nepiecieÅ”ams katrai sesijai.
- Ja bÄzes nosaukums nav norÄdÄ«ts, tiek izmantots noklusÄjuma kopÄjais bÄzes nosaukums visÄm PostgreSQL sesijÄm, kas arÄ« ir iestatÄ«ts konfigurÄcijas failÄ.
- Savienojuma parametri ar PostgreSQL ā makro tiek iestatÄ«ti veidnes metrikas atslÄgÄ (lÄ«dzÄ«gi Zabbix Agent 1 izmantotajai metodei), t.i., tie tiek izveidoti veidnÄ un pÄc tam norÄdÄ«ti kÄ parametri atslÄgÄ. Å ajÄ gadÄ«jumÄ makro secÄ«ba ir fiksÄta, t.i., piemÄram, URI vienmÄr uzskaitÄ«ti pirmajÄ vietÄ.
PostgreSQL savienojuma parametri - Makro
PostgreSQL uzraudzÄ«bas modulis jau ietver vairÄk nekÄ 95 metrikas, kas ļauj aptvert diezgan plaÅ”u PostgreSQL parametru klÄstu, tostarp:
- savienojumu skaits
- datu bÄzes lielums,
- wal failu arhivÄÅ”ana,
- kontrolpunkti,
- "uzpūsto" tabulu skaits,
- replikÄcijas statuss,
- replikas aizkave.
PostgreSQL metrika nav informatÄ«va bez operÄtÄjsistÄmas parametriem. Bet Zabbix Agent 2 jau zina, kÄ savÄkt operÄtÄjsistÄmas parametrus, tÄpÄc, lai iegÅ«tu pilnu attÄlu, mÄs vienkÄrÅ”i savienojam nepiecieÅ”amÄs veidnes ar resursdatoru.
ApdarinÄtÄjs
ApdarinÄtÄjs ir moduļa galvenÄ vienÄ«ba, kurÄ tiek izpildÄ«ts pats pieprasÄ«jums un kas ļauj saÅemt metriku.
Lai iegÅ«tu vienkÄrÅ”u metriku:
- Izveidojiet failu, lai iegūtu jaunu metriku:
zabbix/src/go/plugins/postgres/handler_uptime.go
- MÄs savienojam paketi un norÄdÄm unikÄlo metrikas atslÄgu (atslÄgas):
- MÄs izveidojam apdarinÄtÄju (apdarinÄtÄju) ar pieprasÄ«jumu, t.i., mÄs iniciÄjam mainÄ«go, kas saturÄs rezultÄtu:
- MÄs izpildÄm pieprasÄ«jumu:
NepiecieÅ”ams pÄrbaudÄ«t kļūdu pieprasÄ«jumu, pÄc kura rezultÄtu saÅems Zabbix Agent 2 process.
- ReÄ£istrÄjiet jauno metrikas atslÄgu:
PÄc metrikas reÄ£istrÄÅ”anas varat atjaunot aÄ£entu ar jauno metriku.
Modulis ir pieejams vietnÄ, sÄkot no Zabbix 5.0
Š”ŠæŠ°ŃŠøŠ±Š¾ Š·Š° Š²Š½ŠøŠ¼Š°Š½ŠøŠµ!
Noderīgas saites
Avots: www.habr.com