Zabbix DHCP - Auto Discovery

Fórumok

Sziasztok!

Sajnos még csak most kezdek el elmélyedni ebbe a témába, így pár dolgot még nem is értek (itthoni körülmények a teszt hálózat).

Egy olyan problémám lenne, hogy van egy DHCP szerverem, melyhez kapcsolódik X host. Ezeken a hostokon van egy Zabbix Agent, amely ugye kapcsolódik a szerverhez. És a probléma itt kezdődik.

Szeretném valahogy egyedivé tenni a hostokat, ehhez a Hostname tökéletes is lenne, de:

  • Ha az Auto-Discovery-t használom, akkor az addig jó, míg új IP-t nem kapnak a DHCP-től (akármilyen oknál fogva)
  • Felderítést próbáltam, de az csak az IP címet adja a host-nak, IP változás esetén szintén nem jó
  • DNS-t nem szeretnék a hálózatban használni (enélkül szeretném megoldani)

Szóval úgy szeretném megoldani a host-ok monitorozását, hogy az egyedi azonosító a Hostname legyen, de IP cím változás esetén se legyen probléma.

Lehet csak egy egyszerű beállításról van szó, ami fölött én átsiklottam, vagy netalántán felejtős lenne a kérdésem?

Válaszotok előre is köszönöm! :)

Hozzászólások

Nem írtad hogy melyik verzióról van szó, de:

"When adding a host, its name is decided by standard gethostbyname function. If the host can be resolved, resolved name is used. If not, IP address is used."

https://www.zabbix.com/documentation/1.8/manual/config/actions

2.0-tól - ha jól látom - akkor a sytem.uname alapján veszi fel a hostot,

2.0 a verziószám, elnézést.

system.uname?

Esetleg nem system.hostname?

Habár 2.0-ás man-ba is ezt találtam:
"When adding a host, its name is decided by the standard gethostbyname function. If the host can be resolved, resolved name is used. If not, the IP address is used."

De ez a gethostbyname function hogy is működne pontosan itt?
Meg ha én beállítom a HostNameItem-et az Agent-be, akkor az vajon felül definiálja ezt?

Az Auto Registration-t meg azért nem szeretném használni, mert ott nem lehet olyan jó szabályokat beállítani mint a Network Discovery-nél :)

A system.uname hülyeség, csak felületesen olvastam el.

Elvileg megoldás lehet: "Unless you specifically define a Hostname in zabbix_agentd.conf, the system hostname of agent location will be used for naming the host. The system hostname in Linux can be obtained by running the 'hostname' command."

Hmm ez jó lenne, de én sajnos nem Auto Registration-t akarok használni, hanem Network Discovery-t (sokkal több beállítási és szeparálási lehetőség van :) ).

Pofám leszakad. Sikerült elkapnom a zabbix agent debug-ba egy ilyet:
26137:20130909:143851.335 Run remote command [hostname] Result [8] [TestHost]...
26137:20130909:143851.335 Sending back [TestHost]

Ez gondolom a Network Discovery kérte le, mivel fel szerette volna venni a hostot. Fel is vette, de IP CÍM a host neve! Bváá mi ez már?

Szerver oldalról a dolog:
851 2228:20130909:150111.218 get value from agent result: 'TestHost'
852 2228:20130909:150111.218 End of discover_service():SUCCEED
853 2228:20130909:150111.218 query [txnlev:1] [begin;]
854 2228:20130909:150111.218 In discovery_update_service() ip:'10.0.51.155' port:10050 status:0
855 2228:20130909:150111.218 In discovery_register_host() ip:'10.0.51.155' status:0 value:'TestHost'
856 2228:20130909:150111.219 query [txnlev:1] [select dh.dhostid,dh.status,dh.lastup,dh.lastdown from dhosts dh,dservices ds where ds.dhostid=dh.dhostid and ds.dc
heckid=13 and ds.value='TestHost' order by dh.dhostid]
857 2228:20130909:150111.219 host at 10.0.51.155 is already in database
858 2228:20130909:150111.219 End of discovery_register_host()
859 2228:20130909:150111.219 In discovery_register_service() ip:'10.0.51.155' port:10050 key:'system.hostname'
860 2228:20130909:150111.219 query [txnlev:1] [select dserviceid,dhostid,status,lastup,lastdown,value,dns from dservices where dcheckid=13 and type=9 and key_='sy
stem.hostname' and ip='10.0.51.155' and port=10050]
861 2228:20130909:150111.219 service is already in database
862 2228:20130909:150111.219 End of discovery_register_service()

Most ürítettem ki a táblákat, kíváncsi leszek.