Skip to content
Menu
msandor honlapja
  • Bemutatkozás
msandor honlapja

Mire való a zabbix proxy?

Posted on 2023.11.01.2023.11.01.

Használata opcionális. Nagy kiterjedésű hálózatoknál csökkenti a zabbix szerverre eső terhelést. Ha több telephelyed van, egyenesen kötelező minden telephelyre egy-egy zabbix proxyt telepíteni. A kliensek a beállított proxyhoz csatlakoznak, nekik küldik el a mért adatokat. A proxyk pedig továbbítják a szervernek.

Hogyan működik az adatok lekérése egy távoli szerverről?

  • a zabbix szerver átadja a proxyjainak a monitorozandó kliensek listáját, és a kliensektől várt adatok listáját (ez gyárilag óránként zajlik le, ami természetesen módosítható)
  • a proxyk lementik a saját adatbázisukba a listákat
  • a proxyk az ütemezésnek megfelelően kérdezgetik a rájuk bízott hosztokat
  • a hosztokon futó zabbix agent elküldi a proxynak a mérés eredményét
  • a proxy tárolja a fogadott eredményt, majd elküldi a szervernek

Másképpen fogalmazva ez egy soros lánc: zabbix szerver <-> zabbix proxy <-> zabbix agent

Mik az előnyei a zabbix proxy használatának?

A teljesség igénye nélkül:

  • csökkenti a zabbix szerver terhelését
  • a szerver és a proxy közötti hálózati hiba esetén tárolja a mért adatokat, így nincs elveszett adat
  • természetesen, ha mondjuk frissítés miatt leállítjuk a zabbix szervert, akkor is tárolja a mért adatokat
  • egyszerűsíti a tűzfal beállításokat, elég a szerver és a proxy közötti kapcsolatot engedélyezni

Mik a hátrányai a zabbix proxy használatának?

Bárhogy töröm a fejem, csak két dolog jut eszembe:

  • ha a szerver és a proxy között hálózati hiba áll fenn, a szerver nem fog tudni a hiba alatt bekövetkezett eseményekről, bár utólag természetesen megkapja az adatokat
  • ha leállítjuk a proxyt (pl frissítés miatt), vagy ha megsérül a proxy adatbázisa, akkor minden olyan adatot bukunk, amit ez a proxy monitoroz

Ki tudjuk küszöbölni a hátrányát?

Részben igen.

Azt javaslom, hogy a proxykra is telepítsünk zabbix agentet, amiket közvetlenül a szerver monitorozzon, így hálózati hiba esetén a szerver tudni fogja, hogy baj van.

Térjünk át a gyakorlatra

A legegyszerűbb, ha a proxyt is konténerben futtatjuk. Szüksége lesz egy adatbázisra is, kis hálózatoknál bőven elég az egyszerű noSQL. Gyakorlatilag nincs vele semmi dolgunk, a konténer első indításakor magától létrejön.

Hozzunk létre egy docker-compose.yml fájlt az alábbi tartalommal:

version: "2"

volumes:
 ZBXPROXY_DB:
 ZBXPROXY_SNMPTRAPS:
 ZBXPROXY_SECRETS:

services:
 zabbix-proxy:
   container_name: zabbix-proxy
   image: zabbix/zabbix-proxy-sqlite3:alpine-6.4-latest
   volumes:
     - /etc/localtime:/etc/localtime:ro
     - ZBXPROXY_DB:/var/lib/zabbix/db_data
     - ZBXPROXY_SNMPTRAPS:/var/lib/zabbix/snmptraps
     - ZBXPROXY_SECRETS:/var/lib/zabbix/enc
   ports:
     - 10051:10051
   restart: always
   environment:
     - ZBX_SERVER_HOST=192.168.56.6
     - ZBX_SERVER_PORT=10051
     - ZBX_HOSTNAME=proxy1
     - ZBX_CONFIGFREQUENCY=300
     - ZBX_TLSCONNECT=psk
     - ZBX_TLSPSKFILE=/var/lib/zabbix/enc/zabbix.psk
     - ZBX_TLSPSKIDENTITY=proxy1

Némi magyarázat:

  • ez a konfiguráció tökéletesen illeszkedik a korábbi cikkeimben bemutatott demó környezethez
  • ennek a proxynak ‘proxy1’ lesz a neve, ezzel azonosítja magát a szerver felé
  • 300 másodpercenként kéri le a szervertől az inventoryt (a hosztok és a mért adatok listáját)
  • előre be van állítva a PSK mód, ezt erősen javaslom, ha a szerver és a proxy nem egy hálózatban található

Indítsuk el a konténert, hogy létrehozza a VOLUME-okat: $ docker compose docker-compose.yml up -d

Amint visszakapjuk a promptot, le is állíthatjuk: $ docker-compose -f docker-compose.yml down

Generáljunk egy kulcsot a proxynak: $ psktool -u proxy1 -p zabbix.psk -s 32

Keressük meg a ‘ZBXPROXY_SECRETS’ volume fizikai helyét a szerveren: $ docker volume inspect $(docker volume ls | grep ZBXPROXY_SECRETS | awk '{print $2}') | grep Mountpoint | awk -F"\"" '{print $4}'

Ez tipikus esetben itt található (ha nem költöztettétek el a dockert, nálatok is ezt fogja kidobni):

/var/lib/docker/volumes/zabbixproxy_ZBXPROXY_SECRETS/_data

Root felhasználóval hozzuk létre a zabbix.psk fájlt ebben a mappában a korábban létrehozott kulccsal: 977b74008c40fed130a410074df64a4fafd7244b64e163ec86a77e0e49323dbd

Kész is vagyunk, indíthatjuk is a proxyt: $ docker compose docker-compose.yml up -d

Félig megvagyunk, de ezt még a zabbix szerveren is be kell állítani. Nyissuk meg a zabbix weboldalát, azon belül pedig az Administration -> Proxies oldalt. Kattintsunk a jobb felső sarokban található „Create proxy” gombra.

Töltsük ki a két fület a képeken látható módon (a Proxy address mezőbe a saját proxy-d címét írd be):

Az „Add” gombra kattintva mentsük el.

Ha nem rontottunk el semmit, ezt kell látnunk mentés után:

Létrejött a titkosított kapcsolat a zabbix szerver és a proxy1 nevű zabbix proxy között, ám ahogy a képen is látszik, hosztok még nincsenek rákötve. Az egyszerűség kedvéért állítsuk át az egyik hosztot (pl az smtp szervert), hogy a jövőben a proxy1 nevű zabbix proxy fogja monitorozni:

Data collection -> Hosts

Update után máris látszik a változás a Proxies oldalon:

Ennyi, kész vagyunk, működik az első zabbix proxynk!

Ui: ha zabbix agentet futtató gépet kötünk rá a zabbix proxyra, ne felejtsük el, hogy a kérdéses gépek zabbix-agentd.conf fájljában már nem a zabbix szerver IP címét kell megadni, hanem a zabbix proxy címét (Server=).

Vélemény, hozzászólás? Válasz megszakítása

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Kategóriák

  • ansible
  • docker
  • e-mail
  • git
  • hardware
  • hibakeresés
  • kubernetes
  • ldap
  • Linux
  • MariaDB
  • OpenWrt
  • Proxmox
  • security
  • SNMP
  • Synology
  • teszt
  • Unifi
  • UPS
  • vagrant
  • Virtualbox
  • zabbix
©2025 msandor honlapja | WordPress Theme by Superb WordPress Themes

Adatkezelési tájékoztató || Hibát talált az oldalon? Írja meg nekem. || Impresszum || Powered by WordPress

Oldalunk cookie-kat ("sütiket") használ. Ezen fájlok információkat szolgáltatnak számunkra a felhasználó oldallátogatási szokásairól a legjobb felhasználói élmény nyújtása érdekében, de nem tárolnak személyes információkat, adatokat. Szolgáltatásaink igénybe vételével Ön beleegyezik a cookie-k használatába. Kérjük, hogy kattintson az Elfogadom gombra, amennyiben böngészni szeretné weboldalunkat.ElfogadomAdatvédelmi irányelvek