Nastavení Azure Monitor protokolů a shromažďování diagnostických dat pro Azure Logic Apps

Pokud chcete za běhu získat bohatší informace o ladění aplikací logiky, můžete nastavit a používat protokoly Azure Monitor k zaznamenávání a ukládání informací o datech a událostech modulu runtime, jako jsou události triggerů, události spuštění a události akcí v pracovním prostoru služby Log Analytics. Azure Monitor vám pomůže monitorovat cloudová a místní prostředí, abyste mohli snadněji udržovat jejich dostupnost a výkon. Pomocí Azure Monitor protokolů můžete vytvářet dotazy na protokoly, které vám pomůžou tyto informace shromáždit a zkontrolovat. Tato diagnostická data můžete použít také s dalšími službami Azure,jako jsou Azure Storage a Azure Event Hubs.

Pokud chcete pro svou aplikaci logiky nastavit protokolování, můžete povolit Log Analytics při vytváření aplikace logiky nebo můžete řešení Logic Apps Management nainstalovat do pracovního prostoru služby Log Analyticspro existující aplikace logiky. Toto řešení poskytuje agregované informace pro spuštění vaší aplikace logiky a obsahuje konkrétní podrobnosti, jako je stav, doba provádění, stav opětovného vyřazení a ID korelace. Pokud pak chcete povolit protokolování a vytváření dotazů pro tyto informace, nastavte Azure Monitor protokoly.

Tento článek ukazuje, jak povolit Log Analytics v nových aplikacích logiky a existujících aplikacích logiky, jak nainstalovat a nastavit řešení Logic Apps Management a jak nastavit a vytvářet dotazy pro protokoly Azure Monitor logiky.

Požadavky

Než začnete, potřebujete pracovní prostor služby Log Analytics. Pokud nemáte pracovní prostor, přečtěte si, jak vytvořit pracovní prostor služby Log Analytics.

Povolení Log Analytics pro nové aplikace logiky

Log Analytics můžete zapnout při vytváření aplikace logiky.

  1. V podokně Azure Portal,kde zadáte informace pro vytvoření aplikace logiky, postupujte takto:

    1. V části Log Analytics vyberte On.

    2. V seznamu pracovních prostorů služby Log Analytics vyberte pracovní prostor, do kterého chcete odesílat data ze spuštěných aplikací logiky.

      Zadání informací o aplikaci logiky

      Po dokončení tohoto kroku Azure vytvoří aplikaci logiky, která je teď přidružená k vašemu pracovnímu prostoru služby Log Analytics. Tento krok také automaticky nainstaluje řešení Logic Apps management ve vašem pracovním prostoru.

  2. Po dokončení vyberte Vytvořit.

  3. Po spuštění aplikace logiky pokračujte těmito kroky, abyste mohli zobrazit spuštění aplikace logiky.

Instalace Logic Apps správy

Pokud jste při vytváření aplikace logiky zapnuli Log Analytics, tento krok přeskočte. V pracovním prostoru služby Log Analytics Logic Apps už máte nainstalované řešení pro správu aplikací.

  1. Do Azure Portaldo vyhledávacího pole zadejte a log analytics workspaces pak vyberte Pracovní prostory Log Analytics.

    Vyberte Pracovní prostory Log Analytics.

  2. V části Pracovní prostory Log Analytics vyberte svůj pracovní prostor.

    Výběr pracovního prostoru služby Log Analytics

  3. V podokně Přehled v části Začínáme s Log Analytics Konfigurace řešení monitorování vyberte Zobrazit > řešení.

    V podokně přehledu vyberte Zobrazit řešení.

  4. V části Přehled vyberte Přidat.

    V podokně přehledu přidejte nové řešení.

  5. Po otevření Marketplace zadejte do vyhledávacího pole a logic apps management vyberte Logic Apps Management.

    Na Marketplace vyberte "Logic Apps Management".

  6. V podokně s popisem řešení vyberte Vytvořit.

    Výběrem možnosti Vytvořit přidejte řešení Logic Apps Management.

  7. Zkontrolujte a potvrďte pracovní prostor služby Log Analytics, do kterého chcete řešení nainstalovat, a znovu vyberte Vytvořit.

    Jako "správa virtuálních Logic Apps" vyberte Vytvořit.

    Jakmile Azure nasadí řešení do skupiny prostředků Azure, která obsahuje váš pracovní prostor služby Log Analytics, zobrazí se řešení v podokně souhrnu vašeho pracovního prostoru.

    Podokno souhrnu pracovního prostoru

Nastavení Azure Monitor protokolů

Při ukládání informací o událostech modulu runtime a datech do Azure Monitorprotokolů můžete vytvořit dotazy na protokoly, které vám pomůžou tyto informace najít a zkontrolovat.

Poznámka

Po povolení nastavení diagnostiky nemusí diagnostická data proudit až 30 minut do protokolů v zadaném cíli, jako je Log Analytics, centrum událostí nebo účet úložiště. Toto zpoždění znamená, že diagnostická data z tohoto časového období nemusí existovat, abyste je mohli zkontrolovat. Dokončené události a sledované vlastnosti se nemusí v pracovním prostoru služby Log Analytics zobrazovat po dobu 10 až 15 minut.

  1. V Azure Portalnajděte a vyberte svou aplikaci logiky.

  2. V nabídce aplikace logiky v části Monitorování vyberte Nastavení diagnostiky > Přidat nastavení diagnostiky.

    V části Monitorování vyberte Nastavení diagnostiky > Přidat nastavení diagnostiky.

  3. Pokud chcete toto nastavení vytvořit, postupujte takto:

    1. Zadejte název nastavení.

    2. Vyberte Send to Log Analytics (Odeslat do Log Analytics).

    3. V oblasti Předplatné vyberte předplatné Azure přidružené k vašemu pracovnímu prostoru služby Log Analytics.

    4. V oblasti Pracovní prostor služby Log Analytics vyberte pracovní prostor, který chcete použít.

    5. V části log vyberte kategorii WorkflowRuntime, která určuje kategorii události, kterou chcete zaznamenat.

    6. Pokud chcete vybrat všechny metriky, vyberte v části Metrika možnost AllMetrics (Všechny metriky).

    7. Jakmile budete mít hotovo, vyberte Uložit.

    Příklad:

    Výběr pracovního prostoru služby Log Analytics a dat pro protokolování

Zobrazení stavu spuštění aplikace logiky

Po spuštění aplikace logiky můžete zobrazit data o těchto spuštěních v pracovním prostoru služby Log Analytics.

  1. V Azure Portalnajděte a otevřete pracovní prostor služby Log Analytics.

  2. V nabídce pracovního prostoru vyberte Souhrn pracovního prostoru a > Logic Apps správu.

    Stav a počet spuštění aplikace logiky

    Poznámka

    Pokud dlaždice Logic Apps Management okamžitě po spuštění nezískat výsledky, zkuste vybrat Aktualizovat nebo chvíli počkat, než to zkusíte znovu.

    V této aplikaci logiky se spuštění seskupí podle názvu nebo podle stavu spuštění. Tato stránka také zobrazuje podrobnosti o selháních v akcích nebo triggerech pro spuštění aplikace logiky.

    Shrnutí stavu pro spuštění aplikace logiky

  3. Pokud chcete zobrazit všechna spuštění pro konkrétní aplikaci logiky nebo stav, vyberte řádek pro tuto aplikaci logiky nebo stav.

    Tady je příklad, který ukazuje všechna spuštění pro konkrétní aplikaci logiky:

    Zobrazení stavu a spuštění aplikace logiky

    U akcí, kde nastavíte sledované vlastnosti, můžete tyto vlastnosti zobrazit také výběrem možnosti Zobrazit ve sloupci Sledované vlastnosti. K vyhledání sledovaných vlastností použijte filtr sloupců.

    Zobrazení sledovaných vlastností pro aplikaci logiky

  4. Pokud chcete filtrovat výsledky, můžete provádět filtrování na straně klienta i na straně serveru.

    • Filtr na straně klienta: Pro každý sloupec vyberte filtry, které chcete, například:

      Příklady filtrů sloupců

    • Filtr na straně serveru: Pokud chcete vybrat konkrétní časové okno nebo omezit počet spuštění, která se zobrazí, použijte ovládací prvek oboru v horní části stránky. Ve výchozím nastavení se najednou zobrazí pouze 1 000 záznamů.

      Změna časového okna

  5. Pokud chcete zobrazit všechny akce a jejich podrobnosti pro konkrétní spuštění, vyberte řádek pro spuštění aplikace logiky.

    Tady je příklad, který ukazuje všechny akce a triggery pro konkrétní spuštění aplikace logiky:

    Zobrazení akcí pro spuštění aplikace logiky

Odesílání diagnostických dat do Azure Storage a Azure Event Hubs

Kromě Azure Monitor protokolů můžete rozšířit způsob použití diagnostických dat aplikace logiky s dalšími službami Azure, například:

Monitorování v reálném čase pak můžete získat pomocí telemetrie a analýz z jiných služeb, jako jsou Azure Stream Analytics a Power BI. Příklad:

Na základě umístění, kam chcete odesílat diagnostická data, nezapomeňte nejprve vytvořit účet úložiště Azure nebo vytvořit centrum událostí Azure. Pak můžete vybrat cíle, kam chcete tato data odeslat. Doby uchovávání platí jenom v případě, že používáte účet úložiště.

Odeslání dat do účtu úložiště Azure nebo centra událostí

Azure Monitor diagnostických událostí

Každá diagnostická událost obsahuje podrobnosti o vaší aplikaci logiky a této události, například stav, čas spuštění, čas ukončení atd. Pokud chcete prostřednictvím kódu programu nastavit monitorování, sledování a protokolování, můžete tyto informace použít s REST API pro Azure Logic Apps a REST API pro Azure Monitor. Můžete také použít vlastnosti clientTrackingId a , které se zobrazují trackedProperties v

  • clientTrackingId: Pokud není zadané, Azure toto ID automaticky vygeneruje a koreluje události napříč spuštěním aplikace logiky, včetně všech vnořených pracovních postupů, které jsou volány z aplikace logiky. Toto ID můžete v triggeru zadat ručně tak, že v požadavku triggeru předáte hlavičku s hodnotou x-ms-client-tracking-id vlastního ID. Můžete použít trigger požadavku, trigger HTTP nebo trigger webhooku.

  • trackedProperties: Pokud chcete sledovat vstupy nebo výstupy v diagnostických datech, můžete do akce přidat oddíl buď pomocí Návrháře aplikace logiky, nebo přímo v definici trackedProperties JSON vaší aplikace logiky. Sledované vlastnosti mohou sledovat pouze vstupy a výstupy jedné akce, ale vlastnosti událostí můžete použít ke korelaci mezi akcemi correlation při spuštění. Pokud chcete sledovat více než jednu vlastnost, jednu nebo více vlastností, přidejte do definice akce oddíl a vlastnosti, které trackedProperties chcete.

    Tady je příklad, který ukazuje, jak definice akce inicializovat proměnnou zahrnuje sledované vlastnosti ze vstupu akce, kde vstup je pole, nikoli záznam.

    {
       "Initialize_variable": {
          "type": "InitializeVariable",
          "inputs": {
             "variables": [
                {
                   "name": "ConnectorName", 
                   "type": "String", 
                   "value": "SFTP-SSH" 
                }
             ]
          },
          "runAfter": {},
          "trackedProperties": { 
             "myTrackedPropertyName": "@action().inputs.variables[0].value"
          }
       }
    }
    

    Tento příklad ukazuje více sledovaných vlastností:

    "HTTP": {
       "type": "Http",
       "inputs": {
          "body": "@triggerBody()",
          "headers": {
             "Content-Type": "application/json"
          },
          "method": "POST",
          "uri": "http://store.fabrikam.com",
       },
       "runAfter": {},
       "trackedProperties": {
          "myActionHTTPStatusCode": "@action()['outputs']['statusCode']",
          "myActionHTTPValue": "@action()['outputs']['body']['<content>']",
          "transactionId": "@action()['inputs']['body']['<content>']"
       }
    }
    

Tento příklad ukazuje, jak ActionCompleted událost zahrnuje clientTrackingId atributy a trackedProperties :

{
   "time": "2016-07-09T17:09:54.4773148Z",
   "workflowId": "/subscriptions/XXXXXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp",
   "resourceId": "/subscriptions/<subscription-ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp/runs/<run-ID>/actions/Http",
   "category": "WorkflowRuntime",
   "level": "Information",
   "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
   "properties": {
      "$schema": "2016-06-01",
      "startTime": "2016-07-09T17:09:53.4336305Z",
      "endTime": "2016-07-09T17:09:53.5430281Z",
      "status": "Succeeded",
      "code": "OK",
      "resource": {
         "subscriptionId": "<subscription-ID>",
         "resourceGroupName": "MyResourceGroup",
         "workflowId": "<logic-app-workflow-ID>",
         "workflowName": "MyLogicApp",
         "runId": "08587361146922712057",
         "location": "westus",
         "actionName": "Http"
      },
      "correlation": {
         "actionTrackingId": "e1931543-906d-4d1d-baed-dee72ddf1047",
         "clientTrackingId": "<my-custom-tracking-ID>"
      },
      "trackedProperties": {
         "myTrackedPropertyName": "<value>"
      }
   }
}

Další kroky