Monitorování a řešení potíží se shromažďováním dat DCR ve službě Azure Monitor

Tento článek obsahuje podrobné metriky a protokoly, které můžete použít k monitorování výkonu a řešení potíží souvisejících se shromažďováním dat ve službě Azure Monitor. Tato telemetrie je aktuálně dostupná pro scénáře shromažďování dat definované pravidly shromažďování dat (DCR), jako jsou agent Azure Monitor a rozhraní API pro příjem protokolů.

Důležité

Tento článek se týká pouze scénářů shromažďování dat, které používají řadiče domény, včetně následujících:

Informace o monitorování a řešení potíží, které můžou být dostupné, najdete v dokumentaci k jiným scénářům.

Diagnostické funkce DCR zahrnují metriky a protokoly chyb generované během zpracování protokolů. Metriky DCR poskytují informace o objemu přijatých dat, počtu a povaze jakýchkoli chyb zpracování a statistikách souvisejících s transformací dat. Protokoly chyb DCR se generují vždy, když zpracování dat není úspěšné a data nedosahují svého cíle.

Protokoly chyb DCR

Protokoly chyb se generují, když data dosáhnou kanálu příjmu dat služby Azure Monitor, ale nedostanou se k cíli. Mezi příklady chybových podmínek patří:

  • Chyby doručování protokolů
  • Chyby transformace , kdy struktura protokolů zneplatňuje transformaci KQL
  • Volání rozhraní API pro příjem protokolů:
    • s jakoukoli jinou odpovědí HTTP než 200/202
    • s datovou částí obsahující poškozenými daty
    • s datovou částí nad všemi limity příjmu dat
    • omezování kvůli překročení nadlimitního využití limitů volání rozhraní API

Aby se zabránilo nadměrnému protokolování trvalých chyb souvisejících se stejným tokem dat, některé chyby se zaprotokolují pouze omezený početkrát za každou hodinu následovanou souhrnnou chybovou zprávou. Chyba se pak ztlumí do konce hodiny. Počet zaprotokolovaných chyb se může lišit v závislosti na oblasti, ve které je řadič domény nasazený.

Některé chyby příjmu protokolů nebudou protokolovány, protože není možné je přidružit k řadiči domény. Následující chyby nemusí být zaprotokolovány:

  • Selhání způsobená poškozeným identifikátorem URI volání (kód odpovědi HTTP 404)
  • Některé vnitřní chyby serveru (kód odpovědi HTTP 500)

Povolení protokolů chyb DCR

Protokoly chyb DCR se implementují jako protokoly prostředků ve službě Azure Monitor. Povolte shromažďování protokolů vytvořením nastavení diagnostiky pro řadič domény. Každý řadič domény bude vyžadovat vlastní nastavení diagnostiky. Podrobný postup najdete v tématu Vytvoření nastavení diagnostiky ve službě Azure Monitor . Vyberte chyby protokolu kategorií a odešlete do pracovního prostoru služby Log Analytics. Můžete vybrat stejný pracovní prostor, který používá řadič domény, nebo můžete chtít sloučit všechny protokoly chyb v jednom pracovním prostoru.

Načtení protokolů chyb DCR

Protokoly chyb se zapisují do tabulky DCRLogErrors v pracovním prostoru služby Log Analytics, který jste zadali v nastavení diagnostiky. Následují ukázkové dotazy, které můžete v Log Analytics použít k načtení těchto protokolů.

Načtení všechprotokolůch

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"

Načtení všech protokolů chyb pro konkrétní vstupní datový proud v určitém řadiči domény

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
| where InputStream == "Custom-MyTable_CL"

Metriky DCR

Metriky DCR se shromažďují automaticky pro všechny řadiče domény a můžete je analyzovat pomocí Průzkumníka metrik, jako jsou metriky platformy pro další prostředky Azure. Vstupní datový proud je součástí dimenze, takže pokud máte DCR s více vstupními datovými proudy, můžete je analyzovat filtrováním nebo rozdělením. Některé metriky zahrnují další dimenze, jak je znázorněno v následující tabulce.

Metrika Dimenze Popis
Protokoly bajtů příjmu dat za minutu Vstupní datový proud Celkový počet bajtů přijatých za minutu
Protokoly žádostí o příjem dat za minutu Vstupní datový proud
Kód odpovědi protokolu HTTP
Počet přijatých hovorů za minutu
Zaznamenává zahozené řádky za minutu. Vstupní datový proud Počet řádků protokolu vynechaných během zpracování za minutu To zahrnuje řádky vyřazené z důvodu kritérií filtrování v transformaci KQL i kvůli chybám.
Protokoly přijaté řádky za minutu Vstupní datový proud Počet přijatých řádků protokolu pro zpracování za minutu
Doba trvání transformace protokolů za minutu Vstupní datový proud Průměrný modul runtime transformace KQL za minutu Představuje efektivitu kódu transformace KQL. Toky dat s delší dobou běhu transformace můžou zaznamenat zpoždění při zpracování dat a vyšší latenci dat.
Chyby transformace protokolů za minutu Vstupní datový proud
Typ chyby
Počet chyb zpracování zjištěných za minutu

Řešení běžných problémů

Pokud v pracovním prostoru služby Log Analytics chybí očekávaná data, při řešení tohoto problému postupujte podle těchto základních kroků. Předpokládá se, že jste povolili protokolování DCR, jak je popsáno výše.

  • Zkontrolujte metriky, jako Logs Ingestion Bytes per MinLogs Rows Received per Min je a ujistěte se, že data dosáhnou služby Azure Monitor. Pokud ne, zkontrolujte zdroj dat a ujistěte se, že odesílají data podle očekávání.
  • Zkontrolujte Logs Rows Dropped per Min , jestli se některé řádky zahazují. To nemusí znamenat chybu, protože řádky můžou být vyřazeny transformací. Pokud jsou řádky zahozené stejným Logs Rows Dropped per Min způsobem, nebudou se v pracovním prostoru ingestovat žádná data. Zkontrolujte, jestli nedošlo Logs Transformation Errors per Min k nějakým chybám transformace.
  • Zkontrolujte Logs Transformation Errors per Min , jestli se u příchozích dat použijí nějaké chyby z transformací. Příčinou můžou být změny ve struktuře dat nebo samotné transformaci.
  • Zkontrolujte DCRLogErrors případné chyby příjmu dat, které mohly být zaprotokolovány. To může poskytnout další podrobnosti při identifikaci původní příčiny problému.

Monitorování příjmu protokolů

Následující signály můžou být užitečné pro monitorování stavu shromažďování protokolů pomocí řadičů domény. Vytvořte pravidla upozornění pro identifikaci těchto podmínek.

Signál Možné příčiny a akce
Nové položky v DCRErrorLogs nebo náhlé změně Log Transform Errors. – Problémy s nastavením rozhraní API pro příjem protokolů, jako je ověřování, přístup k DCR nebo DCE, problémy s datovou částí volání
– Změny datové struktury způsobují selhání transformace KQL.
– Změny v konfiguraci cíle dat způsobují selhání doručení dat.
Náhlá změna Logs Ingestion Bytes per Min - Změny konfigurace příjmu protokolů v klientovi, včetně nastavení AMA.
- Změny struktury odeslaných protokolů.
Náhlé změny poměru mezi Logs Ingestion Bytes per Min a Logs Rows Received per Min - Změny struktury odeslaných protokolů. Zkontrolujte změny a ujistěte se, že se data správně zpracovávají pomocí transformace KQL.
Náhlá změna Logs Transformation Duration per Min - Změny struktury protokolů ovlivňující efektivitu kritérií filtrování protokolů nastavených v transformaci KQL. Zkontrolujte změny a ujistěte se, že se data správně zpracovávají pomocí transformace KQL.
Logs Ingestion Requests per Min nebo Logs Ingestion Bytes per Min přistupují k limitům služby rozhraní API pro příjem protokolů. – Zkontrolujte a optimalizujte konfiguraci DCR, abyste se vyhnuli omezování.

Výstrahy

Místo reaktivního řešení problémů vytvořte pravidla upozornění, která budou proaktivně upozorněna, když dojde k potenciálnímu chybovému stavu. Následující tabulka obsahuje příklady pravidel upozornění, která můžete vytvořit pro monitorování příjmu protokolů.

Podmínka Podrobnosti výstrahy
Náhlé změny řádků vynechaných Pravidlo upozornění na metriku s využitím dynamické prahové hodnoty pro Logs Rows Dropped per Min.
Počet volání rozhraní API, která přistupují k limitům služby Pravidlo upozornění na metriku využívající statickou prahovou hodnotu pro Logs Ingestion Requests per Min. Nastavte prahovou hodnotu téměř 12 000, což je limit služby pro maximální počet požadavků za minutu na DCR.
Protokoly chyb Upozornění dotazu protokolu pomocí DCRLogErrors. K upozorňování při každém zaprotokolování chyb použijte míru řádků tabulky a prahovou hodnotu1.

Další kroky