Integrowanie usługi Azure Automation State Configuration z dziennikami usługi Azure Monitor

Uwaga

Przed włączeniem usługi Automation State Configuration chcielibyśmy wiedzieć, że nowsza wersja rozszerzenia DSC jest teraz ogólnie dostępna, zarządzana przez funkcję usługi Azure Policy o nazwie konfiguracja gościa. Usługa konfiguracji gościa łączy funkcje rozszerzenia DSC, usługi Azure Automation State Configuration i najczęściej żądanych funkcji opinii klientów. Konfiguracja gościa obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.

Usługa Azure Automation State Configuration przechowuje dane stanu węzła przez 30 dni. Możesz wysłać dane stanu węzła do dzienników usługi Azure Monitor, jeśli wolisz przechowywać te dane przez dłuższy okres. Stan zgodności jest widoczny w witrynie Azure Portal lub w programie PowerShell dla węzłów i dla poszczególnych zasobów DSC w konfiguracjach węzłów.

Dzienniki usługi Azure Monitor zapewniają większą widoczność operacyjną danych usługi Automation State Configuration i mogą pomóc w szybszym rozwiązywaniu problemów. Dzienniki usługi Azure Monitor umożliwiają:

  • Uzyskaj informacje o zgodności dla węzłów zarządzanych i poszczególnych zasobów.
  • Wyzwalanie wiadomości e-mail lub alertu na podstawie stanu zgodności.
  • Pisanie zaawansowanych zapytań w węzłach zarządzanych.
  • Skorelowanie stanu zgodności między kontami usługi Automation.
  • Użyj widoków niestandardowych i zapytań wyszukiwania, aby wizualizować wyniki elementu Runbook, stan zadania elementu Runbook i inne powiązane kluczowe wskaźniki lub metryki.

Uwaga

Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dziennika są nadal przechowywane w obszarze roboczym usługi Log Analytics i są nadal zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zmiany terminologii usługi Azure Monitor.

Wymagania wstępne

Aby rozpocząć wysyłanie raportów usługi Automation State Configuration do dzienników usługi Azure Monitor, potrzebne są następujące elementy:

  • Zainstalowany moduł Az programu PowerShell. Upewnij się, że masz najnowszą wersję. W razie potrzeby uruchom polecenie Update-Module -Name Az.

Konfigurowanie integracji z dziennikami usługi Azure Monitor

Aby rozpocząć importowanie danych z usługi Azure Automation State Configuration do dzienników usługi Azure Monitor, wykonaj następujące kroki. Aby uzyskać instrukcje przy użyciu portalu, zobacz Przekazywanie danych zadań usługi Azure Automation do dzienników usługi Azure Monitor.

  1. Na komputerze zaloguj się do subskrypcji platformy Azure przy użyciu polecenia cmdlet Połączenie-AzAccount programu PowerShell i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

    # 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. Podaj odpowiednią wartość dla zmiennych automationAccount o rzeczywistej nazwie konta usługi Automation i workspaceName rzeczywistej nazwie obszaru roboczego usługi Log Analytics. Następnie wykonaj skrypt.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. Pobierz identyfikator zasobu konta usługi Automation, uruchamiając następujące polecenia programu PowerShell.

    # Find the ResourceId for the Automation account
    $AutomationResourceId = (Get-AzResource `
       -ResourceType 'Microsoft.Automation/automationAccounts' | 
       WHERE {$_.Name -eq $automationAccount}).ResourceId
    
  4. Pobierz identyfikator zasobu obszaru roboczego usługi Log Analytics, uruchamiając następujące polecenia programu PowerShell.

     # Find the ResourceId for the Log Analytics workspace
     $WorkspaceResourceId = (Get-AzResource `
         -ResourceType 'Microsoft.OperationalInsights/workspaces' | 
         WHERE {$_.Name -eq $law}).ResourceId
    
  5. Aby skonfigurować ustawienia diagnostyczne na koncie usługi Automation w celu przekazywania danych dziennika stanu węzła DSC do dzienników usługi Azure Monitor, następujące polecenie cmdlet programu PowerShell tworzy ustawienie diagnostyczne przy użyciu tego miejsca docelowego.

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

    Jeśli chcesz zatrzymać przekazywanie danych dziennika z usługi Automation State Configuration do dzienników usługi Azure Monitor, uruchom następujące polecenie cmdlet programu PowerShell.

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

Wyświetlanie dzienników konfiguracji stanu

Dzienniki konfiguracji stanu można przeszukiwać pod kątem operacji DSC, wyszukując je w dziennikach usługi Azure Monitor. Po skonfigurowaniu integracji z dziennikami usługi Azure Monitor dla danych usługi Automation State Configuration przejdź do konta usługi Automation w witrynie Azure Portal. Następnie w obszarze Monitorowanie wybierz pozycję Dzienniki.

Logs

Zamknij okno dialogowe Zapytania. Zostanie otwarte okienko Przeszukiwanie dzienników z regionem zapytania w zakresie zasobu konta usługi Automation. Rekordy operacji DSC są przechowywane w AzureDiagnostics tabeli. Aby znaleźć węzły, które nie są zgodne, wpisz następujące zapytanie.

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

Szczegóły filtrowania:

  • Filtruj DscNodeStatusData , aby zwracać operacje dla każdego węzła konfiguracji stanu.
  • Filtruj, DscResourceStatusData aby zwracać operacje dla każdego zasobu DSC wywoływanego w konfiguracji węzła zastosowanego do tego zasobu.
  • Filtruj, DscResourceStatusData aby zwrócić informacje o błędach dla wszystkich zasobów DSC, które kończą się niepowodzeniem.

Aby dowiedzieć się więcej na temat konstruowania zapytań dziennika w celu znalezienia danych, zobacz Omówienie zapytań dzienników w usłudze Azure Monitor.

Wysyłanie wiadomości e-mail w przypadku niepowodzenia sprawdzania zgodności usługi State Configuration

  1. Wróć do utworzonego wcześniej zapytania.

  2. Naciśnij przycisk "+ Nowa reguła alertu", aby uruchomić przepływ tworzenia alertu.

  3. W poniższym zapytaniu zastąp NODENAME rzeczywistą nazwą węzła zarządzanego, a następnie wklej poprawione zapytanie w polu tekstowym Wyszukaj zapytanie :

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

    Jeśli skonfigurowaliśmy dzienniki z więcej niż jednego konta usługi Automation lub subskrypcji do obszaru roboczego, możesz grupować alerty według subskrypcji i konta usługi Automation. Utwórz nazwę konta usługi Automation z Resource właściwości w wynikach wyszukiwania w dzienniku .DscNodeStatusData

  4. Przejrzyj artykuł Tworzenie, wyświetlanie alertów metryk i zarządzanie nimi przy użyciu usługi Azure Monitor , aby wykonać pozostałe kroki.

Znajdowanie nieudanych zasobów DSC we wszystkich węzłach

Jedną z zalet korzystania z dzienników usługi Azure Monitor jest możliwość wyszukiwania nieudanych testów między węzłami. Aby znaleźć wszystkie wystąpienia zasobów DSC, które zakończyły się niepowodzeniem, użyj następującego zapytania:

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

Wyświetlanie historycznego stanu węzła DSC

Aby zwizualizować historię stanu węzła DSC w czasie, możesz użyć tego zapytania:

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

To zapytanie wyświetla wykres stanu węzła w czasie.

Rekordy dzienników usługi Azure Monitor

Diagnostyka usługi Azure Automation tworzy dwie kategorie rekordów w dziennikach usługi Azure Monitor:

  • Dane o stanie węzła (DscNodeStatusData)
  • Dane stanu zasobu (DscResourceStatusData)

DscNodeStatusData

Właściwości opis
TimeGenerated Data i godzina uruchomienia sprawdzania zgodności.
OperationName DscNodeStatusData.
ResultType Wartość wskazująca, czy węzeł jest zgodny.
NodeName_s Nazwa węzła zarządzanego.
NodeComplianceStatus_s Wartość stanu określająca, czy węzeł jest zgodny.
DscReportStatus Wartość stanu wskazująca, czy sprawdzanie zgodności przebiegło pomyślnie.
ConfigurationMode Tryb używany do stosowania konfiguracji do węzła. Możliwe wartości to:
  • ApplyOnly: ROZSZERZENIE DSC stosuje konfigurację i nie wykonuje żadnych dalszych czynności, chyba że nowa konfiguracja zostanie wypchnięta do węzła docelowego lub gdy nowa konfiguracja zostanie pobrana z serwera. Po początkowym zastosowaniu nowej konfiguracji rozszerzenie DSC nie sprawdza dryfu z wcześniej skonfigurowanego stanu. Rozszerzenie DSC próbuje zastosować konfigurację, dopóki nie zostanie ona pomyślnie zastosowana, zanim wartość zostanie zastosowana ApplyOnly .
  • ApplyAndMonitor: jest to wartość domyślna. Narzędzie LCM stosuje wszelkie nowe konfiguracje. Po początkowym zastosowaniu nowej konfiguracji, jeśli węzeł docelowy dryfuje z żądanego stanu, DSC zgłasza rozbieżność w dziennikach. Rozszerzenie DSC próbuje zastosować konfigurację, dopóki nie zostanie ona pomyślnie zastosowana, zanim wartość zostanie zastosowana ApplyAndMonitor .
  • ApplyAndAutoCorrect: DSC stosuje wszelkie nowe konfiguracje. Po początkowym zastosowaniu nowej konfiguracji, jeśli węzeł docelowy dryfuje z żądanego stanu, DSC zgłasza rozbieżność w dziennikach, a następnie ponownie utworzy bieżącą konfigurację.
HostName_s Nazwa węzła zarządzanego.
IPAddress Adres IPv4 zarządzanego węzła.
Kategoria DscNodeStatus.
Zasób Nazwa konta usługi Azure Automation.
Tenant_g Identyfikator GUID identyfikujący dzierżawę elementu wywołującego.
NodeId_g Identyfikator GUID identyfikujący węzeł zarządzany.
DscReportId_g Identyfikator GUID identyfikujący raport.
LastSeenTime_t Data i godzina ostatniego wyświetlenia raportu.
ReportStartTime_t Data i godzina rozpoczęcia raportu.
ReportEndTime_t Data i godzina zakończenia raportu.
NumberOfResources_d Liczba zasobów DSC wywoływanych w konfiguracji zastosowanej do węzła.
SourceSystem System źródłowy identyfikujący sposób zbierania danych przez dzienniki usługi Azure Monitor. Zawsze Azure w przypadku diagnostyki platformy Azure.
ResourceId Identyfikator zasobu konta usługi Azure Automation.
ResultDescription Opis zasobu dla tej operacji.
SubscriptionId Identyfikator subskrypcji platformy Azure (GUID) dla konta usługi Automation.
ResourceGroup Nazwa grupy zasobów dla konta usługi Automation.
ResourceProvider MICROSOFT. AUTOMATYZACJI.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId Identyfikator GUID, który jest identyfikatorem korelacji raportu zgodności.

DscResourceStatusData

Właściwości opis
TimeGenerated Data i godzina uruchomienia sprawdzania zgodności.
OperationName DscResourceStatusData.
ResultType Czy zasób jest zgodny.
NodeName_s Nazwa węzła zarządzanego.
Kategoria DscNodeStatus.
Zasób Nazwa konta usługi Azure Automation.
Tenant_g Identyfikator GUID identyfikujący dzierżawę elementu wywołującego.
NodeId_g Identyfikator GUID identyfikujący węzeł zarządzany.
DscReportId_g Identyfikator GUID identyfikujący raport.
DscResourceId_s Nazwa wystąpienia zasobu DSC.
DscResourceName_s Nazwa zasobu DSC.
DscResourceStatus_s Czy zasób DSC jest zgodny.
DscModuleName_s Nazwa modułu programu PowerShell, który zawiera zasób DSC.
DscModuleVersion_s Wersja modułu programu PowerShell, który zawiera zasób DSC.
DscConfigurationName_s Nazwa konfiguracji zastosowanej do węzła.
ErrorCode_s Kod błędu, jeśli zasób zakończył się niepowodzeniem.
ErrorMessage_s Komunikat o błędzie, jeśli zasób zakończył się niepowodzeniem.
DscResourceDuration_d Czas w sekundach uruchomiony zasób DSC.
SourceSystem Jak dzienniki usługi Azure Monitor zbierały dane. Zawsze Azure w przypadku diagnostyki platformy Azure.
ResourceId Identyfikator konta usługi Azure Automation.
ResultDescription Opis tej operacji.
SubscriptionId Identyfikator subskrypcji platformy Azure (GUID) dla konta usługi Automation.
ResourceGroup Nazwa grupy zasobów dla konta usługi Automation.
ResourceProvider MICROSOFT. AUTOMATYZACJI.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId Identyfikator GUID, który jest identyfikatorem korelacji raportu zgodności.

Następne kroki