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

Proxmox monitorozása zabbixszal

Posted on 2024.09.28.2024.12.19.

A Proxmox egy közönséges Debian Linuxra épül, így mindenféle varázslat nélkül tehetünk rá zabbix agentet. Meg is tehetjük, ha a szokásos adatokra vagyunk kíváncsiak, ám a PVE (Proxmox Virtual Environment) nem egy sima Linux szerver. Készült hozzá egy speciális template, ami agent nélküli, http-n keresztül gyűjt adatokat.

Mire lesz szükségünk?

  • ha nem lenne a zabbixunk része a „Proxmox VE by HTTP” nevű template, töltsük le innen, elvileg zabbix 6.0-tól felfelé elérhető
  • a biztonság kedvéért kell egy olyan felhasználó, akinek csak a létező legkevesebb joga van
  • a zabbix szerveren (vagy a proxyjain, ha vannak) kapcsoljuk be a „http pollert”

Kezdjük a zabbixszal

Én a bemutatót 7.0-s zabbixal fogom csinálni, ami konténerben fut, így nem kell közvetlenül a konfig fájlt szerkesztenem, hanem elég egy új változót hozzáadnom a docker-compose.yml fájlomhoz. Mivel nálam zabbix proxyk is futnak, szintén konténerben, azokat is bővíteni fogom.

Nyissuk meg szerkesztésre a docker-compose.yml fájlt, és szúrjuk be az environment szekció alá ezt a sort: „- ZBX_STARTHTTPPOLLERS=1”, íme:

services:
 zabbix-server:
   container_name: zabbix-server
   image: zabbix/zabbix-server-mysql:alpine-7.0-latest
   volumes:
     - /etc/localtime:/etc/localtime:ro
     - ./ssh_keys:/var/lib/zabbix/ssh_keys
   ports:
     - 10051:10051
   restart: always
   environment:
     - DB_SERVER_HOST=mariadb
     - DB_SERVER_PORT=3306
     - MYSQL_DATABASE=zabbix
     - MYSQL_USER=zabbix
     - MYSQL_PASSWORD=***********
     - ZBX_STARTPINGERS=3
     - ZBX_LISTENPORT=10051
     - ZBX_STARTHTTPPOLLERS=1

Mentés után rootként adjuk ki az alábbi parancsot: „docker compose up -d”.

Ha használtok zabbix proxyt, ott is ugyanezt a változót kell hozzáadni az environment alá.

Jöhet a template. Nyisd meg a „Data collection -> templates” menüpontot, és a name mezőbe írd be a proxmox szót, majd „apply”. Ha már van templated, itt fogod látni:

Ha nincs, innen letöltheted, majd jobb felül „Import”, kitallózod a fájlt, és megint „import”:

Most menjünk a „Hosts” menüpontra (eggyel lejjebb van), és adjunk hozzá egy új gépet a jobb felső „Create host” gombra kattintva.

Adjatok nevet a gépnek, és mivel kötelező legalább egy csoportba betenni, javaslok egy Proxmox nevű csoportot létrehozni. Ha nincs ilyenetek, nem kell aggódni, csak be kell írni, és rákattintani az alatta felbukkanó kék csíkban a „Proxmox new”-ra. Így:

A legfontosabbat ne felejtsük el, adjuk hozzá a „Proxmox VE by HTTP” nevű templatet!

Még nem végeztünk, kattintsunk a „Macros” menüpontra, és az alsó „Add” linkre:

Adjunk hozzá 3 makrót (változót), a proxmox szerverünk IP címét (vagy host nevét), a felhasználót, és a felhasználó tokenét: {$PVE.URL.HOST}, {$PVE.TOKEN.ID}, {$PVE.TOKEN.SECRET}, a felhasználó ez legyen: zabbix@pve!zabbix, a tokent itt még nem ismerjük, így tegyük félre a zabbixot egy időre. Itt tartunk most:

Most lépjünk be a Proxmox webes felületére, és menjünk a „Datacenter -> Permissions -> Groups” menüre. Nyomjuk meg a „Create” gombot, csináljunk egy zabbix csoportot:

Most menjünk az „Users” menüpontra, és kattintsunk az „Add” gombra. Töltsük ki a megfelelő mezőket, fontos, hogy a „Realm” mezőben a „Proxmox VE authentication server”-t válasszuk, hiszen ez egy olyan felhasználó lesz, aki nem létezik a Debian OS-en:

Most mehetünk az „API Tokens” menüpontra, és kattintsunk az „Add” gombra, válasszuk ki a korábban létrehozott zabbix felhasználót:

Miután megnyomtuk a kék „Add” gombot, megmutatja nekünk a tokent:

A „Secret” mező tartalmát másoljuk be a zabbix hostunk megfelelő makró mezőjébe:

Most már megnyomhatjátok az „Add” gombot.

Nézzük meg, mire jutottunk, menjünk a zabbixban a „Monitoring -> Latest data” menüpontra, válasszuk ki a gépünket, majd „Apply”, javaslom, hogy szűrjünk a „With data”-ra:

Ha jól dolgoztunk, az „API service status” értéke 200 lesz.

Kérdezhetitek, hogy miért csak egy értéket látunk? Mivel semmilyen jogot nem adtunk a zabbix felhasználónak a Proxmox alatt:

Itt az idő, hogy a szükséges jogokat megadjuk

A zabbix template leírásában látszik, hogy milyen jogokra van szükség:

  • Check: [„perm”,”/”,[„Sys.Audit”]]
  • Check: [„perm”,”/storage”,[„Datastore.Audit”]]
  • Check: [„perm”,”/vms”,[„VM.Audit”]]

A Proxmoxban van egy csomó előre definiált „Roles”, ám pont ilyen minimális nincs 🙁

Nosza csináljuk hármat is. Kattintsunk a Create gombra, és állítsuk be így a három role-t:

Meg is jelentek a lista alján:

Következő lépésként menjünk a „Permissions” menüre, és nyomjuk meg az „Add” gombot, hozzunk létre 3 bejegyzést (mindhármat csoport szinten):

Íme a teljes lista:

Majdnem kész vagyunk. Ám hiába adtunk jogokat a zabbix csoportnak, a token ezt nem örökli, amíg ki nem vesszük a pipát a „Privilige Separation” négyzetből:

Máris megkapta a jogokat a zabbix tokenünk:

Lépjünk át a zabbixba, és ha mindent jól csináltatok, megjelent egy csomó adat:

Kezdetben 18 adatot kapunk, majd idővel jön a többi is, pár perc múlva nálam már 49 adat látható.

A zabbix ezen template-je „discovery” módban rendszeres időközönként lekéri a Proxmoxtól a Storage adatait és a VM/LXC gépek adatait. Így a látható bejegyzések mennyisége ennek függvényében fog nőni, esetleg csökkenni. Egy storage 4 bejegyzést, egy VM/LXC 9 bejegyzést tartalmaz.

Bónusz infó a végére

Ha több Proxmox szerverből készítünk egy clustert, akkor a zabbix az összes node adatait látni fogja, hiszen nem a node-on (szerver) hoztuk létre a felhasználót, hanem a datacenterben.

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