Vytvoření dotazu protokolu napříč několika pracovními prostory a aplikacemi ve službě Azure Monitor

Protokoly služby Azure Monitor podporují dotazování napříč několika pracovními prostory služby Log Analytics a aplikacemi Přehledy ve stejné skupině prostředků, jiné skupině prostředků nebo jiném předplatném. Díky tomu získáte přehled o datech v celém systému.

Pokud spravujete předplatná v jiných tenantech Azure Active Directory (Azure AD) prostřednictvím Služby Azure Lighthouse, můžete do dotazů zahrnout pracovní prostory služby Log Analytics vytvořené v těchto tenantech zákazníků.

Existují dvě metody dotazování na data uložená v několika pracovních prostorech a aplikacích:

  1. Explicitně zadáním podrobností o pracovním prostoru a aplikaci. Tato technika je podrobně popsaná v tomto článku.
  2. Implicitně se používají dotazy kontextu prostředků. Při dotazování v kontextu konkrétního prostředku, skupiny prostředků nebo předplatného se příslušná data načítají ze všech pracovních prostorů, které obsahují data pro tyto prostředky. Aplikace Přehledy data uložená v aplikacích se nenačítají.

Důležité

Pokud používáte prostředek Přehledy aplikace založené na pracovním prostoru, telemetrie se ukládá do pracovního prostoru služby Log Analytics se všemi ostatními daty protokolů. Pomocí výrazu workspace() můžete napsat dotaz, který obsahuje aplikace ve více pracovních prostorech. Pro více aplikací ve stejném pracovním prostoru nepotřebujete dotaz mezi pracovními prostory.

Limity dotazů napříč prostředky

  • Počet prostředků Přehledy aplikací a pracovních prostorů služby Log Analytics, které můžete zahrnout do jednoho dotazu, je omezený na 100.
  • Dotaz mezi prostředky není v Návrháři zobrazení podporovaný. Dotaz můžete vytvořit v Log Analytics a připnout ho na řídicí panel Azure a vizualizovat dotaz protokolu nebo zahrnout do Workbooks.
  • Dotazy mezi prostředky v upozorněních protokolu se podporují jenom v aktuálním plánovaném rozhraní APIQueryRules. Pokud používáte starší verzi rozhraní API upozornění Log Analytics, budete muset přejít na aktuální rozhraní API.

Dotazování napříč pracovními prostory služby Log Analytics a z Přehledy aplikací

Pokud chcete odkazovat na jiný pracovní prostor v dotazu, použijte identifikátor pracovního prostoru a pro aplikaci z aplikace Přehledy použijte identifikátor aplikace.

Identifikace prostředků pracovního prostoru

Následující příklady ukazují dotazy napříč pracovními prostory služby Log Analytics, které vrací souhrnné počty protokolů z tabulky Update v pracovním prostoru s názvem contosoretail-it.

Identifikaci pracovního prostoru je možné provést jedním z několika způsobů:

  • Název prostředku – je název pracovního prostoru čitelný pro člověka, někdy označovaný jako název komponenty.

    Důležité

    Vzhledem k tomu, že názvy aplikací a pracovních prostorů nejsou jedinečné, může být tento identifikátor nejednoznačný. Doporučuje se, aby odkaz byl kvalifikovaný název, ID pracovního prostoru nebo ID prostředku Azure.

    workspace("contosoretail-it").Update | count

  • Kvalifikovaný název – je "úplný název" pracovního prostoru, který se skládá z názvu předplatného, skupiny prostředků a názvu komponenty v tomto formátu: subscriptionName/resourceGroup/componentName.

    workspace('contoso/contosoretail/contosoretail-it').Update | count

    Poznámka

    Vzhledem k tomu, že názvy předplatných Azure nejsou jedinečné, může být tento identifikátor nejednoznačný.

  • ID pracovního prostoru – ID pracovního prostoru je jedinečný neměnný identifikátor přiřazený každému pracovnímu prostoru reprezentovaný jako globálně jedinečný identifikátor (GUID).

    workspace("b459b4u5-912x-46d5-9cb1-p43069212nb4").Update | count

  • ID prostředku Azure – jedinečná identita pracovního prostoru definovaná v Azure. ID prostředku použijete, pokud je název prostředku nejednoznačný. Pro pracovní prostory je tento formát: /subscriptions/subscriptionId/resourcegroups/resourceGroup/providers/microsoft. OperationalInsights/ workspaces/componentName.

    Příklad:

    workspace("/subscriptions/e427519-5645-8x4e-1v67-3b84b59a1985/resourcegroups/ContosoAzureHQ/providers/Microsoft.OperationalInsights/workspaces/contosoretail-it").Update | count
    

Identifikace aplikace

Následující příklady vrátí souhrnný počet požadavků provedených v aplikaci s názvem fabrikamapp v Přehledy aplikace.

Identifikace aplikace v Přehledy aplikace se dá provést pomocí výrazu app(Identifier). Argument Identifikátor určuje aplikaci pomocí jedné z následujících možností:

  • Název prostředku – je název aplikace čitelný pro člověka, někdy označovaný jako název komponenty.

    app("fabrikamapp")

    Poznámka

    Identifikace aplikace podle názvu předpokládá jedinečnost všech přístupných předplatných. Pokud máte více aplikací se zadaným názvem, dotaz selže kvůli nejednoznačnosti. V takovém případě musíte použít jeden z ostatních identifikátorů.

  • Kvalifikovaný název – je "úplný název" aplikace, který se skládá z názvu předplatného, skupiny prostředků a názvu komponenty v tomto formátu: subscriptionName/resourceGroup/componentName.

    app("AI-Prototype/Fabrikam/fabrikamapp").requests | count

    Poznámka

    Vzhledem k tomu, že názvy předplatných Azure nejsou jedinečné, může být tento identifikátor nejednoznačný.

  • ID – identifikátor GUID aplikace.

    app("b459b4f6-912x-46d5-9cb1-b43069212ab4").requests | count

  • ID prostředku Azure – jedinečná identita aplikace definovaná v Azure ID prostředku použijete, pokud je název prostředku nejednoznačný. Formát je: /subscriptions/subscriptionId/resourcegroups/resourceGroup/providers/microsoft. OperationalInsights/components/componentName.

    Příklad:

    app("/subscriptions/b459b4f6-912x-46d5-9cb1-b43069212ab4/resourcegroups/Fabrikam/providers/microsoft.insights/components/fabrikamapp").requests | count
    

Provádění dotazu napříč několika prostředky

Můžete se dotazovat na více prostředků z libovolné instance prostředků. Můžou se jednat o pracovní prostory a aplikace zkombinované.

Příklad dotazu mezi dvěma pracovními prostory:

union Update, workspace("contosoretail-it").Update, workspace("b459b4u5-912x-46d5-9cb1-p43069212nb4").Update
| where TimeGenerated >= ago(1h)
| where UpdateState == "Needed"
| summarize dcount(Computer) by Classification

Použití dotazu mezi prostředky pro více prostředků

Při použití dotazů mezi prostředky ke korelaci dat z více pracovních prostorů Služby Log Analytics a prostředků Přehledy aplikací může být dotaz složitý a obtížně udržovatelný. Funkce byste měli využít v dotazech protokolu služby Azure Monitor k oddělení logiky dotazu od rozsahu prostředků dotazů, což zjednodušuje strukturu dotazů. Následující příklad ukazuje, jak můžete monitorovat více prostředků Přehledy aplikací a vizualizovat počet neúspěšných požadavků podle názvu aplikace.

Vytvořte dotaz podobný následujícímu dotazu, který odkazuje na rozsah prostředků Přehledy aplikace. Příkaz withsource= SourceApp přidá sloupec, který určuje název aplikace, který odeslal protokol. Uložte dotaz jako funkci s aplikacemi aliasůScoping.

// crossResource function that scopes my Application Insights resources
union withsource= SourceApp
app('Contoso-app1').requests, 
app('Contoso-app2').requests,
app('Contoso-app3').requests,
app('Contoso-app4').requests,
app('Contoso-app5').requests

Tuto funkci teď můžete použít v dotazu napříč prostředky, jako je následující. Funkce Alias applicationsScoping vrátí sjednocení tabulky požadavků ze všech definovaných aplikací. Dotaz pak filtruje neúspěšné požadavky a vizualizuje trendy podle aplikace. Operátor parse je v tomto příkladu volitelný. Extrahuje název aplikace z vlastnosti SourceApp .

applicationsScoping 
| where timestamp > ago(12h)
| where success == 'False'
| parse SourceApp with * '(' applicationName ')' * 
| summarize count() by applicationName, bin(timestamp, 1h) 
| render timechart

Poznámka

Tuto metodu nelze použít s upozorněními protokolu, protože ověření přístupu k prostředkům pravidla upozornění, včetně pracovních prostorů a aplikací, se provádí při vytváření upozornění. Přidání nových prostředků do funkce po vytvoření upozornění se nepodporuje. Pokud chcete použít funkci pro nastavení rozsahu prostředků v upozorněních protokolu, musíte upravit pravidlo upozornění na portálu nebo pomocí šablony Resource Manager aktualizovat omezené prostředky. Případně můžete do dotazu upozornění protokolu zahrnout seznam prostředků.

Timechart

Další kroky