Vidarebefordra Azure 自動化 diagnostikloggar till Azure Monitor

Azure 自動化 kan skicka runbook-jobbstatus och jobbströmmar till Log Analytics-arbetsytan. Den här processen omfattar inte länkning av arbetsytor och är helt oberoende och gör att du kan utföra enkla undersökningar. Jobbloggar och jobbströmmar visas i Azure-Portal eller med PowerShell för enskilda jobb. Med Azure Monitor-loggar för ditt Automation-konto kan du:

  • Få insikter om status för dina Automation-jobb.
  • Utlös ett e-postmeddelande eller en avisering baserat på din runbook-jobbstatus (till exempel misslyckad eller inaktiverad).
  • Skriv avancerade frågor i dina jobbströmmar.
  • Korrelera jobb mellan Automation-konton.
  • Använd anpassade vyer och sökfrågor för att visualisera dina runbook-resultat, runbook-jobbstatus och andra relaterade nyckelindikatorer eller mått via en Azure-instrumentpanel.
  • Hämta granskningsloggarna som är relaterade till Automation-konton, runbooks och andra åtgärder för att skapa, ändra och ta bort resurser.

Med hjälp av Azure Monitor-loggar kan du konsolidera loggar från olika resurser på samma arbetsyta där de kan analyseras med frågor för att snabbt hämta, konsolidera och analysera insamlade data. Du kan skapa och testa frågor med Log Analytics i Azure-Portal och sedan antingen direkt analysera data med hjälp av dessa verktyg eller spara frågor för användning med visualisering eller aviseringsregler.

Azure Monitor använder en version av Kusto-frågespråket (KQL) som används av Azure Data Explorer som lämpar sig för enkla loggfrågor. Den innehåller även avancerade funktioner som aggregeringar, kopplingar och smart analys. Du kan snabbt lära dig frågespråket med hjälp av flera lektioner.

Azure 自動化 diagnostikinställningar

Du kan vidarebefordra följande plattformsloggar och måttdata med hjälp av stöd för automationsdiagnostikinställningar:

Datatyper Beskrivning
Jobbloggar Status för runbook-jobbet i Automation-kontot.
Jobbströmmar Status för jobbströmmarna i runbooken som definierats i Automation-kontot.
DSCNodeStatus Status för DSC-noden.
AuditEvent Alla resursloggar som registrerar kundinteraktioner med data eller inställningarna för Azure 自動化-tjänsten.
Mått Totalt antal jobb, totalt antal uppdateringar, distributionsdatorkörningar, totalt antal uppdateringsdistributionskörningar.

Konfigurera diagnostikinställningar i Azure-Portal

Du kan konfigurera diagnostikinställningar i Azure-Portal från menyn för Automation-kontoresursen.

  1. I menyn Automation-konto under Övervakning väljer du Diagnostikinställningar.

    Skärmbild som visar val av alternativ för diagnostikinställning.

  2. Klicka på Lägg till diagnostikinställning.

    Skärmbild som visar val av lägg till diagnostikinställning.

  3. Ange ett inställningsnamn i namnet på diagnostikinställningen om den inte redan har ett.

    Du kan också visa alla kategorier av loggar och mått.

    Skärmbild som visar alla kategorier av loggar och mått.

    • Loggar och mått som ska dirigeras : För loggar väljer du en kategorigrupp eller markerar de enskilda kryssrutorna för varje datakategori som du vill skicka till de angivna målen. Välj AllMetrics om du vill lagra mått i Azure Monitor-loggar.

    • Målinformation : Markera kryssrutan för varje mål. Enligt varje rutas val visas alternativen så att du kan lägga till ytterligare information.

      Skärmbild som visar val i avsnittet med målinformation.

      • Log Analytics : Ange prenumerations-ID och arbetsytans namn. Om du inte har en arbetsyta måste du skapa en innan du fortsätter.

      • Event Hubs: Ange följande kriterier:

        • Prenumeration: Samma prenumeration som för händelsehubben.
        • Namnområde för händelsehubb: Skapa en händelsehubb om du inte har en ännu.
        • Namn på händelsehubb (valfritt): Om du inte anger ett namn skapas en händelsehubb för varje loggkategori. Om du skickar flera kategorier anger du ett namn för att begränsa antalet eventhubbar som skapats. Mer information finns i Hub eventi di Azure kvoter och gränser.
        • Event Hub-princip (valfritt): En princip definierar de behörigheter som strömningsmekanismen har. Se Event Hubs-funktionen.
      • Lagring: Välj prenumeration, lagringskonto och kvarhållningsprincip. Skärmbild som visar lagringskontot.

      • Partnerintegrering: Du måste först installera en partnerintegrering i din prenumeration. Konfigurationsalternativen varierar beroende på partner. Mer information finns i Azure Monitor-integrering.

  4. Klicka på Spara.

Efter en liten stund visas den nya inställningen i listan med inställningar för den här resursen och loggarna strömmas till de angivna målen när nya händelsedata genereras. Det kan finnas en tidsskillnad på 15 minuter mellan händelsen som genereras och dess utseende på Log Analytics-arbetsytan.

Fråga loggarna

Så här frågar du de genererade loggarna:

  1. I ditt Automation-konto går du till Övervakning och väljer Loggar.

  2. Under Alla frågor väljer du Automation-jobb.

    Skärmbild som visar hur du navigerar till att välja Automation-jobb.

  3. Välj en av de frågor som du vill köra och klicka på Kör.

  4. Om du vill köra en anpassad fråga stänger du fönstret Frågor och klistrar in den anpassade frågan i det nya frågefönstret och klickar på Kör.

    Frågans utdata visas i resultatfönstret .

  5. Klicka på Ny aviseringsregel för att konfigurera en Azure Monitor-avisering för den här frågan.

    Skärmbild som visar hur du frågar efter loggar.

Azure Monitor-loggposter

Azure 自動化 diagnostik skapar du följande typer av poster i Azure Monitor-loggar, taggade som AzureDiagnostics. Tabellerna i avsnitten nedan är exempel på poster som Azure 自動化 genererar och de datatyper som visas i loggsökningsresultat.

Jobbloggar

Egenskap Beskrivning
TimeGenerated Datum och tid då runbook-jobbet körs.
RunbookName_s Namn/namn på runbooken.
Caller_s Anropare som initierade åtgärden. Möjliga värden är antingen en e-postadress eller ett system för schemalagda jobb.
Tenant_g GUID (globalt unik identifierare) som identifierar klienten för anroparen.
JobId_g GUID som identifierar runbook-jobbet.
ResultType Status för runbook-jobbet. Möjliga värden:
-Nya
-Skapad
- Startad
- Stoppad
-Pausad
- Misslyckades
-Avslutade
Kategori Klassificering av typ av data. För Automation är värdet JobLogs.
OperationName Typ av åtgärd som utförs i Azure. För Automation är värdet Jobb.
Resurs Namnet på Automation-kontot
SourceSystem System som Azure Monitor-loggar använder för att samla in data. Värdet är alltid Azure för Azure Diagnostics.
ResultDescription Resultattillstånd för Runbook-jobb. Möjliga värden:
-Jobbet har startats
-Jobbet misslyckades
-Jobbet slutfördes
CorrelationId Korrelations-GUID för runbook-jobbet.
ResourceId Azure 自動化 kontoresurs-ID för runbooken.
SubscriptionId Azure-prenumerations-GUID för Automation-kontot.
ResourceGroup Namnet på resursgruppen för Automation-kontot.
ResourceProvider Namnet på resursprovidern. Värdet är MICROSOFT. AUTOMATION.
ResourceType Resurstyp. Värdet är AUTOMATIONACCOUNTS.

Arbetsflöden

Egenskap Beskrivning
TimeGenerated Datum och tid då runbook-jobbet kördes.
RunbookName_s Namnet på runbooken.
Caller_s Anropare som initierade åtgärden. Möjliga värden är antingen en e-postadress eller ett system för schemalagda jobb.
StreamType_s Typ av jobbström. Möjliga värden:
- Status
- Utdata
- Varning
- Fel
- Felsökning
- Verbose
Tenant_g GUID som identifierar klienten för anroparen.
JobId_g GUID som identifierar runbook-jobbet.
ResultType Status för runbookjobbet. Möjliga värden:
- Pågår
Kategori Klassificering av typ av data. För Automation är värdet JobStreams.
OperationName Typ av åtgärd som utförs i Azure. För Automation är värdet Jobb.
Resurs Namnet på Automation-kontot.
SourceSystem System som Azure Monitor-loggar använder för att samla in data. Värdet är alltid Azure för Azure Diagnostics.
ResultDescription Beskrivning som innehåller utdataströmmen från runbooken.
CorrelationId Korrelations-GUID för runbook-jobbet.
ResourceId Azure 自動化 kontoresurs-ID för runbooken.
SubscriptionId Azure-prenumerations-GUID för Automation-kontot.
ResourceGroup Namnet på resursgruppen för Automation-kontot.
ResourceProvider Resursprovider. Värdet är MICROSOFT. AUTOMATION.
ResourceType Resurstyp. Värdet är AUTOMATIONACCOUNTS.

Granska händelser

Egenskap Beskrivning
TenantID GUID som identifierar klienten för anroparen.
TimeGenerated (UTC) Datum och tid när runbook-jobbet körs.
Kategori AuditEvent
ResourceGroup Resursgruppsnamnet för Automation-kontot.
Prenumerations-ID Azure-prenumerations-GUID för Automation-kontot.
ResourceProvider MICROSOFT. AUTOMATION
Resurs Automation-kontonamn
ResourceType AUTOMATIONACCOUNTS
OperationName Möjliga värden är Update, Create, Delete.
ResultType Status för runbook-jobbet. Möjligt värde är: Slutfört.
CorrelationId Korrelations-GUID för runbook-jobbet.
ResultDescription Resultattillstånd för Runbook-jobb. Möjliga värden är Update, Create, Delete.
Tenant_g GUID som identifierar klienten för anroparen.
SourceSystem System som Azures Monitor-loggar använder för att samla in data. Värdet är alltid Azure för Azure Diagnostics.
clientInfo_IpAddress_s {skrubbad}
clientInfo_PrincipalName_s {skrubbad}
clientInfo_TenantId_g Klientorganisations-ID för klienten.
clientInfo_Issuer_s
clientInfo_ObjectId_g Objekt-ID för klienten.
clientInfo_AppId_g AppID för klienten.
clientInfo_ClientRequestId_g RequestID för klienten
targetResources_Resource_s Account, Job, Credential, Connections, Variables, Runbook.
Typ AzureDiagnostics
_ResourceId Azure 自動化 kontoresurs-ID för runbooken.

Visa Automation-loggar i Azure Monitor-loggar

Nu när du har börjat skicka dina Automation-jobbströmmar och loggar till Azure Monitor-loggar ska vi se vad du kan göra med loggarna i Azure Monitor-loggarna.

Om du vill se loggarna kör du följande fråga: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Exempelfrågor för jobbloggar och jobbströmmar

Hitta alla jobb som har slutförts med fel

Förutom scenarier som aviseringar om fel kan du se när ett Runbook-jobb har ett icke-avslutande fel. I dessa fall skapar PowerShell en felström, men de icke-avslutande felen gör inte att jobbet pausas eller misslyckas.

  1. Klicka på Loggar på Log Analytics-arbetsytan.
  2. I frågefältet skriver du:
    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g. 
    
  3. Klicka på Sök.

Visa jobbströmmar för ett jobb

När du felsöker ett jobb kanske du också vill titta på jobbströmmarna. Följande fråga visar alla strömmar för ett enda jobb med 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

Visa status för historiska jobb

Slutligen kanske du vill visualisera din jobbhistorik över tid. Du kan använda den här frågan för att söka efter status för dina jobb över tid.

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

Diagram över historisk jobbstatus i Log Analytics

Hitta loggar som rapporterar fel i automationsjobben.

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

Hitta Azure 自動化 jobb som har slutförts

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

Hitta Azure 自動化 jobb som har misslyckats, pausats eller stoppats

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 

Visa en lista över alla runbooks-jobb & som har slutförts med fel

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

Skicka ett e-postmeddelande när ett Runbook-jobb misslyckas eller pausas

Följande steg beskriver hur du konfigurerar e-postaviseringar i Azure Monitor för att meddela när något går fel med ett runbook-jobb.

Skapa en aviseringsregel genom att skapa en loggsökning för de runbook-jobbposter som ska anropa aviseringen enligt beskrivningen i Fråga loggarna. Klicka på +Ny aviseringsregel för att konfigurera aviseringsregeln.

  1. I ditt Automation-konto går du till Övervakning och väljer Loggar.

  2. Skapa en loggsökningsfråga för aviseringen genom att ange ett sökvillkor i frågefältet.

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

    Du kan också gruppera efter runbook-namnet med hjälp av:

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and     Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s 
    
  3. Öppna skärmen Skapa aviseringsregel genom att klicka på +Ny aviseringsregel överst på sidan. Mer information om alternativen för att konfigurera aviseringarna finns i Logga aviseringar i Azure

Azure 自動化 diagnostikgranskningsloggar

Nu kan du skicka granskningsloggar även till Azure Monitor-arbetsytan. På så sätt kan företag övervaka viktiga automationskontoaktiviteter för säkerhetsefterlevnad & . När det är aktiverat via Azure Diagnostics-inställningarna kan du samla in telemetri om att skapa, uppdatera och ta bort åtgärder för Automation-runbooks, jobb och automationstillgångar som anslutning, autentiseringsuppgifter och variabelcertifikat&. Du kan också konfigurera aviseringar för granskningsloggvillkor som en del av dina säkerhetsövervakningskrav.

Skillnad mellan aktivitetsloggar och granskningsloggar

Aktivitetsloggen är en plattformsloggi Azure som ger insikter om händelser på prenumerationsnivå. Aktivitetsloggen för Automation-kontot innehåller information om när en automationsresurs ändras, skapas eller tas bort. Den samlar dock inte in resursens namn eller ID.

Granskningsloggar för Automation-konton samlar in namn och ID för resursen, till exempel automationsvariabel, autentiseringsuppgifter, anslutning och så vidare, tillsammans med den typ av åtgärd som utförs för resursen och Azure 自動化 skulle rensa viss information som klient-IP-data som överensstämmer med GDPR-efterlevnaden.

Aktivitetsloggar visar information som klient-IP eftersom en aktivitetslogg är en plattformslogg som innehåller detaljerad diagnostik- och granskningsinformation för Azure-resurser. De genereras automatiskt för aktiviteter som inträffar i ARM och skickas till resursprovidern för aktivitetsloggen. Eftersom aktivitetsloggar är en del av Azure-övervakningen skulle vissa klientdata visas för att ge insikter om klientaktiviteten.  

Exempelfrågor för granskningsloggar

Fråga för att visa automationsresursgranskningsloggar

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

Fråga om du vill övervaka eventuella åtgärder för uppdatering, skapande eller borttagning av variabler

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

Fråga för att övervaka en runbook-åtgärd som att skapa, utkasta eller uppdatera

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

Fråga för att övervaka skapande, uppdatering eller borttagning av certifikat

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

Fråga för att övervaka skapande, uppdatering eller borttagning av autentiseringsuppgifter

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

Filtrera jobbstatusutdata konverterade till ett JSON-objekt

Nyligen ändrade vi beteendet för hur Automation-loggdata skrivs till AzureDiagnostics tabellen i Log Analytics-tjänsten, där de inte längre delar upp JSON-egenskaperna i separata fält. Om du har konfigurerat din runbook för att formatera objekt i utdataströmmen i JSON-format som separata kolumner, är det nödvändigt att konfigurera om dina frågor för att parsa fältet till ett JSON-objekt för att få åtkomst till dessa egenskaper. Detta åstadkoms med hjälp av parsa json för att komma åt ett specifikt JSON-element i en känd sökväg.

En runbook formaterar till exempel egenskapen ResultDescription i utdataströmmen i JSON-format med flera fält. Om du vill söka efter status för dina jobb som är i ett misslyckat tillstånd enligt vad som anges i ett fält med namnet Status, använder du den här exempelfrågan för att söka i ResultDescription med statusen Misslyckades:

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

JSON-format för Log Analytics Historical Job Stream

Nästa steg