Daria Vilkova-ren txostena Zabbix Meetup Onlinerako
Gure enpresak Zabbix erabiliz garatzen duen PostgreSQL eta sistema eragilea monitorizatzeko tresna aurkeztu nahi dizut.
Zabbix gure monitorizazio tresna gisa aukeratu genuen aspaldi, Errusian oso ezaguna den komunitate aktibo batek onartzen duen kode irekiko plataforma delako.
Agente aktibo bat sortu genuen - Mamonsu, garai hartan tresna estandarrek onartzen zutena baino monitorizazio malguagoa eskaintzen zuena, eta neurgailuen bilketa eta Zabbix Server-era bidaltzea bermatu zuen. Gure enpresan, Mamonsu erabiltzen da auditoriak egiteko.
Mamonsu
Mamonsu PostgreSQL eta sistema eragilea monitorizatzeko agente aktibo bat da (Zabbix Trapper). Mamonsuk (Python-en idatzia) PostgreSQL eta sistema eragilearen monitorizazio ezarpenak bost minututan konfiguratzeko aukera ematen du.
Mamonsuk tresna osagarriak ditu:
- mamonsu tune PostgreSQL konfigurazio-fitxategian ezarpenak editatzen dituen komando bat da, Mamonsu agentea instalatuta dagoen makinarentzat.
- mamonsu txostena sistema eragileari eta PostgreSQLri buruzko erantzunak sortzen dituen komando bat da.
Mamonsu DBMS zerbitzarian instalatzen da, informazioa biltzen du, JSON-n konpilatzen du, eta Zabbix zerbitzariari bistaratzeko bidaltzen da, non bere metriketarako txantiloi bat egon beharko lukeen.
Mamonsu operazio eskema
Mamonsu ezaugarriak
- PostgreSQL-rekin modu eraginkorrean lan egitea. PostgreSQL-rekin etengabeko konexioa da Mamonsuren abantaila nagusia. Kasu honetan, gehienezko konexio-kopurua konektatzen den datu-baseen gehienezko kopuruaren berdina da.
- Zabalgarritasuna. Mamonsu guztiz plug-in-agentea da, eta plugin bakoitzaren egitura finkoari eta Python-en soiltasun erlatiboari esker, erraz ikasi dezakezu plugin estandarrak idazten edo editatzen, hau da, metrika-bilketaren parametroak.
- Monitorizaziorako neurgailuen estaldura zabala PotgreSQLrentzat, hedapen zehatzetarako metrikak barne.
- Hasiera azkarra, Eskuragarritasuna kutxatik kanpo.
- Txantiloiak eta konfigurazio fitxategiak kargatzea, baita Zabbix zerbitzarira igotzea ere.
- Plataforma gurutzatua, eta hori garrantzitsua da hainbat Linux banaketa erabiltzen dituzten gure bezeroentzat, etxekoak barne.
- BSD klausula lizentzia.
Momentuz plugin asko eskaintzen ditugu eta hurrengo bertsio bakoitzean zerbait berria gehitzen saiatzen gara.
- PostgreSQL-rako 14 plugin,
- OS Linuxerako 8 plugin,
- 4 plugin OS Windows-erako.
Mamonsuk 110 PostgreSQL eta sistema eragilearen neurketa baino gehiago biltzen ditu:
- 70 PostgreSQL metrika,
- 40 OS Linux metrika,
- 8 OS Windows metrika.
Funtsezko neurrien artean DBMS erabilgarritasuna, konexio kopurua, datu-basearen tamaina, kontrol-puntuak, irakurketa/idazketa abiadura, blokeoak, hutsune automatikoko prozesuen kopurua eta WAL sortzeko tasa daude. Eskuragarri dauden neurketen zerrenda osoa, baita tresna guztien deskribapen zehatza ere, eskuragarri dago
GitHub-en eskuragarri dauden neurketen zerrenda
Abiarazi Mamonsu 5 minututan
PostgreSQL eta sistema eragilearen jarraipena Mamonsu erabiliz konfigura dezakezu 5 minututan 5 urrats erraz jarraituz.
- Mamonsu instalatzen. Mamonsu iturburutik edo eskuragarri dauden paketeak erabiliz eraiki daiteke.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Konexioak konfiguratzea. Agent.conf fitxategian PostgreSQL eta Zabbix zerbitzarirako konexio-parametroak zehaztu behar dira.
/etc/mamonsu/agent.conf
- Txantiloi bat Zabbix zerbitzarira esportatzen.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Ostalari bat gehitzea Zabbix zerbitzarian. Esportatutako txantiloia automatikoki konektatuko da Zabbix zerbitzariko ostalari berrira.
$ mamonsu zabbix host create mamonsu-demo
- aireratzea.
$ service mamonsu start
Mamonsu garapen norabideak
Mamonsu-ren garapenaren baitan, metrikak findu eta plugin berriak sortzeko asmoa dugu, adibidez taulen tamaina kontrolatzeko plugin bat. Gainera, tresna osagarriak hobetzeko eta sortzeko asmoa dugu, baita auto-sintonizazio gaitasunak zabaltzeko komandoaren bidez mamonsu doinua.
Zabbix Agent 2-n sartuta dagoen PostgreSQL monitorizazio modulua
PostgreSQL-ra konektatzeko kontrolatzaile azkar eta ezagun bat erabiltzen da
Oraingoz bi interfaze erabiltzen ari gara: Exporter, kudeatzailea gakoaren bidez deitzen duena, eta Configurator Zabbix Agent 2, konfigurazio fitxategian zehaztutako zerbitzariaren konexio-parametroak irakurtzen eta egiaztatzen dituena.
DBMSaren errendimendua optimizatzen saiatu gara metrikak taldekatuz eta kudeatzaile bat erabiliz metrika eta metrika taldeetarako, baita JSON-ko metrika-taldeak menpeko aldagai gisa (mendekotasun-elementuak) eta behe-mailako aurkikuntza (aurkikuntza-arauak) erabiliz.
Funtsezko ezaugarriak
- kontrolen artean PostgreSQL-rekin konexio iraunkor bat mantentzea;
- bozketa-tarte malguetarako laguntza;
- 10etik aurrera PostgreSQL bertsioekin bateragarria, eta 4.4 bertsiotik aurrera Zabbix Serverrekin;
- hainbat PostgreSQL instantzia aldi berean konektatzeko eta kontrolatzeko gaitasuna Zabbix Agent 2-k hainbat saio sortzeko aukera ematen duelako.
PostgreSQL konexio-parametro-mailak
Guztira, PostgreSQL-rako konexio-parametroen hiru maila daude eskuragarri, hau da, zereginak eta ezarpenak:
- Globala,
- Saioak
- Makroak.
-
Parametro Globalak agente mailan ezartzen dira, Saioa eta Makro parametroek datu-basearen konexio-parametroak zehazten dituzte.
-
PostgreSQL-rako konexio-parametroak - Saioak fitxategian ezartzen dira zabbix_agent2.conf.
PostgreSQL konexio-parametroak - Saioak
- Gako hitzaren ondoren Sessions saio-izen esklusibo bat adierazten da, klabean (txantiloia) zehaztu behar dena.
- Parametroak URI ΠΈ Erabiltzaile-izena saio bakoitzerako beharrezkoak.
- Datu-basearen izena zehazten ez bada, PostgreSQL saio guztien datu-basearen izen arrunt lehenetsia erabiltzen da, konfigurazio fitxategian ere zehaztuta dagoena.
- PostgreSQL-rako konexio-parametroak - Makroak gako metrikoan zehazten dira txantiloian (Zabbix Agent 1-en erabiltzen den metodoaren antzekoa), hau da, txantiloian sortzen dira eta gero gakoan parametro gisa zehazten dira. Kasu honetan, makroen sekuentzia finkoa da, hau da, adibidez, URI beti agertzen da lehenik.
PostgreSQL konexio-parametroak - Makroak
PostgreSQL monitorizazio moduluak dagoeneko 95 metrika baino gehiago biltzen ditu, PostgreSQL parametro sorta zabala estaltzeko aukera ematen dutenak, besteak beste:
- konexio kopurua,
- datu-baseen bolumena,
- wal fitxategiak artxibatzea,
- kontrol puntuak,
- "puztutako" mahai kopurua,
- erreplikazio-egoera,
- erreplika lag.
PostgreSQL neurketak ez dira informatiboak sistema eragilearen parametrorik gabe. Baina Zabbix Agent 2-k dagoeneko badaki sistema eragilearen parametroak nola biltzen, beraz, argazki osoa lortzeko beharrezkoak diren txantiloiak sareko nodoan konektatu besterik ez dugu egiten.
Kudeatzailea
Kudeatzailea eskaera bera exekutatzen den eta metrikak lortzeko aukera ematen duen moduluaren unitate nagusia da.
Neurri sinple bat lortzeko:
- Sortu fitxategi bat metrika berri bat jasotzeko:
zabbix/src/go/plugins/postgres/handler_uptime.go
- Paketea konektatzen dugu eta metrika-gako bakarra(k) zehazten dugu:
- Eskaerarekin kudeatzaile bat sortzen dugu, hau da, emaitza izango duen aldagai bat abiarazten dugu:
- Eskaera exekutatzen dugu:
Beharrezkoa da akatsen eskaera egiaztatu eta ondoren emaitza Zabbix Agent 2 prozesuak jasoko du.
- Erregistratu gako metriko berria:
Neurria erregistratu ondoren, agentea berreraiki dezakezu metrika berriarekin.
Modulua Zabbix 5.0tik hasita dago eskuragarri webgunean
Eskerrik asko zure arreta!
Esteka interesgarriak
Iturria: www.habr.com