Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk monitorozási és hibaelhárítási útmutatást nyújt az IoT Hub-üzenetek útválasztásával kapcsolatos gyakori problémákhoz és megoldáshoz.
Üzenetek útválasztásának figyelése
Javasoljuk, hogy figyelje az üzenetek útválasztásával és végpontjaival kapcsolatos IoT Hub-metrikákat , hogy áttekintést kapjon az elküldött üzenetekről. Létrehozhat egy diagnosztikai beállítást is, amellyel az IoT Hub-erőforrásnaplókban lévő útvonalak műveleteit elküldheti az Azure Monitor-naplókba, az Event Hubsba vagy az Azure Storage-ba egyéni feldolgozás céljából. A metrikák, az erőforrásnaplók és a diagnosztikai beállítások használatáról további információt az IoT Hub monitorozása című témakörben talál. Oktatóanyag: Metrikák és erőforrásnaplók beállítása és használata IoT Hub használatával.
Azt is javasoljuk, hogy engedélyezze a tartalék útvonalat , ha olyan üzeneteket szeretne fenntartani, amelyek nem felelnek meg a lekérdezésnek egyik útvonalon sem. Ezek az üzenetek a konfigurált megőrzési napok számához megtarthatók a beépített végponton .
Legfontosabb kérdések
Az üzenetek útválasztásával kapcsolatos leggyakoribb problémák az alábbiak. A hibaelhárítás megkezdéséhez válassza ki a problémát a részletes lépésekhez.
- Az eszközeimről érkező üzenetek átirányítása nem a várt módon történik
- Hirtelen leállítottam az üzenetek fogadását a beépített Event Hubs-végponton
Az eszközeimről érkező üzenetek átirányítása nem a várt módon történik
A probléma elhárításához elemezze a következő információkat.
A végpont útválasztási metrikái
Az útválasztáshoz kapcsolódó összes IoT-központ-mérőszámÚtválasztás előtaggal van jelölve. A problémák végső okának azonosítása érdekében több mérőszámból nyert információt is kombinálhat. Az Útválasztási kézbesítések mérőszám használatával például azonosíthatja azon üzenetek számát, amelyeket a végpontra küldtek vagy amelyek elvetésre kerültek, ha nem egyeztek lekérdezésekkel egyik útvonalon sem, és a tartalék útvonal le volt tiltva. Ellenőrizze az Útválasztási késleltetés mérőszámot, és figyelje meg, hogy az üzenetkézbesítés késleltetése állandó-e vagy növekvő. A növekvő késés egy adott végponttal kapcsolatos problémát jelezhet, és javasoljuk, hogy ellenőrizze a végpont állapotát. Ezek az útválasztási metrikák olyan dimenziókkal is rendelkeznek, amelyek a metrika részleteit adják meg, például a végponttípust, a konkrét végpontnevet és annak okát, hogy miért nem kézbesítették az üzenetet.
Az erőforrásnaplók bármilyen működési problémákra
Tekintse meg az Útvonalak erőforrásnaplókat , hogy további információt kapjon az útválasztási és végpontműveletekről , vagy azonosítsa a hibákat és a vonatkozó hibakódot a probléma további megértéséhez. A naplóban található RouteEvaluationError műveletnév például azt jelzi, hogy az útvonal nem értékelhető ki az üzenetformátummal kapcsolatos probléma miatt. A probléma megoldásához használja az adott műveletnevekhez megadott tippeket. Ha egy eseményt hibaként naplóznak, a napló további információkat is biztosít arról, hogy miért nem sikerült a kiértékelés. Ha például a művelet neve EndpointUnhealthy, a 403004 hibakódja azt jelzi, hogy a végpont elfogyott a szabad területből.
A végpont állapota
A végpontok állapotának lekéréséhez használja a REST API Végpontállapot lekérése parancsot. Ez az API azt is tartalmazza, hogy mikor lett sikeresen elküldve az üzenet a végpontnak, az utolsó ismert hibáról, az utolsó ismert hiba időpontjáról, valamint arról, hogy mikor történt utoljára küldési kísérlet erre a végpontra. Használja a lehetséges megoldást az adott utolsó ismert hibához.
Hirtelen leállítottam az üzenetek fogadását a beépített végponton
A probléma elhárításához elemezze a következő információkat.
Új útvonal lett létrehozva?
Az útvonal létrehozása után az adatok nem haladnak tovább a beépített végpontra, hacsak nem jön létre útvonal az adott végpontra. Annak érdekében, hogy új útvonal hozzáadása esetén az üzenetek továbbra is a beépített végpontra folyjanak, konfiguráljon egy útvonalat az eseményvégponthoz.
Le volt tiltva a tartalék útvonal?
A tartalék útvonal elküldi az összes olyan üzenetet, amely nem felel meg a meglévő útvonalak lekérdezési feltételeinek az Event Hubs szolgáltatással kompatibilis beépített Event Hubs -nak (üzenetek/események). Ha az üzenet-útválasztás be van kapcsolva, engedélyezheti a tartalék útvonal képességét. Ha nincsenek útvonalak a beépített végponthoz, és a tartalék útvonal engedélyezve van, csak azok az üzenetek lesznek elküldve a beépített végpontra, amelyek nem felelnek meg az útvonalak lekérdezési feltételeinek. Ha az összes meglévő útvonal törölve van, a tartalék útvonalat engedélyezni kell az összes adat fogadásához a beépített végponton.
Az Azure portálon engedélyezheti vagy letilthatja a tartalék útvonalat az IoT hub Üzenet-útválasztás felületén. Az Azure Resource Manager for FallbackRouteProperties használatával egyéni végpontot is használhat tartalék útvonalhoz.
Az IoT Hub-útválasztási végpontok utolsó ismert hibái
Az Endpoint Health lekérése a REST API-ban a végpontok állapotának és az utolsó ismert hiba állapotának meghatározásával azonosítja, hogy egy végpont miért nem kifogástalan. Ez a táblázat a leggyakoribb hibákat sorolja fel.
| Utolsó ismert hiba | Leírás/ha bekövetkezik | Lehetséges kockázatcsökkentés |
|---|---|---|
| Átmeneti | Átmeneti hiba történt, és az IoT Hub újrapróbálkozza a műveletet. | Figyelje meg az útvonalak erőforrásnaplóit. |
| Belső hiba | Hiba történt egy üzenet végpontnak való kézbesítése közben. | Ez a hiba belső kivétel, de megfigyelheti az útvonalak erőforrásnaplóit is. |
| Nem engedélyezett | Az IoT Hub nem jogosult üzenetek küldésére a megadott végpontra. | Ellenőrizze, hogy a kapcsolati sztring naprakész-e a végponthoz. Ha módosult, fontolja meg az IoT Hub frissítését. Ha a végpont felügyelt identitást használ, ellenőrizze, hogy az IoT Hub-főkiszolgáló rendelkezik-e a célhoz szükséges engedélyekkel. |
| Szabályozva | Az IoT Hub szabályozás alatt áll, miközben üzeneteket ír a végpontba. | Tekintse át az érintett végpont szabályozási korlátait. Szükség esetén módosítsa a végpont konfigurációit a vertikális felskálázáshoz. |
| Időkorlát | Művelet időkorlátja lejárt. | Próbálja meg újra a műveletet. |
| Nem található | A célerőforrás nem létezik. | Győződjön meg arról, hogy a célerőforrás létezik. |
| A tároló nem található | A tároló nem létezik. | Győződjön meg arról, hogy a tároló létezik. |
| A tároló le van tiltva | A tároló le van tiltva. | Győződjön meg arról, hogy a tároló engedélyezve van. |
| MaxMessageSizeExceeded | Az üzenet-útválasztás üzenetméretkorlátja 256 Kb. Az átirányított üzenet mérete túllépte ezt a korlátot. | Ellenőrizze, hogy az üzenetméret csökkenthető-e kevesebb alkalmazástulajdonság vagy kevesebb üzenetnagyítás használatával. |
| PartitioningAndDuplicateDetectionNotSupported | Előfordulhat, hogy a service busban nincs engedélyezve a duplikált észlelés. | Tiltsa le az ismétlődő észlelést a Service Busból, vagy fontolja meg egy entitás duplikált észlelés nélküli használatát. |
| Az állapottal rendelkező entitás nem támogatott | Előfordulhat, hogy a szolgáltatási busz nem ad lehetőséget a munkamenetekre. | Tiltsa le a munkamenetet a Service Busból, vagy fontolja meg egy entitás munkamenetek nélküli használatát. |
| Nincs egyező előfizetés az üzenethez | Nincs előfizetés arra, hogy üzenetet írjon a service bus-témakörre. | Hozzon létre egy előfizetést, amelyre az IoT Hub-üzeneteket irányíthatja. |
| VégpontKülsőlegLetiltva | A végpont nincs aktív állapotban, így az IoT Hub üzeneteket küldhet neki. | Engedélyezze a végpontnak, hogy visszaállítsa azt aktív állapotba. |
| DeviceMaximumQueueDepthExceeded | Elérte a service bus méretkorlátját. | Érdemes lehet eltávolítani az üzeneteket a cél eseményközpontokból, hogy új üzeneteket lehessen betöltésre az Event Hubsba. |
Erőforrásnaplók átirányítása
Az alábbi műveletek nevei és hibakódjai vannak naplózva az útvonalak erőforrásnaplóiban.
Műveletnevek
| Művelet neve | szint | Leírás |
|---|---|---|
| Nincs meghatározott útvonalértékelés | Információ | Az üzenet nem értékelhető ki egy adott feltétellel. Ha például az útvonal-lekérdezési feltétel egyik tulajdonsága hiányzik az üzenetből. További információ az útválasztási lekérdezés szintaxisáról. |
| Útvonalértékelési hiba | Hiba | Hiba történt az üzenet kiértékelésekor az üzenet formátumával kapcsolatos probléma miatt. Ez a hiba például akkor lesz naplózva, ha a tartalomkódolás nincs megadva, vagy a tartalomtípus nem érvényes az üzenetben. Ezeket a rendszertulajdonságokban kell beállítani. |
| Elveszett üzenet | Hiba | Az üzenet el lett dobva, és nem lett átirányítva. Ennek oka lehet, hogy az üzenet nem felelt meg az útválasztási lekérdezésnek vagy a végpontnak, és több újrapróbálkozás után nem sikerült kézbesíteni az üzenetet. Javasoljuk, hogy a REST API-val szerezze be a végpont állapotát. |
| Nem egészséges végpont | Hiba | A végpont nem fogadott üzeneteket az IoT Hubról, és az IoT Hub megpróbálja újraküldni az üzeneteket. Javasoljuk, hogy megfigyelje az utolsó ismert hibát a REST API-val a végpont állapotának lekérésével. |
| EndpointDead | Hiba | A végpont több mint egy órája nem fogad üzeneteket az IoT Hubról. Javasoljuk, hogy megfigyelje az utolsó ismert hibát a REST API-val a végpont állapotának lekérésével. |
| Végpont kifogástalan | Információ | A végpont kifogástalan állapotú, és üzeneteket fogad az IoT Hubról. Ezt az üzenetet a rendszer nem naplózza folyamatosan, hanem csak akkor naplózza, ha a végpont ismét kifogástalan állapotúvá válik. Ez az üzenet azt jelenti, hogy az IoT Hub nem tudott üzeneteket küldeni a végpontnak, de a végpont állapota kifogástalan. |
| ÁrvaÜzenet | Információ | Az üzenet nem egyezik egyetlen útvonalhoz sem. |
| Érvénytelen üzenet | Hiba | Az üzenet érvénytelen a végponttal való kompatibilitás miatt. Javasoljuk, hogy ellenőrizze a végpont konfigurációit. |
A UndefinedRouteEvaluation, a RouteEvaluationError és az OrphanedMessage műveletek szabályozása és naplózása percenként legfeljebb egyszer megtörténik IoT Hubonként.
Gyakori hibakódok
| Hibakód | Leírás |
|---|---|
| 401002 | IoT Hub – Jogosulatlan hozzáférés |
| 413001 | Túl nagy üzenet |
| 403004 | Az eszköz maximális pufferkapacitása meghaladva |
| 503008 | Szabályozott fogadási hivatkozás |
| 500000 | Általános kiszolgálóhiba |
| 401 | Nem engedélyezett |
| 503 | A szolgáltatás nem érhető el |
| 500001 | Kiszolgálóhiba |
| 400103 | Érvénytelen tartalomkódolás vagy tartalomtípus |
| 404001 | Az eszköz nem található |
Következő lépések
Ha további segítségre van szüksége, forduljon az Azure szakértőihez a Microsoft Q&A és a Stack Overflow fórumain. Alternatív megoldásként bejelenthet egy Azure támogatási incidenst. Lépjen a Azure-támogatás webhelyre, és válassza a Támogatás kérése lehetőséget.