Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje pokyny k monitorování a řešení běžných problémů a řešení směrování zpráv IoT Hub.
Sledování směrování zpráv
Doporučujeme sledovat IoT Hub metriky související se směrováním zpráv a koncovými body , abyste měli přehled o odeslaných zprávách. Můžete také vytvořit nastavení diagnostiky pro odesílání operací pro trasy v protokolech prostředků IoT Hub do protokolů služby Azure Monitor, Event Hubs nebo Azure Storage k vlastnímu zpracování. Další informace o používání metrik, protokolů prostředků a nastavení diagnostiky najdete v tématu Monitorování IoT Hub. Kurz najdete v tématu Nastavení a používání metrik a protokolů prostředků ve službě IoT Hub.
Záložní trasu doporučujeme povolit také v případě, že chcete zachovat zprávy, které neodpovídají dotazu na žádné z tras. Tyto zprávy je možné uchovávat v integrovaném koncovém bodu po nakonfigurovaný počet dnů uchovávání.
Nejčastější problémy
Níže jsou uvedeny nejběžnější problémy zaznamenané při směrování zpráv. Chcete-li zahájit odstraňování problémů, vyberte problém, kde se zobrazí podrobný postup.
- Zprávy z mých zařízení nejsou směrovány podle očekávání
- Náhle jsem přestal dostávat zprávy na integrovaném koncovém bodu služby Event Hubs
Zprávy z mých zařízení nejsou směrovány podle očekávání
Chcete-li tento problém vyřešit, analyzujte následující informace.
Metriky směrování pro tento koncový bod
Všechny metriky služby ioT Hub související se směrováním mají předponu Routing. Můžete zkombinovat informace z více metrik a identifikovat tak původní příčinu problémů. K identifikaci počtu zpráv doručených do koncového bodu nebo vyřazených, když se neshodovaly s dotazy na žádné z tras a náhradní trasa byla zakázaná, použijte například metriku Doručení směrování. Zkontrolujte metriku Latence směrování a určete, jestli je latence doručování zpráv stabilní, nebo se zvyšuje. Rostoucí latence může znamenat problém s konkrétním koncovým bodem a doporučujeme zkontrolovat stav koncového bodu. Tyto metriky směrování mají také dimenze , které poskytují podrobnosti o metrikě, jako je typ koncového bodu, konkrétní název koncového bodu a důvod, proč zpráva nebyla doručena.
Protokoly prostředků pro případné provozní problémy
Sledujte protokoly prostředků Trasy, kde získáte další informace o operacích směrování a koncových bodů nebo identifikujete chyby a relevantní kód chyby, abyste problému porozuměli podrobněji. Například název operace RouteEvaluationError v protokolu označuje, že trasu nebylo možné vyhodnotit kvůli problému s formátem zprávy. Ke zmírnění problému použijte tipy uvedené pro konkrétní názvy operací . Pokud je událost zaznamenána jako chyba, protokol také poskytuje další informace o tom, proč se vyhodnocení nezdařilo. Pokud je například název operace EndpointUnhealthy, kód chyby 403004 označuje, že v koncovém bodu bylo málo místa.
Stav koncového bodu
Pomocí rozhraní REST API Get Endpoint Health můžete získat stav koncových bodů. Toto rozhraní API také poskytuje informace o tom, kdy byla zpráva naposledy úspěšně odeslána do koncového bodu, poslední známá chyba, čas poslední známé chyby a poslední pokus o odeslání pro tento koncový bod. Použijte možné zmírnění rizik poskytnuté pro konkrétní poslední známou chybu.
Náhle jsem přestal dostávat zprávy na vestavěném koncovém bodu
Chcete-li tento problém vyřešit, analyzujte následující informace.
Byla vytvořena nová trasa?
Jakmile je trasa vytvořena, data přestanou proudit do vestavěného koncového bodu, pokud není vytvořena trasa k tomuto koncovému bodu. Chcete-li zajistit, aby zprávy pokračovaly v toku do integrovaného koncového bodu, pokud je přidána nová trasa, nakonfigurujte trasu ke koncovému bodu událostí .
Byla deaktivována záložní trasa?
Záložní trasa odesílá všechny zprávy, které nesplňují žádnou z podmínek dotazu na žádné z existujících tras, do integrovaných center událostí (zpráv/událostí), které jsou kompatibilní se službou Event Hubs. Pokud je zapnuto směrování zpráv, můžete povolit funkci záložní trasy. Pokud neexistují žádné trasy k integrovanému koncovému bodu a je povolena záložní trasa, odesílají se do integrovaného koncového bodu pouze zprávy, které neodpovídají žádným podmínkám dotazu na trasách. Pokud jsou odstraněny všechny existující trasy, musí být povolena záložní trasa, aby bylo možné přijímat všechna data v integrovaném koncovém bodu.
Záložní trasu můžete povolit nebo zakázat v Azure Portal pomocí okna Směrování zpráv pro centrum IoT. Můžete také použít Azure Resource Manager pro FallbackRouteProperties k použití vlastního koncového bodu pro záložní trasu.
Poslední známé chyby pro koncové body směrování IoT Hub
Získání stavu koncového bodu v rozhraní REST API poskytuje stav koncových bodů a poslední známou chybu, aby bylo možné identifikovat důvod, proč koncový bod není v pořádku. V této tabulce jsou uvedeny nejčastější chyby.
| Poslední známá chyba | Popis/kdy k tomu dojde | Možné zmírnění rizik |
|---|---|---|
| Přechodná | Došlo k přechodné chybě a IoT Hub se pokusí operaci zopakovat. | Sledujte protokoly prostředků tras. |
| Vnitřní chyba | Při doručování zprávy do koncového bodu došlo k chybě. | Tato chyba je interní výjimkou, ale také sleduje protokoly prostředků tras. |
| Neautorizováno | IoT Hub nemá oprávnění odesílat zprávy do zadaného koncového bodu. | Ověřte, zda je připojovací řetězec pro daný koncový bod aktuální. Pokud se změnila, zvažte aktualizaci IoT Hub. Pokud koncový bod používá spravovanou identitu, zkontrolujte, jestli má objekt zabezpečení IoT Hub požadovaná oprávnění k cíli. |
| Omezeno | IoT Hub je omezován při zápisu zpráv do koncového bodu. | Zkontrolujte limity omezení pro dotčený koncový bod. Upravte konfigurace koncového bodu tak, aby se v případě potřeby vertikálně zvýšil kapacita. |
| Přerušení zápasu | Časový limit operace. | Zkuste operaci zopakovat. |
| Nenalezeno | Cílový prostředek neexistuje. | Ujistěte se, že cílový prostředek existuje. |
| Kontejner nenalezen | Kontejner úložiště neexistuje. | Ujistěte se, že kontejner úložiště existuje. |
| Kontejner zakázán | Kontejner úložiště je zakázán. | Ujistěte se, že je kontejner úložiště povolen. |
| MaxMessageSizeExceeded | Velikost zprávy je omezena na 256 kB. Velikost směrované zprávy tento limit překročila. | Ověřte, zda je možné zmenšit velikost zprávy použitím menšího počtu vlastností aplikace nebo menšího počtu rozšíření zpráv. |
| PartitioningAndDuplicateDetectionNotSupported | Služba Service Bus nemusí mít povolenou detekci duplicit. | Zakažte vyhledávání duplicit ze služby Service Bus nebo zvažte použití entity bez detekce duplicit. |
| RelačníEntitaNotSupported | Služba Service Bus nemusí mít povolené relace. | Zakažte relaci ze služby Service Bus nebo zvažte použití entity bez relací. |
| NoMatchingSubscriptionsForMessage | Neexistuje žádné předplatné pro psaní zpráv k tématu služby Service Bus. | Vytvořte odběr pro IoT Hub zprávy, na které se mají směrovat. |
| Externí koncový bod | Koncový bod není v aktivním stavu, takže IoT Hub do něj může odesílat zprávy. | Povolte koncový bod, aby se vrátil do aktivního stavu. |
| DeviceMaximumQueueDepthExceeded | Bylo dosaženo limitu velikosti sběrnice Service. | Zvažte odebrání zpráv z cílových Event Hubs, abyste umožnili ingestování nových zpráv do Event Hubs. |
Směruje protokoly prostředků
Níže jsou uvedeny názvy operací a kódy chyb zaznamenané v protokolech prostředků tras.
Názvy operací
| Název operace | Úroveň | Popis |
|---|---|---|
| UndefinedRouteEvaluation | Informace | Zprávu nelze vyhodnotit pomocí podmínky zadání. Například pokud ve zprávě chybí vlastnost v podmínce dotazu směrování. Přečtěte si další informace o syntaxi směrovacích dotazů. |
| Chyba vyhodnocení trasy | Chyba | Při vyhodnocování zprávy došlo k chybě z důvodu problému s formátem zprávy. Tato chyba bude například zaznamenána, pokud není ve zprávě zadáno kódování obsahu nebo typ obsahu není platný. Ty je nutné nastavit ve vlastnostech systému. |
| DroppedMessage | Chyba | Zpráva byla vyřazena a nebyla směrována. Příčinou mohou být důvody, jako je zpráva neodpovídala žádnému směrovacímu dotazu nebo byl koncový bod mrtvý a zprávu nebylo možné doručit ani po několika pokusech. Doporučujeme získat další podrobnosti o koncovém bodu pomocí rozhraní REST API pro získání stavu koncového bodu. |
| Koncový bodNezdravý | Chyba | Koncový bod nepřijímá zprávy z IoT Hub a IoT Hub se pokouší zprávy znovu odeslat. Doporučujeme sledovat poslední známou chybu prostřednictvím rozhraní REST API pro získání stavu koncového bodu. |
| Mrtvý koncový bod | Chyba | Koncový bod nepřijímá zprávy z IoT Hub déle než hodinu. Doporučujeme sledovat poslední známou chybu prostřednictvím rozhraní REST API pro získání stavu koncového bodu. |
| Koncový bod v pořádku | Informace | Koncový bod je v pořádku a přijímá zprávy z IoT Hub. Tato zpráva se neprotokoluje průběžně, ale zaprotokoluje se až v případě, že koncový bod bude opět v pořádku. Tato zpráva znamená, že IoT Hub nemohl odesílat zprávy do koncového bodu, ale koncový bod je teď v pořádku. |
| Osiřelá zpráva | Informace | Zpráva se neshoduje s žádnou trasou. |
| Neplatná_zpráva | Chyba | Zpráva je neplatná z důvodu nekompatibility s koncovým bodem. Doporučujeme zkontrolovat konfiguraci koncového bodu. |
Operace UndefinedRouteEvaluation, RouteEvaluationError a OrphanedMessage jsou omezeny a protokolovány ne více než jednou za minutu na IoT Hub.
Běžné kódy chyb
| Kód chyby | Popis |
|---|---|
| 401002 | Neoprávněný přístup IoT Hub |
| 413001 | Zpráva je příliš velká |
| 403004 | Byla překročena maximální hloubka fronty zařízení |
| 503008 | Příjem odkazu je omezený |
| 500000 | Obecná chyba serveru |
| 401 | Neautorizováno |
| 503 | Služba není k dispozici |
| 500001 | Chyba serveru |
| 400103 | Neplatné kódování nebo typ obsahu |
| 404001 | Zařízení nenalezeno |
Další kroky
Pokud potřebujete další pomoc, můžete kontaktovat odborníky na Azure na fórech Microsoft Q&A a Stack Overflow. Případně můžete založit incident podpory Azure. Přejděte na Azure podporu a vyberte Získat podporu.