Daria Vilkova riportja a Zabbix Meetup Online számára
Szeretném bemutatni a PostgreSQL és operációs rendszer figyelő eszközt, amelyet cégünk Zabbix segítségével fejleszt.
A Zabbixot régóta választottuk felügyeleti eszközünknek, mert ez egy nyílt forráskódú platform, amelyet egy Oroszországban nagyon népszerű aktív közösség támogat.
Létrehoztunk egy aktív ügynököt - a Mamonsut, amely az akkori szabványos eszközöknél rugalmasabb felügyeletet biztosított, és biztosította a mérőszámok összegyűjtését és elküldését a Zabbix szerverre. Cégünknél a Mamonsut használjuk az audit során.
Mamonsu
A Mamonsu egy aktív ügynök (Zabbix Trapper) a PostgreSQL és az operációs rendszer figyelésére. A Mamonsu (Python nyelven írva) lehetővé teszi a PostgreSQL és az operációs rendszer megfigyelési beállításainak konfigurálását öt perc alatt.
A Mamonsu további eszközökkel rendelkezik:
- A mamonsu tune egy parancs, amely módosítja a PostgreSQL konfigurációs fájl beállításait azon a gépen, amelyre a Mamonsu ügynök telepítve van.
- A mamonsu report egy parancs, amely válaszokat generál az operációs rendszerről és a PostgreSQL-ről.
A Mamonsu telepítve van a DBMS-kiszolgálóra, összegyűjti az információkat, JSON-ba állítja be, amely elküldi a Zabbix szerverre megjelenítésre, ahol kell lennie egy sablonnak a metrikáihoz.
Mamonsu munkaséma
Mamonsut tartalmaz
- Hatékony munka a PostgreSQL-lel. A PostgreSQL-hez való folyamatos kapcsolat a Mamonsu fő előnye. Ebben az esetben a kapcsolatok maximális száma megegyezik azon adatbázisok maximális számával, amelyekhez csatlakozik.
- Bővíthetőség. A Mamonsu egy teljesen "plugin" ágens, és az egyes pluginok fix felépítése és a Python viszonylagos egyszerűsége miatt könnyen megtanulható az új beépülő modulok írása vagy a szabványos bővítmények, azaz a metrikagyűjtési paraméterek szerkesztése.
- A megfigyelési mérőszámok széles körű lefedettsége a PotgreSQL-hez, beleértve a bővítmény-specifikus mérőszámokat.
- Gyorsindítás, elérhetőség a dobozból.
- Sablonok és konfigurációs fájlok feltöltése, valamint feltöltés a Zabbix szerverre.
- Cross-platform, ami fontos azon ügyfeleink számára, akik különféle Linux disztribúciókat használnak, beleértve a hazait is.
- BSD-klauzula licenc.
Jelenleg rengeteg bővítményt kínálunk, és minden következő verzióban megpróbálunk valami újat hozzáadni.
- 14 plugin a PostgreSQL-hez,
- 8 plugin az OS Linuxhoz,
- 4 bővítmény Windows operációs rendszerhez.
A Mamonsu több mint 110 PostgreSQL és operációs rendszer mérőszámot gyűjt össze:
- 70 PostgreSQL mérőszám,
- 40 operációs rendszer Linux mérőszámai,
- 8 operációs rendszer Windows mérőszámai.
A legfontosabb mérőszámok közé tartozik a DBMS elérhetősége, a kapcsolatok száma, az adatbázis mérete, az ellenőrzési pontok, az olvasási/írási sebesség, a zárolások, az autovákuumos folyamatok száma és a WAL generálási sebesség. Az elérhető mérőszámok teljes listája, valamint az összes eszköz részletes leírása elérhető a következő helyen:
A GitHubon elérhető mutatók listája
Futtassa a Mamonsut 5 perc alatt
A PostgreSQL és az operációs rendszer figyelésének beállításához a Mamonsu használatával 5 perc alatt megteheti 5 egyszerű lépést követve.
- Mamonsu telepítése. A Mamonsu megépíthető forrásból, vagy felhasználható a rendelkezésre álló csomagok.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Kapcsolat beállítása. A PostgreSQL és a Zabbix Server kapcsolati paramétereit be kell állítani az agent.conf fájlban.
/etc/mamonsu/agent.conf
- Sablon exportálása a Zabbix szerverre.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Gazda hozzáadása a Zabbix szerverhez. Az exportált sablon automatikusan csatlakozik az új gazdagéphez a Zabbix szerveren.
$ mamonsu zabbix host create mamonsu-demo
- dob.
$ service mamonsu start
Mamonsu fejlesztési irányok
A Mamonsu fejlesztésének részeként a mérőszámok finomítását és új beépülő modulok létrehozását tervezzük, például az egyes táblák méretének figyelésére szolgáló bővítményt. Tervezzük továbbá további eszközök fejlesztését és létrehozását, valamint az automatikus hangolási képességek bővítését a parancs segítségével mamonsu dallam.
PostgreSQL megfigyelő modul a Zabbix Agent 2 részeként
A PostgreSQL-hez való csatlakozáshoz gyors és népszerű illesztőprogramot használnak
Eddig két interfészt használunk: az Exportert, amely kulcsonként hívja meg a kezelőt, és a Configurator Zabbix Agent 2-t, amely beolvassa és ellenőrzi a kapcsolati paramétereket a konfigurációs fájlban megadott szerverrel.
Megpróbáltuk optimalizálni a DBMS munkáját a metrikák csoportosításával és egy kezelő (kezelő) használatával a metrikák és metrikacsoportok számára, valamint a JSON-ban lévő metrikacsoportok függő változóként (függőségi tételek) és alacsony szintű felfedezés (felfedezési szabályok) használatával. ).
Főbb jellemzők
- folyamatos kapcsolat fenntartása a PostgreSQL-lel az ellenőrzések között;
- rugalmas lekérdezési intervallumok támogatása;
- kompatibilitás a PostgreSQL 10-es verziójától és a Zabbix Server 4.4-es verziójától kezdődően;
- több PostgreSQL-példány egyidejű csatlakoztatásának és figyelésének képessége, mivel a Zabbix Agent 2 lehetővé teszi több munkamenet létrehozását.
PostgreSQL kapcsolati paraméterszintek
A PostgreSQL kapcsolati paramétereinek összesen három szintje érhető el, azaz feladatok és beállítások:
- Globális,
- Munkamenetek,
- Makrók.
-
A Globális paraméterek az ügynök szintjén vannak beállítva, a Session és Makros paraméterek pedig az adatbázis-kapcsolat paramétereit határozzák meg.
-
A PostgreSQL-hez való csatlakozási paraméterek – A munkamenetek a fájlban vannak beállítva zabbix_agent2.conf.
PostgreSQL csatlakozási lehetőségek – Munkamenetek
- A kulcsszó után Sessions egyedi munkamenetnév van megadva, amelyet a kulcsban (sablonban) kell megadni.
- Paraméterek URI и Felhasználónév minden üléshez szükséges.
- Ha az alapnév nincs megadva, akkor az összes PostgreSQL-munkamenet alapértelmezett közös alapneve kerül felhasználásra, amely szintén be van állítva a konfigurációs fájlban.
- A PostgreSQL-hez való kapcsolódási paraméterek - A makrók a sablon metrikus kulcsában vannak beállítva (hasonlóan a Zabbix Agent 1-ben használt módszerhez), azaz létrejönnek a sablonban, majd paraméterként adják meg a kulcsban. Ebben az esetben a makrók sorrendje rögzített, azaz pl. URI mindig az első helyen szerepel.
PostgreSQL kapcsolati paraméterek – Makrók
A PostgreSQL felügyeleti modul már több mint 95 metrikát tartalmaz, amelyek lehetővé teszik a PostgreSQL paraméterek meglehetősen széles skálájának lefedését, beleértve:
- kapcsolatok száma
- adatbázis mérete,
- wal fájlok archiválása,
- ellenőrző pontok,
- a „felduzzasztott” asztalok száma,
- replikációs állapot,
- replika késleltetés.
A PostgreSQL metrikák nem informatívak az operációs rendszer paraméterei nélkül. De a Zabbix Agent 2 már tudja, hogyan kell összegyűjteni az operációs rendszer paramétereit, így a teljes kép érdekében egyszerűen csatlakoztatjuk a szükséges sablonokat a gazdagéphez.
Kezelő
A kezelő a modul fő egysége, amelyben maga a kérés végrehajtásra kerül, és amely lehetővé teszi a mérőszámok fogadását.
Egy egyszerű mutató eléréséhez:
- Hozzon létre egy fájlt új mérőszám fogadásához:
zabbix/src/go/plugins/postgres/handler_uptime.go
- Összekapcsoljuk a csomagot, és megadjuk a metrikák egyedi kulcsát (kulcsait):
- Kéréssel létrehozunk egy kezelőt (handlert), azaz elindítunk egy változót, amely az eredményt tartalmazza:
- A kérést teljesítjük:
Szükséges a hibakérés ellenőrzése, amely után az eredményt a Zabbix Agent 2 folyamat veszi át.
- Regisztrálja az új metrikakulcsot:
A metrika regisztrálása után újraépítheti az ügynököt az új metrikával.
A modul a Zabbix 5.0-tól kezdve elérhető a weboldalon
Спасибо за внимание!
Hasznos Linkek
Forrás: will.com