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

zabbix: agent mentes monitorozás ssh-val

Posted on 2023.10.18.2023.10.21.

Miért volna erre szükségünk, ha van zabbix agent?

  • mert nincs minden operációs rendszerre zabbix agent
  • mert lehetséges, hogy a céges szabályzat nem engedi a telepítését
  • mert lehetséges, hogy az OS gyártója nem szeretné, ha te bármit is telepítenél

Mi kell az agent mentes monitorozáshoz?

  • fusson egy ssh szerver a monitorozott hoston
  • legyen hozzá felhasználód és jelszavad
  • még jobb, ha fel tudod rá másolni a publikus kulcsodat

Mit tudunk monitorozni?

Bármit, amit meg tudsz fogalmazni egy parancsban.

Kezdjük az elején, készítsünk ssh kulcsot (ha még nem lenne), és másoljuk fel a monitorozandó hostra.

A zabbix szerverünkön adjuk ki ezt a parancsot:

[root@zbxsrv ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:eBxGK+yIHTxgmDWyacPmK0D59KQWLL2dwjRYeV9XZgo root@zbxsrv
The key's randomart image is:
+---[RSA 3072]----+
|.+=..   .E  .+   |
|+=*= o . o..+    |
|oX B=.+ = ..     |
|= BoO=.* .       |
|...Bo+o S        |
|. o .  .         |
|..               |
|.                |
|                 |
+----[SHA256]-----+

Ahogy a képernyőn is látszik, létrejött a /root/.ssh mappában két fájl, a privát kulcs (id_rsa), és a publikus kulcs (id_rsa.pub). A publikus kulcsot kell átmásolnunk a monitorozandó hostra. Normál esetben így a legegyszerűbb:

[root@zbxsrv ~]# ssh-copy-id msandor@192.168.5.250
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.5.250 (192.168.5.250)' can't be established.
ED25519 key fingerprint is SHA256:xvnYsTlJabP+xdqs/kutaiUwvARQIUelsDm/JgiAa4k.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
(msandor@192.168.5.250) Password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'msandor@192.168.5.250'"
and check to make sure that only the key(s) you wanted were added.

A példában ‘msandor’ a felhasználóm neve, és ‘192.168.5.250’ a szerver IP címe. Próbáljuk ki, hogy be tudunk-e lépni vele:

[root@zbxsrv ~]# ssh msandor@192.168.5.250
Last login: Wed Oct 18 15:34:32 2023 from 192.168.5.254

************ Welcome to NethServer ************

This is a NethServer installation.

Before editing configuration files, be aware
of the automatic events and templates system.


          http://docs.nethserver.org

         Üdvözöllek msandor szerverén!
***********************************************
[msandor@nas ~]$

Másoljuk át a kulcsfájlokat a zabbix erre a célra fenntartott mappájába. Ha natív telepítésű zabbixod van, akkor ez a /var/lib/zabbix/ssh_keys mappa lesz. Ám mi konténerben futtatjuk 🙂

Ebben az esetben csináljunk egy mappát, másoljuk bele a kulcsokat, majd adjuk a zabbix user tulajdonába:

[root@zbxsrv ~]# cd /home/vagrant/docker/zabbix-server/
[root@zbxsrv zabbix-server]# mkdir ssh_keys
[root@zbxsrv zabbix-server]# cp /root/.ssh/id_rsa* /home/vagrant/docker/zabbix-server/ssh_keys/
[root@zbxsrv zabbix-server]# chown 1997 ssh_keys/id_rsa

Fel kell mountolni a konténernek az ssh_keys mappát, adjuk hozzá a docker-compose.yml fájlhoz az új sort (- ./ssh_keys:/var/lib/zabbix/ssh_keys):

Indítsuk újra a zabbix szerver konténert:

# docker compose -f docker-compose.yml up -d

Most, hogy sikerült a kulcsos belépés, és a zabbix szerver is megkapta a kulcsokat, vegyük elő a zabbixunkat (akik nem követték a korábbi zabbixos cikkeket, azoknak javaslom, hogy pótolják be, ha valamit nem értenek, ott elolvashatják).

Navigáljunk a Data collection -> Hosts oldalra (ha a korábban létrehozott zabbix labort használod, akkor használhatod a linkemet, vagy használd a saját zabbix szervered IP címét).

Adjuk hozzá a monitorozandó hostot, kattintsunk a jobb felső sarokban található ‘Create host’ gombra.

Adjunk nevet a gépnek, tegyük bele legalább egy csoportba (ezek kötelező mezők), majd adjunk hozzá egy interface-t, oda írjuk be az IP címet:

Kattintsunk a ‘Macros’ linkre, és vegyük fel a felhasználó nevünket:

Most már elmenthetjük, kattintsunk az ‘Add’ gombra. Vegyük fel az első itemünket, mondjuk kérdezzük le az operációs rendszer verzióját.

Kattintsunk a ‘nas’ sorában az ‘Items’ linkre, és a megnyíló lapon jobb felül a ‘Create item’ linkre:

Adjunk nevet a gyereknek, (OS version), állítsuk át a Type-ot SSH agent-re, adjunk meg egy egyedi kulcsot (ssh.run[‘OS version’]), a Type of information-t állítsuk be Character-re, az Authentication method-ot állítsuk be Public key-re, adjuk meg a makróban megadott változót, a kulcsokat, adjuk meg a scriptet (grep -oP ‘PRETTY_NAME=”\K[^”]+’ /etc/os-release), állítsuk be az Update interval-t, egyszerűbb, ha megmutatom:

Ellenőrizzük, hogy mindent jól csináltunk-e, kattintsunk a létrejött ‘OS version’ nevű itemre, majd a lap alján a Test gombra. A megnyíló kis ablakban pedig a ‘Get value and test’ gombra. Ha valami nem kerek, a hibaüzenetből próbáljuk kitalálni, feltehetően valamelyik lépést kihagytad. Akik végig csinálták a leckét, azoknak jó lesz, azaz a visszakapott érték megjelenik a test ablakban:

Ugye nem is volt olyan nehéz?

Vegyünk fel még egy itemet, mondjuk kérdezzük le gyökér partíció szabad méretét százalékosan.

A leggyorsabb módja, ha megnyitjuk a korábbi itemünket (OS version), és alul a ‘Clone’ gombra kattintunk. Csak az alábbi mezőket kell módosítanunk: Name, Key, Executed script, Update interval. Majd az alsó ‘Add’ gombbal elmentjük. Ezt is érdemes tesztelni.

Mi van, ha nem lehet kulcsot másolni a monitorozott hostra?

Semmi gond, vegyünk fel egy új makrót ({$SSH.PASSWORD}), és az itemnél állítsuk át a kulcsos belépést jelszavasra.

Egyéb lehetőség?

Nem a legszebb módszer, bár kétség kívül működik, hogy egyesével vesszük fel az itemeket. Amint egynél több hoszton is ugyanazokat szeretnénk lekérdezni, rá fogunk jönni, hogy felesleges köröket futunk. A megoldás a template-k használata. Akkor csak egyszer kell rögzítenünk az itemeket, és csak hozzá kell adni a kérdéses hosthoz az új templatet. Erről később írok egy cikket.

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