Diagnostische logboeken van Azure Automation doorsturen naar Azure Monitor

Azure Automation kan de status van runbooktaak en taakstromen verzenden naar uw Log Analytics-werkruimte. Dit proces omvat geen koppeling tussen werkruimten en is volledig onafhankelijk en stelt u in staat om eenvoudige onderzoeken uit te voeren. Taaklogboeken en taakstromen zijn zichtbaar in Azure Portal of met PowerShell voor afzonderlijke taken. Met Azure Monitor-logboeken voor uw Automation-account kunt u het volgende doen:

  • Krijg inzicht in de status van uw Automation-taken.
  • Een e-mail of waarschuwing activeren op basis van de status van uw runbooktaak (bijvoorbeeld mislukt of onderbroken).
  • Geavanceerde query's voor verschillende taakstromen schrijven.
  • Taken voor verschillende Automation-accounts aan elkaar te relateren.
  • Gebruik aangepaste weergaven en zoekquery's om uw runbookresultaten, de taakstatus van het runbook en andere gerelateerde sleutelindicatoren of metrische gegevens te visualiseren via een Azure-dashboard.
  • Haal de auditlogboeken op met betrekking tot Automation-accounts, runbooks en andere bewerkingen voor het maken, wijzigen en verwijderen van assets.

Met behulp van Azure Monitor-logboeken kunt u logboeken uit verschillende resources samenvoegen in dezelfde werkruimte, waar deze kunnen worden geanalyseerd met query's om de verzamelde gegevens snel op te halen, samen te voegen en te analyseren. U kunt query's maken en testen met behulp van Log Analytics in Azure Portal en vervolgens de gegevens rechtstreeks analyseren met behulp van deze hulpprogramma's of query's opslaan voor gebruik met visualisatie - of waarschuwingsregels.

Azure Monitor maakt gebruik van een versie van de Kusto-querytaal (KQL) die wordt gebruikt door Azure Data Explorer die geschikt is voor eenvoudige logboekquery's. Het bevat ook geavanceerde functionaliteit, zoals aggregaties, joins en slimme analyses. Via diverse lessen kunt u de querytaal snel leren.

Diagnostische instellingen voor Azure Automation

U kunt de volgende platformlogboeken en metrische gegevens doorsturen met behulp van de ondersteuning voor diagnostische instellingen van Automation:

Data types Beschrijving
Taaklogboeken Status van de runbooktaak in het Automation-account.
Taakstromen Status van de taakstromen in het runbook dat is gedefinieerd in het Automation-account.
DSCNodeStatus Status van het DSC-knooppunt.
AuditEvent Alle resourcelogboeken waarmee interacties van klanten met gegevens of de instellingen van de Azure Automation-service worden vastgelegd.
Metrische gegevens voor Totaal aantal taken, totale update, uitvoeringen van implementatiecomputers, totale update-implementatieuitvoeringen.

Diagnostische instellingen configureren in Azure Portal

U kunt diagnostische instellingen configureren in Azure Portal vanuit het menu voor de Automation-accountresource.

  1. Selecteer diagnostische instellingen in het menu Automation-account onder Bewaking.

    Screenshot showing selection of diagnostic setting option.

  2. Klik op Diagnostische instelling toevoegen.

    Screenshot showing selection of add diagnostic setting.

  3. Voer een instellingsnaam in de naam van de diagnostische instelling in als deze nog geen instellingsnaam heeft.

    U kunt ook alle categorieën logboeken en metrische gegevens weergeven.

    Screenshot showing all categories of logs and metrics.

    • Logboeken en metrische gegevens die u wilt routeren : kies een categoriegroep of schakel de afzonderlijke selectievakjes in voor elke categorie gegevens die u naar de opgegeven bestemmingen wilt verzenden. Kies AllMetrics als u metrische gegevens wilt opslaan in Azure Monitor-logboeken.

    • Doeldetails : schakel het selectievakje voor elke bestemming in. Op basis van de selectie van elk vak worden de opties weergegeven waarmee u aanvullende informatie kunt toevoegen.

      Screenshot showing selections in destination details section.

      • Log Analytics : voer de naam van het abonnement en de werkruimte in. Als u geen werkruimte hebt, moet u er een maken voordat u doorgaat.

      • Event Hubs: Geef de volgende criteria op:

        • Abonnement: hetzelfde abonnement als dat van de Event Hub.
        • Event Hub-naamruimte: Maak Event Hub als u er nog geen hebt.
        • Event Hub-naam (optioneel): Als u geen naam opgeeft, wordt er een Event Hub gemaakt voor elke logboekcategorie. Als u meerdere categorieën verzendt, geeft u een naam op om het aantal gemaakte Event Hubs te beperken. Zie quota en limieten voor Azure Event Hubs voor meer informatie.
        • Event Hub-beleid (optioneel): Een beleid definieert de machtigingen die het streamingmechanisme heeft. Zie de functie Event Hubs.
      • Opslag: kies het abonnement, het opslagaccount en het bewaarbeleid. Screenshot showing the storage account.

      • Partnerintegratie: U moet eerst een partnerintegratie in uw abonnement installeren. Configuratieopties variëren per partner. Zie Azure Monitor-integratie voor meer informatie.

  4. Klik op Opslaan.

Na enkele ogenblikken wordt de nieuwe instelling weergegeven in de lijst met instellingen voor deze resource en worden logboeken naar de opgegeven bestemmingen gestreamd wanneer er nieuwe gebeurtenisgegevens worden gegenereerd. Er kan een tijdsverschil van 15 minuten zijn tussen de gebeurtenis die wordt verzonden en de weergave ervan in de Log Analytics-werkruimte.

Query's uitvoeren op de logboeken

De gegenereerde logboeken opvragen:

  1. Selecteer Logboeken in uw Automation-account onder Bewaking.

  2. Selecteer Automation-taken onder Alle query's.

    Screenshot showing how to navigate to select Automation jobs.

  3. Selecteer een van de query's die u wilt uitvoeren en klik op Uitvoeren.

  4. Als u een aangepaste query wilt uitvoeren, sluit u het venster Query's en plakt u uw aangepaste query in het nieuwe queryvenster en klikt u op Uitvoeren.

    De uitvoer van de query wordt weergegeven in het deelvenster Resultaten .

  5. Klik op Nieuwe waarschuwingsregel om een Azure Monitor-waarschuwing voor deze query te configureren.

    Screenshot showing how to query logs.

Azure Monitor-logboekrecords

Diagnostische gegevens van Azure Automation maken de volgende typen records in Azure Monitor-logboeken, getagd als AzureDiagnostics. De tabellen in de onderstaande secties zijn voorbeelden van records die door Azure Automation worden gegenereerd en de gegevenstypen die worden weergegeven in zoekresultaten voor logboeken.

Taaklogboeken

Eigenschappen Beschrijving
TimeGenerated Datum en tijd van uitvoering van de runbooktaak.
RunbookName_s Naam/namen van het runbook.
Caller_s Aanroeper die de bewerking heeft gestart. Mogelijke waarden zijn een e-mailadres of het systeem voor geplande taken.
Tenant_g GUID (globally unique identifier) die de tenant voor de aanroeper identificeert.
JobId_g GUID die de runbooktaak identificeert.
ResultType Status van de runbooktaak. Mogelijke waarden zijn:
- Nieuw
-Gemaakt
- Gestart
- Gestopt
- Onderbroken
- Mislukt
-Voltooid
Categorie Classificatie van het type gegevens. Voor Automation is de waarde JobLogs.
OperationName Type bewerking uitgevoerd in Azure. Voor Automation is de waarde Taak.
Bron Naam van het Automation-account
SourceSystem Systeem dat azure Monitor-logboeken gebruiken om de gegevens te verzamelen. De waarde is altijd Azure voor diagnostische gegevens van Azure.
ResultDescription Resultaatstatus runbooktaak. Mogelijke waarden zijn:
- Taak is gestart
- Taak is mislukt
- Taak is voltooid
CorrelationId Correlatie-GUID van de runbooktaak.
ResourceId Resource-id van het Azure Automation-account van het runbook.
SubscriptionId GuiD van Het Azure-abonnement voor het Automation-account.
ResourceGroup Naam van de resourcegroep voor het Automation-account.
ResourceProvider Naam van de resourceprovider. De waarde is MICROSOFT. AUTOMATISERING.
ResourceType Resourcetype. De waarde is AUTOMATIONACCOUNTS.

Taakstromen

Eigenschappen Beschrijving
TimeGenerated De datum en tijd waarop de runbooktaak is uitgevoerd.
RunbookName_s Naam van het runbook.
Caller_s Aanroeper die de bewerking heeft gestart. Mogelijke waarden zijn een e-mailadres of het systeem voor geplande taken.
StreamType_s Type taakstroom. Mogelijke waarden zijn:
- Voortgang
- Uitvoer
- Waarschuwing
- Fout
- Foutopsporing
- Uitgebreid
Tenant_g GUID die de tenant voor de aanroeper identificeert.
JobId_g GUID die de runbooktaak identificeert.
ResultType De status van de runbooktaak. Mogelijke waarden zijn:
- Wordt uitgevoerd
Categorie Classificatie van het type gegevens. Voor Automation is de waarde JobStreams.
OperationName Type bewerking uitgevoerd in Azure. Voor Automation is de waarde Taak.
Bron Naam van het Automation-account.
SourceSystem Systeem dat azure Monitor-logboeken gebruiken om de gegevens te verzamelen. De waarde is altijd Azure voor diagnostische gegevens van Azure.
ResultDescription Beschrijving die de uitvoerstroom van het runbook bevat.
CorrelationId Correlatie-GUID van de runbooktaak.
ResourceId Resource-id van het Azure Automation-account van het runbook.
SubscriptionId GuiD van Het Azure-abonnement voor het Automation-account.
ResourceGroup Naam van de resourcegroep voor het Automation-account.
ResourceProvider Resourceprovider. De waarde is MICROSOFT. AUTOMATISERING.
ResourceType Resourcetype. De waarde is AUTOMATIONACCOUNTS.

Controlegebeurtenissen

Eigenschappen Beschrijving
TenantID GUID die de tenant voor de aanroeper identificeert.
TimeGenerated (UTC) Datum en tijd waarop de runbooktaak wordt uitgevoerd.
Categorie AuditEvent
ResourceGroup Resourcegroepnaam van het Automation-account.
Abonnements-id GuiD van Het Azure-abonnement voor het Automation-account.
ResourceProvider MICROSOFT. AUTOMATISERING
Bron Naam van Automation-account
ResourceType AUTOMATIONACCOUNTS
OperationName Mogelijke waarden zijn Bijwerken, Maken, Verwijderen.
ResultType Status van de runbooktaak. Mogelijke waarde is: Voltooid.
CorrelationId Correlatie-GUID van de runbooktaak.
ResultDescription Resultaatstatus runbooktaak. Mogelijke waarden zijn Bijwerken, Maken, Verwijderen.
Tenant_g GUID die de tenant voor de aanroeper identificeert.
SourceSystem Systeem dat azures Monitor-logboeken gebruiken om de gegevens te verzamelen. De waarde is altijd Azure voor diagnostische gegevens van Azure.
clientInfo_IpAddress_s {scrubbed}
clientInfo_PrincipalName_s {scrubbed}
clientInfo_TenantId_g Tenant-id van de client.
clientInfo_Issuer_s
clientInfo_ObjectId_g Object-id van de client.
clientInfo_AppId_g AppID van de client.
clientInfo_ClientRequestId_g RequestID van de client
targetResources_Resource_s Account, Job, Credential, Verbinding maken ions, Variables, Runbook.
Type AzureDiagnostics
_ResourceId Resource-id van het Azure Automation-account van het runbook.

Automation-logboeken weergeven in Azure Monitor-logboeken

Nu u uw Automation-taakstromen en -logboeken naar Azure Monitor-logboeken hebt verzonden, gaan we kijken wat u kunt doen met deze logboeken in Azure Monitor-logboeken.

Voer de volgende query uit om de logboeken te bekijken: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Voorbeeldquery's voor taaklogboeken en taakstromen

Alle taken zoeken die zijn voltooid met een fout

Naast scenario's zoals waarschuwingen voor fouten, kunt u vinden wanneer een runbooktaak een niet-afsluitfout heeft. In deze gevallen produceert PowerShell een foutstroom, maar de niet-afsluitfouten veroorzaken niet dat uw taak wordt onderbroken of mislukt.

  1. Klik in uw Log Analytics-werkruimte op Logboeken.
  2. Typ in het queryveld:
    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g. 
    
  3. Klik op Zoeken.

Taakstromen voor een taak weergeven

Wanneer u fouten in een taak opspoort, wilt u mogelijk ook de taakstromen bekijken. De volgende query toont alle streams voor één taak met 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

Historische taakstatus weergeven

Ten slotte wilt u mogelijk uw taakgeschiedenis in de loop van de tijd visualiseren. U kunt deze query gebruiken om te zoeken naar de status van uw taken in de loop van de tijd.

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

Log Analytics Historical Job Status Chart

Zoek logboeken met fouten in de automatiseringstaken.

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

Azure Automation-taken zoeken die zijn voltooid

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

Azure Automation-taken zoeken die zijn mislukt, onderbroken of gestopt

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 

Alle runbooks en taken weergeven die zijn voltooid met fouten

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

Een e-mailbericht verzenden wanneer een runbooktaak mislukt of onderbreekt

In de volgende stappen wordt uitgelegd hoe u e-mailwaarschuwingen instelt in Azure Monitor om te melden wanneer er iets misgaat met een runbooktaak.

Als u een waarschuwingsregel wilt maken, maakt u een logboekzoekopdracht naar de runbooktaakrecords die de waarschuwing moeten aanroepen, zoals beschreven in Query op de logboeken. Klik op de regel +Nieuwe waarschuwing om de waarschuwingsregel te configureren.

  1. Selecteer Logboeken in uw Automation-account onder Bewaking.

  2. Maak een zoekquery voor logboeken voor uw waarschuwing door een zoekcriteria in het queryveld in te voeren.

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

    U kunt ook groeperen op de naam van het runbook met behulp van:

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and     Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s 
    
  3. Als u het scherm Waarschuwingsregel maken wilt openen, klikt u boven aan de pagina op +Nieuwe waarschuwingsregel . Zie Logboekwaarschuwingen in Azure voor meer informatie over de opties voor het configureren van de waarschuwingen

Diagnostische auditlogboeken van Azure Automation

U kunt nu ook auditlogboeken verzenden naar de Azure Monitor-werkruimte. Hierdoor kunnen ondernemingen belangrijke automation-accountactiviteiten bewaken voor beveiliging en naleving. Wanneer deze optie is ingeschakeld via de diagnostische azure-instellingen, kunt u telemetrie verzamelen over het maken, bijwerken en verwijderen van bewerkingen voor de Automation-runbooks, taken en automatiseringsassets, zoals verbinding, referentie, variabele en certificaat. U kunt ook de waarschuwingen voor auditlogboekvoorwaarden configureren als onderdeel van uw beveiligingsbewakingsvereisten.

Verschil tussen activiteitenlogboeken en auditlogboeken

Activiteitenlogboek is een platformlogboekin Azure dat inzicht biedt in gebeurtenissen op abonnementsniveau. Het activiteitenlogboek voor het Automation-account bevat informatie over wanneer een automatiseringsresource wordt gewijzigd of gemaakt of verwijderd. De naam of id van de resource wordt echter niet vastgelegd.

Auditlogboeken voor Automation-accounts leggen de naam en id van de resource vast, zoals automatiseringsvariabele, referenties, verbinding enzovoort, samen met het type bewerking dat voor de resource wordt uitgevoerd en Azure Automation zou enkele details verwijderen, zoals client-IP-gegevens die voldoen aan de AVG-naleving.

Activiteitenlogboeken bevatten details zoals client-IP, omdat een activiteitenlogboek een platformlogboek is dat gedetailleerde diagnostische en controle-informatie biedt voor Azure-resources. Ze worden automatisch gegenereerd voor activiteiten die plaatsvinden in ARM en worden gepusht naar de resourceprovider van het activiteitenlogboek. Omdat activiteitenlogboeken deel uitmaken van Azure-bewaking, worden er enkele clientgegevens weergegeven om inzicht te krijgen in de clientactiviteit.  

Voorbeeldquery's voor auditlogboeken

Query om auditlogboeken van Automation-resources weer te geven

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

Query uitvoeren om een variabele bij te werken, te maken of te verwijderen

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

Query uitvoeren om runbookbewerkingen te bewaken, zoals maken, concept of bijwerken

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

Query uitvoeren om het maken, bijwerken of verwijderen van een certificaat bij te houden

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

Query uitvoeren voor het controleren van het maken, bijwerken of verwijderen van referenties

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

Uitvoer van taakstatus filteren die is geconverteerd naar een JSON-object

Onlangs hebben we het gedrag gewijzigd van hoe de Automation-logboekgegevens naar de tabel in de AzureDiagnostics Log Analytics-service worden geschreven, waarbij de JSON-eigenschappen niet meer worden opgesplitst in afzonderlijke velden. Als u uw runbook hebt geconfigureerd voor het opmaken van objecten in de uitvoerstroom in JSON-indeling als afzonderlijke kolommen, moet u uw query's opnieuw configureren om dat veld te parseren naar een JSON-object om toegang te krijgen tot deze eigenschappen. Dit wordt bereikt met behulp van json parseren om toegang te krijgen tot een specifiek JSON-element in een bekend pad.

Een runbook formatteert bijvoorbeeld de eigenschap ResultDescription in de uitvoerstroom in JSON-indeling met meerdere velden. Als u wilt zoeken naar de status van uw taken die een mislukte status hebben, zoals is opgegeven in een veld met de naam Status, gebruikt u deze voorbeeldquery om de ResultDescription te doorzoeken met de status Mislukt:

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

Log Analytics Historical Job Stream JSON format

Volgende stappen