Inoltrare i log di diagnostica Automazione di Azure a Monitoraggio di Azure
Automazione di Azure può inviare lo stato e i flussi del processo del runbook all'area di lavoro Log Analytics. Questo processo non comporta il collegamento dell'area di lavoro ed è completamente indipendente e consente di eseguire indagini semplici. I log dei processi e i flussi di processo sono visibili nella portale di Azure o con PowerShell per i singoli processi. Con i log di Monitoraggio di Azure per l'account di Automazione, è possibile:
- Ottenere informazioni dettagliate sullo stato dei processi di automazione.
- Attivare un messaggio di posta elettronica o un avviso in base allo stato del processo del runbook, ad esempio non riuscito o sospeso.
- Scrivere query avanzate nei flussi del processo.
- Correlare i processi tra account di Automazione.
- Usare visualizzazioni personalizzate e query di ricerca per visualizzare i risultati del runbook, lo stato del processo del runbook e altri indicatori chiave o metriche correlati tramite un dashboard di Azure.
- Ottenere i log di controllo correlati ad account di Automazione, runbook e altre operazioni di creazione, modifica ed eliminazione di asset.
Usando i log di Monitoraggio di Azure, è possibile consolidare i log provenienti da risorse diverse nella stessa area di lavoro in cui è possibile analizzarli con query per recuperare, consolidare e analizzare rapidamente i dati raccolti. È possibile creare e testare query usando Log Analytics nel portale di Azure e quindi analizzare direttamente i dati usando questi strumenti o salvare le query da usare con la visualizzazione o le regole di avviso.
Monitoraggio di Azure usa una versione del linguaggio di query Kusto (KQL) usato da Azure Esplora dati adatto per query di log semplici. Include anche funzionalità avanzate, ad esempio aggregazioni, join e analisi intelligente. È possibile apprendere rapidamente il linguaggio di query usando le numerose lezioni disponibili.
Automazione di Azure impostazioni di diagnostica
È possibile inoltrare i log della piattaforma e i dati delle metriche seguenti usando il supporto delle impostazioni di diagnostica di Automazione:
Tipo di dati | Descrizione |
---|---|
Log del processo | Stato del processo del runbook nell'account di Automazione. |
Flussi del processo | Stato dei flussi di processo nel runbook definito nell'account di Automazione. |
DSCNodeStatus | Stato del nodo DSC. |
AuditEvent | Tutti i log delle risorse che registrano le interazioni con i clienti con i dati o le impostazioni del servizio Automazione di Azure. |
Metrica | Totale processi, aggiornamento totale, esecuzioni di computer di distribuzione, esecuzioni totali della distribuzione degli aggiornamenti. |
Configurare le impostazioni di diagnostica in portale di Azure
È possibile configurare le impostazioni di diagnostica nel portale di Azure dal menu per la risorsa dell'account di Automazione.
Nel menu dell'account di Automazione, in Monitoraggio selezionare Impostazioni di diagnostica.
Fare clic su Aggiungi impostazione di diagnostica.
Immettere un nome di impostazione nel nome dell'impostazione di diagnostica, se non ne ha già uno.
È anche possibile visualizzare tutte le categorie di log e metriche.
Log e metriche da instradare : per i log, scegliere un gruppo di categorie o selezionare le singole caselle di controllo per ogni categoria di dati da inviare alle destinazioni specificate. Scegliere AllMetrics se si vuole archiviare le metriche nei log di Monitoraggio di Azure.
Dettagli destinazione: selezionare la casella di controllo per ogni destinazione. In base alla selezione di ogni casella, le opzioni vengono visualizzate per consentire di aggiungere informazioni aggiuntive.
Log Analytics : immettere l'ID sottoscrizione e il nome dell'area di lavoro. Se non si dispone di un'area di lavoro, è necessario crearne una prima di procedere.
Hub eventi: specificare i criteri seguenti:
- Sottoscrizione: la stessa sottoscrizione di quella dell'hub eventi.
- Spazio dei nomi dell'hub eventi: crea hub eventi se non ne hai ancora uno.
- Nome hub eventi (facoltativo): se non si specifica un nome, viene creato un hub eventi per ogni categoria di log. Se si inviano più categorie, specificare un nome per limitare il numero di hub eventi creati. Per informazioni dettagliate, vedere Hub eventi di Azure quote e limiti.
- Criteri di Hub eventi (facoltativo): un criterio definisce le autorizzazioni del meccanismo di streaming. Vedere Funzionalità di Hub eventi.
Archiviazione: scegliere la sottoscrizione, l'account di archiviazione e i criteri di conservazione.
Integrazione dei partner: è prima necessario installare un'integrazione partner nella sottoscrizione. Le opzioni di configurazione varieranno in base al partner. Per altre informazioni, vedere Integrazione di Monitoraggio di Azure.
Fare clic su Salva.
Dopo alcuni istanti, la nuova impostazione viene visualizzata nell'elenco delle impostazioni per questa risorsa e i log vengono trasmessi alle destinazioni specificate quando vengono generati nuovi dati dell'evento. L'evento generato e l'aspetto nell'area di lavoro Log Analytics possono essere diversi da 15 minuti.
Eseguire query sui log
Per eseguire query sui log generati:
Nell'account di Automazione, in Monitoraggio selezionare Log.
In Tutte le query selezionare Processi di automazione.
Selezionare una delle query da eseguire e fare clic su Esegui.
Per eseguire una query personalizzata, chiudere la finestra Query e incollare la query personalizzata nella nuova finestra di query e fare clic su Esegui.
L'output della query viene visualizzato nel riquadro Risultati .
Fare clic su Nuova regola di avviso per configurare un avviso di Monitoraggio di Azure per questa query.
Record di log di Monitoraggio di Azure
Automazione di Azure diagnostica creare i tipi di record seguenti nei log di Monitoraggio di Azure, contrassegnati come AzureDiagnostics
. Le tabelle nelle sezioni seguenti sono esempi di record generati Automazione di Azure e i tipi di dati visualizzati nei risultati della ricerca log.
Log di processo
Proprietà | Descrizione |
---|---|
TimeGenerated | Data e ora di esecuzione del processo del runbook. |
RunbookName_s | Nome/nomi del runbook. |
Caller_s | Chiamante che ha avviato l'operazione. I valori possibili sono un indirizzo di posta elettronica o il sistema per i processi pianificati. |
Tenant_g | GUID (identificatore univoco globale) che identifica il tenant per il chiamante. |
JobId_g | GUID che identifica il processo del runbook. |
ResultType | Stato del processo del runbook. I valori possibili sono: - Nuovo - Creato - Avviato - Interrotto - Sospeso - Non riuscito - Completato |
Categoria | La classificazione del tipo di dati. Per Automazione, il valore è JobLogs. |
OperationName | Tipo di operazione eseguita in Azure. Per Automazione, il valore è Job. |
Conto risorse | Nome dell'account di Automazione |
SourceSystem | Sistema usato dai log di Monitoraggio di Azure per raccogliere i dati. Il valore è sempre Azure per Diagnostica di Azure. |
ResultDescription | Stato del risultato del processo del runbook. I valori possibili sono: - Processo avviato - Processo non riuscito - Processo completato |
CorrelationId | GUID di correlazione del processo del runbook. |
ResourceId | Automazione di Azure ID risorsa account del runbook. |
SubscriptionId | GUID della sottoscrizione di Azure per l'account di Automazione. |
ResourceGroup | Nome del gruppo di risorse dell'account di Automazione. |
ResourceProvider | Nome del provider di risorse. Il valore è MICROSOFT.AUTOMATION. |
ResourceType | Tipo di risorsa. Il valore è AUTOMATIONACCOUNTS. |
Flussi di processo
Proprietà | Descrizione |
---|---|
TimeGenerated | Data e ora di esecuzione del processo del runbook. |
RunbookName_s | Nome del runbook. |
Caller_s | Chiamante che ha avviato l'operazione. I valori possibili sono un indirizzo di posta elettronica o il sistema per i processi pianificati. |
StreamType_s | Tipo di flusso di processo. I valori possibili sono: - Avanzamento - Output - Avviso - Errore - Debug - Dettagliato |
Tenant_g | GUID che identifica il tenant del chiamante. |
JobId_g | GUID che identifica il processo del runbook. |
ResultType | Lo stato del processo di runbook. I valori possibili sono: - In corso |
Categoria | La classificazione del tipo di dati. Per Automazione, il valore è JobStreams. |
OperationName | Tipo di operazione eseguita in Azure. Per Automazione, il valore è Job. |
Conto risorse | Nome dell'account di Automazione. |
SourceSystem | Sistema usato dai log di Monitoraggio di Azure per raccogliere i dati. Il valore è sempre Azure per Diagnostica di Azure. |
ResultDescription | Descrizione che include il flusso di output dal runbook. |
CorrelationId | GUID di correlazione del processo del runbook. |
ResourceId | Automazione di Azure ID risorsa account del runbook. |
SubscriptionId | GUID della sottoscrizione di Azure per l'account di Automazione. |
ResourceGroup | Nome del gruppo di risorse dell'account di Automazione. |
ResourceProvider | Provider di risorse. Il valore è MICROSOFT.AUTOMATION. |
ResourceType | Tipo di risorsa. Il valore è AUTOMATIONACCOUNTS. |
Nota
Verificare che le credenziali non vengano inviate ai flussi di processo. Il servizio rimuove le credenziali prima di visualizzare i flussi di processo nei log di diagnostica.
Eventi di controllo
Proprietà | Descrizione |
---|---|
TenantID | GUID che identifica il tenant del chiamante. |
TimeGenerated (UTC) | Data e ora di esecuzione del processo del runbook. |
Categoria | AuditEvent |
ResourceGroup | Nome del gruppo di risorse dell'account di Automazione. |
ID sottoscrizione | GUID della sottoscrizione di Azure per l'account di Automazione. |
ResourceProvider | MICROSOFT.AUTOMATION |
Conto risorse | Nome dell'account di Automazione |
ResourceType | AUTOMATIONACCOUNTS |
OperationName | I valori possibili sono Update, Create, Delete. |
ResultType | Stato del processo del runbook. Il valore possibile è: Completato. |
CorrelationId | GUID di correlazione del processo del runbook. |
ResultDescription | Stato del risultato del processo del runbook. I valori possibili sono Update, Create, Delete. |
Tenant_g | GUID che identifica il tenant del chiamante. |
SourceSystem | Sistema usato dai log di Monitoraggio di Azure per raccogliere i dati. Il valore è sempre Azure per Diagnostica di Azure. |
clientInfo_IpAddress_s | {scrubbed} |
clientInfo_PrincipalName_s | {scrubbed} |
clientInfo_TenantId_g | ID tenant del client. |
clientInfo_Issuer_s | |
clientInfo_ObjectId_g | ID oggetto del client. |
clientInfo_AppId_g | AppID del client. |
clientInfo_ClientRequestId_g | RequestID del client |
targetResources_Resource_s | Account, Job, Credential, Connessione ions, Variables, Runbook. |
Type | AzureDiagnostics |
_ResourceId | Automazione di Azure ID risorsa account del runbook. |
Visualizzare i log di Automazione nei log di Monitoraggio di Azure
Dopo aver avviato l'invio dei flussi e dei log dei processi di Automazione ai log di Monitoraggio di Azure, è possibile esaminare le operazioni che è possibile eseguire con questi log all'interno dei log di Monitoraggio di Azure.
Per visualizzare i log eseguire questa query: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"
Query di esempio per i log di processo e i flussi di processo
Trovare tutti i processi completati con errore
Oltre agli scenari come gli avvisi sugli errori, è possibile trovare quando un processo del runbook presenta un errore non irreversibile. In questi casi PowerShell produce un flusso di errore, ma gli errori non irreversibili non comportano la sospensione o l'esito negativo del processo.
- Nell'area di lavoro Log Analytics fare clic su Log.
- Nel campo della query digitare:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g.
- Fare clic su Cerca.
Visualizzare flussi del processo per un processo
Quando si esegue il debug di un processo, è consigliabile esaminarne anche i flussi. La query seguente mostra tutti i flussi per un singolo processo con 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
Visualizzare lo stato cronologico del processo
È infine consigliabile visualizzare la cronologia dei processi nel tempo. È possibile usare questa query per cercare lo stato dei processi nel tempo.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
Trovare i log che segnalano errori nei processi di automazione.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId
Trovare Automazione di Azure processi completati
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed"
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Trovare Automazione di Azure processi non riusciti, sospesi o arrestati
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
Elencare tutti i runbook e i processi completati correttamente con errori
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error"
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g
Inviare un messaggio di posta elettronica quando un processo del runbook non riesce o viene sospeso
La procedura seguente illustra come configurare gli avvisi di posta elettronica in Monitoraggio di Azure per notificare quando si verifica un problema con un processo del runbook.
Per creare una regola di avviso, creare una ricerca log per i record del processo del runbook che devono richiamare l'avviso come descritto in Eseguire query sui log. Fare clic sulla regola di avviso +Nuovo per configurare la regola di avviso.
Nell'account di Automazione, in Monitoraggio selezionare Log.
Creare una query di ricerca log per l'avviso immettendo un criterio di ricerca nel campo della query.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")
È anche possibile raggruppare in base al nome del runbook usando:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s
Per aprire la schermata Crea regola di avviso, fare clic su +Nuova regola di avviso nella parte superiore della pagina. Per altre informazioni sulle opzioni per configurare gli avvisi, vedere Avvisi di log in Azure
Automazione di Azure log di controllo di diagnostica
È ora possibile inviare log di controllo anche all'area di lavoro monitoraggio di Azure. Ciò consente alle aziende di monitorare le principali attività degli account di automazione per la sicurezza e la conformità. Se abilitata tramite le impostazioni di Diagnostica di Azure, sarà possibile raccogliere dati di telemetria sulle operazioni di creazione, aggiornamento ed eliminazione per i runbook di Automazione, i processi e gli asset di automazione, ad esempio connessione, credenziali, variabile e certificato. È anche possibile configurare gli avvisi per le condizioni del log di controllo come parte dei requisiti di monitoraggio della sicurezza.
Differenza tra log attività e log di controllo
Il log attività è un logdella piattaforma in Azure che fornisce informazioni dettagliate sugli eventi a livello di sottoscrizione. Il log attività per l'account di Automazione include informazioni su quando una risorsa di automazione viene modificata o creata o eliminata. Tuttavia, non acquisisce il nome o l'ID della risorsa.
I log di controllo per gli account di Automazione acquisiscono il nome e l'ID della risorsa, ad esempio la variabile di automazione, le credenziali, la connessione e così via, insieme al tipo di operazione eseguita per la risorsa e Automazione di Azure pulirebbero alcuni dettagli, ad esempio i dati IP client conformi alla conformità al GDPR.
I log attività visualizzano dettagli, ad esempio l'INDIRIZZO IP del client, perché un log attività è un log della piattaforma che fornisce informazioni di diagnostica e controllo dettagliate per le risorse di Azure. Vengono generati automaticamente per le attività che si verificano in ARM e vengono inoltrate al provider di risorse del log attività. Poiché i log attività fanno parte del monitoraggio di Azure, vengono visualizzati alcuni dati client per fornire informazioni dettagliate sull'attività client.
Query di esempio per i log di controllo
Eseguire una query per visualizzare i log di controllo delle risorse di Automazione
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent"
Eseguire una query per monitorare qualsiasi operazione di aggiornamento, creazione o eliminazione di variabili
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable"
Eseguire una query per monitorare qualsiasi operazione del runbook, ad esempio creazione, bozza o aggiornamento
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook"
Eseguire una query per monitorare la creazione, l'aggiornamento o l'eliminazione di certificati
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate"
Eseguire una query per monitorare la creazione, l'aggiornamento o l'eliminazione di credenziali
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential"
Filtrare l'output dello stato del processo convertito in un oggetto JSON
Di recente è stato modificato il comportamento della scrittura dei dati dei log di Automazione nella AzureDiagnostics
tabella nel servizio Log Analytics, in cui non suddivide più le proprietà JSON in campi separati. Se il runbook è stato configurato per formattare gli oggetti nel flusso di output in formato JSON come colonne separate, è necessario riconfigurare le query per analizzare tale campo in un oggetto JSON per accedere a tali proprietà. Questa operazione viene eseguita usando parse json per accedere a un elemento JSON specifico in un percorso noto.
Ad esempio, un runbook formatta la proprietà ResultDescription nel flusso di output in formato JSON con più campi. Per cercare lo stato dei processi che si trovano in uno stato di errore come specificato in un campo denominato Status, usare questa query di esempio per eseguire una ricerca in ResultDescription con lo stato Failed:
AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'
Passaggi successivi
- Per informazioni su come creare query di ricerca e rivedere i log dei processi di Automazione con i log di Monitoraggio di Azure, vedere Ricerche nei log di Monitoraggio di Azure.
- Per informazioni su come creare e recuperare messaggi di errore e di output dai runbook, vedere Monitorare l'output dei runbook.
- Per altre informazioni sull'esecuzione dei runbook, su come monitorare i processi dei runbook e su altri dettagli tecnici, vedere Esecuzione di runbook in Automazione di Azure.
- Per altre informazioni sui log di Monitoraggio di Azure e sulle origini di raccolta dati, vedere Panoramica della raccolta di dati di archiviazione di Azure nei log di Monitoraggio di Azure.
- Per informazioni sulla risoluzione dei problemi di Log Analytics, vedere Risoluzione dei problemi se Log Analytics non sta più raccogliendo dati.