Předávání diagnostických protokolů Azure Automation do služby Azure Monitor

Azure Automation může odesílat stav úlohy runbooku a streamy úloh do pracovního prostoru služby Log Analytics. Tento proces nezahrnuje propojení pracovních prostorů a je zcela nezávislý a umožňuje provádět jednoduchá šetření. Protokoly úloh a streamy úloh jsou viditelné na webu Azure Portal nebo pomocí PowerShellu pro jednotlivé úlohy. S protokoly azure Monitoru pro váš účet Automation můžete:

  • Získejte přehled o stavu vašich úloh Automation.
  • Aktivace e-mailu nebo upozornění na základě stavu úlohy runbooku (například selhání nebo pozastavení)
  • Vytváření pokročilých dotazů napříč datovými proudy úloh
  • Korelace úloh napříč účty Automation
  • Pomocí přizpůsobených zobrazení a vyhledávacích dotazů můžete vizualizovat výsledky runbooku, stav úlohy runbooku a další související klíčové ukazatele nebo metriky prostřednictvím řídicího panelu Azure.
  • Získejte protokoly auditu související s účty Automation, runbooky a dalšími operacemi vytváření, úprav a odstraňování prostředků.

Pomocí protokolů služby Azure Monitor můžete konsolidovat protokoly z různých prostředků ve stejném pracovním prostoru, kde je možné analyzovat pomocí dotazů za účelem rychlého načtení, konsolidace a analýzy shromážděných dat. Dotazy můžete vytvářet a testovat pomocí Log Analytics na webu Azure Portal a pak buď přímo analyzovat data pomocí těchto nástrojů, nebo ukládat dotazy pro použití s vizualizacemi nebo pravidly upozornění.

Azure Monitor používá verzi dotazovacího jazyka Kusto (KQL), kterou používá Azure Data Explorer, která je vhodná pro jednoduché dotazy protokolu. Zahrnuje také pokročilé funkce, jako jsou agregace, spojení a inteligentní analýzy. Dotazovací jazyk se můžete rychle naučit pomocí několika lekcí.

Nastavení diagnostiky azure Automation

Následující protokoly platformy a data metrik můžete předat pomocí podpory nastavení diagnostiky služby Automation:

Datové typy Popis
Protokoly úloh Stav úlohy runbooku v účtu Automation
Streamy úloh Stav datových proudů úloh v runbooku definovaném v účtu Automation
DSCNodeStatus Stav uzlu DSC
AuditEvent Všechny protokoly prostředků, které zaznamenávají interakce zákazníků s daty nebo nastavením služby Azure Automation.
Metriky Total jobs, total update, deployment machine runs, total update deployment runs.

Konfigurace nastavení diagnostiky na webu Azure Portal

Nastavení diagnostiky můžete nakonfigurovat na webu Azure Portal z nabídky prostředku účtu Automation.

  1. V nabídce účtu Automation v části Monitorování vyberte Nastavení diagnostiky.

    Snímek obrazovky znázorňující výběr možnosti nastavení diagnostiky

  2. Klikněte na Přidat nastavení diagnostiky.

    Snímek obrazovky znázorňující výběr nastavení přidání diagnostiky

  3. Zadejte název nastavení do názvu nastavení diagnostiky, pokud ho ještě nemá.

    Můžete také zobrazit všechny kategorie protokolů a metrik.

    Snímek obrazovky zobrazující všechny kategorie protokolů a metrik

    • Protokoly a metriky, které se mají směrovat : Pro protokoly zvolte skupinu kategorií nebo zaškrtněte jednotlivá zaškrtávací políčka pro každou kategorii dat, která chcete odeslat do zadaných cílů. Pokud chcete metriky ukládat do protokolů služby Azure Monitor, zvolte Všechny metriky .

    • Podrobnosti o cíli: Zaškrtněte políčko pro každý cíl. Podle výběru jednotlivých polí se zobrazí možnosti, které vám umožní přidat další informace.

      Snímek obrazovky znázorňující výběry v oddílu podrobností cíle

      • Log Analytics : Zadejte ID předplatného a název pracovního prostoru. Pokud pracovní prostor nemáte, musíte ho vytvořit, než budete pokračovat.

      • Event Hubs: Zadejte následující kritéria:

        • Předplatné: Stejné předplatné jako v centru událostí.
        • Obor názvů centra událostí: Pokud ho ještě nemáte, vytvořte centrum událostí.
        • Název centra událostí (volitelné): Pokud nezadáte název, vytvoří se centrum událostí pro každou kategorii protokolu. Pokud odesíláte více kategorií, zadejte název, který omezí počet vytvořených center událostí. Podrobnosti najdete v kvótách a omezeních služby Azure Event Hubs.
        • Zásady centra událostí (volitelné): Zásady definují oprávnění, která má mechanismus streamování. Viz funkce Event Hubs.
      • Úložiště: Zvolte předplatné, účet úložiště a zásady uchovávání informací. Snímek obrazovky s účtem úložiště

      • Integrace partnera: Nejprve musíte do svého předplatného nainstalovat integraci partnera. Možnosti konfigurace se budou lišit podle partnera. Další informace najdete v tématu Integrace služby Azure Monitor.

  4. Klikněte na Uložit.

Po chvíli se nové nastavení zobrazí v seznamu nastavení pro tento prostředek a protokoly se streamují do zadaných cílů, protože se vygenerují nová data událostí. Mezi událostí vygenerovaným a vzhledem v pracovním prostoru služby Log Analytics může být 15 minut časový rozdíl.

Dotazování na protokoly

Dotazování vygenerovaných protokolů:

  1. V účtu Automation v části Monitorování vyberte Protokoly.

  2. V části Všechny dotazy vyberte Úlohy automatizace.

    Snímek obrazovky znázorňující, jak přejít k výběru úloh Automation

  3. Vyberte jeden z dotazů, které chcete spustit, a klikněte na Spustit.

  4. Pokud chcete spustit vlastní dotaz, zavřete okno Dotazy a vložte vlastní dotaz do nového okna dotazu a klikněte na Spustit.

    Výstup dotazu se zobrazí v podokně Výsledky .

  5. Kliknutím na Nové pravidlo upozornění nakonfigurujete pro tento dotaz upozornění služby Azure Monitor.

    Snímek obrazovky znázorňující, jak dotazovat protokoly

Záznamy protokolů služby Azure Monitor

Diagnostika Azure Automation vytvoří následující typy záznamů v protokolech služby Azure Monitor, které jsou označené jako AzureDiagnostics. Tabulky v následujících částech jsou příklady záznamů, které Azure Automation generuje, a datových typů, které se zobrazují ve výsledcích hledání v protokolu.

Protokoly úloh

Vlastnost Popis
TimeGenerated Datum a čas provedení úlohy runbooku.
RunbookName_s Název/názvy runbooku
Caller_s Volající, který operaci inicioval. Možnou hodnotou je e-mailová adresa nebo systém pro naplánované úlohy.
Tenant_g IDENTIFIKÁTOR GUID (globálně jedinečný identifikátor), který identifikuje tenanta volajícího.
JobId_g IDENTIFIKÁTOR GUID, který identifikuje úlohu runbooku.
ResultType Stav úlohy runbooku Možné hodnoty jsou:
- Nová
-Vytvořil
- Spuštěno
- Zastaveno
- Pozastaveno
- Neúspěch
-Hotový
Kategorie Klasifikace typu dat. Službě Automation odpovídá hodnota JobLogs.
OperationName Typ operace prováděné v Azure Pro Automatizaci je hodnota Job.
Prostředek Název účtu Automation
SourceSystem Systém, který protokoly Azure Monitoru používají ke shromažďování dat. Hodnota je vždy Azure pro diagnostiku Azure.
ResultDescription Stav výsledku úlohy runbooku Možné hodnoty jsou:
- Úloha se spustila
- Zpracování úlohy se nezdařilo
- Úloha je dokončená
CorrelationId GUID korelace úlohy runbooku
ResourceId ID prostředku účtu Azure Automation runbooku
SubscriptionId IDENTIFIKÁTOR GUID předplatného Azure pro účet Automation.
ResourceGroup Název skupiny prostředků pro účet Automation
ResourceProvider Název poskytovatele prostředků Hodnota je MICROSOFT. AUTOMATIZACE.
ResourceType Typ prostředku. Hodnota je AUTOMATIONACCOUNTS.

Datové proudy úlohy

Vlastnost Popis
TimeGenerated Datum a čas spuštění úlohy runbooku
RunbookName_s Název runbooku
Caller_s Volající, který operaci inicioval. Možnou hodnotou je e-mailová adresa nebo systém pro naplánované úlohy.
StreamType_s Typ datového proudu úlohy Možné hodnoty jsou:
- Průběh
- Výstup
- Upozornění
- Chyba
- Ladění
- Podrobné
Tenant_g IDENTIFIKÁTOR GUID, který identifikuje tenanta volajícího.
JobId_g IDENTIFIKÁTOR GUID, který identifikuje úlohu runbooku.
ResultType Stav úlohy runbooku. Možné hodnoty jsou:
- Probíhá
Kategorie Klasifikace typu dat. Službě Automation odpovídá hodnota JobStreams.
OperationName Typ operace prováděné v Azure Pro Automatizaci je hodnota Job.
Prostředek Název účtu Automation.
SourceSystem Systém, který protokoly Azure Monitoru používají ke shromažďování dat. Hodnota je vždy Azure pro diagnostiku Azure.
ResultDescription Popis, který zahrnuje výstupní datový proud z runbooku
CorrelationId GUID korelace úlohy runbooku
ResourceId ID prostředku účtu Azure Automation runbooku
SubscriptionId IDENTIFIKÁTOR GUID předplatného Azure pro účet Automation.
ResourceGroup Název skupiny prostředků pro účet Automation
ResourceProvider Poskytovatel prostředků. Hodnota je MICROSOFT. AUTOMATIZACE.
ResourceType Typ prostředku. Hodnota je AUTOMATIONACCOUNTS.

Poznámka:

Ujistěte se, že se přihlašovací údaje neodesílají do datových proudů úloh. Služba před zobrazením streamů úloh v diagnostických protokolech odebere přihlašovací údaje.

Události auditu

Vlastnost Popis
TenantID IDENTIFIKÁTOR GUID, který identifikuje tenanta volajícího.
TimeGenerated (UTC) Datum a čas spuštění úlohy runbooku
Kategorie AuditEvent
ResourceGroup Název skupiny prostředků účtu Automation
ID předplatného IDENTIFIKÁTOR GUID předplatného Azure pro účet Automation.
ResourceProvider MICROSOFT. AUTOMATIZACE
Prostředek Název účtu služby Automation
ResourceType AUTOMATIONACCOUNTS
OperationName Možné hodnoty jsou Update, Create, Delete.
ResultType Stav úlohy runbooku Možná hodnota je: Dokončeno.
CorrelationId GUID korelace úlohy runbooku
ResultDescription Stav výsledku úlohy runbooku Možné hodnoty jsou Update, Create, Delete.
Tenant_g IDENTIFIKÁTOR GUID, který identifikuje tenanta volajícího.
SourceSystem Systém, který protokoly Azure Monitoru používají ke shromažďování dat. Hodnota je vždy Azure pro diagnostiku Azure.
clientInfo_IpAddress_s {scrubbed}
clientInfo_PrincipalName_s {scrubbed}
clientInfo_TenantId_g ID tenanta klienta
clientInfo_Issuer_s
clientInfo_ObjectId_g ID objektu klienta.
clientInfo_AppId_g APPID klienta.
clientInfo_ClientRequestId_g REQUESTID klienta
targetResources_Resource_s Account, Job, Credential, Connections, Variables, Runbook.
Typ AzureDiagnostics
_ResourceId ID prostředku účtu Azure Automation runbooku

Zobrazení protokolů služby Automation v protokolech služby Azure Monitor

Teď, když jste začali odesílat streamy úloh Automation a protokoly do protokolů služby Azure Monitor, se podívejme, co můžete s těmito protokoly dělat v protokolech služby Azure Monitor.

Pokud chcete zobrazit protokoly, spusťte následující dotaz: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Ukázkové dotazy pro protokoly úloh a datové proudy úloh

Vyhledání všech dokončených úloh s chybou

Kromě scénářů, jako je upozorňování na selhání, můžete zjistit, kdy má úloha runbooku neukončující chybu. V těchto případech PowerShell vytvoří datový proud chyby, ale neukončující chyby nezpůsobí pozastavení nebo selhání úlohy.

  1. V pracovním prostoru služby Log Analytics klikněte na Protokoly.
  2. Do pole dotazu zadejte:
    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g. 
    
  3. Klikněte na Vyhledat.

Zobrazení datových proudů úloh pro úlohu

Když úlohu ladíte, můžete se také podívat na streamy úloh. Následující dotaz zobrazí všechny streamy pro jednu úlohu s identifikátorem GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0"
| sort by TimeGenerated asc
| project ResultDescription

Zobrazení historického stavu úlohy

Nakonec můžete chtít vizualizovat historii úloh v průběhu času. Tento dotaz můžete použít k vyhledání stavu úloh v průběhu času.

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)

Graf stavu historické úlohy Log Analytics

Vyhledejte protokoly, které hlásí chyby v úlohách automatizace.

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" 
| where StreamType_s == "Error" 
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId 

Vyhledání dokončených úloh Azure Automation

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed" 
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g

Vyhledání neúspěšných, pozastavených nebo zastavených úloh Azure Automation

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended") 
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g 

Zobrazení seznamu všech runbooků a úloh, které se úspěšně dokončily s chybami

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" 
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g 

Odeslání e-mailu, když úloha runbooku selže nebo pozastaví

Následující kroky vysvětlují, jak ve službě Azure Monitor nastavit e-mailová upozornění, která vás upozorní, když se něco nepovede s úlohou runbooku.

Pokud chcete vytvořit pravidlo upozornění, vytvořte prohledávání protokolů pro záznamy úloh runbooku, které by měly vyvolat výstrahu, jak je popsáno v protokolech dotazu. Kliknutím na +Nové pravidlo upozornění nakonfigurujte pravidlo upozornění.

  1. V účtu Automation v části Monitorování vyberte Protokoly.

  2. Vytvořte vyhledávací dotaz protokolu pro upozornění zadáním vyhledávacích kritérií do pole dotazu.

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")   
    

    Můžete také seskupit podle názvu runbooku pomocí:

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and     Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s 
    
  3. Pokud chcete otevřít obrazovku Vytvořit pravidlo upozornění, klikněte v horní části stránky na tlačítko +Nové pravidlo upozornění. Další informace o možnostech konfigurace upozornění najdete v tématu Upozornění protokolu v Azure.

Protokoly diagnostického auditu Azure Automation

Teď můžete odesílat protokoly auditu také do pracovního prostoru služby Azure Monitor. To podnikům umožňuje monitorovat klíčové aktivity účtů automatizace pro zabezpečení a dodržování předpisů. Pokud je tato možnost povolená prostřednictvím nastavení diagnostiky Azure, budete moct shromažďovat telemetrická data o operacích vytváření, aktualizací a odstraňování pro runbooky Automation, úlohy a prostředky automatizace, jako jsou připojení, přihlašovací údaje, proměnná a certifikát. Výstrahy pro podmínky protokolu auditu můžete také nakonfigurovat jako součást požadavků na monitorování zabezpečení.

Rozdíl mezi protokoly aktivit a protokoly auditu

Protokol aktivit je protokolplatformy v Azure, který poskytuje přehled o událostech na úrovni předplatného. Protokol aktivit pro účet Automation obsahuje informace o tom, kdy se prostředek automation upraví nebo vytvoří nebo odstraní. Nezachytí ale název ani ID prostředku.

Protokoly auditu pro účty Automation zaznamenávají název a ID prostředku, jako je například proměnná automatizace, přihlašovací údaje, připojení atd., spolu s typem operace prováděné pro prostředek a Azure Automation by se vyčistit některé podrobnosti, jako jsou data IP adresy klienta, která odpovídají dodržování gdpr.

Protokoly aktivit by zobrazovaly podrobnosti, jako je IP adresa klienta, protože protokol aktivit je protokol platformy, který poskytuje podrobné informace o diagnostice a auditování prostředků Azure. Automaticky se generují pro aktivity, ke kterým dochází v ARM, a nasdílí se poskytovateli prostředků protokolu aktivit. Vzhledem k tomu, že protokoly aktivit jsou součástí monitorování Azure, zobrazila by některá klientská data, která poskytují přehledy o aktivitě klienta.  

Ukázkové dotazy pro protokoly auditu

Dotaz na zobrazení protokolů auditu prostředků Automation

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" 

Dotaz na monitorování jakékoli aktualizace proměnné, vytvoření nebo odstranění operace

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable" 

Dotaz na monitorování jakékoli operace runbooku, jako je vytvoření, koncept nebo aktualizace

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook" 

Dotaz na monitorování vytváření, aktualizace nebo odstranění certifikátu

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate" 

Dotaz na monitorování vytváření, aktualizace nebo odstranění přihlašovacích údajů

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential" 

Výstup stavu úlohy filtru převedený na objekt JSON

Nedávno jsme změnili chování způsobu, jakým se data protokolu Automation zapisují do AzureDiagnostics tabulky ve službě Log Analytics, kde už nerozpisují vlastnosti JSON do samostatných polí. Pokud jste runbook nakonfigurovali tak, aby formátoval objekty ve výstupním datovém proudu ve formátu JSON jako samostatné sloupce, je nutné překonfigurovat dotazy tak, aby parsovaly toto pole na objekt JSON pro přístup k těmto vlastnostem. Toho se dosahuje pomocí parsování json pro přístup ke konkrétnímu prvku JSON ve známé cestě.

Runbook například formátuje vlastnost ResultDescription ve výstupním datovém proudu ve formátu JSON s více poli. Pokud chcete vyhledat stav úloh, které jsou ve stavu selhání, jak je uvedeno v poli s názvem Stav, použijte tento ukázkový dotaz k vyhledání popisu ResultDescription se stavem Selhání:

AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'

Formát JSON streamu historických úloh Log Analytics

Další kroky