Zabbix rendszer monitoring, Service Discovery, generált szolgáltatások

Fórumok

Vannak Windows gépek ahová zabbix agent-et telepítettem rendszer monitorozás céljából. Be van kapcsolva a service discovery ( https://www.zabbix.com/documentation/5.0/en/manual/discovery/low_level_… ) ami azt jelenti, hogy magától felfedezi a  háttérben futó szolgáltatásokat, és egy template alapján automatikusan triggereket generál hozzájuk.

Mostanában kezdtem el átállni Windows 11 -re ezeken a gépeken, és egy rendkívül idegesítő problémával találtam szembe magamat. A Windows 11 látszólag random módon létrehoz és töröl szolgáltatásokat, amiknek generált neveket ad. Ezeket később leállítja, és vagy kitörli őket, vagy nem. Ezekből aztán alert-eket kapok, mert amikor a szolgáltatás létrejön, akkor létrejön hozzá a trigger, amikor meg leáll és/vagy törlődik, akkor a trigger csinál egy alert-et, mert "nem fut a szolgáltatás ami automatikus indítású".

Konkrétan ilyenek vannak:

 

  • "webthreatdefusersvc_e02d6" (Web Threat Defense felhasználói szolgáltatás_e02d6) is not running (startup type automatic)
  • "cbdhsvc_e02d6" (Vágólap felhasználói szolgáltatás_e02d6) is not running (startup type automatic delayed)

A szolgáltatások neve látszólag félig generált (a prefix mindig ugyan az, de utána van egy CRC -nek kinéző vége ami időnként változik). A kinézetétől eltekintve nem nagyon lehet róla feltétellel megállapítani, hogy generált-e, vagy nem.

A hajamat kitépem emiatt, állandóan jönnek az alert-ek. Ha kikapcsolom a service discovery-t, akkor az se jó, mert ha véletlenül valaki telepít egy legit programot aminek a szolgáltatása tényleg hibával leáll, akkor meg elmarad az alert, amire szükségem lenne.

Talán a template-ben bele lehetne írni a {#SERVICE.NAME} szolgáltatásnév makróra valami mintaillesztési feltételt, de igazából nem tudom. :-(

Van itt valaki, aki zabbixot használ, és szembesült hasonló problémával? Mi lehet a megoldás?

Hozzászólások

Szerkesztve: 2024. 01. 24., sze – 09:31

Igen, ezt Windows Server is tudja csinálni. Szerintem eleve hibás a Zabbix gyári Windows template service discovery koncepciója. Mi értelme van minden szart discoveryzni? Szóval én megfordítottam: egy macroban megadott (számomra érdekes és fontos) serviceket monitoroz csak (a discovery maradt, de kapott egy filtert ezen macro alapján).

Ha meg telepít valaki valamilyen fontos, monitorozandó servicet, akkor szóljon, ne a monitoringrendszer vagy annak a felelőse találja már ki, hogy mi számít annak.

A dolog megoldása, hogy felveszel vagy már ott is van egy regular expressions, valami hasonlü tartalommal:

^(RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel\(R\) TPM Provisioning Service|dbupdate|DoSvc)$

Amit a discovery filternél használsz "{#SERVICE.NAME}" ---- matches ----  @Windows service names for discovery   // ez az adott neved.

Egy egyszer csak meg lesz az összes random szarságod és eleve az item se fog legenerálódni hozzá.

Egyrészt igen, másrészt ha jobban akarod látni hogy mi történik, jó e a filter, akkor a módosítása után még ne töröld az itemet, nyomj a discovery rule-on egy "execute now" -t. Kis idő elteltével ha jó a filtered, akkor "unsupported" státuszban kell hogy lásd a számodra nem kívánt itemeket, mellettük egy sárga felkiáltójellel ("The item is not discovered anymore and will be deleted in...."). Így gyorsabban tudod visszaellenőrizni, nem kell órákat várni, és nézegetni hogy visszatértek e. Utána persze törölhetőek ugyanúgy (vagy megvárod amíg a housekeeper törli).