Vidarebefordra Diagnostikloggar för Azure Automation till Azure Monitor
Azure Automation kan skicka runbook-jobbstatus och jobbströmmar till din Log Analytics-arbetsyta. 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 pausad).
- Skriv avancerade frågor för dina jobbströmmar.
- Korrelera jobb för olika 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 relaterade till Automation-konton, runbooks och andra åtgärder för att skapa, ändra och ta bort tillgångar.
Med Hjälp av Azure Monitor-loggar kan du konsolidera loggar från olika resurser på samma arbetsyta där det 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 analysera data direkt med hjälp av dessa verktyg eller spara frågor för användning med visualiserings- eller aviseringsregler.
Azure Monitor använder en version av Kusto-frågespråket (KQL) som används av Azure Data Explorer och som är lämplig 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.
Diagnostikinställningar för Azure Automation
Du kan vidarebefordra följande plattformsloggar och måttdata med 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 Automation-tjänsten. |
Mått | Totalt antal jobb, total uppdatering, 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.
I menyn Automation-konto går du till Övervakning och väljer Diagnostikinställningar.
Klicka på Lägg till diagnostikinställning.
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.
Loggar och mått som ska dirigeras : För loggar väljer du en kategorigrupp eller markerar de enskilda kryssrutorna för varje kategori av data 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 valet av varje ruta visas alternativen så att du kan lägga till ytterligare information.
Log Analytics : Ange prenumerations-ID och arbetsytenamn. Om du inte har någon arbetsyta måste du skapa en innan du fortsätter.
Event Hubs: Ange följande villkor:
- Prenumeration: Samma prenumeration som för händelsehubben.
- Event Hub-namnrymd: Skapa händelsehubb om du inte har någon ännu.
- Event Hub-namn (valfritt): Om du inte anger något namn skapas en händelsehubb för varje loggkategori. Om du skickar flera kategorier anger du ett namn för att begränsa antalet skapade händelsehubbar. Mer information finns i kvoter och gränser för Azure Event Hubs.
- 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.
Partnerintegrering: Du måste först installera en partnerintegrering i din prenumeration. Konfigurationsalternativen varierar beroende på partner. Mer information finns i Azure Monitor-integrering.
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 destinationerna 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:
I ditt Automation-konto går du till Övervakning och väljer Loggar.
Under Alla frågor väljer du Automation-jobb.
Välj en av de frågor som du vill köra och klicka på Kör.
Om du vill köra en anpassad fråga stänger du fönstret Frågor och klistrar in din anpassade fråga i det nya frågefönstret och klickar på Kör.
Utdata för frågan visas i fönstret Resultat .
Klicka på Ny aviseringsregel för att konfigurera en Azure Monitor-avisering för den här frågan.
Azure Monitor-loggposter
Azure Automation-diagnostik skapar följande typer av poster i Azure Monitor-loggar, taggade som AzureDiagnostics
. Tabellerna i avsnitten nedan är exempel på poster som Azure Automation genererar och de datatyper som visas i loggsökningsresultaten.
Jobbloggar
Property | 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 är: - Ny -Skapad - Startad - Stoppad -Pausad - Misslyckades -Fullbordad |
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-diagnostik. |
ResultDescription | Resultattillstånd för Runbook-jobb. Möjliga värden är: -Jobbet har startats -Jobbet misslyckades -Jobbet slutfördes |
CorrelationId | Korrelations-GUID för runbook-jobbet. |
ResourceId | Azure Automation-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. AUTOMATISERING. |
ResourceType | Resurstyp. Värdet är AUTOMATIONACCOUNTS. |
Arbetsflöden
Property | 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 är: - Status - Utdata - Varning - Fel - Felsökning - Verbose |
Tenant_g | GUID som identifierar klientorganisationen för anroparen. |
JobId_g | GUID som identifierar runbook-jobbet. |
ResultType | Status för runbookjobbet. Möjliga värden är: - 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-diagnostik. |
ResultDescription | Beskrivning som innehåller utdataströmmen från runbooken. |
CorrelationId | Korrelations-GUID för runbook-jobbet. |
ResourceId | Azure Automation-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. AUTOMATISERING. |
ResourceType | Resurstyp. Värdet är AUTOMATIONACCOUNTS. |
Kommentar
Kontrollera att autentiseringsuppgifterna inte skickas till jobbströmmar. Tjänsten tar bort autentiseringsuppgifter innan jobbströmmar visas i diagnostikloggar.
Granska händelser
Property | beskrivning |
---|---|
TenantID | GUID som identifierar klientorganisationen för anroparen. |
TimeGenerated (UTC) | Datum och tid när runbook-jobbet körs. |
Kategori | AuditEvent |
ResourceGroup | Resursgruppens namn på Automation-kontot. |
Prenumerations-ID | Azure-prenumerations-GUID för Automation-kontot. |
ResourceProvider | MICROSOFT. AUTOMATISERING |
Resurs | Namn på Automation-konto |
ResourceType | AUTOMATIONACCOUNTS |
OperationName | Möjliga värden är Uppdatera, Skapa, Ta bort. |
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 Uppdatera, Skapa, Ta bort. |
Tenant_g | GUID som identifierar klientorganisationen 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-diagnostik. |
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 Automation-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.
- Klicka på Loggar på Log Analytics-arbetsytan.
- I frågefältet skriver du:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g.
- 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)
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 Automation-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 Automation-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 och 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 förklarar 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 efter de runbook-jobbposter som ska anropa aviseringen enligt beskrivningen i Fråga efter loggarna. Klicka på +Ny aviseringsregel för att konfigurera aviseringsregeln.
I ditt Automation-konto går du till Övervakning och väljer Loggar.
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
Ö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
Diagnostikgranskningsloggar för Azure Automation
Nu kan du skicka granskningsloggar även till Azure Monitor-arbetsytan. På så sätt kan företag övervaka viktiga automationskontoaktiviteter för säkerhet och efterlevnad. 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, variabel och certifikat. Du kan också konfigurera aviseringarna för granskningsloggvillkor som en del av dina krav på säkerhetsövervakning.
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 eller skapas eller tas bort. Den samlar dock inte in resursens namn eller ID.
Granskningsloggar för Automation-konton samlar in namnet och ID:t för resursen, till exempel automationsvariabel, autentiseringsuppgifter, anslutning och så vidare, tillsammans med typen av åtgärd som utförs för resursen och Azure Automation rensar lite 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 det visa vissa klientdata för att ge insikter om klientaktiviteten.
Exempelfrågor för granskningsloggar
Fråga för att visa Automation-resursgranskningsloggar
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent"
Fråga om du vill övervaka eventuella åtgärder för att uppdatera, skapa eller ta bort variabler
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable"
Fråga för att övervaka alla runbook-åtgärder 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 som konverterats 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 görs med hjälp av parsa json för att komma åt ett specifikt JSON-element i en känd sökväg.
Till exempel formaterar en runbook egenskapen ResultDescription i utdataströmmen i JSON-format med flera fält. Om du vill söka efter statusen för dina jobb som är i ett feltillstånd 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 Failed:
AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'
Nästa steg
- Information om hur du skapar sökfrågor och granskar Automation-jobbloggarna med Azure Monitor-loggar finns i Loggsökningar i Azure Monitor-loggar.
- Information om hur du skapar och hämtar utdata och felmeddelanden från runbooks finns i Övervaka runbook-utdata.
- Mer information om runbook-körning, hur du övervakar runbook-jobb och annan teknisk information finns i Runbook-körning i Azure Automation.
- Mer information om Azure Monitor-loggar och datainsamlingskällor finns i Samla in Azure Storage-data i Översikt över Azure Monitor-loggar.
- Hjälp med att felsöka Log Analytics finns i Felsöka varför Log Analytics inte längre samlar in data.