Integrace služby Azure Automation State Configuration s protokoly služby Azure Monitor

Poznámka:

Než povolíte službu Automation State Configuration, rádi bychom věděli, že novější verze DSC je teď obecně dostupná a spravovaná funkcí konfigurace hosta s názvem Azure Policy. Služba konfigurace hosta kombinuje funkce rozšíření DSC, Azure Automation State Configuration a nejčastěji požadované funkce od zpětné vazby zákazníků. Konfigurace hosta také zahrnuje podporu hybridních počítačů prostřednictvím serverů s podporou Arc.

Azure Automation State Configuration uchovává data o stavu uzlu po dobu 30 dnů. Pokud dáváte přednost delšímu uchovávání těchto dat, můžete data stavu uzlu odeslat do protokolů služby Azure Monitor. Stav dodržování předpisů se zobrazuje na webu Azure Portal nebo v PowerShellu pro uzly a pro jednotlivé prostředky DSC v konfiguracích uzlů.

Protokoly služby Azure Monitor poskytují lepší provozní přehled o datech služby Automation State Configuration a můžou pomoct rychleji řešit incidenty. Protokoly služby Azure Monitor umožňují:

  • Získejte informace o dodržování předpisů pro spravované uzly a jednotlivé prostředky.
  • Aktivují e-mail nebo upozornění na základě stavu dodržování předpisů.
  • Psaní pokročilých dotazů napříč spravovanými uzly
  • Korelace stavu dodržování předpisů napříč účty Automation
  • Pomocí vlastní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.

Poznámka:

Tento článek byl nedávno aktualizován tak, aby místo Log Analytics používal termín protokoly služby Azure Monitor. Data protokolů jsou stále uložená v pracovním prostoru služby Log Analytics a stále se shromažďují a analyzují stejnou službou Log Analytics. Aktualizujeme terminologii tak, aby lépe odrážela roli protokolů ve službě Azure Monitor. Podrobnosti najdete v tématu Změny terminologie služby Azure Monitor.

Předpoklady

Pokud chcete začít odesílat sestavy služby Automation State Configuration do protokolů služby Azure Monitor, potřebujete:

  • Nainstalovaný modul Az PowerShellu. Ujistěte se, že máte nejnovější verzi. V případě potřeby spusťte Update-Module -Name Az.

Nastavení integrace s protokoly služby Azure Monitor

Pokud chcete začít importovat data ze služby Azure Automation State Configuration do protokolů služby Azure Monitor, proveďte následující kroky. Postup použití portálu najdete v tématu Předávání dat úloh Azure Automation do protokolů služby Azure Monitor.

  1. Ze svého počítače se přihlaste k předplatnému Azure pomocí rutiny PowerShellu Připojení-AzAccount a postupujte podle pokynů na obrazovce.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # If you have multiple subscriptions, set the one to use
    # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
    
  2. Zadejte odpovídající hodnotu pro proměnné automationAccount se skutečným názvem vašeho účtu Automation a workspaceName skutečným názvem pracovního prostoru služby Log Analytics. Pak spusťte skript.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. Spuštěním následujících příkazů PowerShellu získejte ID prostředku vašeho účtu Automation.

    # Find the ResourceId for the Automation account
    $AutomationResourceId = (Get-AzResource `
       -ResourceType 'Microsoft.Automation/automationAccounts' | 
       WHERE {$_.Name -eq $automationAccount}).ResourceId
    
  4. Spuštěním následujících příkazů PowerShellu získejte ID prostředku pracovního prostoru služby Log Analytics.

     # Find the ResourceId for the Log Analytics workspace
     $WorkspaceResourceId = (Get-AzResource `
         -ResourceType 'Microsoft.OperationalInsights/workspaces' | 
         WHERE {$_.Name -eq $law}).ResourceId
    
  5. Pokud chcete nakonfigurovat nastavení diagnostiky v účtu Automation tak, aby předávala data protokolu stavu uzlu DSC do protokolů služby Azure Monitor, následující rutina PowerShellu vytvoří nastavení diagnostiky pomocí tohoto cíle.

     Set-AzDiagnosticSetting `
         -ResourceId $AutomationResourceId `
         -WorkspaceId $WorkspaceResourceId `
         -Enabled $true `
         -Category 'DscNodeStatus'
    

    Pokud chcete ukončit předávání dat protokolu ze služby Automation State Configuration do protokolů služby Azure Monitor, spusťte následující rutinu PowerShellu.

     Set-AzDiagnosticSetting `
         -ResourceId $AutomationResourceId `
         -WorkspaceId $WorkspaceResourceId `
         -Enabled $false `
         -Category 'DscNodeStatus'
    

Zobrazení protokolů konfigurace stavu

Protokoly konfigurace stavu pro operace DSC můžete prohledávat hledáním v protokolech služby Azure Monitor. Po nastavení integrace s protokoly služby Azure Monitor pro data služby Automation State Configuration přejděte na webu Azure Portal ke svému účtu Automation. Potom v části Monitorování vyberte Protokoly.

Logs

Zavřete dialogové okno Dotazy. Otevře se podokno Prohledávání protokolů s oblastí dotazu s oborem vašeho prostředku účtu Automation. Záznamy pro operace DSC jsou uloženy v AzureDiagnostics tabulce. Pokud chcete najít uzly, které nevyhovují předpisům, zadejte následující dotaz.

AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"

Podrobnosti filtrování:

  • DscNodeStatusData Vyfiltrujte, aby se vrátily operace pro každý uzel Konfigurace stavu.
  • DscResourceStatusData Vyfiltrujte vrácení operací pro každý prostředek DSC volaný v konfiguraci uzlu použité pro daný prostředek.
  • Filtrováním vrátíte DscResourceStatusData informace o chybě pro všechny prostředky DSC, které selžou.

Další informace o vytváření dotazů protokolu pro vyhledání dat najdete v tématu Přehled dotazů na protokoly ve službě Azure Monitor.

Odeslání e-mailu, když selže kontrola dodržování předpisů konfigurace stavu

  1. Vraťte se k dříve vytvořenému dotazu.

  2. Stisknutím tlačítka + Nové pravidlo upozornění spusťte tok vytváření upozornění.

  3. V následujícím dotazu nahraďte NODENAME skutečným názvem spravovaného uzlu a potom vložte upravený dotaz do textového pole Vyhledávací dotaz :

    AzureDiagnostics
    | where Category == "DscNodeStatus"
    | where NodeName_s == "NODENAME"
    | where OperationName == "DscNodeStatusData"
    | where ResultType == "Failed"
    

    Pokud jste nastavili protokoly z více než jednoho účtu Automation nebo předplatného vašeho pracovního prostoru, můžete upozornění seskupit podle předplatného a účtu Automation. Odvodit název účtu Automation z Resource vlastnosti ve výsledcích DscNodeStatusDatahledání protokolu .

  4. Projděte si vytváření, zobrazení a správu upozornění na metriky pomocí služby Azure Monitor a dokončete zbývající kroky.

Zjištění neúspěšných prostředků DSC ve všech uzlech

Jednou z výhod použití protokolů služby Azure Monitor je, že můžete vyhledávat neúspěšné kontroly napříč uzly. Pokud chcete najít všechny instance prostředků DSC, které selhaly, použijte následující dotaz:

AzureDiagnostics 
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"

Zobrazení historického stavu uzlu DSC

Pokud chcete vizualizovat historii stavu uzlu DSC v průběhu času, můžete použít tento dotaz:

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" 
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType

Tento dotaz zobrazuje graf stavu uzlu v průběhu času.

Záznamy protokolů služby Azure Monitor

Diagnostika Azure Automation vytvoří v protokolech služby Azure Monitor dvě kategorie záznamů:

  • Data stavu uzlu (DscNodeStatusData)
  • Data o stavu zdroje (DscResourceStatusData)

DscNodeStatusData

Vlastnost Popis
TimeGenerated Datum a čas spuštění kontroly dodržování předpisů
OperationName DscNodeStatusData.
ResultType Hodnota, která označuje, jestli je uzel kompatibilní.
NodeName_s Název spravovaného uzlu.
NodeComplianceStatus_s Hodnota stavu, která určuje, jestli je uzel kompatibilní.
DscReportStatus Hodnota stavu označující, jestli kontrola dodržování předpisů proběhla úspěšně.
ConfigurationMode Režim použitý k použití konfigurace na uzel. Možné hodnoty:
  • ApplyOnly: DSC použije konfiguraci a nic dalšího neprovádí, pokud se do cílového uzlu nenasdílí nová konfigurace nebo když se ze serveru načte nová konfigurace. Po počáteční aplikaci nové konfigurace DSC nekontroluje posun od dříve nakonfigurovaného stavu. DSC se pokusí použít konfiguraci, dokud nebude úspěšná, než ApplyOnly se hodnota projeví.
  • ApplyAndMonitor: Toto je výchozí hodnota. LCM použije všechny nové konfigurace. Pokud se cílový uzel po počátečním použití nové konfigurace odchyluje od požadovaného stavu, DSC hlásí nesrovnalosti v protokolech. DSC se pokusí použít konfiguraci, dokud nebude úspěšná, než ApplyAndMonitor se hodnota projeví.
  • ApplyAndAutoCorrect: DSC použije všechny nové konfigurace. Pokud se cílový uzel po počátečním použití nové konfigurace odchyluje od požadovaného stavu, DSC hlásí nesrovnalosti v protokolech a znovu provede aktuální konfiguraci.
HostName_s Název spravovaného uzlu.
IPAddress Adresa IPv4 spravovaného uzlu.
Kategorie DscNodeStatus.
Prostředek Název účtu Azure Automation.
Tenant_g IDENTIFIKÁTOR GUID, který identifikuje tenanta volajícího.
NodeId_g IDENTIFIKÁTOR GUID, který identifikuje spravovaný uzel.
DscReportId_g IDENTIFIKÁTOR GUID, který identifikuje sestavu.
LastSeenTime_t Datum a čas posledního zobrazení sestavy
ReportStartTime_t Datum a čas zahájení sestavy
ReportEndTime_t Datum a čas dokončení sestavy
NumberOfResources_d Počet prostředků DSC volaných v konfiguraci použité na uzel.
SourceSystem Zdrojový systém, který identifikuje, jak protokoly služby Azure Monitor shromáždily data. Vždy Azure pro diagnostiku Azure.
ResourceId Identifikátor prostředku účtu Azure Automation.
ResultDescription Popis prostředku pro tuto operaci.
SubscriptionId ID předplatného Azure (GUID) pro účet Automation.
ResourceGroup Název skupiny prostředků pro účet Automation.
ResourceProvider MICROSOFT. AUTOMATIZACE.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId Identifikátor GUID, který je identifikátorem korelace sestavy dodržování předpisů.

DscResourceStatusData

Vlastnost Popis
TimeGenerated Datum a čas spuštění kontroly dodržování předpisů
OperationName DscResourceStatusData.
ResultType Určuje, jestli prostředek dodržuje předpisy.
NodeName_s Název spravovaného uzlu.
Kategorie DscNodeStatus.
Prostředek Název účtu Azure Automation.
Tenant_g IDENTIFIKÁTOR GUID, který identifikuje tenanta volajícího.
NodeId_g IDENTIFIKÁTOR GUID, který identifikuje spravovaný uzel.
DscReportId_g IDENTIFIKÁTOR GUID, který identifikuje sestavu.
DscResourceId_s Název instance prostředku DSC.
DscResourceName_s Název prostředku DSC.
DscResourceStatus_s Určuje, jestli je prostředek DSC v souladu s předpisy.
DscModuleName_s Název modulu PowerShellu, který obsahuje prostředek DSC.
DscModuleVersion_s Verze modulu PowerShellu, který obsahuje prostředek DSC.
DscConfigurationName_s Název konfigurace použité pro uzel.
ErrorCode_s Kód chyby, pokud prostředek selhal.
ErrorMessage_s Chybová zpráva, pokud prostředek selhal.
DscResourceDuration_d Čas spuštění prostředku DSC v sekundách.
SourceSystem Jak protokoly služby Azure Monitor shromáždily data. Vždy Azure pro diagnostiku Azure.
ResourceId Identifikátor účtu Azure Automation.
ResultDescription Popis této operace.
SubscriptionId ID předplatného Azure (GUID) pro účet Automation.
ResourceGroup Název skupiny prostředků pro účet Automation.
ResourceProvider MICROSOFT. AUTOMATIZACE.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId IDENTIFIKÁTOR GUID, který je ID korelace sestavy dodržování předpisů.

Další kroky