Daria Vilkova aruanne Zabbix Meetup Online'i jaoks
Soovin teile tutvustada PostgreSQL-i ja operatsioonisüsteemi jälgimise tööriista, mida meie ettevõte Zabbixi abil arendab.
Oleme Zabbixi oma jälgimistööriistaks valinud juba pikka aega, sest see on avatud lähtekoodiga platvorm, mida toetab Venemaal väga populaarne aktiivne kogukond.
Lõime aktiivse agendi - Mamonsu, mis võimaldas paindlikumat monitooringut, kui tol ajal tavatööriistad lubasid ning tagas mõõdikute kogumise ja saatmise Zabbix Serverisse. Meie ettevõttes kasutatakse auditis Mamonsut.
Mamonsu
Mamonsu on aktiivne agent (Zabbix Trapper) PostgreSQL-i ja operatsioonisüsteemi jälgimiseks. Mamonsu (kirjutatud Pythonis) võimaldab konfigureerida PostgreSQL-i ja operatsioonisüsteemi jälgimise sätteid viie minutiga.
Mamonsul on lisatööriistad:
- mamonsu tune on käsk, mis muudab seadeid PostgreSQL-i konfiguratsioonifailis masinas, kuhu Mamonsu agent on installitud.
- mamonsu report on käsk, mis genereerib vastuseid operatsioonisüsteemi ja PostgreSQL-i kohta.
Mamonsu installitakse DBMS-i serverisse, kogub teavet, koostab selle JSON-i, mis saadab selle visualiseerimiseks Zabbix Serverisse, kus peaks olema selle mõõdikute mall.
Mamonsu tööskeem
Sisaldab Mamonsu
- Tõhus töö PostgreSQL-iga. Püsiv ühendus PostgreSQL-iga on Mamonsu peamine eelis. Sel juhul on ühenduste maksimaalne arv võrdne nende andmebaaside maksimaalse arvuga, millega see ühendub.
- Laiendatavus. Mamonsu on täielikult "plugina" agent ning tänu iga plugina fikseeritud struktuurile ja Pythoni suhtelisele lihtsusele saab hõlpsasti õppida uusi kirjutama või standardseid pluginaid, st mõõdikute kogumise parameetreid redigeerima.
- Seiremõõdikute lai katvus PotgreSQL-i jaoks, sealhulgas laiendusspetsiifilised mõõdikud.
- kiire käivitamine, saadavus karbist väljas.
- Mallide ja konfiguratsioonifailide üleslaadimine, samuti Zabbixi serverisse üleslaadimine.
- Platvormidevaheline, mis on oluline meie klientidele, kes kasutavad erinevaid Linuxi distributsioone, sh kodumaiseid.
- BSD-klausli litsents.
Hetkel pakume palju pluginaid ja igas järgmises versioonis proovime lisada midagi uut.
- 14 pluginat PostgreSQL-i jaoks,
- 8 pistikprogrammi OS Linuxi jaoks,
- 4 pistikprogrammi OS Windowsi jaoks.
Mamonsu kogub üle 110 PostgreSQL-i ja operatsioonisüsteemi mõõdiku:
- 70 PostgreSQL-i mõõdikut,
- 40 OS Linuxi mõõdikud,
- 8 OS Windowsi mõõdikud.
Peamised mõõdikud hõlmavad DBMS-i saadavust, ühenduste arvu, andmebaasi suurust, kontrollpunkte, lugemise/kirjutamise kiirust, lukke, autovaakumprotsesside arvu ja WAL-i genereerimise kiirust. Saadaolevate mõõdikute täielik loend ja kõigi tööriistade üksikasjalik kirjeldus on saadaval aadressil
GitHubis saadaolevate mõõdikute loend
Käivitage Mamonsu 5 minutiga
PostgreSQL-i ja operatsioonisüsteemi jälgimise seadistamiseks Mamonsu abil saate seda teha 5 minutiga, järgides 5 lihtsat sammu.
- Mamonsu installimine. Mamonsu saab ehitada allikast või kasutada saadaolevaid pakette.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Ühenduse seadistamine. Failis agent.conf on vaja määrata PostgreSQL-i ja Zabbix Serveri ühenduse parameetrid.
/etc/mamonsu/agent.conf
- Ekspordi mall Zabbixi serverisse.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Hosti lisamine Zabbixi serverisse. Eksporditud mall ühendatakse automaatselt Zabbix Serveri uue hostiga.
$ mamonsu zabbix host create mamonsu-demo
- Käivita.
$ service mamonsu start
Mamonsu arengusuunad
Mamonsu arenduse raames plaanime mõõdikuid täpsustada ja luua uusi pluginaid, näiteks üksikute tabelite suuruse jälgimise plugina. Samuti plaanime käsu kaudu täiustada ja luua lisatööriistu ning laiendada automaatse häälestamise võimalusi mamonsu laul.
PostgreSQL-i jälgimismoodul Zabbix Agent 2 osana
PostgreSQL-iga ühenduse loomiseks kasutatakse kiiret ja populaarset draiverit
Seni on kasutusel kaks liidest: Exporter, mis helistab töötlejale võtme abil, ja Configurator Zabbix Agent 2, mis loeb ja kontrollib ühenduse parameetreid konfiguratsioonifailis määratud serveriga.
Püüdsime optimeerida DBMS-i tööd, rühmitades mõõdikuid ja kasutades mõõdikute ja mõõdikute rühmade jaoks töötlejat (käsitlejat), samuti kasutades JSON-i mõõdikute rühmi sõltuvate muutujatena (sõltuvusüksused) ja madala taseme avastamist (avastusreeglid). ).
Peamised omadused
- püsiva ühenduse säilitamine PostgreSQL-iga kontrollide vahel;
- paindlike küsitlusintervallide tugi;
- ühilduvus PostgreSQL versioonidega alates 10 ja Zabbix Serveriga alates versioonist 4.4;
- võimalus ühendada ja jälgida korraga mitut PostgreSQL-i eksemplari, kuna Zabbix Agent 2 võimaldab teil luua mitu seanssi.
PostgreSQL-i ühenduse parameetrite tasemed
Kokku on saadaval kolm PostgreSQL-i ühenduse parameetrite taset, st ülesanded ja sätted:
- Ülemaailmne,
- Seansid,
- Makrod.
-
Globaalsed parameetrid määratakse agendi tasemel, parameetrid Seanss ja Macros määravad andmebaasi ühenduse parameetrid.
-
Ühenduse parameetrid PostgreSQL-iga – Seansid määratakse failis zabbix_agent2.conf.
PostgreSQL-i ühenduse valikud – seansid
- Pärast märksõna Seansid määratakse kordumatu seansi nimi, mis tuleb võtmes (mallis) määrata.
- Parameetrid URI и Kasutajanimi nõutav iga seansi jaoks.
- Kui baasnime pole määratud, kasutatakse kõigi PostgreSQL-i seansside jaoks vaikimisi ühist baasnime, mis määratakse ka konfiguratsioonifailis.
- Ühenduse parameetrid PostgreSQL-iga – makrod määratakse malli mõõdikuvõtmes (sarnaselt Zabbix Agent 1-s kasutatavale meetodile), st need luuakse mallis ja määratakse seejärel võtmes parameetritena. Sel juhul on makrode jada fikseeritud, st näiteks URI alati esimesena loetletud.
PostgreSQL-i ühenduse parameetrid – makrod
PostgreSQL-i jälgimismoodul sisaldab juba enam kui 95 mõõdikut, mis võimaldavad teil katta üsna laia valikut PostgreSQL-i parameetreid, sealhulgas:
- ühenduste arv
- andmebaasi suurus,
- Wali failide arhiveerimine,
- kontrollpunktid,
- "ülepuhutud" tabelite arv,
- replikatsiooni olek,
- replika viivitus.
PostgreSQL-i mõõdikud ei ole ilma operatsioonisüsteemi parameetriteta informatiivsed. Kuid Zabbix Agent 2 juba teab, kuidas operatsioonisüsteemi parameetreid koguda, nii et täieliku pildi saamiseks ühendame vajalikud mallid lihtsalt hostiga.
Käitleja
Käsitleja on mooduli põhiüksus, milles päring ise täidetakse ja mis võimaldab vastu võtta mõõdikuid.
Lihtsa mõõdiku saamiseks toimige järgmiselt.
- Looge fail uue mõõdiku saamiseks.
zabbix/src/go/plugins/postgres/handler_uptime.go
- Ühendame paketi ja määrame mõõdikute unikaalse võtme (võtmed):
- Loome päringuga töötleja (käsitleja), st käivitame muutuja, mis sisaldab tulemust:
- Täidame taotluse:
Vajalik on kontrollida taotlust vigade osas, mille järel võtab tulemuse Zabbix Agent 2 protsess.
- Registreerige uus mõõdiku võti:
Pärast mõõdiku registreerimist saate agendi uue mõõdikuga uuesti üles ehitada.
Moodul on saidil saadaval alates Zabbix 5.0-st
Tänan teid tähelepanu eest!
Kasulikud lingid
Allikas: www.habr.com